diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-02-23 21:04:20 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2012-02-23 21:04:20 +0200 |
commit | 81092c01984a481e312de10a28e3f1a6dda182a3 (patch) | |
tree | 994ed24420f93900462b4703954c6b973e429448 | |
parent | 7d279f9302151e3c8f4c5df9c5200a72799409b9 (diff) | |
download | gitlab-ce-81092c01984a481e312de10a28e3f1a6dda182a3.tar.gz |
Status codes for errors, New error pages
-rw-r--r-- | app/controllers/application_controller.rb | 8 | ||||
-rw-r--r-- | app/controllers/projects_controller.rb | 1 | ||||
-rw-r--r-- | public/404.html | 16 | ||||
-rw-r--r-- | public/422.html | 15 | ||||
-rw-r--r-- | public/500.html | 15 | ||||
-rw-r--r-- | public/static.css | 57 |
6 files changed, 71 insertions, 41 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 074a1cfdf13..2365449707c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -9,7 +9,7 @@ class ApplicationController < ActionController::Base end rescue_from ActiveRecord::RecordNotFound do |exception| - render "errors/not_found", :layout => "error" + render "errors/not_found", :layout => "error", :status => 404 end layout :layout_by_resource @@ -58,15 +58,15 @@ class ApplicationController < ActionController::Base end def access_denied! - render "errors/access_denied", :layout => "error" + render "errors/access_denied", :layout => "error", :status => 404 end def not_found! - render "errors/not_found", :layout => "error" + render "errors/not_found", :layout => "error", :status => 404 end def git_not_found! - render "errors/git_not_found", :layout => "error" + render "errors/git_not_found", :layout => "error", :status => 404 end def method_missing(method_sym, *arguments, &block) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 71821080c2c..3b59a895a37 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -114,6 +114,7 @@ class ProjectsController < ApplicationController def project @project ||= Project.find_by_code(params[:id]) + @project || render_404 end def determine_layout diff --git a/public/404.html b/public/404.html index 16d8fcbca34..33325890b32 100644 --- a/public/404.html +++ b/public/404.html @@ -2,22 +2,12 @@ <html> <head> <title>The page you were looking for doesn't exist (404)</title> - <style type="text/css"> - body { background-color: #EAEAEA; color: #666; text-align: center; font-family: arial, sans-serif; } - div.dialog { - width: 600px; - padding: 0 4em; - margin: 4em auto 0 auto; - } - h1 { font-size: 48px; color: #444; line-height: 1.5em; } - h2 { font-size: 24px; color: #666; line-height: 1.5em; } - </style> + <link href="static.css" media="screen" rel="stylesheet" type="text/css" /> </head> <body> - <!-- This file lives in public/404.html --> - <div class="dialog"> - <h1>404</h1> + <h1>404</h1> + <div class="alert-message block-message error"> <h2>The page you were looking for doesn't exist.</h2> <p>You may have mistyped the address or the page may have moved.</p> </div> diff --git a/public/422.html b/public/422.html index 24532664370..8b19ea89ce5 100644 --- a/public/422.html +++ b/public/422.html @@ -2,22 +2,13 @@ <html> <head> <title>The change you wanted was rejected (422)</title> - <style type="text/css"> - body { background-color: #EAEAEA; color: #666; text-align: center; font-family: arial, sans-serif; } - div.dialog { - width: 600px; - padding: 0 4em; - margin: 4em auto 0 auto; - } - h1 { font-size: 48px; color: #444; line-height: 1.5em; } - h2 { font-size: 24px; color: #666; line-height: 1.5em; } - </style> + <link href="static.css" media="screen" rel="stylesheet" type="text/css" /> </head> <body> <!-- This file lives in public/422.html --> - <div class="dialog"> - <h1>422</h1> + <h1>422</h1> + <div class="alert-message block-message error"> <h2>The change you wanted was rejected.</h2> <p>Maybe you tried to change something you didn't have access to.</p> </div> diff --git a/public/500.html b/public/500.html index b1d544647a1..36e14b802ee 100644 --- a/public/500.html +++ b/public/500.html @@ -2,22 +2,13 @@ <html> <head> <title>We're sorry, but something went wrong (500)</title> - <style type="text/css"> - body { background-color: #EAEAEA; color: #666; text-align: center; font-family: arial, sans-serif; } - div.dialog { - width: 600px; - padding: 0 4em; - margin: 4em auto 0 auto; - } - h1 { font-size: 48px; color: #444; line-height: 1.5em; } - h2 { font-size: 24px; color: #666; line-height: 1.5em; } - </style> + <link href="static.css" media="screen" rel="stylesheet" type="text/css" /> </head> <body> <!-- This file lives in public/500.html --> - <div class="dialog"> - <h1>500</h1> + <h1>500</h1> + <div class="alert-message block-message error"> <h2>We're sorry, but something went wrong.</h2> <p>We've been notified about this issue and we'll take a look at it shortly.</p> </div> diff --git a/public/static.css b/public/static.css new file mode 100644 index 00000000000..6090d7b2abb --- /dev/null +++ b/public/static.css @@ -0,0 +1,57 @@ +body { color: #666; text-align: center; font-family: arial, sans-serif; margin:0; padding:0; } +h1 { font-size: 48px; color: #444; line-height: 1.5em; } +h2 { font-size: 24px; color: #666; line-height: 1.5em; } + +.alert-message { + position: relative; + padding: 7px 15px; + margin-bottom: 18px; + color: #404040; + background-color: #eedc94; + background-repeat: repeat-x; + background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94)); + background-image: -moz-linear-gradient(top, #fceec1, #eedc94); + background-image: -ms-linear-gradient(top, #fceec1, #eedc94); + background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94)); + background-image: -webkit-linear-gradient(top, #fceec1, #eedc94); + background-image: -o-linear-gradient(top, #fceec1, #eedc94); + background-image: linear-gradient(top, #fceec1, #eedc94); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFCEEC1', endColorstr='#FFEEDC94', GradientType=0); + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + border-color: #eedc94 #eedc94 #e4c652; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) fadein(rgba(0, 0, 0, 0.1), 15%); + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + border-width: 1px; + border-style: solid; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25); +} +.alert-message .close { + margin-top: 1px; + *margin-top: 0; +} +.alert-message a { + font-weight: bold; + color: #404040; +} +.alert-message.danger p a, .alert-message.error p a, .alert-message.success p a, .alert-message.info p a { + color: #404040; +} +.alert-message h5 { + line-height: 18px; +} +.alert-message p { + margin-bottom: 0; +} +.alert-message div { + margin-top: 5px; + margin-bottom: 2px; + line-height: 28px; +} + +.alert-message.block-message.error { + background: #FDDFDE; + border-color: #FBC7C6; +} + |