summaryrefslogtreecommitdiff
path: root/app/views/projects/edit.html.haml
blob: 2045941efd4f30927f44553fc2170be13744c933 (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
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
155
156
157
158
.project-edit-container
  .project-edit-errors
  .project-edit-content
    .ui-box.white
      .title
        %strong= @project.name
        project settings:
      .form-holder
        = form_for(@project, remote: true) do |f|
          %fieldset
            .control-group.project_name_holder
              = f.label :name do
                Project name is
              .controls
                = f.text_field :name, placeholder: "Example Project", class: "span5"


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

            - if @project.repository.exists? && @project.repository.branch_names.any?
              .control-group
                = f.label :default_branch, "Default Branch"
                .controls= 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 labels with commas.

          %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'
                .controls= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled })

              .control-group
                = f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
                .controls= 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 changes', class: "btn btn-save"

    - if can?(current_user, :change_namespace, @project)
      .ui-box.ui-box-danger
        .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
                .control-group
                  = f.select :namespace_id, namespaces_options(@project.namespace_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

    .ui-box.ui-box-danger
      .title Rename repository
      .errors-holder
      .form-holder
        = form_for(@project) do |f|
          .control-group
            = f.label :path do
              %span Path
            .controls
              .control-group
                = f.text_field :path
              %ul
                %li Be careful. Rename of project repo can have unintended side effects
                %li You will need to update your local repositories to point to the new location.
          .form-actions
            = f.submit 'Rename', class: "btn btn-remove"

    - if can?(current_user, :remove_project, @project)
      .ui-box.ui-box-danger
        .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: remove_project_message(@project), method: :delete, class: "btn btn-remove btn-small"
    - else
      %p.nothing_here_message Only project owner can remove a project

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