# GET /issues/save_as_form?[&criteria]
def save_as_form
- @filter_query_serialized = Internal.issues.serializeFilterQuery(params)
+ @filter_query_serialized = Internal.issues.serializeFilterQuery(criteria_params)
render :partial => 'issues/filter_save_as_form'
end
verify_post_request
require_parameters :id
- @filter = Internal.issues.updateIssueFilterQuery(params[:id].to_i, params)
+ @filter = Internal.issues.updateIssueFilterQuery(params[:id].to_i, criteria_params)
redirect_to :action => 'filter', :id => @filter.id.to_s
end
new_params = params.clone
new_params.delete('controller')
new_params.delete('action')
- new_params
+ translate_unassigned(new_params)
end
def init_params
Internal.issues.sanitizeFilterQuery(params).to_hash
end
+ def translate_unassigned(issues_query_params)
+ if issues_query_params.has_key?(:assignees) && issues_query_params[:assignees] == '<unassigned>'
+ issues_query_params.delete(:assignees)
+ issues_query_params[:assigned] = false
+ else
+ issues_query_params[:assigned] = nil
+ end
+ issues_query_params
+ end
+
def issues_query_params_from_filter(filter)
Internal.issues.deserializeFilterQuery(filter).to_hash
end
</li>
<li id="criteria-assignee" class="marginbottom5">
<%= message 'issue_filter.criteria.assignee' -%>:
- <% selected_assignee = Api.users.findByLogin(@issues_query.assignees.to_a.first) if @issues_query.assignees && @issues_query.assignees.size == 1 %>
- <%= user_select_tag('assignees', {:selected_user => selected_assignee, :width => '100%', :placeholder => message('issue_filter.criteria.assignee'),
- :html_id => 'select-assignee', :open => false, :allow_clear => true}) -%>
+ <%
+ if @issues_query.assignees && @issues_query.assignees.size == 1
+ selected_assignee = Api.users.findByLogin(@issues_query.assignees.to_a.first)
+ selected_id = nil
+ selected_text = nil
+ elsif !@issues_query.assigned.nil? && !@issues_query.assigned
+ selected_assignee = nil
+ selected_id = "'<unassigned>'"
+ selected_text = escape_javascript(message('unassigned'))
+ end
+ %>
+ <%= user_select_tag('assignees', :selected_user => selected_assignee, :selected_id => selected_id, :selected_text => selected_text,
+ :width => '100%', :placeholder => message('issue_filter.criteria.assignee'),
+ :html_id => 'select-assignee', :open => false, :allow_clear => true,
+ :include_choices => {'<unassigned>' => escape_javascript(message('unassigned'))}) -%>
</li>
<li id="criteria-reporter" class="marginbottom5">
<%= message 'issue_filter.criteria.reporter' -%>:
<a href="<%= ApplicationController.root_context -%>/issues" class="link-action"><%= message 'issue_filter.new_search' -%></a>
</li>
</form>
-</ul>
\ No newline at end of file
+</ul>
+