_sidebar.html.haml 3.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
.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|
    .block
      .title
        Cross-project reference
      .cross-project-reference
        %span#cross-project-reference.has_tooltip{title: 'Cross-project reference'}
          = cross_project_reference(@project, issuable)
        = clipboard_button(clipboard_target: 'span#cross-project-reference')

11
    .block.assignee
12 13 14 15 16 17 18 19 20 21
      .title
        %label
          Assignee:
        - 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
22
          None
23 24 25 26

      .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)

27
    .block.milestone
28 29 30 31 32 33 34 35 36 37 38 39 40 41
      .title
        %label
          Milestone:
        - 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
42
          None
43 44 45 46 47
      .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'

48
    - if issuable.project.labels.any?
49 50 51 52 53 54 55
      .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
56 57 58 59 60
          - if issuable.labels.any?
            - issuable.labels.each do |label|
              = link_to_label(label)
          - else
            None
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
        .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" }

    = render "shared/issuable/participants", participants: issuable.participants(current_user)

    - if current_user
      - subscribed = issuable.subscribed?(current_user)
      .block.light
        .title
          %label.light Notifications
        - subscribtion_status = subscribed ? 'subscribed' : 'unsubscribed'
        %button.btn.btn-block.btn-gray.subscribe-button{:type => 'button'}
          %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();