Commit 6956f1f6 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets

Improve usability of project edit page

parent 0c884498
...@@ -155,6 +155,9 @@ ...@@ -155,6 +155,9 @@
padding-top: 20px; padding-top: 20px;
form { form {
margin-bottom: 0; margin-bottom: 0;
legend {
text-indent: 10px;
}
.form-actions { .form-actions {
margin-bottom: 0; margin-bottom: 0;
} }
......
= form_for(@project, remote: true) do |f| .row
- if @project.errors.any? .span3
.alert.alert-error %ul.nav.nav-pills.nav-stacked
%ul %li.active
- @project.errors.full_messages.each do |msg| = link_to 'Settings', '#tab-settings', 'data-toggle' => 'tab'
%li= msg %li
.clearfix.project_name_holder = link_to 'Transfer', '#tab-transfer', 'data-toggle' => 'tab'
= f.label :name do %li
Project name is = link_to 'Remove', '#tab-remove', 'data-toggle' => 'tab'
.input
= f.text_field :name, placeholder: "Example Project", class: "xxlarge" .span9
.tab-content
.tab-pane.active#tab-settings
- unless @repository.heads.empty? .ui-box.white
.clearfix %h5.title Settings:
= f.label :default_branch, "Default Branch" .form-holder
.input= f.select(:default_branch, @repository.heads.map(&:name), {}, style: "width:210px;") = form_for(@project, remote: true) do |f|
- if @project.errors.any?
.clearfix .alert.alert-error
= f.label :description do %ul
Project description - @project.errors.full_messages.each do |msg|
%span.light (optional) %li= msg
.input
= f.text_area :description, placeholder: "awesome project", class: "xxlarge", rows: 3, maxlength: 250 %fieldset
.clearfix.project_name_holder
%fieldset.features = f.label :name do
%legend Features: Project name is
.input
.control-group = f.text_field :name, placeholder: "Example Project", class: "xxlarge"
= f.label :issues_enabled, "Issues", class: 'control-label'
.controls
= f.check_box :issues_enabled - unless @repository.heads.empty?
%span.descr Lightweight issue tracking system for this project .clearfix
= f.label :default_branch, "Default Branch"
- if Project.issues_tracker.values.count > 1 .input= f.select(:default_branch, @repository.heads.map(&:name), {}, style: "width:210px;")
.control-group
= f.label :issues_tracker, "Issues tracker", class: 'control-label' .clearfix
.input= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled }) = f.label :description do
Project description
.clearfix %span.light (optional)
= f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label' .input
.input= f.text_field :issues_tracker_id, class: "xxlarge", disabled: !@project.can_have_issues_tracker_id? = f.text_area :description, placeholder: "awesome project", class: "xxlarge", rows: 3, maxlength: 250
.control-group
= f.label :merge_requests_enabled, "Merge Requests", class: 'control-label' - if can?(current_user, :change_public_mode, @project)
.controls %fieldset.public-mode
= f.check_box :merge_requests_enabled %legend
%span.descr Submit changes to be merged upstream. Public mode:
.control-group
.control-group = f.label :public, class: 'control-label' do
= f.label :wall_enabled, "Wall", class: 'control-label' %span Public clone access
.controls .controls
= f.check_box :wall_enabled = f.check_box :public
%span.descr Simple chat system for broadcasting inside project %span.descr
If checked, this project can be cloned
.control-group %em without any
= f.label :wiki_enabled, "Wiki", class: 'control-label' authentification.
.controls It will also be listed on the #{link_to "public access directory", public_root_path}.
= f.check_box :wiki_enabled
%span.descr Pages for project documentation %fieldset.features
%legend
- if can?(current_user, :change_public_mode, @project) Features:
%fieldset.features .control-group
%legend = f.label :issues_enabled, "Issues", class: 'control-label'
%i.icon-share .controls
Public mode: = f.check_box :issues_enabled
.control-group %span.descr Lightweight issue tracking system for this project
= f.label :public, class: 'control-label' do
%span Public clone access - if Project.issues_tracker.values.count > 1
.controls .control-group
= f.check_box :public = f.label :issues_tracker, "Issues tracker", class: 'control-label'
%span.descr .input= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled })
If checked, this project can be cloned
%em without any .clearfix
authentification. = f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
It will also be listed on the #{link_to "public access directory", public_root_path}. .input= f.text_field :issues_tracker_id, disabled: !@project.can_have_issues_tracker_id?
.control-group
- if can? current_user, :change_namespace, @project = f.label :merge_requests_enabled, "Merge Requests", class: 'control-label'
%fieldset.features .controls
%legend Transfer: = f.check_box :merge_requests_enabled
.control-group %span.descr Submit changes to be merged upstream.
= f.label :namespace_id do
%span Namespace .control-group
.controls = f.label :wall_enabled, "Wall", class: 'control-label'
= f.select :namespace_id, namespaces_options(@project.namespace_id || Namespace::global_id), {prompt: 'Choose a project namespace'}, {class: 'chosen'} .controls
%br = f.check_box :wall_enabled
%ul.prepend-top-10.cred %span.descr Simple chat system for broadcasting inside project
%li Be careful. Changing project namespace can have unintended side effects
%li You can transfer project only to namespaces you can manage .control-group
%li You will need to update your local repositories to point to the new location. = f.label :wiki_enabled, "Wiki", class: 'control-label'
.controls
= f.check_box :wiki_enabled
%br %span.descr Pages for project documentation
.actions .form-actions
= f.submit 'Save', class: "btn btn-save" = f.submit 'Save', class: "btn btn-save"
= link_to 'Cancel', @project, class: "btn"
- unless @project.new_record? .tab-pane#tab-transfer
- if can?(current_user, :remove_project, @project) - if can? current_user, :change_namespace, @project
.pull-right .ui-box.ui-box-danger
= link_to 'Remove Project', @project, confirm: 'Removed project can not be restored! Are you sure?', method: :delete, class: "btn btn-remove" %h5.title Transfer project
.form-holder
= form_for(@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"
.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"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment