_form.html.haml 5.94 KB
Newer Older
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
.row
  .span3
    %ul.nav.nav-pills.nav-stacked
      %li.active
        = link_to 'Settings', '#tab-settings', 'data-toggle' => 'tab'
      %li
        = link_to 'Transfer', '#tab-transfer', 'data-toggle' => 'tab'
      %li
        = link_to 'Remove', '#tab-remove', 'data-toggle' => 'tab'

  .span9
    .tab-content
      .tab-pane.active#tab-settings
        .ui-box.white
          %h5.title Settings:
          .form-holder
            = form_for(@project, remote: true) do |f|
              - if @project.errors.any?
                .alert.alert-error
                  %ul
                    - @project.errors.full_messages.each do |msg|
                      %li= msg

              %fieldset
                .clearfix.project_name_holder
                  = f.label :name do
                    Project name is
                  .input
29
                    = f.text_field :name, placeholder: "Example Project", class: "span5"
30 31 32 33 34 35 36


                .clearfix
                  = f.label :description do
                    Project description
                    %span.light (optional)
                  .input
37
                    = f.text_area :description, placeholder: "awesome project", class: "span5", rows: 3, maxlength: 250
38

39 40 41 42 43
                - unless @repository.heads.empty?
                  .clearfix
                    = f.label :default_branch, "Default Branch"
                    .input= f.select(:default_branch, @repository.heads.map(&:name), {}, style: "width:210px;")

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

              - if can?(current_user, :change_public_mode, @project)
                %fieldset.public-mode
                  %legend
                    Public mode:
                  .control-group
                    = f.label :public, class: 'control-label' do
                      %span Public clone access
                    .controls
                      = f.check_box :public
                      %span.descr
                        If checked, this project can be cloned
                        %em without any
                        authentification.
                        It will also be listed on the #{link_to "public access directory", public_root_path}.

              %fieldset.features
                %legend
                  Features:
                .control-group
                  = f.label :issues_enabled, "Issues", class: 'control-label'
                  .controls
                    = f.check_box :issues_enabled
                    %span.descr Lightweight issue tracking system for this project

                - if Project.issues_tracker.values.count > 1
                  .control-group
                    = f.label :issues_tracker, "Issues tracker", class: 'control-label'
                    .input= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled })

                  .clearfix
                    = f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
                    .input= f.text_field :issues_tracker_id, disabled: !@project.can_have_issues_tracker_id?

                .control-group
                  = f.label :merge_requests_enabled, "Merge Requests", class: 'control-label'
                  .controls
                    = f.check_box :merge_requests_enabled
                    %span.descr Submit changes to be merged upstream.

84 85 86 87 88 89
                .control-group
                  = f.label :wiki_enabled, "Wiki", class: 'control-label'
                  .controls
                    = f.check_box :wiki_enabled
                    %span.descr Pages for project documentation

90 91 92 93 94 95
                .control-group
                  = f.label :wall_enabled, "Wall", class: 'control-label'
                  .controls
                    = f.check_box :wall_enabled
                    %span.descr Simple chat system for broadcasting inside project

96 97 98 99 100 101
                .control-group
                  = f.label :snippets_enabled, "Snippets", class: 'control-label'
                  .controls
                    = f.check_box :snippets_enabled
                    %span.descr Share code pastes with others out of git repository

102 103 104 105 106

              .form-actions
                = f.submit 'Save', class: "btn btn-save"

      .tab-pane#tab-transfer
107
        - if can?(current_user, :change_namespace, @project)
108 109
          .ui-box.ui-box-danger
            %h5.title Transfer project
110
            .errors-holder
111
            .form-holder
112
              = form_for(@project, url: transfer_project_path(@project), remote: true, html: { class: 'transfer-project' }) do |f|
113 114 115 116 117 118 119 120 121 122 123 124
                .control-group
                  = f.label :namespace_id do
                    %span Namespace
                  .controls
                    .clearfix
                      = f.select :namespace_id, namespaces_options(@project.namespace_id || Namespace::global_id), {prompt: 'Choose a project namespace'}, {class: 'chosen'}
                    %ul
                      %li Be careful. Changing project namespace can have unintended side effects
                      %li You can transfer project only to namespaces you can manage
                      %li You will need to update your local repositories to point to the new location.
                .form-actions
                  = f.submit 'Transfer', class: "btn btn-remove"
125 126
        - else
          %p.nothing_here_message Only project owner can transfer a project
127 128 129 130 131 132 133 134 135 136 137 138

      .tab-pane#tab-remove
        - if can?(current_user, :remove_project, @project)
          .ui-box.ui-box-danger
            %h5.title Remove project
            .ui-box-body
              %p
                Remove of project will cause removing repository and all related resources like issues, merge requests etc.
              %p
                %strong Removed project can not be restored!

              = link_to 'Remove project', @project, confirm: 'Removed project can not be restored! Are you sure?', method: :delete, class: "btn btn-remove btn-small"
139 140
        - else
          %p.nothing_here_message Only project owner can remove a project