summaryrefslogtreecommitdiff
path: root/app/views/projects/deployments/_actions.haml
blob: 5764d9b19df4c99c5cf8226929b4b7810f3841e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.pull-right
  - if local_assigns.fetch(:show_external_url, false)
    - external_url = deployment.environment.external_url
    - if external_url
      = link_to external_url, target: '_blank', class: 'btn external-url' do
        = icon('external-link')

  - if can?(current_user, :update_deployment, deployment) && deployment.deployable
    = link_to terminal_namespace_project_deployment_path(@project.namespace.becomes(Namespace), @project, deployment), class: 'btn btn-default btn-terminal', rel: 'nofollow' do
      = custom_icon('icon_terminal')

  - if can?(current_user, :create_deployment, deployment) && deployment.deployable && local_assigns.fetch(:show_actions, false)
    - actions = deployment.manual_actions
    - if actions.present?
      .inline
        .dropdown
          %a.dropdown-new.btn.btn-default{type: 'button', 'data-toggle' => 'dropdown'}
            = custom_icon('icon_play')
            = icon('caret-down')
          %ul.dropdown-menu.dropdown-menu-align-right
            - actions.each do |action|
              %li
                = link_to [:play, @project.namespace.becomes(Namespace), @project, action], method: :post, rel: 'nofollow' do
                  = custom_icon('icon_play')
                  %span= action.name.humanize

    - if can?(current_user, :update_deployment, deployment) && local_assigns.fetch(:allow_close, false) && deployment.closeable?
      .inline
        = link_to close_namespace_project_environment_path(@project.namespace.becomes(Namespace), @project, deployment.environment), method: :post, class: 'btn close-env-link', rel: 'nofollow', data: { confirm: 'Are you sure you want to close this environment?' } do
          = icon('stop', class: 'close-env-icon')

  - if can?(current_user, :create_deployment, deployment) && deployment.deployable && local_assigns.fetch(:allow_rollback, false)
    = link_to [:retry, @project.namespace.becomes(Namespace), @project, deployment.deployable], method: :post, class: 'btn' do
      - if deployment.last?
        Re-deploy
      - else
        Rollback