Commit 796784c7c8d385b72cd1e4b5a8f0885d630586fb
Exists in
master
and in
4 other branches
Merge branch 'events' of dev.gitlabhq.com:gitlabhq into events
Showing
23 changed files
with
471 additions
and
47 deletions
Show diff stats
Gemfile
Gemfile.lock
| ... | ... | @@ -232,9 +232,9 @@ GEM |
| 232 | 232 | ffi (~> 1.0.9) |
| 233 | 233 | multi_json (~> 1.0.4) |
| 234 | 234 | rubyzip |
| 235 | - shoulda (3.0.0.beta2) | |
| 236 | - shoulda-context (~> 1.0.0.beta1) | |
| 237 | - shoulda-matchers (~> 1.0.0.beta1) | |
| 235 | + shoulda (3.0.0) | |
| 236 | + shoulda-context (~> 1.0.0) | |
| 237 | + shoulda-matchers (~> 1.0.0) | |
| 238 | 238 | shoulda-context (1.0.0) |
| 239 | 239 | shoulda-matchers (1.0.0) |
| 240 | 240 | simplecov (0.5.4) |
| ... | ... | @@ -322,7 +322,7 @@ DEPENDENCIES |
| 322 | 322 | rspec-rails |
| 323 | 323 | sass-rails (= 3.2.3) |
| 324 | 324 | seed-fu |
| 325 | - shoulda (~> 3.0.0.beta2) | |
| 325 | + shoulda (= 3.0.0) | |
| 326 | 326 | simplecov |
| 327 | 327 | six |
| 328 | 328 | sqlite3 | ... | ... |
app/assets/images/Gear-UI.PNG
940 Bytes
556 Bytes
app/assets/stylesheets/common.scss
| ... | ... | @@ -40,6 +40,7 @@ a { |
| 40 | 40 | .cred { color:#D12F19; } |
| 41 | 41 | .cgreen { color:#44aa22; } |
| 42 | 42 | .cblack { color:#111; } |
| 43 | +.cwhite { color:#fff !important } | |
| 43 | 44 | |
| 44 | 45 | /** COMMON STYLES **/ |
| 45 | 46 | .left { |
| ... | ... | @@ -75,6 +76,10 @@ a { |
| 75 | 76 | .no-borders { |
| 76 | 77 | border:none; |
| 77 | 78 | } |
| 79 | +table.no-borders { | |
| 80 | + border:none; | |
| 81 | + tr, td { border:none } | |
| 82 | +} | |
| 78 | 83 | .no-padding { |
| 79 | 84 | padding:0 !important; |
| 80 | 85 | } |
| ... | ... | @@ -433,7 +438,7 @@ input.git_clone_url { |
| 433 | 438 | } |
| 434 | 439 | |
| 435 | 440 | .project_list_url { |
| 436 | - width:270px; | |
| 441 | + width:250px; | |
| 437 | 442 | background:#fff !important; |
| 438 | 443 | } |
| 439 | 444 | |
| ... | ... | @@ -441,7 +446,7 @@ input.git_clone_url { |
| 441 | 446 | @include shade; |
| 442 | 447 | @include round-borders-all(4px); |
| 443 | 448 | margin-bottom:20px; |
| 444 | - width:338px; | |
| 449 | + width:298px; | |
| 445 | 450 | float:left; |
| 446 | 451 | margin-left:20px; |
| 447 | 452 | border: 1px solid #DDD; |
| ... | ... | @@ -600,3 +605,24 @@ p.time { |
| 600 | 605 | font-size: 90%; |
| 601 | 606 | margin: 30px 3px 3px 2px; |
| 602 | 607 | } |
| 608 | + | |
| 609 | + | |
| 610 | +.dashboard_category { | |
| 611 | + margin-bottom:30px; | |
| 612 | + | |
| 613 | + .dashboard_block { | |
| 614 | + width:700px; | |
| 615 | + margin:auto; | |
| 616 | + | |
| 617 | + .wll { | |
| 618 | + border:none; | |
| 619 | + &:hover { | |
| 620 | + background:none; | |
| 621 | + } | |
| 622 | + | |
| 623 | + h4 { | |
| 624 | + color:#666; | |
| 625 | + } | |
| 626 | + } | |
| 627 | + } | |
| 628 | +} | ... | ... |
app/assets/stylesheets/main.scss
| ... | ... | @@ -71,6 +71,11 @@ $hover: #FDF5D9; |
| 71 | 71 | @import "ui_basic.scss"; |
| 72 | 72 | |
| 73 | 73 | /** |
| 74 | + * UI mars theme | |
| 75 | + */ | |
| 76 | +@import "ui_mars.scss"; | |
| 77 | + | |
| 78 | +/** | |
| 74 | 79 | * Most of application styles placed here. |
| 75 | 80 | * This file represent common UI that should not be changed between themes |
| 76 | 81 | * or project restyling like form width or user avatar class or commit title | ... | ... |
app/assets/stylesheets/ui_basic.scss
| ... | ... | @@ -57,11 +57,30 @@ |
| 57 | 57 | text-shadow: 0 1px 1px #FFF; |
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - img { | |
| 61 | - float: left; | |
| 62 | - position: relative; | |
| 63 | - top: -9px; | |
| 64 | - width:46px; | |
| 60 | + &.home { | |
| 61 | + img { | |
| 62 | + float: left; | |
| 63 | + position: relative; | |
| 64 | + top: -9px; | |
| 65 | + width:46px; | |
| 66 | + | |
| 67 | + } | |
| 68 | + } | |
| 69 | + &.admin_link { | |
| 70 | + width:16px; | |
| 71 | + height:16px; | |
| 72 | + padding: 5px; | |
| 73 | + border: 1px solid #ccc; | |
| 74 | + border-radius: 4px; | |
| 75 | + margin: 0px; | |
| 76 | + background: #eee; | |
| 77 | + margin-left:20px; | |
| 78 | + &:hover { | |
| 79 | + background:#f7f7f7; | |
| 80 | + } | |
| 81 | + img { | |
| 82 | + width:16px; | |
| 83 | + } | |
| 65 | 84 | } |
| 66 | 85 | } |
| 67 | 86 | } | ... | ... |
| ... | ... | @@ -0,0 +1,316 @@ |
| 1 | +/** | |
| 2 | + * This file represent some UI that can be changed | |
| 3 | + * during web app restyle or theme select. | |
| 4 | + * | |
| 5 | + * Next items should be placed there | |
| 6 | + * - link colors | |
| 7 | + * - header styles | |
| 8 | + * - main menu styles | |
| 9 | + * | |
| 10 | + */ | |
| 11 | +.ui_mars { | |
| 12 | + | |
| 13 | + /* | |
| 14 | + * Common styles | |
| 15 | + * | |
| 16 | + */ | |
| 17 | + a { | |
| 18 | + color: $link_color; | |
| 19 | + &:hover { | |
| 20 | + text-decoration:none; | |
| 21 | + color: $style_color; | |
| 22 | + } | |
| 23 | + } | |
| 24 | + | |
| 25 | + | |
| 26 | + /* | |
| 27 | + * Application Header | |
| 28 | + * | |
| 29 | + */ | |
| 30 | + header { | |
| 31 | + width:100%; | |
| 32 | + padding:0; | |
| 33 | + margin:0; | |
| 34 | + top:1px; | |
| 35 | + left:0; | |
| 36 | + | |
| 37 | + | |
| 38 | + background: #474D57 url('bg-header.png') repeat-x bottom; | |
| 39 | + | |
| 40 | + z-index:10; | |
| 41 | + height:60px; | |
| 42 | + | |
| 43 | + .search-input { | |
| 44 | + background:#474D57; | |
| 45 | + border-color:#888; | |
| 46 | + } | |
| 47 | + .app_logo { | |
| 48 | + width:230px; | |
| 49 | + float:left; | |
| 50 | + position:relative; | |
| 51 | + top:-4px; | |
| 52 | + | |
| 53 | + a { | |
| 54 | + float:left; | |
| 55 | + | |
| 56 | + h1 { | |
| 57 | + | |
| 58 | + background: url('images.png') no-repeat -3px -7px; | |
| 59 | + width: 65px; | |
| 60 | + height: 26px; | |
| 61 | + margin: 5px 0; | |
| 62 | + padding: 0; | |
| 63 | + display: block; | |
| 64 | + float: left; | |
| 65 | + text-indent: -1000em; | |
| 66 | + | |
| 67 | + } | |
| 68 | + | |
| 69 | + &.home { | |
| 70 | + img { | |
| 71 | + display:none | |
| 72 | + | |
| 73 | + } | |
| 74 | + } | |
| 75 | + &.admin_link { | |
| 76 | + width:16px; | |
| 77 | + height:16px; | |
| 78 | + padding: 5px; | |
| 79 | + border: 1px solid #888; | |
| 80 | + border-radius: 4px; | |
| 81 | + margin: 0px; | |
| 82 | + background:#474D57 ; | |
| 83 | + margin-left:20px; | |
| 84 | + margin-top:4px; | |
| 85 | + &:hover { | |
| 86 | + background:#f7f7f7; | |
| 87 | + } | |
| 88 | + img { | |
| 89 | + width:16px; | |
| 90 | + } | |
| 91 | + } | |
| 92 | + } | |
| 93 | + } | |
| 94 | + .wrapper { | |
| 95 | + margin:auto; | |
| 96 | + min-width:$min_app_width; | |
| 97 | + max-width:$max_app_width; | |
| 98 | + position:relative; | |
| 99 | + padding:15px 0; | |
| 100 | + | |
| 101 | + .top_panel_content { | |
| 102 | + margin:0 $app_padding; | |
| 103 | + } | |
| 104 | + } | |
| 105 | + | |
| 106 | + .project_name { | |
| 107 | + float:left; | |
| 108 | + width:400px; | |
| 109 | + margin:0; | |
| 110 | + margin-right:30px; | |
| 111 | + font-size:20px; | |
| 112 | + line-height:34px; | |
| 113 | + font-weight:bold; | |
| 114 | + color:#fff; | |
| 115 | + text-shadow: 0 1px 1px #111; | |
| 116 | + } | |
| 117 | + | |
| 118 | + .git_url_wrapper { | |
| 119 | + padding:0px; | |
| 120 | + margin:0px; | |
| 121 | + float:left; | |
| 122 | + | |
| 123 | + .git-url { | |
| 124 | + padding:0px; | |
| 125 | + margin:0px; | |
| 126 | + font-size: 12px; | |
| 127 | + margin-right:10px; | |
| 128 | + border-radius: 4px; | |
| 129 | + -moz-border-radius: 4px; | |
| 130 | + color: #666; | |
| 131 | + border: 1px solid #AAA; | |
| 132 | + padding: 0 10px 0 30px; | |
| 133 | + background: transparent url('images.png') no-repeat 8px -42px; | |
| 134 | + width: 260px; | |
| 135 | + height:26px; | |
| 136 | + } | |
| 137 | + } | |
| 138 | + | |
| 139 | + /* Account box */ | |
| 140 | + .account-box { | |
| 141 | + position: absolute; | |
| 142 | + right: 0; | |
| 143 | + top: 13px; | |
| 144 | + z-index: 10000; | |
| 145 | + width: 128px; | |
| 146 | + font-size: 11px; | |
| 147 | + float: right; | |
| 148 | + display: block; | |
| 149 | + cursor: pointer; | |
| 150 | + img { | |
| 151 | + border-radius: 4px; | |
| 152 | + right: 20px; | |
| 153 | + position: absolute; | |
| 154 | + width: 33px; | |
| 155 | + height: 33px; | |
| 156 | + display: block; | |
| 157 | + top: 0; | |
| 158 | + &:after { | |
| 159 | + content: " "; | |
| 160 | + display: block; | |
| 161 | + position: absolute; | |
| 162 | + top: 0; | |
| 163 | + right: 0; | |
| 164 | + left: 0; | |
| 165 | + bottom: 0; | |
| 166 | + float: right; | |
| 167 | + border-radius: 5px; | |
| 168 | + border: 1px solid rgba(255, 255, 255, 0.1); | |
| 169 | + border-bottom: 0; | |
| 170 | + background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, 0.15)), to(rgba(0, 0, 0, 0.25))), -webkit-gradient(linear, left top, right bottom, color-stop(0, rgba(255, 255, 255, 0)), color-stop(0.5, rgba(255, 255, 255, 0.1)), color-stop(0.501, rgba(255, 255, 255, 0)), color-stop(1, rgba(255, 255, 255, 0))); | |
| 171 | + background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), -moz-linear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0)); | |
| 172 | + background: linear-gradient(top, rgba(255, 255, 255, 0.15), rgba(0, 0, 0, 0.25)), linear-gradient(left top, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0)); | |
| 173 | + -webkit-background-origin: border-box; | |
| 174 | + -moz-background-origin: border; | |
| 175 | + background-origin: border-box; } } } | |
| 176 | + | |
| 177 | + .account-box { | |
| 178 | + &.hover { | |
| 179 | + height: 138px; } | |
| 180 | + &:hover > .account-links { | |
| 181 | + display: block; } } | |
| 182 | + | |
| 183 | + .account-links { | |
| 184 | + background: #79C3E0; | |
| 185 | + display: none; | |
| 186 | + border-radius: 5px; | |
| 187 | + width: 100px; | |
| 188 | + margin-top: 0; | |
| 189 | + float: right; | |
| 190 | + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); | |
| 191 | + position: relative; | |
| 192 | + &:before { | |
| 193 | + content: "."; | |
| 194 | + width: 0; | |
| 195 | + height: 0; | |
| 196 | + position: absolute; | |
| 197 | + border: 5px solid transparent; | |
| 198 | + border-color: rgba(255, 255, 255, 0); | |
| 199 | + border-bottom-color: #333; | |
| 200 | + text-indent: -9999px; | |
| 201 | + top: -10px; | |
| 202 | + line-height: 0; | |
| 203 | + right: 10px; | |
| 204 | + z-index: 10; } | |
| 205 | + background: #333; | |
| 206 | + display: none; | |
| 207 | + z-index: 100000; | |
| 208 | + border-radius: 5px; | |
| 209 | + width: 100px; | |
| 210 | + position: absolute; | |
| 211 | + right: 20px; | |
| 212 | + top: 46px; | |
| 213 | + margin-top: 0; | |
| 214 | + float: right; | |
| 215 | + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); | |
| 216 | + a { | |
| 217 | + color: #EEE; | |
| 218 | + padding: 6px 10px; | |
| 219 | + display: block; | |
| 220 | + text-shadow: none; | |
| 221 | + border-bottom: 1px solid #555; | |
| 222 | + &:hover { | |
| 223 | + background: #444; } } } | |
| 224 | + | |
| 225 | + .account-box.hover .arrow-up { | |
| 226 | + top: 41px; | |
| 227 | + right: 6px; | |
| 228 | + position: absolute; } | |
| 229 | + | |
| 230 | + .account-links a { | |
| 231 | + &:first-child { | |
| 232 | + -webkit-border-top-left-radius: 5px; | |
| 233 | + -webkit-border-top-right-radius: 5px; | |
| 234 | + -moz-border-radius-topleft: 5px; | |
| 235 | + -moz-border-radius-topright: 5px; | |
| 236 | + border-top-left-radius: 5px; | |
| 237 | + border-top-right-radius: 5px; } | |
| 238 | + &:last-child { | |
| 239 | + -webkit-border-bottom-right-radius: 5px; | |
| 240 | + -webkit-border-bottom-left-radius: 5px; | |
| 241 | + -moz-border-radius-bottomright: 5px; | |
| 242 | + -moz-border-radius-bottomleft: 5px; | |
| 243 | + border-bottom-right-radius: 5px; | |
| 244 | + border-bottom-left-radius: 5px; | |
| 245 | + border-bottom: 0; } } | |
| 246 | + | |
| 247 | + } | |
| 248 | + /* | |
| 249 | + * End of Application Header | |
| 250 | + * | |
| 251 | + */ | |
| 252 | + | |
| 253 | + /* | |
| 254 | + * Main Menu of Application | |
| 255 | + * | |
| 256 | + */ | |
| 257 | + nav.main_menu { | |
| 258 | + overflow:hidden; | |
| 259 | + border-radius: 4px; | |
| 260 | + margin: auto; | |
| 261 | + margin:30px $app_padding; | |
| 262 | + background:#eee; | |
| 263 | + border:1px solid #ccc; | |
| 264 | + height:38px; | |
| 265 | + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #eee), to(#dfdfdf)); | |
| 266 | + background-image: -webkit-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 267 | + background-image: -moz-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 268 | + background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf); | |
| 269 | + @include shade; | |
| 270 | + .count { | |
| 271 | + color:#aaa; | |
| 272 | + margin-left:3px; | |
| 273 | + } | |
| 274 | + .label { | |
| 275 | + background:$hover; | |
| 276 | + text-shadow:none; | |
| 277 | + color:$style_color; | |
| 278 | + } | |
| 279 | + a { | |
| 280 | + font-weight:bold; | |
| 281 | + &:first-child{ | |
| 282 | + -webkit-border-top-left-radius: 4px; | |
| 283 | + -webkit-border-bottom-left-radius: 4px; | |
| 284 | + -moz-border-radius-topleft: 4px; | |
| 285 | + -moz-border-radius-bottomleft: 4px; | |
| 286 | + border-top-left-radius: 4px; | |
| 287 | + border-bottom-left-radius: 4px; | |
| 288 | + } | |
| 289 | + padding: 10px 25px; | |
| 290 | + display: inline-block; | |
| 291 | + color: $style_color; | |
| 292 | + border-right: 1px solid #d5d5d5; | |
| 293 | + position: relative; | |
| 294 | + box-shadow: 1px 0 0 rgba(255, 255, 255, 0.1); | |
| 295 | + margin: 0; | |
| 296 | + float:left; | |
| 297 | + text-shadow:0 1px 1px white; | |
| 298 | + &.home { | |
| 299 | + background: url(home_icon.PNG) no-repeat center center; | |
| 300 | + text-indent:-9999px; | |
| 301 | + min-width:40px; | |
| 302 | + img { | |
| 303 | + position:relative; | |
| 304 | + top:4px; | |
| 305 | + } | |
| 306 | + } | |
| 307 | + &.current { | |
| 308 | + background-color:#DDD; | |
| 309 | + } | |
| 310 | + } | |
| 311 | + } | |
| 312 | + /* | |
| 313 | + * End of Main Menu | |
| 314 | + * | |
| 315 | + */ | |
| 316 | +} | ... | ... |
app/controllers/dashboard_controller.rb
| ... | ... | @@ -3,7 +3,14 @@ class DashboardController < ApplicationController |
| 3 | 3 | |
| 4 | 4 | def index |
| 5 | 5 | @projects = current_user.projects.all |
| 6 | + | |
| 6 | 7 | @active_projects = @projects.select(&:repo_exists?).select(&:last_activity_date_cached).sort_by(&:last_activity_date_cached).reverse |
| 8 | + | |
| 9 | + @merge_requests = MergeRequest.where("author_id = :id or assignee_id = :id", :id => current_user.id).opened.order("created_at DESC").limit(10) | |
| 10 | + | |
| 11 | + @user = current_user | |
| 12 | + @issues = current_user.assigned_issues.opened.order("created_at DESC").limit(10) | |
| 13 | + @issues = @issues.includes(:author, :project) | |
| 7 | 14 | end |
| 8 | 15 | |
| 9 | 16 | # Get authored or assigned open merge requests | ... | ... |
app/views/dashboard/_projects_feed.html.haml
| 1 | -- @active_projects.first(3).each do |project| | |
| 2 | - = link_to project do | |
| 3 | - %h4= project.name | |
| 4 | - - project.updates(3).each do |update| | |
| 5 | - %a.project-update{:href => dashboard_feed_path(project, update)} | |
| 6 | - = image_tag gravatar_icon(update.author_email), :class => "avatar", :width => 32 | |
| 7 | - %div | |
| 8 | - = dashboard_feed_title(update) | |
| 9 | - %span.update-author | |
| 10 | - %strong= update.author_name | |
| 11 | - authored | |
| 12 | - = time_ago_in_words(update.created_at) | |
| 13 | - ago | |
| 14 | - .right | |
| 15 | - - klass = update.class.to_s.split("::").last.downcase | |
| 16 | - %span.tag{ :class => klass }= klass | |
| 17 | - | |
| 1 | +- @active_projects.first(5).each do |project| | |
| 2 | + .wll | |
| 3 | + = link_to project do | |
| 4 | + %h4 | |
| 5 | + = project.name | |
| 6 | + %small | |
| 7 | + last activity at | |
| 8 | + = project.last_activity_date_cached.stamp("Aug 25, 2011") | ... | ... |
app/views/dashboard/index.html.haml
| 1 | -%h3 Activities | |
| 2 | -%hr | |
| 3 | -.news-feed= render "dashboard/projects_feed" | |
| 1 | +- if current_user.require_ssh_key? | |
| 2 | + .alert-message.warning | |
| 3 | + %p | |
| 4 | + You wont be able to pull/push project code unless you | |
| 5 | + = link_to new_key_path, :class => "vlink" do | |
| 6 | + add new key | |
| 7 | + to your profile | |
| 8 | + | |
| 9 | +%div.dashboard_category | |
| 10 | + %h3 | |
| 11 | + Projects | |
| 12 | + %small | |
| 13 | + ( most recent ) | |
| 14 | + | |
| 15 | + %strong.right | |
| 16 | + = link_to projects_path do | |
| 17 | + Projects list → | |
| 18 | + %hr | |
| 19 | + .row | |
| 20 | + .dashboard_block | |
| 21 | + .row | |
| 22 | + .span9= render "dashboard/projects_feed" | |
| 23 | + .span3.right | |
| 24 | + - if current_user.can_create_project? | |
| 25 | + .alert-message.block-message.warning | |
| 26 | + You can create up to | |
| 27 | + = current_user.projects_limit | |
| 28 | + projects. Click on link below to add a new one | |
| 29 | + .link_holder | |
| 30 | + = link_to new_project_path, :class => "" do | |
| 31 | + New Project » | |
| 32 | + | |
| 33 | + | |
| 34 | +- unless @merge_requests.blank? | |
| 35 | + %div.dashboard_category | |
| 36 | + %h3 | |
| 37 | + Merge Requests | |
| 38 | + %small ( authored or assigned to you ) | |
| 39 | + %strong.right | |
| 40 | + = link_to dashboard_merge_requests_path do | |
| 41 | + Vist merge requests page → | |
| 42 | + %hr | |
| 43 | + .row | |
| 44 | + .dashboard_block= render "dashboard/merge_requests_feed" | |
| 45 | + | |
| 46 | +- unless @issues.blank? | |
| 47 | + %div.dashboard_category | |
| 48 | + %h3 | |
| 49 | + Issues | |
| 50 | + %small ( assigned to you ) | |
| 51 | + %strong.right | |
| 52 | + = link_to dashboard_merge_requests_path do | |
| 53 | + Vist issues page → | |
| 54 | + %hr | |
| 55 | + .row | |
| 56 | + .dashboard_block= render "dashboard/issues_feed" | ... | ... |
app/views/dashboard/issues.html.haml
app/views/dashboard/merge_requests.html.haml
app/views/errors/access_denied.html.haml
| ... | ... | @@ -2,4 +2,4 @@ |
| 2 | 2 | %h3 Access Denied |
| 3 | 3 | %hr |
| 4 | 4 | %p Youre not allowed to access this page |
| 5 | - %p Ream more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"} | |
| 5 | + %p Read more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"} | ... | ... |
app/views/layouts/_app_menu.html.haml
| 1 | 1 | %nav.main_menu |
| 2 | 2 | = render "layouts/const_menu_links" |
| 3 | - -#= link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path) || current_page?(root_path)}" | |
| 3 | + = link_to "Projects", projects_path, :class => "#{"current" if current_page?(projects_path)}" | |
| 4 | 4 | = link_to "Issues", dashboard_issues_path, :class => "#{"current" if current_page?(dashboard_issues_path)}", :id => "issues_slide" |
| 5 | 5 | = link_to "Requests", dashboard_merge_requests_path, :class => "#{"current" if current_page?(dashboard_merge_requests_path)}", :id => "merge_requests_slide" |
| 6 | 6 | = link_to "Help", help_path, :class => "#{"current" if controller.controller_name == "help"}" | ... | ... |
app/views/layouts/_const_menu_links.html.haml
app/views/layouts/_head_panel.html.haml
| ... | ... | @@ -5,7 +5,12 @@ |
| 5 | 5 | %div.app_logo |
| 6 | 6 | = link_to root_path, :class => "home", :title => "Home" do |
| 7 | 7 | = image_tag "logo_tr.png", :width => 50 |
| 8 | - %h1 GITLAB | |
| 8 | + %h1 | |
| 9 | + GITLAB | |
| 10 | + | |
| 11 | + - if current_user.is_admin? | |
| 12 | + = link_to admin_projects_path, :class => "admin_link", :title => "Admin area" do | |
| 13 | + = image_tag "admin.PNG", :width => 16 | |
| 9 | 14 | |
| 10 | 15 | %h1.project_name= title |
| 11 | 16 | .search= text_field_tag "search", nil, :placeholder => "Search", :class => "search-input" | ... | ... |
app/views/layouts/application.html.haml
app/views/projects/_tile.html.haml
app/views/projects/empty.html.haml
| 1 | 1 | - if current_user.require_ssh_key? |
| 2 | 2 | .alert-message.block-message.error |
| 3 | 3 | %ul |
| 4 | - %li You have no ssh keys added yo tour profile. | |
| 4 | + %li You have no ssh keys added to your profile. | |
| 5 | 5 | %li You wont be able to pull/push repository. |
| 6 | 6 | %li Visit profile → keys and add public key of every machine you want to use for work with gitlabhq. |
| 7 | 7 | ... | ... |
app/views/projects/index.html.haml
app/views/protected_branches/index.html.haml
| ... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 | %ul |
| 7 | 7 | %li keep stable branches secured |
| 8 | 8 | %li forced code review before merge to protected branches |
| 9 | - %p Ream more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"} | |
| 9 | + %p Read more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"} | |
| 10 | 10 | |
| 11 | 11 | |
| 12 | 12 | ... | ... |