Commit 16eb3ac360df60469cc9b1a93870c0273c7fe78f

Authored by Dmitriy Zaporozhets
1 parent 2ecf8319

Update form classes

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing 39 changed files with 231 additions and 260 deletions   Show diff stats
app/assets/stylesheets/gitlab_bootstrap/forms.scss
... ... @@ -32,34 +32,6 @@ form {
32 32 }
33 33 }
34 34  
35   -input.input-xpadding,
36   -.add-on.input-xpadding {
37   - padding: 6px 10px;
38   -}
39   -
40   -.control-group {
41   - @extend .form-group;
42   -
43   - .control-label {
44   - padding-top: 6px;
45   - }
46   - .controls {
47   - @extend .col-sm-10;
48   -
49   - input, textarea {
50   - padding: 6px 10px;
51   - }
52   -
53   - input[type="radio"], input[type="checkbox"] {
54   - margin-top: 6px;
55   - }
56   -
57   - .add-on {
58   - padding: 6px;
59   - }
60   - }
61   -}
62   -
63 35 input[type='search'].search-text-input {
64 36 background-image: url("icon-search.png");
65 37 background-repeat: no-repeat;
... ... @@ -77,7 +49,6 @@ input[type=&#39;text&#39;].danger {
77 49  
78 50 fieldset legend {
79 51 font-size: 16px;
80   - margin-bottom: 10px;
81 52 }
82 53  
83 54 .datetime-controls {
... ...
app/assets/stylesheets/sections/profile.scss
... ... @@ -17,7 +17,7 @@
17 17  
18 18 legend {
19 19 border: none;
20   - margin: 0;
  20 + margin-bottom: 10px;
21 21 }
22 22 }
23 23 }
... ...
app/views/admin/broadcast_messages/index.html.haml
... ... @@ -11,30 +11,30 @@
11 11 .alert.alert-error
12 12 - @broadcast_message.errors.full_messages.each do |msg|
13 13 %p= msg
14   - .control-group
  14 + .form-group
15 15 = f.label :message
16   - .controls
  16 + .col-sm-10
17 17 = f.text_area :message, class: "input-xxlarge", rows: 2, required: true
18 18 %div
19 19 = link_to '#', class: 'js-toggle-colors-link' do
20 20 Customize colors
21   - .control-group.js-toggle-colors-container.gl-hide
  21 + .form-group.js-toggle-colors-container.gl-hide
22 22 = f.label :color, "Background Color"
23   - .controls
  23 + .col-sm-10
24 24 = f.text_field :color, placeholder: "#AA33EE"
25 25 .light Hex values as 3 double digit numbers, starting with a # sign.
26   - .control-group.js-toggle-colors-container.gl-hide
  26 + .form-group.js-toggle-colors-container.gl-hide
27 27 = f.label :font, "Font Color"
28   - .controls
  28 + .col-sm-10
29 29 = f.text_field :font, placeholder: "#224466"
30 30 .light Hex values as 3 double digit numbers, starting with a # sign.
31   - .control-group
  31 + .form-group
32 32 = f.label :starts_at
33   - .controls.datetime-controls
  33 + .col-sm-10.datetime-controls
34 34 = f.datetime_select :starts_at
35   - .control-group
  35 + .form-group
36 36 = f.label :ends_at
37   - .controls.datetime-controls
  37 + .col-sm-10.datetime-controls
38 38 = f.datetime_select :ends_at
39 39 .form-actions
40 40 = f.submit "Add broadcast message", class: "btn btn-create"
... ...
app/views/admin/groups/edit.html.haml
... ... @@ -4,21 +4,21 @@
4 4 - if @group.errors.any?
5 5 .alert.alert-error
6 6 %span= @group.errors.full_messages.first
7   - .control-group.group_name_holder
  7 + .form-group.group_name_holder
8 8 = f.label :name do
9 9 Group name
10   - .controls
  10 + .col-sm-10
11 11 = f.text_field :name, placeholder: "Example Group", class: "input-xxlarge"
12 12  
13   - .control-group.group-description-holder
  13 + .form-group.group-description-holder
14 14 = f.label :description, "Details"
15   - .controls
  15 + .col-sm-10
16 16 = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4
17 17  
18   - .control-group.group_name_holder
  18 + .form-group.group_name_holder
19 19 = f.label :path do
20 20 %span.cred Group path
21   - .controls
  21 + .col-sm-10
22 22 = f.text_field :path, placeholder: "example-group", class: "input-xxlarge danger"
23 23 %ul.cred
24 24 %li Changing group path can have unintended side effects.
... ...
app/views/admin/groups/new.html.haml
... ... @@ -4,14 +4,14 @@
4 4 - if @group.errors.any?
5 5 .alert.alert-error
6 6 %span= @group.errors.full_messages.first
7   - .control-group
  7 + .form-group
8 8 = f.label :name do
9 9 Group name
10   - .controls
  10 + .col-sm-10
11 11 = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left"
12   - .control-group.group-description-holder
  12 + .form-group.group-description-holder
13 13 = f.label :description, "Details"
14   - .controls
  14 + .col-sm-10
15 15 = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4
16 16  
17 17 .form-actions
... ...
app/views/admin/hooks/index.html.haml
... ... @@ -13,9 +13,9 @@
13 13 .alert.alert-error
14 14 - @hook.errors.full_messages.each do |msg|
15 15 %p= msg
16   - .control-group
  16 + .form-group
17 17 = f.label :url, "URL:"
18   - .controls
  18 + .col-sm-10
19 19 = f.text_field :url, class: "text_field input-xxlarge input-xpadding"
20 20 &nbsp;
21 21 = f.submit "Add System Hook", class: "btn btn-create"
... ...
app/views/admin/projects/index.html.haml
... ... @@ -2,32 +2,32 @@
2 2 .col-md-4
3 3 .admin-filter
4 4 = form_tag admin_projects_path, method: :get, class: 'form-inline' do
5   - .control-group
  5 + .form-group
6 6 = label_tag :name, 'Name:', class: 'control-label'
7   - .controls
  7 + .col-sm-10
8 8 = text_field_tag :name, params[:name], class: "span2"
9 9  
10   - .control-group
  10 + .form-group
11 11 = label_tag :owner_id, 'Owner:', class: 'control-label'
12   - .controls
  12 + .col-sm-10
13 13 = users_select_tag :owner_id, selected: params[:owner_id], class: 'input-large input-clamp'
14   - .control-group.visibility-levels
  14 + .form-group.visibility-levels
15 15 = label_tag :visibility_level, 'Visibility Levels', class: 'control-label'
16 16 - Project.visibility_levels.each do |label, level|
17   - .controls
  17 + .col-sm-10
18 18 = check_box_tag 'visibility_levels[]', level, params[:visibility_levels].present? && params[:visibility_levels].include?(level.to_s)
19 19 %span.descr
20 20 = visibility_level_icon(level)
21 21 = label
22   - .control-group
  22 + .form-group
23 23 = label_tag :with_push, 'Not empty', class: 'control-label'
24   - .controls
  24 + .col-sm-10
25 25 = check_box_tag :with_push, 1, params[:with_push]
26 26 &nbsp;
27 27 %span.light Projects with push events
28   - .control-group
  28 + .form-group
29 29 = label_tag :abandoned, 'Abandoned', class: 'control-label'
30   - .controls
  30 + .col-sm-10
31 31 = check_box_tag :abandoned, 1, params[:abandoned]
32 32 &nbsp;
33 33 %span.light No activity over 6 month
... ...
app/views/admin/projects/show.html.haml
... ... @@ -80,13 +80,13 @@
80 80 Transfer project
81 81 .body
82 82 = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f|
83   - .control-group
  83 + .form-group
84 84 = f.label :namespace_id, "Namespace"
85   - .controls
  85 + .col-sm-10
86 86 = namespace_select_tag :namespace_id, selected: params[:namespace_id], class: 'input-large'
87 87  
88   - .control-group
89   - .controls
  88 + .form-group
  89 + .col-sm-10
90 90 = f.submit 'Transfer', class: 'btn btn-primary'
91 91  
92 92 .col-md-6
... ...
app/views/admin/users/_form.html.haml
... ... @@ -8,28 +8,28 @@
8 8  
9 9 %fieldset
10 10 %legend Account
11   - .control-group
  11 + .form-group
12 12 = f.label :name
13   - .controls
  13 + .col-sm-10
14 14 = f.text_field :name, required: true, autocomplete: "off"
15 15 %span.help-inline * required
16   - .control-group
  16 + .form-group
17 17 = f.label :username
18   - .controls
  18 + .col-sm-10
19 19 = f.text_field :username, required: true, autocomplete: "off"
20 20 %span.help-inline * required
21   - .control-group
  21 + .form-group
22 22 = f.label :email
23   - .controls
  23 + .col-sm-10
24 24 = f.text_field :email, required: true, autocomplete: "off"
25 25 %span.help-inline * required
26 26  
27 27 - if @user.new_record?
28 28 %fieldset
29 29 %legend Password
30   - .control-group
  30 + .form-group
31 31 = f.label :password
32   - .controls
  32 + .col-sm-10
33 33 %strong
34 34 A temporary password will be generated and sent to user.
35 35 %br
... ... @@ -37,29 +37,29 @@
37 37 - else
38 38 %fieldset
39 39 %legend Password
40   - .control-group
  40 + .form-group
41 41 = f.label :password
42   - .controls= f.password_field :password, disabled: f.object.force_random_password
43   - .control-group
  42 + .col-sm-10= f.password_field :password, disabled: f.object.force_random_password
  43 + .form-group
44 44 = f.label :password_confirmation
45   - .controls= f.password_field :password_confirmation, disabled: f.object.force_random_password
  45 + .col-sm-10= f.password_field :password_confirmation, disabled: f.object.force_random_password
46 46  
47 47 %fieldset
48 48 %legend Access
49 49 .row
50 50 .col-md-8
51   - .control-group
  51 + .form-group
52 52 = f.label :projects_limit
53   - .controls= f.number_field :projects_limit
  53 + .col-sm-10= f.number_field :projects_limit
54 54  
55   - .control-group
  55 + .form-group
56 56 = f.label :can_create_group
57   - .controls= f.check_box :can_create_group
  57 + .col-sm-10= f.check_box :can_create_group
58 58  
59   - .control-group
  59 + .form-group
60 60 = f.label :admin do
61 61 %strong.cred Administrator
62   - .controls= f.check_box :admin
  62 + .col-sm-10= f.check_box :admin
63 63 .col-md-4
64 64 - unless @user.new_record?
65 65 .alert.alert-error
... ... @@ -71,15 +71,15 @@
71 71 = link_to 'Block User', block_admin_user_path(@user), data: {confirm: 'USER WILL BE BLOCKED! Are you sure?'}, method: :put, class: "btn btn-small btn-remove"
72 72 %fieldset
73 73 %legend Profile
74   - .control-group
  74 + .form-group
75 75 = f.label :skype
76   - .controls= f.text_field :skype
77   - .control-group
  76 + .col-sm-10= f.text_field :skype
  77 + .form-group
78 78 = f.label :linkedin
79   - .controls= f.text_field :linkedin
80   - .control-group
  79 + .col-sm-10= f.text_field :linkedin
  80 + .form-group
81 81 = f.label :twitter
82   - .controls= f.text_field :twitter
  82 + .col-sm-10= f.text_field :twitter
83 83  
84 84 .form-actions
85 85 - if @user.new_record?
... ...
app/views/groups/_new_group_member.html.haml
... ... @@ -6,14 +6,14 @@
6 6 group
7 7  
8 8 %p 1. Choose users you want in the group
9   - .control-group
  9 + .form-group
10 10 = f.label :user_ids, "People"
11   - .controls= users_select_tag(:user_ids, multiple: true, class: 'input-large')
  11 + .col-sm-10= users_select_tag(:user_ids, multiple: true, class: 'input-large')
12 12  
13 13 %p 2. Set access level for them
14   - .control-group
  14 + .form-group
15 15 = f.label :group_access, "Group Access"
16   - .controls= select_tag :group_access, options_for_select(UsersGroup.group_access_roles, @users_group.group_access), class: "project-access-select chosen"
  16 + .col-sm-10= select_tag :group_access, options_for_select(UsersGroup.group_access_roles, @users_group.group_access), class: "project-access-select chosen"
17 17  
18 18 .form-actions
19 19 = f.submit 'Add users into group', class: "btn btn-create"
... ...
app/views/groups/edit.html.haml
... ... @@ -24,15 +24,15 @@
24 24 - if @group.errors.any?
25 25 .alert.alert-error
26 26 %span= @group.errors.full_messages.first
27   - .control-group
  27 + .form-group
28 28 = f.label :name do
29 29 Group name
30   - .controls
  30 + .col-sm-10
31 31 = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left"
32 32  
33   - .control-group.group-description-holder
  33 + .form-group.group-description-holder
34 34 = f.label :description, "Details"
35   - .controls
  35 + .col-sm-10
36 36 = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4
37 37  
38 38 .form-actions
... ...
app/views/groups/new.html.haml
... ... @@ -2,19 +2,19 @@
2 2 - if @group.errors.any?
3 3 .alert.alert-error
4 4 %span= @group.errors.full_messages.first
5   - .control-group
  5 + .form-group
6 6 = f.label :name do
7 7 Group name
8   - .controls
  8 + .col-sm-10
9 9 = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left"
10 10  
11   - .control-group.group-description-holder
  11 + .form-group.group-description-holder
12 12 = f.label :description, "Details"
13   - .controls
  13 + .col-sm-10
14 14 = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4
15 15  
16   - .control-group
17   - .controls
  16 + .form-group
  17 + .col-sm-10
18 18 %ul
19 19 %li A group is a collection of several projects
20 20 %li Groups are private by default
... ...
app/views/profiles/keys/_form.html.haml
... ... @@ -6,12 +6,12 @@
6 6 - @key.errors.full_messages.each do |msg|
7 7 %li= msg
8 8  
9   - .control-group
  9 + .form-group
10 10 = f.label :title
11   - .controls= f.text_field :title, class: "input-xlarge"
12   - .control-group
  11 + .col-sm-10= f.text_field :title, class: "input-xlarge"
  12 + .form-group
13 13 = f.label :key
14   - .controls
  14 + .col-sm-10
15 15 %p.light
16 16 Paste your public key here. Read more about how to generate a key on #{link_to "the SSH help page", help_ssh_path}.
17 17 = f.text_area :key, class: "input-xxlarge thin_area"
... ...
app/views/profiles/passwords/edit.html.haml
... ... @@ -14,19 +14,19 @@
14 14 %ul
15 15 - @user.errors.full_messages.each do |msg|
16 16 %li= msg
17   - .control-group
  17 + .form-group
18 18 = f.label :current_password
19   - .controls
  19 + .col-sm-10
20 20 = f.password_field :current_password, required: true
21 21 %div
22 22 = link_to "Forgot your password?", reset_profile_password_path, method: :put
23 23  
24   - .control-group
  24 + .form-group
25 25 = f.label :password, 'New password'
26   - .controls= f.password_field :password, required: true
27   - .control-group
  26 + .col-sm-10= f.password_field :password, required: true
  27 + .form-group
28 28 = f.label :password_confirmation
29   - .controls
  29 + .col-sm-10
30 30 = f.password_field :password_confirmation, required: true
31 31 .form-actions
32 32 = f.submit 'Save password', class: "btn btn-save"
... ...
app/views/profiles/passwords/new.html.haml
... ... @@ -10,13 +10,13 @@
10 10 - @user.errors.full_messages.each do |msg|
11 11 %li= msg
12 12  
13   - .control-group
  13 + .form-group
14 14 = f.label :password
15   - .controls= f.password_field :password, required: true
16   - .control-group
  15 + .col-sm-10= f.password_field :password, required: true
  16 + .form-group
17 17 = f.label :password_confirmation
18   - .controls
  18 + .col-sm-10
19 19 = f.password_field :password_confirmation, required: true
20   - .control-group
21   - .controls
  20 + .form-group
  21 + .col-sm-10
22 22 = f.submit 'Set new password', class: "btn btn-create"
... ...
app/views/profiles/show.html.haml
... ... @@ -16,15 +16,15 @@
16 16 %li= msg
17 17 .row
18 18 .col-md-7
19   - .control-group
  19 + .form-group
20 20 = f.label :name, class: "control-label"
21   - .controls
  21 + .col-sm-10
22 22 = f.text_field :name, class: "input-xlarge", required: true
23 23 %span.help-block Enter your name, so people you know can recognize you.
24 24  
25   - .control-group
  25 + .form-group
26 26 = f.label :email, class: "control-label"
27   - .controls
  27 + .col-sm-10
28 28 - if @user.ldap_user?
29 29 = f.text_field :email, class: "input-xlarge", required: true, readonly: true
30 30 %span.help-block.light
... ... @@ -37,18 +37,18 @@
37 37 %strong #{@user.unconfirmed_email}
38 38 - else
39 39 %span.help-block We also use email for avatar detection if no avatar is uploaded.
40   - .control-group
  40 + .form-group
41 41 = f.label :skype, class: "control-label"
42   - .controls= f.text_field :skype, class: "input-xlarge"
43   - .control-group
  42 + .col-sm-10= f.text_field :skype, class: "input-xlarge"
  43 + .form-group
44 44 = f.label :linkedin, class: "control-label"
45   - .controls= f.text_field :linkedin, class: "input-xlarge"
46   - .control-group
  45 + .col-sm-10= f.text_field :linkedin, class: "input-xlarge"
  46 + .form-group
47 47 = f.label :twitter, class: "control-label"
48   - .controls= f.text_field :twitter, class: "input-xlarge"
49   - .control-group
  48 + .col-sm-10= f.text_field :twitter, class: "input-xlarge"
  49 + .form-group
50 50 = f.label :bio, class: "control-label"
51   - .controls
  51 + .col-sm-10
52 52 = f.text_area :bio, rows: 6, class: "input-xlarge", maxlength: 250
53 53 %span.help-block Tell us about yourself in fewer than 250 characters.
54 54  
... ...
app/views/projects/_visibility_level.html.haml
1   -.control-group.project-visibility-level-holder
  1 +.form-group.project-visibility-level-holder
2 2 = f.label :visibility_level do
3 3 Visibility Level
4 4 = link_to "(?)", help_public_access_path
5 5 - if can_change_visibility_level
6 6 - Gitlab::VisibilityLevel.values.each do |level|
7 7 - restricted = restricted_visibility_levels.include?(level)
8   - .controls
  8 + .col-sm-10
9 9 = f.radio_button :visibility_level, level, checked: (visibility_level == level), disabled: restricted
10 10 %span.descr{:class => ("restricted" if restricted)}
11 11 = label :project_visibility_level, level do
... ... @@ -14,11 +14,11 @@
14 14 = visibility_level_label(level)
15 15 .light= visibility_level_description(level)
16 16 - unless restricted_visibility_levels.empty?
17   - .controls
  17 + .col-sm-10
18 18 %span.info
19 19 Some visibility level settings have been restricted by the administrator.
20 20 - else
21   - .controls
  21 + .col-sm-10
22 22 %span.info
23 23 = visibility_level_icon(visibility_level)
24 24 %strong
... ...
app/views/projects/blob/_remove.html.haml
... ... @@ -8,12 +8,12 @@
8 8  
9 9 .modal-body
10 10 = form_tag project_blob_path(@project, @id), method: :delete do
11   - .control-group.commit_message-group
  11 + .form-group.commit_message-group
12 12 = label_tag 'commit_message', class: "control-label" do
13 13 Commit message
14   - .controls
  14 + .col-sm-10
15 15 = text_area_tag 'commit_message', params[:commit_message], placeholder: "Removed this file because...", required: true, rows: 3
16   - .control-group
17   - .controls
  16 + .form-group
  17 + .col-sm-10
18 18 = submit_tag 'Remove file', class: 'btn btn-remove'
19 19 = link_to "Cancel", '#', class: "btn btn-cancel", "data-dismiss" => "modal"
... ...
app/views/projects/branches/new.html.haml
... ... @@ -2,13 +2,13 @@
2 2 %i.icon-code-fork
3 3 New branch
4 4 = form_tag project_branches_path, method: :post do
5   - .control-group
  5 + .form-group
6 6 = label_tag :branch_name, 'Name for new branch', class: 'control-label'
7   - .controls
  7 + .col-sm-10
8 8 = text_field_tag :branch_name, nil, placeholder: 'feature/dashboard', required: true, tabindex: 1
9   - .control-group
  9 + .form-group
10 10 = label_tag :ref, 'Create from', class: 'control-label'
11   - .controls
  11 + .col-sm-10
12 12 = text_field_tag :ref, nil, placeholder: 'master', required: true, tabindex: 2
13 13 .light branch name or commit SHA
14 14 .form-actions
... ...
app/views/projects/commits/_image.html.haml
... ... @@ -49,7 +49,7 @@
49 49 %img{src: "data:#{old_file.mime_type};base64,#{Base64.encode64(old_file.data)}"}
50 50 .frame.added
51 51 %img{src: "data:#{file.mime_type};base64,#{Base64.encode64(file.data)}"}
52   - .controls
  52 + .col-sm-10
53 53 .transparent
54 54 .drag-track
55 55 .dragger{:style => "left: 0px;"}
... ...
app/views/projects/compare/_form.html.haml
... ... @@ -4,11 +4,11 @@
4 4 - if params[:to] && params[:from]
5 5 = link_to 'switch', {from: params[:to], to: params[:from]}, {class: 'commits-compare-switch has_tooltip', title: 'Switch base of comparison'}
6 6 .input-prepend
7   - %span.add-on.input-xpadding from
  7 + %span.add-on from
8 8 = text_field_tag :from, params[:from], class: "span3 input-xpadding"
9 9 = "..."
10 10 .input-prepend
11   - %span.add-on.input-xpadding to
  11 + %span.add-on to
12 12 = text_field_tag :to, params[:to], class: "span3 input-xpadding"
13 13 .pull-left
14 14 &nbsp;
... ...
app/views/projects/deploy_keys/_form.html.haml
... ... @@ -6,12 +6,12 @@
6 6 - @key.errors.full_messages.each do |msg|
7 7 %li= msg
8 8  
9   - .control-group
  9 + .form-group
10 10 = f.label :title
11   - .controls= f.text_field :title, class: 'input-xlarge'
12   - .control-group
  11 + .col-sm-10= f.text_field :title, class: 'input-xlarge'
  12 + .form-group
13 13 = f.label :key
14   - .controls
  14 + .col-sm-10
15 15 %p.light
16 16 Paste a machine public key here. Read more about how to generate it
17 17 = link_to "here", help_ssh_path
... ...
app/views/projects/edit.html.haml
... ... @@ -9,24 +9,24 @@
9 9 .form-holder
10 10 = form_for(@project, remote: true) do |f|
11 11 %fieldset
12   - .control-group.project_name_holder
  12 + .form-group.project_name_holder
13 13 = f.label :name do
14 14 Project name
15   - .controls
  15 + .col-sm-10
16 16 = f.text_field :name, placeholder: "Example Project", class: "span5"
17 17  
18 18  
19   - .control-group
  19 + .form-group
20 20 = f.label :description do
21 21 Project description
22 22 %span.light (optional)
23   - .controls
  23 + .col-sm-10
24 24 = f.text_area :description, placeholder: "Awesome project", class: "span5", rows: 3, maxlength: 250
25 25  
26 26 - if @project.repository.exists? && @project.repository.branch_names.any?
27   - .control-group
  27 + .form-group
28 28 = f.label :default_branch, "Default Branch"
29   - .controls= f.select(:default_branch, @repository.branch_names, {}, {class: 'chosen'})
  29 + .col-sm-10= f.select(:default_branch, @repository.branch_names, {}, {class: 'chosen'})
30 30  
31 31  
32 32 = render "visibility_level", f: f, visibility_level: @project.visibility_level, can_change_visibility_level: can?(current_user, :change_visibility_level, @project)
... ... @@ -34,51 +34,51 @@
34 34 %fieldset.features
35 35 %legend
36 36 Labels:
37   - .control-group
  37 + .form-group
38 38 = f.label :label_list, "Labels", class: 'control-label'
39   - .controls
  39 + .col-sm-10
40 40 = f.text_field :label_list, maxlength: 2000, class: "span5"
41 41 %p.hint Separate labels with commas.
42 42  
43 43 %fieldset.features
44 44 %legend
45 45 Features:
46   - .control-group
  46 + .form-group
47 47 = f.label :issues_enabled, "Issues", class: 'control-label'
48   - .controls
  48 + .col-sm-10
49 49 = f.check_box :issues_enabled
50 50 %span.descr Lightweight issue tracking system for this project
51 51  
52 52 - if Project.issues_tracker.values.count > 1
53   - .control-group
  53 + .form-group
54 54 = f.label :issues_tracker, "Issues tracker", class: 'control-label'
55   - .controls= f.select(:issues_tracker, project_issues_trackers(@project.issues_tracker), {}, { disabled: !@project.issues_enabled })
  55 + .col-sm-10= f.select(:issues_tracker, project_issues_trackers(@project.issues_tracker), {}, { disabled: !@project.issues_enabled })
56 56  
57   - .control-group
  57 + .form-group
58 58 = f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
59   - .controls= f.text_field :issues_tracker_id, disabled: !@project.can_have_issues_tracker_id?
  59 + .col-sm-10= f.text_field :issues_tracker_id, disabled: !@project.can_have_issues_tracker_id?
60 60  
61   - .control-group
  61 + .form-group
62 62 = f.label :merge_requests_enabled, "Merge Requests", class: 'control-label'
63   - .controls
  63 + .col-sm-10
64 64 = f.check_box :merge_requests_enabled
65 65 %span.descr Submit changes to be merged upstream.
66 66  
67   - .control-group
  67 + .form-group
68 68 = f.label :wiki_enabled, "Wiki", class: 'control-label'
69   - .controls
  69 + .col-sm-10
70 70 = f.check_box :wiki_enabled
71 71 %span.descr Pages for project documentation
72 72  
73   - .control-group
  73 + .form-group
74 74 = f.label :wall_enabled, "Wall", class: 'control-label'
75   - .controls
  75 + .col-sm-10
76 76 = f.check_box :wall_enabled
77 77 %span.descr Simple chat system for broadcasting inside project
78 78  
79   - .control-group
  79 + .form-group
80 80 = f.label :snippets_enabled, "Snippets", class: 'control-label'
81   - .controls
  81 + .col-sm-10
82 82 = f.check_box :snippets_enabled
83 83 %span.descr Share code pastes with others out of git repository
84 84  
... ... @@ -135,11 +135,11 @@
135 135 .errors-holder
136 136 .form-holder
137 137 = form_for(@project, url: transfer_project_path(@project), method: :put, remote: true, html: { class: 'transfer-project' }) do |f|
138   - .control-group
  138 + .form-group
139 139 = f.label :namespace_id do
140 140 %span Namespace
141   - .controls
142   - .control-group
  141 + .col-sm-10
  142 + .form-group
143 143 = f.select :namespace_id, namespaces_options(@project.namespace_id), { prompt: 'Choose a project namespace' }, { class: 'chosen' }
144 144 %ul
145 145 %li Be careful. Changing the project's namespace can have unintended side effects.
... ... @@ -155,11 +155,11 @@
155 155 .errors-holder
156 156 .form-holder
157 157 = form_for(@project) do |f|
158   - .control-group
  158 + .form-group
159 159 = f.label :path do
160 160 %span Path
161   - .controls
162   - .control-group
  161 + .col-sm-10
  162 + .form-group
163 163 .input-append
164 164 = f.text_field :path
165 165 %span.add-on .git
... ...
app/views/projects/edit_tree/show.html.haml
... ... @@ -15,10 +15,10 @@
15 15 .file-content.code
16 16 %pre#editor= @blob.data
17 17  
18   - .control-group.commit_message-group
  18 + .form-group.commit_message-group
19 19 = label_tag 'commit_message', class: "control-label" do
20 20 Commit message
21   - .controls
  21 + .col-sm-10
22 22 = text_area_tag 'commit_message', '', placeholder: "Update #{@blob.name}", required: true, rows: 3
23 23 .form-actions
24 24 = hidden_field_tag 'last_commit', @last_commit
... ...
app/views/projects/hooks/index.html.haml
... ... @@ -12,15 +12,15 @@
12 12 .alert.alert-error
13 13 - @hook.errors.full_messages.each do |msg|
14 14 %p= msg
15   - .control-group
  15 + .form-group
16 16 = f.label :url, "URL"
17   - .controls
  17 + .col-sm-10
18 18 = f.text_field :url, class: "text_field input-xxlarge input-xpadding", placeholder: 'http://example.com/trigger-ci.json'
19 19 &nbsp;
20 20 = f.submit "Add Web Hook", class: "btn btn-create"
21   - .control-group
  21 + .form-group
22 22 = f.label :url, "Trigger"
23   - .controls
  23 + .col-sm-10
24 24 %div
25 25 = f.check_box :push_events, class: 'pull-left'
26 26 .prepend-left-20
... ...
app/views/projects/issues/_form.html.haml
... ... @@ -8,18 +8,18 @@
8 8 %br
9 9 .issue-box
10 10 .title
11   - .control-group
  11 + .form-group
12 12 = f.label :title do
13 13 %strong= "Subject *"
14   - .controls
  14 + .col-sm-10
15 15 = f.text_field :title, maxlength: 255, class: "input-xxlarge js-gfm-input", autofocus: true, required: true
16 16 .context
17   - .control-group
  17 + .form-group
18 18 .issue_assignee.pull-left
19 19 = f.label :assignee_id do
20 20 %i.icon-user
21 21 Assign to
22   - .controls
  22 + .col-sm-10
23 23 .pull-left
24 24 = f.select(:assignee_id, assignee_options(@issue), { include_blank: "Select a user" }, {class: 'chosen'})
25 25 .pull-right
... ... @@ -29,20 +29,20 @@
29 29 = f.label :milestone_id do
30 30 %i.icon-time
31 31 Milestone
32   - .controls= f.select(:milestone_id, milestone_options(@issue), { include_blank: "Select milestone" }, {class: 'chosen'})
  32 + .col-sm-10= f.select(:milestone_id, milestone_options(@issue), { include_blank: "Select milestone" }, {class: 'chosen'})
33 33  
34 34 .description
35   - .control-group
  35 + .form-group
36 36 = f.label :label_list do
37 37 %i.icon-tag
38 38 Labels
39   - .controls
  39 + .col-sm-10
40 40 = f.text_field :label_list, maxlength: 2000, class: "input-xxlarge"
41 41 %p.hint Separate labels with commas.
42 42  
43   - .control-group
  43 + .form-group
44 44 = f.label :description, "Details"
45   - .controls
  45 + .col-sm-10
46 46 = f.text_area :description, class: "input-xxlarge js-gfm-input", rows: 14
47 47 %p.hint Issues are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
48 48  
... ...
app/views/projects/merge_requests/_form.html.haml
... ... @@ -30,24 +30,24 @@
30 30  
31 31 %hr
32 32 .merge-request-form-info
33   - .control-group
  33 + .form-group
34 34 = f.label :title do
35 35 %strong= "Title *"
36   - .controls= f.text_field :title, class: "input-xxlarge pad js-gfm-input", maxlength: 255, rows: 5, required: true
37   - .control-group
  36 + .col-sm-10= f.text_field :title, class: "input-xxlarge pad js-gfm-input", maxlength: 255, rows: 5, required: true
  37 + .form-group
38 38 .left
39 39 = f.label :assignee_id do
40 40 %i.icon-user
41 41 Assign to
42   - .controls= f.select(:assignee_id, assignee_options(@merge_request), { include_blank: "Select user" }, {class: 'chosen span3'})
  42 + .col-sm-10= f.select(:assignee_id, assignee_options(@merge_request), { include_blank: "Select user" }, {class: 'chosen span3'})
43 43 .left
44 44 = f.label :milestone_id do
45 45 %i.icon-time
46 46 Milestone
47   - .controls= f.select(:milestone_id, milestone_options(@merge_request), { include_blank: "Select milestone" }, {class: 'chosen'})
48   - .control-group
  47 + .col-sm-10= f.select(:milestone_id, milestone_options(@merge_request), { include_blank: "Select milestone" }, {class: 'chosen'})
  48 + .form-group
49 49 = f.label :description, "Description"
50   - .controls
  50 + .col-sm-10
51 51 = f.text_area :description, class: "input-xxlarge js-gfm-input", rows: 14
52 52 %p.hint Description is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
53 53  
... ...
app/views/projects/milestones/_form.html.haml
... ... @@ -13,21 +13,21 @@
13 13 %li= msg
14 14 .row
15 15 .col-md-6
16   - .control-group
  16 + .form-group
17 17 = f.label :title, "Title", class: "control-label"
18   - .controls
  18 + .col-sm-10
19 19 = f.text_field :title, maxlength: 255, class: "input-xlarge"
20 20 %p.hint Required
21   - .control-group
  21 + .form-group
22 22 = f.label :description, "Description", class: "control-label"
23   - .controls
  23 + .col-sm-10
24 24 = f.text_area :description, maxlength: 2000, class: "input-xlarge", rows: 10
25 25 %p.hint Milestones are parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
26 26 .col-md-6
27   - .control-group
  27 + .form-group
28 28 = f.label :due_date, "Due Date", class: "control-label"
29   - .controls= f.hidden_field :due_date
30   - .controls
  29 + .col-sm-10= f.hidden_field :due_date
  30 + .col-sm-10
31 31 .datepicker
32 32  
33 33 .form-actions
... ...
app/views/projects/network/_head.html.haml
... ... @@ -3,18 +3,18 @@
3 3 = render partial: 'shared/ref_switcher', locals: {destination: 'graph'}
4 4 .pull-left
5 5 = form_tag project_network_path(@project, @id), method: :get do |f|
6   - .control-group
  6 + .form-group
7 7 = label_tag :filter_ref, "Begin with the selected commit", class: 'control-label light'
8   - .controls
  8 + .col-sm-10
9 9 = check_box_tag :filter_ref, 1, @options[:filter_ref]
10 10 - @options.each do |key, value|
11 11 = hidden_field_tag(key, value, id: nil) unless key == "filter_ref"
12 12  
13 13 .search.pull-right
14 14 = form_tag project_network_path(@project, @id), method: :get do |f|
15   - .control-group
  15 + .form-group
16 16 = label_tag :search , "Looking for commit:", class: 'control-label light'
17   - .controls
  17 + .col-sm-10
18 18 = text_field_tag :extended_sha1, @options[:extended_sha1], placeholder: "Input an extended SHA1 syntax", class: "search-input input-xlarge"
19 19 = button_tag type: 'submit', class: 'btn vtop' do
20 20 %i.icon-search
... ...
app/views/projects/new.html.haml
... ... @@ -4,48 +4,48 @@
4 4 .project-edit-content
5 5  
6 6 = form_for @project, remote: true do |f|
7   - .control-group.project-name-holder
  7 + .form-group.project-name-holder
8 8 = f.label :name do
9 9 %strong Project name
10   - .controls
  10 + .col-sm-10
11 11 = f.text_field :name, placeholder: "Example Project", class: "input-xlarge", tabindex: 1, autofocus: true
12 12 %span.help-inline
13 13 = link_to "#", class: 'js-toggle-visibility-link' do
14 14 %span Customize repository name?
15 15  
16   - .control-group.js-toggle-visibility-container.gl-hide
  16 + .form-group.js-toggle-visibility-container.gl-hide
17 17 = f.label :path do
18 18 %span Repository name
19   - .controls
  19 + .col-sm-10
20 20 .input-append
21 21 = f.text_field :path
22 22 %span.add-on .git
23 23  
24 24  
25 25 - if current_user.can_select_namespace?
26   - .control-group
  26 + .form-group
27 27 = f.label :namespace_id do
28 28 %span Namespace
29   - .controls
  29 + .col-sm-10
30 30 = f.select :namespace_id, namespaces_options(params[:namespace_id] || :current_user), {}, {class: 'chosen', tabindex: 2}
31 31  
32   - .control-group
33   - .controls
  32 + .form-group
  33 + .col-sm-10
34 34 = link_to "#", class: 'appear-link' do
35 35 %i.icon-upload-alt
36 36 %span Import existing repository?
37   - .control-group.appear-data.import-url-data
  37 + .form-group.appear-data.import-url-data
38 38 = f.label :import_url do
39 39 %span Import existing repo
40   - .controls
  40 + .col-sm-10
41 41 = f.text_field :import_url, class: 'input-xlarge', placeholder: 'https://github.com/randx/six.git'
42 42 .light
43 43 URL must be cloneable
44   - .control-group
  44 + .form-group
45 45 = f.label :description do
46 46 Description
47 47 %span.light (optional)
48   - .controls
  48 + .col-sm-10
49 49 = f.text_area :description, placeholder: "Awesome project", class: "input-xlarge", rows: 3, maxlength: 250, tabindex: 3
50 50 = render "visibility_level", f: f, visibility_level: gitlab_config.default_projects_features.visibility_level, can_change_visibility_level: true
51 51  
... ... @@ -54,7 +54,7 @@
54 54  
55 55 - if current_user.can_create_group?
56 56 .pull-right
57   - .controls.light
  57 + .col-sm-10.light
58 58 Need a group for several dependent projects?
59 59 = link_to new_group_path, class: "btn btn-tiny" do
60 60 Create a group
... ...
app/views/projects/new_tree/show.html.haml
... ... @@ -2,10 +2,10 @@
2 2 %hr
3 3 .file-editor
4 4 = form_tag(project_new_tree_path(@project, @id), method: :put, class: "form-horizontal") do
5   - .control-group.commit_message-group
  5 + .form-group.commit_message-group
6 6 = label_tag 'file_name', class: "control-label" do
7 7 File name
8   - .controls
  8 + .col-sm-10
9 9 %span.monospace= @path[-1] == "/" ? @path : @path + "/"
10 10 &nbsp;
11 11 = text_field_tag 'file_name', params[:file_name], placeholder: "sample.rb", required: true
... ... @@ -14,10 +14,10 @@
14 14 on
15 15 %span.label-branch= @ref
16 16  
17   - .control-group.commit_message-group
  17 + .form-group.commit_message-group
18 18 = label_tag 'commit_message', class: "control-label" do
19 19 Commit message
20   - .controls
  20 + .col-sm-10
21 21 = text_area_tag 'commit_message', params[:commit_message], placeholder: "Added new file", required: true, rows: 3
22 22  
23 23 .file-holder
... ...
app/views/projects/services/_form.html.haml
... ... @@ -18,9 +18,9 @@
18 18 %li= msg
19 19  
20 20  
21   - .control-group
  21 + .form-group
22 22 = f.label :active, "Active", class: "control-label"
23   - .controls
  23 + .col-sm-10
24 24 = f.check_box :active
25 25  
26 26 - @service.fields.each do |field|
... ... @@ -28,9 +28,9 @@
28 28 - type = field[:type]
29 29 - placeholder = field[:placeholder]
30 30  
31   - .control-group
  31 + .form-group
32 32 = f.label name, class: "control-label"
33   - .controls
  33 + .col-sm-10
34 34 - if type == 'text'
35 35 = f.text_field name, class: "input-xlarge", placeholder: placeholder
36 36 - elsif type == 'textarea'
... ...
app/views/projects/snippets/_form.html.haml
... ... @@ -9,16 +9,16 @@
9 9 - @snippet.errors.full_messages.each do |msg|
10 10 %li= msg
11 11  
12   - .control-group
  12 + .form-group
13 13 = f.label :title
14   - .controls= f.text_field :title, placeholder: "Example Snippet", class: 'input-xlarge', required: true
15   - .control-group
  14 + .col-sm-10= f.text_field :title, placeholder: "Example Snippet", class: 'input-xlarge', required: true
  15 + .form-group
16 16 = f.label "Lifetime"
17   - .controls= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
18   - .control-group
  17 + .col-sm-10= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
  18 + .form-group
19 19 .file-editor
20 20 = f.label :file_name, "File"
21   - .controls
  21 + .col-sm-10
22 22 .file-holder.snippet
23 23 .file-title
24 24 = f.text_field :file_name, placeholder: "example.rb", class: 'snippet-file-name', required: true
... ...
app/views/projects/tags/new.html.haml
... ... @@ -2,13 +2,13 @@
2 2 %i.icon-code-fork
3 3 New tag
4 4 = form_tag project_tags_path, method: :post do
5   - .control-group
  5 + .form-group
6 6 = label_tag :tag_name, 'Name for new tag', class: 'control-label'
7   - .controls
  7 + .col-sm-10
8 8 = text_field_tag :tag_name, nil, placeholder: 'v3.0.1', required: true, tabindex: 1
9   - .control-group
  9 + .form-group
10 10 = label_tag :ref, 'Create from', class: 'control-label'
11   - .controls
  11 + .col-sm-10
12 12 = text_field_tag :ref, nil, placeholder: 'master', required: true, tabindex: 2
13 13 .light Branch name or commit SHA
14 14 .form-actions
... ...
app/views/projects/team_members/_form.html.haml
... ... @@ -9,15 +9,15 @@
9 9 %li= msg
10 10  
11 11 %p 1. Choose people you want in the project
12   - .control-group
  12 + .form-group
13 13 = f.label :user_ids, "People"
14   - .controls
  14 + .col-sm-10
15 15 = users_select_tag(:user_ids, multiple: true)
16 16  
17 17 %p 2. Set access level for them
18   - .control-group
  18 + .form-group
19 19 = f.label :project_access, "Project Access"
20   - .controls= select_tag :project_access, options_for_select(Gitlab::Access.options, @user_project_relation.project_access), class: "project-access-select chosen"
  20 + .col-sm-10= select_tag :project_access, options_for_select(Gitlab::Access.options, @user_project_relation.project_access), class: "project-access-select chosen"
21 21  
22 22 .form-actions
23 23 = f.submit 'Add users', class: "btn btn-create"
... ...
app/views/projects/team_members/import.html.haml
... ... @@ -6,7 +6,7 @@
6 6 = form_tag apply_import_project_team_members_path(@project), method: 'post' do
7 7 .padded
8 8 = label_tag :source_project_id, "Project"
9   - .controls= select_tag(:source_project_id, options_from_collection_for_select(current_user.authorized_projects, :id, :name_with_namespace), prompt: "Select project", class: "chosen xxlarge", required: true)
  9 + .col-sm-10= select_tag(:source_project_id, options_from_collection_for_select(current_user.authorized_projects, :id, :name_with_namespace), prompt: "Select project", class: "chosen xxlarge", required: true)
10 10  
11 11 .form-actions
12 12 = submit_tag 'Import project members', class: "btn btn-create"
... ...
app/views/projects/wikis/_form.html.haml
... ... @@ -14,7 +14,7 @@
14 14 = f.select :format, options_for_select(GollumWiki::MARKUPS, {selected: @wiki.format}), {}, class: "pull-right input-medium"
15 15 = f.label :format, class: "pull-right", style: "padding-right: 20px;"
16 16 .context
17   - .controls
  17 + .col-sm-10
18 18 %span.cgray
19 19 Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
20 20 To link to a (new) page you can just type
... ... @@ -22,13 +22,13 @@
22 22 \.
23 23  
24 24 .description
25   - .control-group
  25 + .form-group
26 26 = f.label :content
27   - .controls= f.text_area :content, class: 'span8 js-gfm-input', rows: 18
  27 + .col-sm-10= f.text_area :content, class: 'span8 js-gfm-input', rows: 18
28 28 .description
29   - .control-group
  29 + .form-group
30 30 = f.label :commit_message
31   - .controls= f.text_field :message, class: 'span8', rows: 18
  31 + .col-sm-10= f.text_field :message, class: 'span8', rows: 18
32 32 .form-actions
33 33 - if @wiki && @wiki.persisted?
34 34 = f.submit 'Save changes', class: "btn-save btn"
... ...
app/views/search/show.html.haml
... ... @@ -2,7 +2,7 @@
2 2 .search-holder
3 3 = label_tag :search do
4 4 %span Looking for
5   - .controls
  5 + .col-sm-10
6 6 = search_field_tag :search, params[:search], placeholder: "issue 143", class: "input-xxlarge search-text-input", id: "dashboard_search"
7 7 = hidden_field_tag :project_id, params[:project_id]
8 8 = hidden_field_tag :group_id, params[:group_id]
... ...
app/views/snippets/_form.html.haml
... ... @@ -9,12 +9,12 @@
9 9 - @snippet.errors.full_messages.each do |msg|
10 10 %li= msg
11 11  
12   - .control-group
  12 + .form-group
13 13 = f.label :title
14   - .controls= f.text_field :title, placeholder: "Example Snippet", class: 'input-xlarge', required: true
15   - .control-group
  14 + .col-sm-10= f.text_field :title, placeholder: "Example Snippet", class: 'input-xlarge', required: true
  15 + .form-group
16 16 = f.label "Access"
17   - .controls
  17 + .col-sm-10
18 18 = f.label :private_true, class: 'radio-label' do
19 19 = f.radio_button :private, true
20 20 %span
... ... @@ -27,10 +27,10 @@
27 27 %strong Public
28 28 (GitLab users can see this snippet)
29 29  
30   - .control-group
  30 + .form-group
31 31 .file-editor
32 32 = f.label :file_name, "File"
33   - .controls
  33 + .col-sm-10
34 34 .file-holder.snippet
35 35 .file-title
36 36 = f.text_field :file_name, placeholder: "example.rb", class: 'snippet-file-name', required: true
... ...