_sidebar.html.haml 3.47 KB
Newer Older
1 2
.issuable-sidebar.issuable-affix
  = form_for [@project.namespace.becomes(Namespace), @project, issuable], remote: true, html: {class: 'issuable-context-form inline-update js-issuable-update'} do |f|
3
    .block.assignee
4 5
      .title
        %label
6
          Assignee
7 8 9 10 11 12 13
        - if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
          .pull-right
            = link_to 'Edit', '#', class: 'edit-link'
      .value
        - if issuable.assignee
          %strong= link_to_member(@project, issuable.assignee, size: 24)
        - else
14
          .light None
15 16 17 18

      .selectbox
        = users_select_tag("#{issuable.class.table_name.singularize}[assignee_id]", placeholder: 'Select assignee', class: 'custom-form-control js-select2 js-assignee', selected: issuable.assignee_id, project: @target_project, null_user: true, current_user: true, first_user: true)

19
    .block.milestone
20 21
      .title
        %label
22
          Milestone
23 24 25 26 27 28 29 30 31 32 33
        - if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
          .pull-right
            = link_to 'Edit', '#', class: 'edit-link'
      .value
        - if issuable.milestone
          %span.back-to-milestone
            = link_to namespace_project_milestone_path(@project.namespace, @project, issuable.milestone) do
              %strong
                = icon('clock-o')
                = issuable.milestone.title
        - else
34
          .light None
35 36 37 38 39
      .selectbox
        = f.select(:milestone_id, milestone_options(issuable), { include_blank: true }, { class: 'select2 select2-compact js-select2 js-milestone', data: { placeholder: 'Select milestone' }})
        = hidden_field_tag :issuable_context
        = f.submit class: 'btn hide'

40
    - if issuable.project.labels.any?
41 42 43 44 45 46 47
      .block
        .title
          %label Labels
          - if can?(current_user, :"admin_#{issuable.to_ability_name}", @project)
            .pull-right
              = link_to 'Edit', '#', class: 'edit-link'
        .value.issuable-show-labels
48 49 50 51
          - if issuable.labels.any?
            - issuable.labels.each do |label|
              = link_to_label(label)
          - else
52
            .light None
53 54 55 56
        .selectbox
          = f.collection_select :label_ids, issuable.project.labels.all, :id, :name,
            { selected: issuable.label_ids }, multiple: true, class: 'select2 js-select2', data: { placeholder: "Select labels" }

57 58 59 60 61 62 63 64
    .block
      .title
        Cross-project reference
      .cross-project-reference
        %span#cross-project-reference
          = cross_project_reference(@project, issuable)
        = clipboard_button(clipboard_target: 'span#cross-project-reference')

65 66 67 68 69 70
    = render "shared/issuable/participants", participants: issuable.participants(current_user)

    - if current_user
      - subscribed = issuable.subscribed?(current_user)
      .block.light
        .title
71
          %label.light Notifications
72
        - subscribtion_status = subscribed ? 'subscribed' : 'unsubscribed'
73
        %button.btn.btn-block.btn-gray.subscribe-button{:type => 'button'}
74 75 76 77 78 79 80 81 82 83
          %span= subscribed ? 'Unsubscribe' : 'Subscribe'
        .subscription-status{data: {status: subscribtion_status}}
          .unsubscribed{class: ( 'hidden' if subscribed )}
            You're not receiving notifications from this thread.
          .subscribed{class: ( 'hidden' unless subscribed )}
            You're receiving notifications because you're subscribed to this thread.

  :javascript
    new Subscription("#{toggle_subscription_path(issuable)}");
    new IssuableContext();