index.html.haml 3.15 KB
= render "issues/head"
.issues_content
  %h3
    Issues
    %small (#{@issues.total_count})
    .right
      .span5
        - if can? current_user, :write_issue, @project
          = link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do
            New Issue
        = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :id => "issue_search_form", :class => :right  do
          = hidden_field_tag :project_id, @project.id, { :id => 'project_id' }
          = hidden_field_tag :status, params[:f]
          = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search span3 right neib' }

  %br

  .issues_legend
    .list_legend
      .icon.today
      .text Today

    .list_legend
      .icon.critical
      .text Critical

    .list_legend
      .icon.closed
      .text Closed
  .clearfix

  %div#issues-table-holder.ui-box
    .title
      .left
        %ul.nav.nav-pills.left
          %li{:class => ("active" if (params[:f] == "0" || !params[:f]))}
            = link_to project_issues_path(@project, :f => 0, :milestone_id => params[:milestone_id]) do
              Open
          %li{:class => ("active" if params[:f] == "2")}
            = link_to project_issues_path(@project, :f => 2, :milestone_id => params[:milestone_id]) do
              Closed
          %li{:class => ("active" if params[:f] == "3")}
            = link_to project_issues_path(@project, :f => 3, :milestone_id => params[:milestone_id]) do
              To Me
          %li{:class => ("active" if params[:f] == "1")}
            = link_to project_issues_path(@project, :f => 1, :milestone_id => params[:milestone_id]) do
              All

      .right
        = form_tag project_issues_path(@project), :method => :get, :class => :right  do
          = select_tag(:label_name, options_for_select(issue_tags, params[:label_name]), :prompt => "Labels")
          = select_tag(:assignee_id, options_from_collection_for_select(@project.users.all, "id", "name", params[:assignee_id]), :prompt => "Assignee")
          = select_tag(:milestone_id, options_from_collection_for_select(@project.milestones.order("id desc").all, "id", "title", params[:milestone_id]), :prompt => "Milestone")
          = hidden_field_tag :f, params[:f]
      .clearfix
  
    %ul#issues-table.unstyled.issues_table
      = render "issues"

:javascript
  $(function(){
    initIssuesSearch();
    setSortable();
    $("#label_name").chosen();
    $("#assignee_id").chosen();
    $("#milestone_id").chosen();
    $("#milestone_id, #assignee_id, #label_name").live("change", function(){
      $(this).closest("form").submit();
    });
  })

  function setSortable(){
    $('#issues-table').sortable({
      axis: 'y',
      dropOnEmpty: false,
      handle: '.avatar',
      items: 'li',
      opacity: 0.4,
      scroll: true,
      update: function(){
        $.ajax({
        type: 'post',
        data: $('#issues-table').sortable('serialize'),
        dataType: 'script',
        complete: function(request){
          $('#issues-table').effect('highlight');
        },
        url: "#{sort_project_issues_path(@project)}"})
        }
      });
  }