edit.html.haml 7 KB
Newer Older
1
2
= render "projects/settings_nav"

3
.project-edit-container
4
  %h3.page_title Edit Project
5
  %hr
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
38
39
40
41
42
43
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
  .project-edit-errors
  .project-edit-content
    .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|
                  %fieldset
                    .clearfix.project_name_holder
                      = f.label :name do
                        Project name is
                      .input
                        = f.text_field :name, placeholder: "Example Project", class: "span5"


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

                    - unless @project.empty_repo?
                      .clearfix
                        = f.label :default_branch, "Default Branch"
                        .input= f.select(:default_branch, @repository.branch_names, {}, {class: 'chosen'})


                  - 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 access
                        .controls
                          = f.check_box :public
                          %span.descr
                            If checked, this project can be cloned
                            %em without any
                            authentication.
                            It will also be listed on the #{link_to "public access directory", public_root_path}.
                            %em Any
                            user will have #{link_to "Guest", help_permissions_path} permissions on the repository.

                  %fieldset.features
                    %legend
                      Labels:
                    .control-group
                      = f.label :label_list, "Labels", class: 'control-label'
                      .controls
                        = f.text_field :label_list, maxlength: 2000, class: "span5"
                        %p.hint Separate with comma.

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

                    .control-group
                      = f.label :wiki_enabled, "Wiki", class: 'control-label'
                      .controls
                        = f.check_box :wiki_enabled
                        %span.descr Pages for project documentation

                    .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

                    .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


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

          .tab-pane#tab-transfer
            - if can?(current_user, :change_namespace, @project)
              .ui-box.ui-box-danger
                %h5.title Transfer project
                .errors-holder
                .form-holder
                  = form_for(@project, url: transfer_project_path(@project), remote: true, html: { class: 'transfer-project' }) do |f|
                    .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"
            - else
              %p.nothing_here_message Only project owner can transfer a project

          .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"
            - else
              %p.nothing_here_message Only project owner can remove a project

.save-project-loader.hide
155
  %center
156
    = image_tag "ajax_loader.gif"
157
    %h3 Saving project. Please wait a moment, this page will automatically refresh when ready.