Commit a16d755813a9cf567d842a9f252d40e65902d52b

Authored by Dmitriy Zaporozhets
2 parents ce527b68 0c0beec2

Merge branch 'refactor/scss' of /home/git/repositories/gitlab/gitlabhq

app/assets/stylesheets/gitlab_bootstrap.scss
@@ -61,6 +61,8 @@ $baseLineHeight: 18px !default; @@ -61,6 +61,8 @@ $baseLineHeight: 18px !default;
61 @import "gitlab_bootstrap/typography.scss"; 61 @import "gitlab_bootstrap/typography.scss";
62 @import "gitlab_bootstrap/buttons.scss"; 62 @import "gitlab_bootstrap/buttons.scss";
63 @import "gitlab_bootstrap/blocks.scss"; 63 @import "gitlab_bootstrap/blocks.scss";
  64 +@import "gitlab_bootstrap/ui_box.scss";
  65 +@import "gitlab_bootstrap/issue_box.scss";
64 @import "gitlab_bootstrap/files.scss"; 66 @import "gitlab_bootstrap/files.scss";
65 @import "gitlab_bootstrap/lists.scss"; 67 @import "gitlab_bootstrap/lists.scss";
66 @import "gitlab_bootstrap/forms.scss"; 68 @import "gitlab_bootstrap/forms.scss";
app/assets/stylesheets/gitlab_bootstrap/blocks.scss
1 -/**  
2 - * ===================================  
3 - * Contain UI block elements:  
4 - * .ui-box - for any block & widgets  
5 - * ===================================  
6 - */  
7 -  
8 -/**  
9 - * UI Block  
10 - *  
11 - */  
12 -.ui-box {  
13 - background: #FFF;  
14 - margin-bottom: 20px;  
15 - border: 1px solid #DDD;  
16 - word-wrap: break-word;  
17 -  
18 - &.small-box {  
19 - margin-bottom: 10px;  
20 -  
21 - .title {  
22 - font-size: 13px;  
23 - line-height: 30px;  
24 -  
25 - a {  
26 - color: #666;  
27 - &:hover {  
28 - text-decoration: underline;  
29 - }  
30 - }  
31 - }  
32 - }  
33 -  
34 - &.ui-box-show {  
35 - color: #666;  
36 - margin:20px 0;  
37 - background: #FAFAFA;  
38 -  
39 - .control-group {  
40 - margin-bottom: 0;  
41 - }  
42 - }  
43 -  
44 - &.ui-box-danger {  
45 - background: #f7f7f7;  
46 - border: none;  
47 -  
48 - .title {  
49 - background: #D65;  
50 - color: #fff;  
51 - text-shadow: 0 1px 1px #900;  
52 - }  
53 - }  
54 -  
55 - img { max-width: 100%; }  
56 -  
57 - pre {  
58 - code {  
59 - background: none !important;  
60 - }  
61 - }  
62 -  
63 - .ui-box-head,  
64 - .ui-box-body,  
65 - .ui-box-bottom {  
66 - padding: 15px;  
67 -  
68 - .clearfix {  
69 - margin: 0;  
70 - }  
71 - }  
72 -  
73 - .ui-box-head {  
74 - .box-title {  
75 - font-size: 20px;  
76 - font-weight: 500;  
77 - line-height: 28px;  
78 - margin: 0;  
79 - color: #444;  
80 - }  
81 - h3 {  
82 - margin: 0;  
83 - }  
84 - }  
85 -  
86 - .ui-box-body {  
87 - border: none;  
88 - background-color: #f5f5f5;  
89 - border: none;  
90 - border-top: 1px solid #eee;  
91 - }  
92 -  
93 - .ui-box-bottom {  
94 - border-top: 1px solid #eee;  
95 - }  
96 -  
97 - ul {  
98 - margin: 0;  
99 - }  
100 -  
101 - .title {  
102 - background-color: #EEE;  
103 - border-bottom: 1px solid #DDD;  
104 - color: #666;  
105 - font-size: 16px;  
106 - text-shadow: 0 1px 1px #fff;  
107 - padding: 0 10px;  
108 - font-size: 14px;  
109 - line-height: 40px;  
110 - font-weight: normal;  
111 - margin: 0;  
112 -  
113 - > a {  
114 - text-shadow: 0 1px 1px #fff;  
115 - }  
116 -  
117 - form {  
118 - margin-bottom: 0;  
119 - margin-top: 0;  
120 - }  
121 -  
122 - .btn {  
123 - vertical-align: middle;  
124 - padding: 4px 12px;  
125 - @include box-shadow(0 0px 1px 1px #f2f2f2);  
126 - }  
127 -  
128 - .nav-pills {  
129 - > li {  
130 - > a {  
131 - padding: 13px;  
132 - margin: 0;  
133 - font-size: 13px;  
134 - }  
135 - &.active {  
136 - > a {  
137 - background: #D5D5D5;  
138 - color: $style_color;  
139 - @include border-radius(0);  
140 - border-radius: 0;  
141 - border-left: 1px solid #CCC;  
142 - border-right: 1px solid #CCC;  
143 - }  
144 - }  
145 - }  
146 - }  
147 - }  
148 -  
149 - &.padded {  
150 - h5, .title {  
151 - margin: -20px;  
152 - margin-bottom: 0;  
153 - padding: 5px 20px;  
154 - }  
155 - }  
156 -  
157 - .row_title {  
158 - font-weight: 500;  
159 - color: #444;  
160 - &:hover {  
161 - color: #444;  
162 - text-decoration: underline;  
163 - }  
164 - }  
165 -  
166 - .form-holder {  
167 - padding-top: 20px;  
168 - form {  
169 - margin-bottom: 0;  
170 - legend {  
171 - text-indent: 10px;  
172 - }  
173 - .form-actions {  
174 - margin-bottom: 0;  
175 - }  
176 - }  
177 - }  
178 -}  
179 -  
180 -.tab-pane {  
181 - .ui-box {  
182 - margin: 3px 3px 25px 3px;  
183 - }  
184 -}  
185 -  
186 .light-well { 1 .light-well {
187 background: #f9f9f9; 2 background: #f9f9f9;
188 padding: 15px; 3 padding: 15px;
app/assets/stylesheets/gitlab_bootstrap/issue_box.scss 0 → 100644
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
  1 +/**
  2 + * Issue box:
  3 + * Huge block (one per page) for storing title, descripion and other information.
  4 + * Used for Issue#show page, MergeRequest#show page etc
  5 + *
  6 + * CLasses:
  7 + * .issue-box - Regular box
  8 + */
  9 +
  10 +.issue-box {
  11 + color: #666;
  12 + margin:20px 0;
  13 + background: #FAFAFA;
  14 + border: 1px solid #DDD;
  15 +
  16 + .control-group {
  17 + margin-bottom: 0;
  18 + }
  19 +
  20 + .title {
  21 + font-size: 20px;
  22 + font-weight: 500;
  23 + line-height: 28px;
  24 + margin: 0;
  25 + color: #444;
  26 + }
  27 +
  28 + .context {
  29 + border: none;
  30 + background-color: #f5f5f5;
  31 + border: none;
  32 + border-top: 1px solid #eee;
  33 + }
  34 +
  35 + .description {
  36 + border-top: 1px solid #eee;
  37 + }
  38 +
  39 + .title, .context, .description {
  40 + padding: 15px;
  41 +
  42 + .clearfix {
  43 + margin: 0;
  44 + }
  45 + }
  46 +}
app/assets/stylesheets/gitlab_bootstrap/ui_box.scss 0 → 100644
@@ -0,0 +1,171 @@ @@ -0,0 +1,171 @@
  1 +/**
  2 + * UI box:
  3 + * Block element for separating information on page.
  4 + * Used for storing issues lists, grouped data.
  5 + * You can have multiple ui boxes on one page
  6 + *
  7 + * Classes:
  8 + * .ui-box - for any block & widgets
  9 + * .ui-box.ui-box-small - same but with smaller title
  10 + * .ui-box.ui-box-danger - with red title
  11 + *
  12 + * Ex. 1: List
  13 + * .ui-box
  14 + * .title
  15 + * # title here
  16 + * %ul
  17 + * # content here
  18 + *
  19 + * Ex. 2: Block data
  20 + * .ui-box
  21 + * .title
  22 + * # title here
  23 + * .body
  24 + * # content here
  25 + *
  26 + */
  27 +
  28 +.ui-box {
  29 + background: #FFF;
  30 + margin-bottom: 20px;
  31 + border: 1px solid #DDD;
  32 + word-wrap: break-word;
  33 +
  34 + img {
  35 + max-width: 100%;
  36 + }
  37 +
  38 + pre {
  39 + code {
  40 + background: none !important;
  41 + }
  42 + }
  43 +
  44 + ul {
  45 + margin: 0;
  46 + }
  47 +
  48 + .title {
  49 + background-color: #EEE;
  50 + border-bottom: 1px solid #DDD;
  51 + color: #666;
  52 + font-size: 16px;
  53 + text-shadow: 0 1px 1px #fff;
  54 + padding: 0 10px;
  55 + font-size: 14px;
  56 + line-height: 40px;
  57 + font-weight: normal;
  58 + margin: 0;
  59 +
  60 + > a {
  61 + text-shadow: 0 1px 1px #fff;
  62 + }
  63 +
  64 + form {
  65 + margin-bottom: 0;
  66 + margin-top: 0;
  67 + }
  68 +
  69 + .btn {
  70 + vertical-align: middle;
  71 + padding: 4px 12px;
  72 + @include box-shadow(0 0px 1px 1px #f2f2f2);
  73 + }
  74 +
  75 + .nav-pills {
  76 + > li {
  77 + > a {
  78 + padding: 13px;
  79 + margin: 0;
  80 + font-size: 13px;
  81 + }
  82 + &.active {
  83 + > a {
  84 + background: #D5D5D5;
  85 + color: $style_color;
  86 + @include border-radius(0);
  87 + border-radius: 0;
  88 + border-left: 1px solid #CCC;
  89 + border-right: 1px solid #CCC;
  90 + }
  91 + }
  92 + }
  93 + }
  94 + }
  95 +
  96 + .body {
  97 + padding: 10px;
  98 + }
  99 +
  100 + &.padded {
  101 + h5, .title {
  102 + margin: -20px;
  103 + margin-bottom: 0;
  104 + padding: 5px 20px;
  105 + }
  106 + }
  107 +
  108 + .row_title {
  109 + font-weight: 500;
  110 + color: #444;
  111 + &:hover {
  112 + color: #444;
  113 + text-decoration: underline;
  114 + }
  115 + }
  116 +
  117 + .form-holder {
  118 + padding-top: 20px;
  119 + form {
  120 + margin-bottom: 0;
  121 + legend {
  122 + text-indent: 10px;
  123 + }
  124 + .form-actions {
  125 + margin-bottom: 0;
  126 + }
  127 + }
  128 + }
  129 +}
  130 +
  131 +/*
  132 + * Small box
  133 + */
  134 +.ui-box.ui-box-small {
  135 + margin-bottom: 10px;
  136 +
  137 + .title {
  138 + font-size: 13px;
  139 + line-height: 30px;
  140 +
  141 + a {
  142 + color: #666;
  143 + &:hover {
  144 + text-decoration: underline;
  145 + }
  146 + }
  147 + }
  148 +}
  149 +
  150 +/*
  151 + * Danger box
  152 + */
  153 +.ui-box.ui-box-danger {
  154 + background: #f7f7f7;
  155 + border: none;
  156 +
  157 + .title {
  158 + background: #D65;
  159 + color: #fff;
  160 + text-shadow: 0 1px 1px #900;
  161 + }
  162 +}
  163 +
  164 +/*
  165 + * Block under tw-bootstrap tabs
  166 + */
  167 +.tab-pane {
  168 + .ui-box {
  169 + margin: 3px 3px 25px 3px;
  170 + }
  171 +}
app/assets/stylesheets/sections/wiki.scss
1 -h3.page-title .edit-wiki-header { 1 +.title .edit-wiki-header {
2 width: 780px; 2 width: 780px;
3 margin-left: auto; 3 margin-left: auto;
4 margin-right: auto; 4 margin-right: auto;
app/views/admin/background_jobs/show.html.haml
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 5
6 .ui-box 6 .ui-box
7 .title Sidekiq running processes 7 .title Sidekiq running processes
8 - .ui-box-body 8 + .body
9 - if @sidekiq_processes.empty? 9 - if @sidekiq_processes.empty?
10 %h4.cred 10 %h4.cred
11 %i.icon-warning-sign 11 %i.icon-warning-sign
app/views/admin/groups/show.html.haml
@@ -48,7 +48,7 @@ @@ -48,7 +48,7 @@
48 .ui-box 48 .ui-box
49 .title 49 .title
50 Add user(s) to the group: 50 Add user(s) to the group:
51 - .ui-box-body.form-holder 51 + .body.form-holder
52 %p.light 52 %p.light
53 Read more about project permissions 53 Read more about project permissions
54 %strong= link_to "here", help_permissions_path, class: "vlink" 54 %strong= link_to "here", help_permissions_path, class: "vlink"
app/views/admin/projects/show.html.haml
@@ -78,7 +78,7 @@ @@ -78,7 +78,7 @@
78 .ui-box 78 .ui-box
79 .title 79 .title
80 Transfer project 80 Transfer project
81 - .ui-box-body 81 + .body
82 = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f| 82 = form_for @project, url: transfer_admin_project_path(@project), method: :put do |f|
83 .control-group 83 .control-group
84 = f.label :namespace_id, "Namespace" 84 = f.label :namespace_id, "Namespace"
app/views/groups/edit.html.haml
@@ -63,7 +63,7 @@ @@ -63,7 +63,7 @@
63 .tab-pane#tab-remove 63 .tab-pane#tab-remove
64 .ui-box.ui-box-danger 64 .ui-box.ui-box-danger
65 .title Remove group 65 .title Remove group
66 - .ui-box-body 66 + .body
67 %p 67 %p
68 Removing group will cause all child projects and resources to be removed. 68 Removing group will cause all child projects and resources to be removed.
69 %p 69 %p
app/views/projects/edit.html.haml
@@ -105,7 +105,7 @@ @@ -105,7 +105,7 @@
105 Unarchive project 105 Unarchive project
106 - else 106 - else
107 Archive project 107 Archive project
108 - .ui-box-body 108 + .body
109 - if @project.archived? 109 - if @project.archived?
110 %p 110 %p
111 Unarchiving the project will mark its repository as active. 111 Unarchiving the project will mark its repository as active.
@@ -168,7 +168,7 @@ @@ -168,7 +168,7 @@
168 - if can?(current_user, :remove_project, @project) 168 - if can?(current_user, :remove_project, @project)
169 .ui-box.ui-box-danger 169 .ui-box.ui-box-danger
170 .title Remove project 170 .title Remove project
171 - .ui-box-body 171 + .body
172 %p 172 %p
173 Removing the project will delete its repository and all related resources including issues, merge requests etc. 173 Removing the project will delete its repository and all related resources including issues, merge requests etc.
174 %br 174 %br
app/views/projects/issues/_form.html.haml
@@ -6,14 +6,14 @@ @@ -6,14 +6,14 @@
6 - @issue.errors.full_messages.each do |msg| 6 - @issue.errors.full_messages.each do |msg|
7 %span= msg 7 %span= msg
8 %br 8 %br
9 - .ui-box.ui-box-show  
10 - .ui-box-head 9 + .issue-box
  10 + .title
11 .control-group 11 .control-group
12 = f.label :title do 12 = f.label :title do
13 %strong= "Subject *" 13 %strong= "Subject *"
14 .controls 14 .controls
15 = f.text_field :title, maxlength: 255, class: "input-xxlarge js-gfm-input", autofocus: true, required: true 15 = f.text_field :title, maxlength: 255, class: "input-xxlarge js-gfm-input", autofocus: true, required: true
16 - .ui-box-body 16 + .context
17 .control-group 17 .control-group
18 .issue_assignee.pull-left 18 .issue_assignee.pull-left
19 = f.label :assignee_id do 19 = f.label :assignee_id do
@@ -31,7 +31,7 @@ @@ -31,7 +31,7 @@
31 Milestone 31 Milestone
32 .controls= f.select(:milestone_id, milestone_options(@issue), { include_blank: "Select milestone" }, {class: 'chosen'}) 32 .controls= f.select(:milestone_id, milestone_options(@issue), { include_blank: "Select milestone" }, {class: 'chosen'})
33 33
34 - .ui-box-bottom 34 + .description
35 .control-group 35 .control-group
36 = f.label :label_list do 36 = f.label :label_list do
37 %i.icon-tag 37 %i.icon-tag
app/views/projects/issues/show.html.haml
@@ -37,17 +37,16 @@ @@ -37,17 +37,16 @@
37 %span.light Milestone 37 %span.light Milestone
38 = @issue.milestone.title 38 = @issue.milestone.title
39 39
40 -.ui-box.ui-box-show  
41 - .ui-box-head  
42 - %h4.box-title  
43 - = gfm escape_once(@issue.title) 40 +.issue-box
  41 + %h4.title
  42 + = gfm escape_once(@issue.title)
44 43
45 - .ui-box-body 44 + .context
46 %cite.cgray 45 %cite.cgray
47 = render partial: 'issue_context', locals: { issue: @issue } 46 = render partial: 'issue_context', locals: { issue: @issue }
48 47
49 - if @issue.description.present? 48 - if @issue.description.present?
50 - .ui-box-bottom 49 + .description
51 .wiki 50 .wiki
52 = preserve do 51 = preserve do
53 = markdown @issue.description 52 = markdown @issue.description
app/views/projects/issues/update.js.haml
@@ -3,8 +3,8 @@ @@ -3,8 +3,8 @@
3 :plain 3 :plain
4 $("##{dom_id(@issue)}").fadeOut(); 4 $("##{dom_id(@issue)}").fadeOut();
5 - elsif params[:issue_context] 5 - elsif params[:issue_context]
6 - $('.ui-box-body').html("#{escape_javascript(render partial: 'issue_context', locals: { issue: @issue })}");  
7 - $('.ui-box-body').effect('highlight'); 6 + $('.issue-box .context').html("#{escape_javascript(render partial: 'issue_context', locals: { issue: @issue })}");
  7 + $('.issue-box .context').effect('highlight');
8 $('.chosen').chosen(); 8 $('.chosen').chosen();
9 $('.edit-issue.inline-update input[type="submit"]').hide(); 9 $('.edit-issue.inline-update input[type="submit"]').hide();
10 - if @issue.milestone 10 - if @issue.milestone
app/views/projects/merge_requests/show/_mr_box.html.haml
1 -.ui-box.ui-box-show  
2 - .ui-box-head  
3 - %h4.box-title  
4 - = gfm escape_once(@merge_request.title) 1 +.issue-box
  2 + %h4.title
  3 + = gfm escape_once(@merge_request.title)
5 4
6 - .ui-box-body  
7 - %div  
8 - %cite.cgray  
9 - Created by #{link_to_member(@project, @merge_request.author)}.  
10 - - if @merge_request.assignee  
11 - Currently assigned to #{link_to_member(@project, @merge_request.assignee)}.  
12 - - if @merge_request.milestone  
13 - .pull-right  
14 - - milestone = @merge_request.milestone  
15 - %cite.cgray Attached to milestone  
16 - %strong= link_to_gfm truncate(milestone.title, length: 20), project_milestone_path(milestone.project, milestone) 5 + .context
  6 + %cite.cgray
  7 + Created by #{link_to_member(@project, @merge_request.author)}.
  8 + - if @merge_request.assignee
  9 + Currently assigned to #{link_to_member(@project, @merge_request.assignee)}.
  10 + - if @merge_request.milestone
  11 + .pull-right
  12 + - milestone = @merge_request.milestone
  13 + %cite.cgray Attached to milestone
  14 + %strong= link_to_gfm truncate(milestone.title, length: 20), project_milestone_path(milestone.project, milestone)
17 15
18 16
19 - if @merge_request.description.present? 17 - if @merge_request.description.present?
20 - .ui-box-bottom 18 + .description
21 .wiki 19 .wiki
22 = preserve do 20 = preserve do
23 = markdown @merge_request.description 21 = markdown @merge_request.description
24 22
25 - if @merge_request.closed? 23 - if @merge_request.closed?
26 - .ui-box-bottom.alert-error 24 + .description.alert-error
27 %span 25 %span
28 %i.icon-remove 26 %i.icon-remove
29 Closed by #{link_to_member(@project, @merge_request.closed_event.author)} 27 Closed by #{link_to_member(@project, @merge_request.closed_event.author)}
30 #{time_ago_with_tooltip(@merge_request.closed_event.created_at)} ago. 28 #{time_ago_with_tooltip(@merge_request.closed_event.created_at)} ago.
31 - if @merge_request.merged? 29 - if @merge_request.merged?
32 - .ui-box-bottom.alert-success 30 + .description.alert-success
33 %span 31 %span
34 %i.icon-ok 32 %i.icon-ok
35 Merged by #{link_to_member(@project, @merge_request.merge_event.author)} 33 Merged by #{link_to_member(@project, @merge_request.merge_event.author)}
36 #{time_ago_with_tooltip(@merge_request.merge_event.created_at)} ago. 34 #{time_ago_with_tooltip(@merge_request.merge_event.created_at)} ago.
37 - if !@closes_issues.empty? && @merge_request.opened? 35 - if !@closes_issues.empty? && @merge_request.opened?
38 - .ui-box-bottom.alert-info 36 + .description.alert-info
39 %span 37 %span
40 %i.icon-ok 38 %i.icon-ok
41 Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'} 39 Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'}
app/views/projects/milestones/show.html.haml
@@ -28,13 +28,11 @@ @@ -28,13 +28,11 @@
28 ← To milestones list 28 ← To milestones list
29 29
30 30
31 -.ui-box.ui-box-show  
32 - .ui-box-head  
33 - %h4.box-title 31 +.issue-box
  32 + %h4.title
  33 + = gfm escape_once(@milestone.title)
34 34
35 - = gfm escape_once(@milestone.title)  
36 -  
37 - .ui-box-body 35 + .context
38 %p 36 %p
39 Progress: 37 Progress:
40 #{@milestone.closed_items_count} closed 38 #{@milestone.closed_items_count} closed
@@ -46,7 +44,7 @@ @@ -46,7 +44,7 @@
46 44
47 45
48 - if @milestone.description.present? 46 - if @milestone.description.present?
49 - .ui-box-bottom 47 + .description
50 = preserve do 48 = preserve do
51 = markdown @milestone.description 49 = markdown @milestone.description
52 50
app/views/projects/wikis/_form.html.haml
@@ -6,15 +6,14 @@ @@ -6,15 +6,14 @@
6 - @wiki.errors.full_messages.each do |msg| 6 - @wiki.errors.full_messages.each do |msg|
7 %li= msg 7 %li= msg
8 8
9 - .ui-box.ui-box-show  
10 - .ui-box-head  
11 - %h3.page-title  
12 - .edit-wiki-header  
13 - = @wiki.title.titleize  
14 - = f.hidden_field :title, value: @wiki.title  
15 - = f.select :format, options_for_select(GollumWiki::MARKUPS, {selected: @wiki.format}), {}, class: "pull-right input-medium"  
16 - = f.label :format, class: "pull-right", style: "padding-right: 20px;"  
17 - .ui-box-body 9 + .issue-box
  10 + %h3.title
  11 + .edit-wiki-header
  12 + = @wiki.title.titleize
  13 + = f.hidden_field :title, value: @wiki.title
  14 + = f.select :format, options_for_select(GollumWiki::MARKUPS, {selected: @wiki.format}), {}, class: "pull-right input-medium"
  15 + = f.label :format, class: "pull-right", style: "padding-right: 20px;"
  16 + .context
18 .controls 17 .controls
19 %span.cgray 18 %span.cgray
20 Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}. 19 Wiki content is parsed with #{link_to "GitLab Flavored Markdown", help_markdown_path, target: '_blank'}.
@@ -22,11 +21,11 @@ @@ -22,11 +21,11 @@
22 %code [Link Title](page-slug) 21 %code [Link Title](page-slug)
23 \. 22 \.
24 23
25 - .ui-box-bottom 24 + .description
26 .control-group 25 .control-group
27 = f.label :content 26 = f.label :content
28 .controls= f.text_area :content, class: 'span8 js-gfm-input', rows: 18 27 .controls= f.text_area :content, class: 'span8 js-gfm-input', rows: 18
29 - .ui-box-bottom 28 + .description
30 .control-group 29 .control-group
31 = f.label :commit_message 30 = f.label :commit_message
32 .controls= f.text_field :message, class: 'span8', rows: 18 31 .controls= f.text_field :message, class: 'span8', rows: 18
app/views/shared/_issues.html.haml
1 - if @issues.any? 1 - if @issues.any?
2 - @issues.group_by(&:project).each do |group| 2 - @issues.group_by(&:project).each do |group|
3 - .ui-box.small-box 3 + .ui-box.ui-box-small
4 - project = group[0] 4 - project = group[0]
5 .title 5 .title
6 = link_to_project project 6 = link_to_project project
app/views/shared/_merge_requests.html.haml
1 - if @merge_requests.any? 1 - if @merge_requests.any?
2 - @merge_requests.group_by(&:target_project).each do |group| 2 - @merge_requests.group_by(&:target_project).each do |group|
3 - .ui-box.small-box 3 + .ui-box.ui-box-small
4 - project = group[0] 4 - project = group[0]
5 .title 5 .title
6 = link_to_project project 6 = link_to_project project