  def update_map
    Log.add_info(request, params.inspect)

    return unless request.post?

    group_id = params[:group_id]
    SqlHelper.validate_token([group_id])

    @office_map = OfficeMap.get_for_group(group_id, true)

    params[:office_map].delete(:group_id)

    @office_map.update_attributes(params.require(:office_map).permit(OfficeMap::PERMIT_BASE))

    params.delete(:office_map)

    flash[:notice] = t('msg.update_success')
    render(:partial => 'groups/ajax_group_map', :layout => false)
  end
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.