Paul Irish BUY BUY oMG, Using AWESOME web-app-theme
11
Gemfile
|
@ -29,14 +29,19 @@ gem 'pg'
|
|||
# group :development, :test do
|
||||
# gem 'webrat'
|
||||
# end
|
||||
gem "rspec-rails", ">= 2.0.1", :group => [:development, :test]
|
||||
gem 'factory_girl_rails', :group => [:development, :test]
|
||||
|
||||
group :development, :test do
|
||||
gem "rspec-rails", ">= 2.0.1"
|
||||
gem 'factory_girl_rails'
|
||||
gem 'web-app-theme', '>= 0.6.2'
|
||||
gem 'hpricot'
|
||||
gem 'ruby_parser'
|
||||
end
|
||||
|
||||
gem "devise"
|
||||
gem "haml", ">= 3.0.0"
|
||||
gem "haml-rails"
|
||||
gem "compass", ">= 0.10.6"
|
||||
gem "html5-boilerplate"
|
||||
gem "capistrano"
|
||||
gem "capistrano-ext"
|
||||
gem "will_paginate", "~> 3.0.pre2"
|
||||
|
|
|
@ -65,6 +65,7 @@ GEM
|
|||
hoptoad_notifier (2.4.6)
|
||||
activesupport
|
||||
builder
|
||||
hpricot (0.8.4)
|
||||
html5-boilerplate (0.3.2)
|
||||
compass (>= 0.10.0)
|
||||
i18n (0.5.0)
|
||||
|
@ -119,7 +120,10 @@ GEM
|
|||
activesupport (~> 3.0)
|
||||
railties (~> 3.0)
|
||||
rspec (~> 2.5.0)
|
||||
ruby_parser (2.0.6)
|
||||
sexp_processor (~> 3.0)
|
||||
russian (0.2.7)
|
||||
sexp_processor (3.0.5)
|
||||
thor (0.14.6)
|
||||
treetop (1.4.9)
|
||||
polyglot (>= 0.3.1)
|
||||
|
@ -129,6 +133,7 @@ GEM
|
|||
rack
|
||||
warden (1.0.3)
|
||||
rack (>= 1.0.0)
|
||||
web-app-theme (0.6.3)
|
||||
will_paginate (3.0.pre2)
|
||||
yui-compressor (0.9.5)
|
||||
|
||||
|
@ -145,11 +150,14 @@ DEPENDENCIES
|
|||
haml (>= 3.0.0)
|
||||
haml-rails
|
||||
hoptoad_notifier (~> 2.3)
|
||||
hpricot
|
||||
html5-boilerplate
|
||||
jammit
|
||||
pg
|
||||
rails (= 3.0.5)
|
||||
rspec-rails (>= 2.0.1)
|
||||
ruby_parser
|
||||
russian
|
||||
unicorn
|
||||
web-app-theme (>= 0.6.2)
|
||||
will_paginate (~> 3.0.pre2)
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
class ApplicationController < ActionController::Base
|
||||
protect_from_forgery
|
||||
layout :layout_by_resource
|
||||
|
||||
protected
|
||||
def layout_by_resource
|
||||
if devise_controller?
|
||||
"sessions"
|
||||
else
|
||||
"application"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
class UsersController < ApplicationController
|
||||
before_filter :find_user, :only => [:show, :edit, :update, :destroy]
|
||||
|
||||
def index
|
||||
@users = User.all
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def new
|
||||
@user = User.new
|
||||
end
|
||||
|
||||
def edit
|
||||
@user = User.find params[:id]
|
||||
end
|
||||
|
||||
def destroy
|
||||
User.destroy params[:id]
|
||||
@user.destroy
|
||||
redirect_to users_path
|
||||
end
|
||||
|
||||
|
@ -28,7 +32,6 @@ class UsersController < ApplicationController
|
|||
end
|
||||
|
||||
def update
|
||||
@user = User.find params[:id]
|
||||
if @user.update_attributes(params[:user])
|
||||
flash[:notice] = t('flash.user.saved')
|
||||
redirect_to users_path
|
||||
|
@ -37,4 +40,9 @@ class UsersController < ApplicationController
|
|||
render :action => :edit
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
def find_user
|
||||
@user = User.find(params[:id])
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
* {
|
||||
float: none; // Screens are not big enough to account for floats
|
||||
background: #fff; // As much contrast as possible */
|
||||
color: #000;
|
||||
}
|
||||
|
||||
// Slightly reducing font size to reduce need to scroll
|
||||
body { font-size: 80%; }
|
|
@ -1,23 +0,0 @@
|
|||
// This file must be imported before loading html5-boilerplate
|
||||
|
||||
$base-font-family: unquote('sans-serif'); // default font-family
|
||||
|
||||
$base-font-size: 13px; // default font-size for YUI fonts
|
||||
|
||||
$base-line-height: 1.231; // default line-height for YUI fonts
|
||||
|
||||
$font-color: #444;
|
||||
|
||||
$link-color: #607890;
|
||||
|
||||
$link-hover-color: #036;
|
||||
|
||||
$link-active-color: #607890;
|
||||
|
||||
$link-visited-color: #607890;
|
||||
|
||||
$selected-font-color: #fff; // color for selected text
|
||||
|
||||
$selected-background-color: #ff5E99; // bg-color for selected text
|
||||
|
||||
$list-left-margin: 2em; // left margin for ul an ol
|
|
@ -1,4 +0,0 @@
|
|||
// font-face fonts
|
||||
// see http://compass-style.org/docs/reference/compass/css3/font_face/
|
||||
|
||||
//@import "compass/css3/font-face"
|
|
@ -1,21 +0,0 @@
|
|||
//
|
||||
// These are in their own partial because you probably
|
||||
// want to customize on a per-site basis
|
||||
//
|
||||
|
||||
@media print {
|
||||
@include media-print;
|
||||
}
|
||||
|
||||
@media all and (orientation:portrait) {
|
||||
// Style adjustments for portrait mode goes here
|
||||
}
|
||||
|
||||
@media all and (orientation:landscape) {
|
||||
// Style adjustments for landscape mode goes here
|
||||
}
|
||||
|
||||
@media screen and (max-device-width: 480px) {
|
||||
// Pass in false if you don't want iOS and WinMobile to mobile-optimize the text for you
|
||||
@include media-mobile(true);
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
//--------------------------------
|
||||
// CSS Reset
|
||||
//--------------------------------
|
||||
@include html5-boilerplate-reset;
|
||||
|
||||
|
||||
//--------------------------------
|
||||
// Base Fonts
|
||||
//--------------------------------
|
||||
@include html5-boilerplate-fonts($base-font-family, $base-font-size, $base-line-height);
|
||||
|
||||
|
||||
//--------------------------------
|
||||
// Minimal Base Styles
|
||||
//--------------------------------
|
||||
html { @include force-scrollbar; }
|
||||
|
||||
ul, ol { margin-left: $list-left-margin; }
|
||||
ol { list-style-type: decimal; }
|
||||
|
||||
td, td img { vertical-align: top; }
|
||||
|
||||
sub { @include sub; }
|
||||
|
||||
sup { @include sup; }
|
||||
|
||||
textarea { overflow: auto; }
|
||||
|
||||
@include accessible-focus;
|
||||
|
||||
@include quoted-pre;
|
||||
|
||||
@include align-input-labels;
|
||||
|
||||
@include hand-cursor-inputs;
|
||||
|
||||
@include webkit-reset-form-elements;
|
||||
|
||||
@include selected-text;
|
||||
|
||||
@include webkit-tap-highlight;
|
||||
|
||||
@include ie-hacks;
|
||||
|
||||
@include no-nav-margins;
|
||||
|
||||
|
||||
//--------------------------------
|
||||
// Helpers
|
||||
//--------------------------------
|
||||
.ir { @include image-replacement; }
|
||||
|
||||
.hidden { @include hidden; }
|
||||
|
||||
.visuallyhidden { @include visually-hidden; }
|
||||
|
||||
.clearfix {
|
||||
@include pie-clearfix; // defined by compass core
|
||||
}
|
|
@ -1,185 +0,0 @@
|
|||
@import "compass/css3";
|
||||
|
||||
//-----------------------------------------------
|
||||
// The following html5-boilerplate styles should
|
||||
// probably be customized for each site
|
||||
//-----------------------------------------------
|
||||
|
||||
body, select, input, textarea {
|
||||
color: $font-color;
|
||||
// Set your base font here, to apply evenly
|
||||
// font-family: Georgia, serif;
|
||||
}
|
||||
|
||||
//Headers (h1, h2, etc) have no default font-size or margin; define those yourself
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
// Bold might not be the best choice if you are
|
||||
// embedding a @font-face that's already bold
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a, a:active, a:visited { color: $link-color; }
|
||||
a:hover { color: $link-hover-color; }
|
||||
|
||||
strong, th {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
small {
|
||||
// Use font-size mixin to convert to percentage for YUI
|
||||
// http://developer.yahoo.com/yui/3/cssfonts/#fontsize
|
||||
@include font-size(11px); // approx 85% when base-font-size eq 13px
|
||||
}
|
||||
|
||||
// Add the 'required' attribute on your
|
||||
// inputs if you want to use these
|
||||
input:valid, textarea:valid {}
|
||||
input:invalid, textarea:invalid {
|
||||
@include border-radius(1px);
|
||||
@include box-shadow(red, 0, 0, 5px, 0);
|
||||
}
|
||||
.no-boxshadow input:invalid,
|
||||
.no-boxshadow textarea:invalid { background-color: #f0dddd; }
|
||||
|
||||
|
||||
//-----------------------------------
|
||||
// Add your own custom styles below
|
||||
//-----------------------------------
|
||||
|
||||
body {}
|
||||
|
||||
#container {}
|
||||
|
||||
header {
|
||||
display:block;
|
||||
background: #ccf;
|
||||
height:3em;
|
||||
#logout {
|
||||
float:right;
|
||||
}
|
||||
}
|
||||
|
||||
#main {
|
||||
#login_form {
|
||||
margin: 0 auto;
|
||||
width:250px;
|
||||
padding:2em;
|
||||
}
|
||||
}
|
||||
|
||||
footer {}
|
||||
|
||||
.row {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.commit_row {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.commit_row .author {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table tr .line_numbers {
|
||||
text-align: right;
|
||||
vertical-align: top;
|
||||
background: #eee;
|
||||
color: #777;
|
||||
font-size: 92%;
|
||||
padding: 0 3px 0 2px;
|
||||
width: 35px;
|
||||
border-right: 1px solid #ccc;
|
||||
border-bottom: 1px solid #cdcdcd;
|
||||
}
|
||||
|
||||
table tr td.code {
|
||||
width: 95%;
|
||||
padding-left: 10px;
|
||||
/*white-space: pre;*/
|
||||
white-space: pre-wrap; /* CSS-3 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
background: #fff;
|
||||
font: 95%/110% "Bitstream Vera Sans Mono", Monaco, monospace;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
table tr td.code pre {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
table tr td.unwrapped {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
table tr td.softwrapped {
|
||||
white-space: pre-wrap; /* CSS-3 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
}
|
||||
|
||||
table.sidebyside tr td.code {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
table.diff {
|
||||
border: 1px solid #ccc;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font: 95%/105% "Bitstream Vera Sans Mono", Monaco, monospace;
|
||||
}
|
||||
table.diff tr td {
|
||||
padding: 0;
|
||||
}
|
||||
table.diff .line_num_cut {
|
||||
background: #ccc;
|
||||
border-top: 1px dashed #ccc;
|
||||
border-bottom: 1px dashed #ccc;
|
||||
}
|
||||
|
||||
table.diff thead .line_numbers, table.diff thead { background: #ddd; }
|
||||
table.diff td.code { padding-left: 2px; }
|
||||
table.diff .cut-line {
|
||||
background: #eee;
|
||||
border-top: 1px dashed #aaa;
|
||||
border-bottom: 1px dashed #aaa;
|
||||
}
|
||||
table.diff td.hidden del { display:none; }
|
||||
table.diff td.del { background: #ffdddd; }
|
||||
table.diff td.del span.idiff { background: #F2ACAD; }
|
||||
table.diff td.ins { background: #ddffdd; }
|
||||
table.diff td.ins span.idiff { background: #BAFBAD; }
|
||||
/*table.sidebyside tbody.mod td ins span.idiff,
|
||||
table.sidebyside tbody.mod td del span.idiff { background: #fd4; }*/
|
||||
table.diff td.del del { text-decoration: none; }
|
||||
table.diff td.ins ins { text-decoration: none; }
|
||||
table.diff col.lines {
|
||||
width: 3em;
|
||||
}
|
||||
|
||||
ul.diff_stats {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
table.blame {
|
||||
border: 1px solid #ccc;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
font: 95%/105% "Bitstream Vera Sans Mono", Monaco, monospace;
|
||||
}
|
||||
|
||||
table.blame tr td {
|
||||
padding: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.blame thead .line_numbers, table.blame thead { background: #ddd; }
|
||||
table.balme td.code { padding-left: 2px; }
|
|
@ -1,28 +0,0 @@
|
|||
// Here's where we define some default constants
|
||||
@import "partials/base";
|
||||
|
||||
// Then we'll import the compass extension
|
||||
@import "html5-boilerplate";
|
||||
|
||||
// Now, you can simply include everything
|
||||
// (except media) by uncommeting this line
|
||||
//@include html5-boilerplate;
|
||||
|
||||
// Or, you can pick and choose only the sections
|
||||
// you want by using the these includes
|
||||
@include html5-boilerplate-reset;
|
||||
@include html5-boilerplate-fonts;
|
||||
@include html5-boilerplate-styles;
|
||||
@include html5-boilerplate-helpers;
|
||||
|
||||
// Or, you can import the "overrides" partial if
|
||||
// you want more control over individual mixins
|
||||
//@import "partials/overrides";
|
||||
|
||||
// Finally, put your own styles in these partials
|
||||
// and add more as needed (i.e. forms, tables, nav)
|
||||
@import "partials/fonts";
|
||||
@import "partials/page";
|
||||
|
||||
// Media should come last
|
||||
@import "partials/media";
|
|
@ -1,9 +1,22 @@
|
|||
%h2 Resend confirmation instructions
|
||||
= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f|
|
||||
= devise_error_messages!
|
||||
%p
|
||||
= f.label :email
|
||||
%br/
|
||||
= f.text_field :email
|
||||
%p= f.submit "Resend confirmation instructions"
|
||||
= render :partial => "devise/shared/links"
|
||||
.block
|
||||
%h2= t("devise.confirmations.resend_header")
|
||||
.content
|
||||
- if resource.errors.present?
|
||||
.flash
|
||||
.message.error
|
||||
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||
= messages
|
||||
|
||||
= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post, :class => "form" }) do |f|
|
||||
= f.hidden_field :reset_password_token
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :email, :class => "label"
|
||||
.right
|
||||
= f.text_field :email, :class => "text_field"
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{ :tyle => "submit" }
|
||||
#{image_tag("web-app-theme/icons/tick.png", :alt => t("devise.confirmations.send"))} #{t("devise.confirmations.send")}
|
||||
%span.text_button_padding
|
||||
= render :partial => "devise/shared/links"
|
|
@ -1,13 +1,26 @@
|
|||
%h2= t('devise.passwords.edit')
|
||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f|
|
||||
= devise_error_messages!
|
||||
= f.hidden_field :reset_password_token
|
||||
%p
|
||||
= f.label :password
|
||||
%br/
|
||||
= f.password_field :password
|
||||
%p
|
||||
= f.label :password_confirmation
|
||||
%br/
|
||||
= f.password_field :password_confirmation
|
||||
%p= f.submit t('devise.password.edit_button')
|
||||
.block
|
||||
%h2= t('devise.passwords.edit')
|
||||
.content
|
||||
- if resource.errors.present?
|
||||
.flash
|
||||
.message.error
|
||||
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||
= messages
|
||||
|
||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put, :class => "form" }) do |f|
|
||||
= f.hidden_field :reset_password_token
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password, :class => "label"
|
||||
.right
|
||||
= f.text_field :password, :class => "text_field"
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password_confirmation, :class => "label"
|
||||
.right
|
||||
= f.text_field :password_confirmation, :class => "text_field"
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{ :tyle => "submit" }
|
||||
#{image_tag("web-app-theme/icons/application_edit.png", :alt => t("devise.passwords.edit_button"))} #{t("devise.passwords.edit_button")}
|
||||
|
||||
|
|
|
@ -1,8 +1,19 @@
|
|||
%h2= t('devise.passwords.link')
|
||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
|
||||
= devise_error_messages!
|
||||
%p
|
||||
= f.label :email
|
||||
%br/
|
||||
= f.text_field :email
|
||||
%p= f.submit t('devise.passwords.button')
|
||||
.block
|
||||
%h2= t('devise.passwords.link')
|
||||
.content
|
||||
- if resource.errors.present?
|
||||
.flash
|
||||
.message.error
|
||||
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||
= messages
|
||||
|
||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post, :class => "form" }) do |f|
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :email, :class => "label"
|
||||
.right
|
||||
= f.text_field :email, :class => "text_field"
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{ :tyle => "submit" }
|
||||
#{image_tag("web-app-theme/icons/tick.png", :alt => t("devise.passwords.button"))} #{t("devise.passwords.button")}
|
|
@ -1,27 +1,45 @@
|
|||
%h2
|
||||
Edit #{resource_name.to_s.humanize}
|
||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f|
|
||||
= devise_error_messages!
|
||||
%p
|
||||
= f.label :email
|
||||
%br/
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.label :password
|
||||
%i (leave blank if you don't want to change it)
|
||||
%br/
|
||||
= f.password_field :password
|
||||
%p
|
||||
= f.label :password_confirmation
|
||||
%br/
|
||||
= f.password_field :password_confirmation
|
||||
%p
|
||||
= f.label :current_password
|
||||
%i (we need your current password to confirm your changes)
|
||||
%br/
|
||||
= f.password_field :current_password
|
||||
%p= f.submit "Update"
|
||||
%h3 Cancel my account
|
||||
%p
|
||||
Unhappy? #{link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete}.
|
||||
= link_to "Back", :back
|
||||
#block-signup.block
|
||||
%h2 #{t("devise.registrations.edit")} #{resource_name.to_s.humanize}
|
||||
.content
|
||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put, :class => "form" }) do |f|
|
||||
- if resource.errors.present?
|
||||
.flash
|
||||
.message.error
|
||||
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||
= messages
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :email, :class => "label"
|
||||
.right
|
||||
= f.text_field :email, :class => "text_field"
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :current_password, :class => "label"
|
||||
.right
|
||||
= f.password_field :current_password, :class => "text_field"
|
||||
%span.description= t("devise.registrations.current_password_description")
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password, :class => "label"
|
||||
.right
|
||||
= f.password_field :password, :class => "text_field"
|
||||
%span.description= t("devise.registrations.edit_password_description")
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password_confirmation, :class => "label"
|
||||
.right
|
||||
= f.password_field :password_confirmation, :class => "text_field"
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{ :type => "submit" }
|
||||
#{image_tag("web-app-theme/icons/tick.png", :alt => t("devise.registrations.signed_up"))} #{t("devise.registrations.signed_up")}
|
||||
|
||||
= link_to image_tag("web-app-theme/icons/cross.png", :alt => t("devise.registrations.cancel")) + " " + t("devise.registrations.cancel"), registration_path(resource_name), :method => "delete", :class => "button", :confirm => t("devise.registrations.cancel_confirmation")
|
||||
|
||||
%span.text_button_padding
|
||||
= link_to t('layout.back'), :back, :class => "text_button_padding link_button"
|
||||
|
||||
|
|
|
@ -1,17 +1,33 @@
|
|||
%h2 Sign up
|
||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
|
||||
= devise_error_messages!
|
||||
%p
|
||||
= f.label :email
|
||||
%br/
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.label :password
|
||||
%br/
|
||||
= f.password_field :password
|
||||
%p
|
||||
= f.label :password_confirmation
|
||||
%br/
|
||||
= f.password_field :password_confirmation
|
||||
%p= f.submit "Sign up"
|
||||
= render :partial => "devise/shared/links"
|
||||
#block-signup.block
|
||||
%h2= t("devise.registrations.sign_up_header")
|
||||
.content
|
||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :class => "form" }) do |f|
|
||||
- if resource.errors.present?
|
||||
.flash
|
||||
.message.error
|
||||
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||
= messages
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :email, :class => "label"
|
||||
.right
|
||||
= f.text_field :email, :class => "text_field"
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password, :class => "label"
|
||||
.right
|
||||
= f.password_field :password, :class => "text_field"
|
||||
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password_confirmation, :class => "label"
|
||||
.right
|
||||
= f.password_field :password_confirmation, :class => "text_field"
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{ :type => "submit" }
|
||||
#{image_tag("web-app-theme/icons/tick.png", :alt => t("devise.registrations.signed_up"))} #{t("devise.registrations.signed_up")}
|
||||
%span.text_button_padding
|
||||
= render :partial => "devise/shared/links"
|
||||
|
|
|
@ -1,18 +1,25 @@
|
|||
#login_form
|
||||
%h2 Вход в систему
|
||||
= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
|
||||
%p
|
||||
= f.label :email
|
||||
%br/
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.label :password
|
||||
%br/
|
||||
= f.password_field :password
|
||||
- if devise_mapping.rememberable?
|
||||
%p
|
||||
= f.check_box :remember_me
|
||||
= f.label :remember_me
|
||||
%p
|
||||
= f.submit "Войти"
|
||||
= link_to t('devise.passwords.link'), new_password_path(resource_name)
|
||||
#block-login.block
|
||||
%h2= t("layout.sessions.sign_in_header")
|
||||
.content.login
|
||||
- if flash.present?
|
||||
.flash
|
||||
- flash.each do |key, value|
|
||||
.message{ :title => key.to_s.humanize, :class => (key == :alert ? "error" : key) }
|
||||
%p= value
|
||||
- form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => "form login" }) do |f|
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :email, :class => "label right"
|
||||
.right
|
||||
= f.text_field :email, :class => "text_field"
|
||||
.group.wat-cf
|
||||
.left
|
||||
= f.label :password, :class => "label right"
|
||||
.right
|
||||
= f.password_field :password, :class => "text_field"
|
||||
.group.navform.wat-cf
|
||||
.right
|
||||
%button.button{ :type => "submit" }
|
||||
%img{ :src => "/images/web-app-theme/icons/key.png", :alt => "Save" }= t("layout.login")
|
||||
%span.text_button_padding
|
||||
= link_to t('devise.passwords.link'), new_password_path(resource_name), :class => "text_button_padding link_button"
|
|
@ -1,2 +1,2 @@
|
|||
- if devise_mapping.recoverable? && controller_name != 'passwords'
|
||||
= link_to t('devise.passwords.link'), new_password_path(resource_name)
|
||||
= link_to t('devise.passwords.link'), new_password_path(resource_name), :class => "text_button_padding link_button"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#flash
|
||||
- flash.each do |key, value|
|
||||
%div{ :title => key.to_s.humanize, :class => key }
|
||||
%p= value
|
||||
.flash
|
||||
- flash.each do |type, message|
|
||||
%div{:class => "message #{type}"}
|
||||
%p= message
|
|
@ -1 +0,0 @@
|
|||
%small.copyright
|
|
@ -1,28 +0,0 @@
|
|||
%head
|
||||
%meta{ :charset => "utf-8" }/
|
||||
|
||||
-#
|
||||
Always force latest IE rendering engine (even in intranet) & Chrome Frame
|
||||
Remove this if you use the .htaccess
|
||||
%meta{ :content => "IE=edge,chrome=1", "http-equiv" => "X-UA-Compatible" }/
|
||||
|
||||
%title
|
||||
== #{ controller.controller_name.titleize } - #{ controller.action_name.titleize }
|
||||
|
||||
%meta{ :content => "", :name => "description" }/
|
||||
%meta{ :content => "", :name => "author" }/
|
||||
|
||||
-# Mobile viewport optimized: j.mp/bplateviewport
|
||||
%meta{ :content => "width=device-width, initial-scale=1.0", :name => "viewport" }/
|
||||
|
||||
-# Place favicon.ico and apple-touch-icon.png in the root of your domain and delete these references
|
||||
-# %link{ :href => "/favicon.ico", :rel => "shortcut icon" }/
|
||||
-# %link{ :href => "/apple-touch-icon.png", :rel => "apple-touch-icon" }/
|
||||
|
||||
= render :partial => 'layouts/stylesheets'
|
||||
|
||||
-# All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects
|
||||
= include_javascripts :application
|
||||
= javascript_include_tag 'modernizr.min'
|
||||
|
||||
= csrf_meta_tag
|
|
@ -1 +0,0 @@
|
|||
%h1= t('layout.global_header')
- if user_signed_in?
#logout
= t('layout.logged_in_as')
= current_user.name
= link_to t('layout.logout'), destroy_user_session_path
|
|
@ -1,37 +1,10 @@
|
|||
-# Grab Google CDN's jQuery, with a protocol relative URL
|
||||
-# Looks for google_api_key first in ENV['GOOGLE_API_KEY'] then in config/google.yml
|
||||
-# remote_jquery and local_jquery helpers use minified jquery unless Rails.env is development
|
||||
- if !google_api_key.blank?
|
||||
= javascript_include_tag "//www.google.com/jsapi?key=#{google_api_key}"
|
||||
:javascript
|
||||
google.load(#{ remote_jquery("1.5.1") });
|
||||
- else
|
||||
= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.5.1") }"
|
||||
= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.5.1") }"
|
||||
|
||||
-# fall back to local jQuery if necessary
|
||||
:javascript
|
||||
!window.jQuery && document.write(unescape('%3Cscript src="/javascripts/jquery.min.js"%3E%3C/script%3E'))
|
||||
|
||||
= javascript_include_tag 'rails', 'plugins', 'application'
|
||||
= include_javascripts :application
|
||||
|
||||
-# Fix any <img> or .png_bg bg-images. Also, please read goo.gl/mZiyb
|
||||
/[if lt IE 7 ]
|
||||
= javascript_include_tag 'dd_belatedpng.js'
|
||||
:javascript
|
||||
//DD_belatedPNG.fix('img, .png_bg');
|
||||
|
||||
-# Append your own using content_for :javascripts
|
||||
= yield :javascripts
|
||||
|
||||
-# asynchronous google analytics: mathiasbynens.be/notes/async-analytics-snippet
|
||||
-# Looks for google_account_id first in ENV['GOOGLE_ACCOUNT_ID'] then in config/google.yml
|
||||
- if !google_account_id.blank?
|
||||
:javascript
|
||||
var _gaq = [['_setAccount', '#{google_account_id}'], ['_trackPageview']];
|
||||
(function(d, t) {
|
||||
var g = d.createElement(t),
|
||||
s = d.getElementsByTagName(t)[0];
|
||||
g.async = true;
|
||||
g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
||||
s.parentNode.insertBefore(g, s);
|
||||
})(document, 'script');
|
|
@ -1,6 +1,3 @@
|
|||
-# CSS: implied media="all"
|
||||
-# stylesheet_link_tag 'style', :media => 'all'
|
||||
= include_stylesheets :application
|
||||
|
||||
-# Append your own using content_for :stylesheets
|
||||
= yield :stylesheets
|
|
@ -1,15 +1,32 @@
|
|||
!!! 5
|
||||
-# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
||||
-ie_html :class => 'no-js' do
|
||||
= render :partial => 'layouts/head'
|
||||
%body{ :lang => 'ru', :class => "#{controller.controller_name}" }
|
||||
!!!
|
||||
%html
|
||||
%head
|
||||
%title= t("layout.global_header")
|
||||
= render :partial => "layouts/stylesheets"
|
||||
= render :partial => "layouts/javascripts"
|
||||
= csrf_meta_tag
|
||||
%body
|
||||
#container
|
||||
%header#header
|
||||
= render :partial => 'layouts/header'
|
||||
#main{ :role => 'main' }
|
||||
= render :partial => 'layouts/flashes'
|
||||
= yield
|
||||
%footer#footer
|
||||
= render :partial => 'layouts/footer'
|
||||
-# Javascript at the bottom for fast page loading
|
||||
= render :partial => 'layouts/javascripts'
|
||||
#header
|
||||
%h1
|
||||
%a{:href => "/"}= t("layout.global_header")
|
||||
#user-navigation
|
||||
%ul.wat-cf
|
||||
%li
|
||||
= link_to t('layout.logout'), destroy_user_session_path, :class => "logout"
|
||||
#main-navigation
|
||||
%ul.wat-cf
|
||||
%li{:class => controller.controller_path == 'users' ? 'active' : '' }
|
||||
%a{:href => users_path} Users
|
||||
%li{:class => controller.controller_path == 'platforms' ? 'active' : '' }
|
||||
%a{:href => platforms_path} Platforms
|
||||
#wrapper.wat-cf
|
||||
= render :partial => "layouts/flashes"
|
||||
#main
|
||||
= yield
|
||||
#footer
|
||||
.block
|
||||
|
||||
#sidebar
|
||||
= yield :sidebar
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
!!!
|
||||
%html
|
||||
%head
|
||||
%title= t("layout.global_header")
|
||||
= include_stylesheets :sessions
|
||||
= csrf_meta_tag
|
||||
%body
|
||||
#container
|
||||
#box
|
||||
= yield
|
|
@ -0,0 +1,22 @@
|
|||
.group
|
||||
= f.label :name, :class => :label
|
||||
= f.text_field :name, :class => 'text_field'
|
||||
|
||||
.group
|
||||
= f.label :unixname, :class => :label
|
||||
= f.text_field :unixname, :class => 'text_field'
|
||||
|
||||
.group
|
||||
= f.label :parent_platform_id, :class => :label
|
||||
= f.text_field :parent_platform_id, :class => 'text_field'
|
||||
|
||||
.group
|
||||
= f.label :released, :class => :label
|
||||
= f.check_box :released, :class => 'check_box'
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{:type => "submit"}
|
||||
= image_tag("web-app-theme/icons/tick.png", :alt => t("layout.save"))
|
||||
= t("layout.save")
|
||||
%span.text_button_padding= t("layout.or")
|
||||
= link_to t("layout.cancel"), platforms_path, :class => "text_button_padding link_button"
|
|
@ -0,0 +1,13 @@
|
|||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to t("layout.platforms.list"), platforms_path
|
||||
%li= link_to t("layout.platforms.new"), new_platform_path
|
||||
%li.active= link_to t("layout.platforms.edit"), edit_platform_path
|
||||
.content
|
||||
%h2.title
|
||||
= t("layout.platforms.edit_header")
|
||||
.inner
|
||||
= form_for @platform, :url => platform_path(@platform), :html => { :class => :form } do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
||||
- content_for :sidebar, render(:partial => 'sidebar')
|
|
@ -1,7 +1,24 @@
|
|||
%h1= t('layout.platforms.list')
|
||||
- @platforms.each do |platform|
|
||||
= div_for platform do
|
||||
= link_to platform.name, platform
|
||||
= link_to t('layout.platforms.new'), new_platform_path
|
||||
.div
|
||||
= link_to t('layout.user_list'), users_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first.active= link_to t("layout.platforms.list"), platforms_path
|
||||
%li= link_to t("layout.platforms.new"), new_platform_path
|
||||
.content
|
||||
%h2.title
|
||||
= t("layout.platforms.list_header")
|
||||
.inner
|
||||
%table.table
|
||||
%tr
|
||||
%th.first= t("activerecord.attributes.platform.name")
|
||||
%th= t("activerecord.attributes.platform.created_at")
|
||||
%th.last
|
||||
- @platforms.each do |platform|
|
||||
%tr{:class => cycle("odd", "even")}
|
||||
%td
|
||||
= link_to platform.name, platform_path(platform)
|
||||
%td
|
||||
= platform.created_at
|
||||
%td.last
|
||||
#{link_to t("layout.show"), platform_path(platform)} | #{link_to t("layout.delete"), platform_path(platform), :method => :delete, :confirm => t("layout.platforms.confirm_delete")}
|
||||
.actions-bar.wat-cf
|
||||
.actions
|
|
@ -1,14 +1,11 @@
|
|||
%h1= t('layout.platforms.new_header')
|
||||
= form_for @platform do |f|
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
%p
|
||||
= f.label :unixname
|
||||
= f.text_field :unixname
|
||||
%p
|
||||
= f.label :parent_platform_id
|
||||
= f.select :parent_platform_id, @platforms.map { |p| [p.name, p.id] }, :include_blank => true
|
||||
%p
|
||||
= f.submit t('layout.create')
|
||||
= link_to t('layout.cancel'), platforms_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to "#{t("layout.platforms.list")}", platforms_path
|
||||
%li.active= link_to "#{t("layout.platforms.new")}", new_platform_path
|
||||
.content
|
||||
%h2.title
|
||||
= t("layout.platforms.new_header")
|
||||
.inner
|
||||
= form_for :platform, :url => platforms_path, :html => { :class => :form } do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
|
@ -1,24 +1,42 @@
|
|||
%h1
|
||||
= t('layout.platforms.show')
|
||||
= @platform.name
|
||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to t("layout.platforms.list"), platforms_path
|
||||
%li= link_to t("layout.platforms.new"), new_platform_path
|
||||
%li.active= link_to t("layout.platforms.show"), platform_path
|
||||
.content
|
||||
.inner
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.platform.name")
|
||||
\:
|
||||
= @platform.name
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.platform.unixname")
|
||||
\:
|
||||
= @platform.unixname
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.platform.parent")
|
||||
\:
|
||||
- if @platform.parent
|
||||
= link_to @platform.parent.name, platform_path(@platform.parent)
|
||||
%p
|
||||
%b
|
||||
= t('layout.platforms.location')
|
||||
\:
|
||||
= @platform.path
|
||||
|
||||
.freeze
|
||||
- if @platform.released?
|
||||
= link_to I18n.t("layout.platforms.unfreeze"), unfreeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_unfreeze")
|
||||
- else
|
||||
= link_to I18n.t("layout.platforms.freeze"), freeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_freeze")
|
||||
.wat-cf
|
||||
-#= link_to image_tag("web-app-theme/icons/application_edit.png", :alt => t("layout.edit")) + " " + t("layout.edit"), edit_platform_path(@platform), :class => "button"
|
||||
= link_to image_tag("web-app-theme/icons/cross.png", :alt => t("layout.delete")) + " " + t("layout.delete"), platform_path(@platform), :method => "delete", :class => "button", :confirm => t("layout.platforms.confirm_delete")
|
||||
- if @platform.released?
|
||||
= link_to t("layout.platforms.unfreeze"), unfreeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_unfreeze"), :class => "button"
|
||||
- else
|
||||
= link_to t("layout.platforms.freeze"), freeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_freeze"), :class => "button"
|
||||
|
||||
.location
|
||||
= t('layout.platforms.location')
|
||||
= @platform.path
|
||||
-# Show repositories
|
||||
-# Show projects
|
||||
|
||||
|
||||
%h2= t('layout.platforms.repositories')
|
||||
- @repositories.each do |repository|
|
||||
= div_for repository do
|
||||
= link_to repository.name, [@platform, repository]
|
||||
= link_to t('layout.repositories.new'), new_platform_repository_path(@platform)
|
||||
|
||||
%h2= t('layout.platforms.products')
|
||||
TBD
|
||||
-#- content_for :sidebar, render(:partial => 'sidebar')
|
|
@ -0,0 +1,13 @@
|
|||
.group
|
||||
= f.label :name, t("activerecord.attributes.user.name"), :class => :label
|
||||
= f.text_field :name, :class => 'text_field'
|
||||
.group
|
||||
= f.label :email, t("activerecord.attributes.user.email"), :class => :label
|
||||
= f.text_field :email, :class => 'text_field'
|
||||
|
||||
.group.navform.wat-cf
|
||||
%button.button{:type => "submit"}
|
||||
= image_tag("web-app-theme/icons/tick.png", :alt => t("layout.save"))
|
||||
= t("layout.save")
|
||||
%span.text_button_padding= t("layout.or")
|
||||
= link_to t("layout.cancel"), users_path, :class => "text_button_padding link_button"
|
|
@ -1,11 +1,12 @@
|
|||
%h1= @user.name
|
||||
= form_for @user do |f|
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
%p
|
||||
= f.label :email
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit
|
||||
= link_to t('layout.users.back_to_the_list'), users_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to t("layout.users.list"), users_path
|
||||
%li= link_to t("layout.users.new"), new_user_path
|
||||
%li.active= link_to t("layout.users.edit"), edit_user_path
|
||||
.content
|
||||
%h2.title= t("layout.users.edit_header")
|
||||
.inner
|
||||
= form_for @user, :url => user_path(@user), :html => { :class => :form } do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
||||
- content_for :sidebar, render(:partial => 'sidebar')
|
||||
|
|
|
@ -1,12 +1,31 @@
|
|||
%h1= t('layout.user_list')
|
||||
%ul
|
||||
- @users.each do |user|
|
||||
%li
|
||||
= link_to user.name, edit_user_path(user)
|
||||
(
|
||||
%span>= user.email
|
||||
)
|
||||
= link_to t('layout.delete'), user_path(user), :method => :delete, :confirm => t('layout.are_you_sure')
|
||||
%p
|
||||
= link_to t('layout.users.new'), new_user_path
|
||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first.active= link_to t("layout.users.list"), users_path
|
||||
%li= link_to t("layout.users.new"), new_user_path
|
||||
.content
|
||||
%h2.title
|
||||
= t("layout.users.list_header")
|
||||
.inner
|
||||
%table.table
|
||||
%tr
|
||||
%th.first ID
|
||||
%th= t("activerecord.attributes.user.name")
|
||||
%th= t("activerecord.attributes.user.email")
|
||||
%th= t("activerecord.attributes.user.created_at")
|
||||
%th.last
|
||||
- @users.each do |user|
|
||||
%tr{:class => cycle("odd", "even")}
|
||||
%td
|
||||
= user.id
|
||||
%td
|
||||
= link_to user.name, user_path(user)
|
||||
%td
|
||||
= user.email
|
||||
%td
|
||||
= user.created_at
|
||||
%td.last
|
||||
#{link_to t("layout.show"), user_path(user)} | #{link_to t("layout.edit"), edit_user_path(user)} | #{link_to t("layout.delete"), user_path(user), :method => :delete, :confirm => t("layout.users.confirm_delete")}
|
||||
.actions-bar.wat-cf
|
||||
.actions
|
||||
- content_for :sidebar, render(:partial => 'sidebar')
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
%h1= t('layout.users.new')
|
||||
= form_for @user do |f|
|
||||
%p
|
||||
= f.label :name
|
||||
= f.text_field :name
|
||||
%p
|
||||
= f.label :email
|
||||
= f.text_field :email
|
||||
%p
|
||||
= f.submit
|
||||
= link_to t('layout.users.back_to_the_list'), users_path
|
||||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to t("layout.users.list"), users_path
|
||||
%li.active= link_to t("layout.users.new"), new_user_path
|
||||
.content
|
||||
%h2.title= t("layout.users.new_header")
|
||||
.inner
|
||||
= form_for :user, :url => users_path, :html => { :class => :form } do |f|
|
||||
= render :partial => "form", :locals => {:f => f}
|
||||
- content_for :sidebar, render(:partial => 'sidebar')
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
.block
|
||||
.secondary-navigation
|
||||
%ul.wat-cf
|
||||
%li.first= link_to t("layout.users.list"), users_path
|
||||
%li= link_to t("layout.users.new"), new_user_path
|
||||
%li.active= link_to t("layout.users.show"), user_path
|
||||
.content
|
||||
.inner
|
||||
%p
|
||||
%b
|
||||
Id
|
||||
\:
|
||||
= @user.id
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.user.name")
|
||||
\:
|
||||
= @user.name
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.user.email")
|
||||
\:
|
||||
= @user.email
|
||||
%p
|
||||
%b
|
||||
= t("activerecord.attributes.user.created_at")
|
||||
\:
|
||||
= @user.created_at
|
||||
.wat-cf
|
||||
= link_to image_tag("web-app-theme/icons/application_edit.png", :alt => t("layout.edit")) + " " + t("layout.edit"), edit_user_path(@user), :class => "button"
|
||||
= link_to image_tag("web-app-theme/icons/cross.png", :alt => t("layout.delete")) + " " + t("layout.delete"), user_path(@user), :method => "delete", :class => "button", :confirm => t("layout.users.confirm_delete")
|
||||
|
||||
- content_for :sidebar, render(:partial => 'sidebar')
|
|
@ -5,5 +5,11 @@ javascripts:
|
|||
|
||||
stylesheets:
|
||||
application:
|
||||
- public/stylesheets/compiled/style.css
|
||||
- public/stylesheets/compiled/handheld.css
|
||||
- public/stylesheets/web-app-theme/base.css
|
||||
- public/stylesheets/web-app-theme/themes/default/style.css
|
||||
- public/stylesheets/web-app-theme/override.css
|
||||
|
||||
sessions:
|
||||
- public/stylesheets/web-app-theme/base.css
|
||||
- public/stylesheets/web-app-theme/themes/default/style.css
|
||||
- public/stylesheets/web-app-theme/override.css
|
||||
|
|
|
@ -14,7 +14,7 @@ ru:
|
|||
signed_out: 'Вы вышли.'
|
||||
passwords:
|
||||
link: 'Забыли пароль?'
|
||||
button: 'Отправить инструкции по восстановлению пароля на почту'
|
||||
button: 'Восстановить'
|
||||
send_instructions: 'Вы получите письмо с инструкциями о том, как сбросить ваш пароль, через несколько минут.'
|
||||
updated: 'Ваш пароль изменен. Теперь вы можете войти.'
|
||||
edit: 'Изменение пароля'
|
||||
|
@ -23,11 +23,19 @@ ru:
|
|||
link: "Не получили инструкции для подтверждения учетной записи?"
|
||||
send_instructions: 'Вы получите письмо с инструкциями о том, как подтвердить вашу учетную запись.'
|
||||
confirmed: 'Ваша учетная запись успешно подтверждена. Добро пожаловать.'
|
||||
resend_header: 'Повторная отправка инструкций для подтверждения учетной записи'
|
||||
send: "Отправить"
|
||||
registrations:
|
||||
link: 'Регистрация'
|
||||
signed_up: 'Вы успешно зарегистрировались.'
|
||||
updated: 'Ваша учетная запись изменена.'
|
||||
destroyed: 'До свидания! Ваша учетная запись удалена. Надеемся вскоре снова вас увидеть.'
|
||||
sign_up_header: 'Регистрация'
|
||||
edit: 'Редактировать'
|
||||
edit_password_description: 'Оставьте пароль пустым, если не хотите его менять'
|
||||
current_password_description: 'Нам нужен ваш текущий пароль для подтверждения изменения'
|
||||
cancel: 'Удалить'
|
||||
cancel_confirmation: 'Вы уверены, что хотите удалить учетную запись?'
|
||||
unlocks:
|
||||
link: "Не получили инструкции для разблокировки учетной записи?"
|
||||
send_instructions: 'Вы получите письмо с инструкциями о том, как разблокировать вашу учетную запись, через несколько минут.'
|
||||
|
|
|
@ -19,6 +19,7 @@ ru:
|
|||
list: Список
|
||||
new: Создать
|
||||
new_header: Новая платформа
|
||||
edit_header: Редактировать
|
||||
list_header: Платформы
|
||||
show: Платформа
|
||||
projects: Проекты
|
||||
|
@ -45,8 +46,15 @@ ru:
|
|||
git_repo_location: Путь к git-репозиторию
|
||||
back_to_the_list: ⇐ К списку проектов репозитория
|
||||
users:
|
||||
new: Новый пользователь
|
||||
list: Список
|
||||
new: Создать
|
||||
edit: Редактировать
|
||||
new_header: Новый пользователь
|
||||
edit_header: Редактировать
|
||||
list_header: Пользователи
|
||||
show: Пользователь
|
||||
back_to_the_list: ⇐ К списку пользователей
|
||||
confirm_delete: Вы уверены, что хотите удалить этого пользователя?
|
||||
git:
|
||||
repositories:
|
||||
empty: Пустой репозиторий
|
||||
|
|
Before Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 703 B |
After Width: | Height: | Size: 655 B |
After Width: | Height: | Size: 612 B |
After Width: | Height: | Size: 537 B |
|
@ -1,11 +0,0 @@
|
|||
// usage: log('inside coolFunc', this, arguments);
|
||||
// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
|
||||
window.log = function(){
|
||||
log.history = log.history || []; // store logs to an array for reference
|
||||
log.history.push(arguments);
|
||||
if(this.console) console.log( Array.prototype.slice.call(arguments) );
|
||||
};
|
||||
|
||||
|
||||
|
||||
// place any jQuery/helper plugins in here, instead of separate, slower script files.
|
|
@ -0,0 +1,410 @@
|
|||
* {margin:0;padding:0}
|
||||
.clear { clear: both; height: 0; }
|
||||
|
||||
.wat-cf:after {
|
||||
content: ".";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.wat-cf {display: inline-block;}
|
||||
|
||||
/* Hides from IE-mac \*/
|
||||
* html .wat-cf {height: 1%;}
|
||||
.wat-cf {display: block;}
|
||||
/* End hide from IE-mac */
|
||||
|
||||
h1 { margin: 15px 0; font-size: 22px; font-weight: normal; }
|
||||
h2 { font-size: 22px; margin: 15px 0; font-weight: normal;}
|
||||
h3 { font-size: 18px; margin: 10px 0; font-weight: normal;}
|
||||
h4 { font-size: 16px; margin: 10px 0; font-weight: normal;}
|
||||
hr {height: 1px; border: 0; }
|
||||
p { margin: 15px 0;}
|
||||
a img { border: none; }
|
||||
|
||||
body {
|
||||
font-size: 12px;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
#container {
|
||||
min-width: 960px;
|
||||
}
|
||||
|
||||
#header, #wrapper {
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
#header {
|
||||
position: relative;
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
margin: 0;
|
||||
padding: 10px 0;
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
#header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main {
|
||||
width: 70%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.actions-bar {
|
||||
padding: 10px 1px;
|
||||
}
|
||||
|
||||
.actions-bar .actions {
|
||||
float: left;
|
||||
}
|
||||
|
||||
|
||||
.actions-bar .pagination {
|
||||
float: right;
|
||||
padding: 1px 0;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 25%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
#sidebar h3 {
|
||||
padding: 10px 15px;
|
||||
margin: 0;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
#sidebar .block {
|
||||
margin-bottom: 20px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
#sidebar .block .content {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
#sidebar ul.navigation li a:link, #sidebar ul.navigation li a:visited {
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
|
||||
#sidebar .block .sidebar-block, #sidebar .notice {
|
||||
padding:10px;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
#main .block {
|
||||
margin-bottom: 20px;
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
||||
#main .block .content .inner {
|
||||
padding: 0 15px 15px;
|
||||
}
|
||||
|
||||
#main .main p.first {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#user-navigation {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 20px;
|
||||
}
|
||||
|
||||
#main-navigation {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#user-navigation ul, #main-navigation ul, .secondary-navigation ul, #sidebar ul.navigation {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#user-navigation ul li, #main-navigation ul li, .secondary-navigation ul li {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#main-navigation ul li {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#user-navigation ul li {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
#main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active,
|
||||
.secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
|
||||
#user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-navigation ul li a {
|
||||
font-size: 14px;
|
||||
line-height: 14px;
|
||||
display: block;
|
||||
padding: 8px 15px;
|
||||
}
|
||||
|
||||
.secondary-navigation {
|
||||
font-size: 13px;
|
||||
border-bottom-width: 10px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
.secondary-navigation ul li a {
|
||||
display: block;
|
||||
padding: 10px 15px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
/* pagination */
|
||||
|
||||
.pagination a, .pagination span, .pagination em {
|
||||
padding: 2px 5px;
|
||||
margin-right: 5px;
|
||||
display: block;
|
||||
float: left;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
}
|
||||
|
||||
.pagination em {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* tables */
|
||||
.table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.table th {
|
||||
padding: 10px;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.table th.first {
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
.table th.last {
|
||||
width: 210px;
|
||||
}
|
||||
|
||||
.table .checkbox {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.table td {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.table td.last {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* forms */
|
||||
|
||||
input.checkbox {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.form .group {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.form div.left {
|
||||
width: 20%;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.form div.right {
|
||||
width: 75%;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.form .columns .column {
|
||||
width: 48%;
|
||||
}
|
||||
|
||||
.form .columns .left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.form .columns .right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.form label.label, .form input.text_field, .form textarea.text_area {
|
||||
font-size: 1.2em;
|
||||
padding: 1px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.form label.right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.form input.checkbox, .form input.radio {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.form label.checkbox, .form label.radio {
|
||||
line-height: 1.5em;
|
||||
}
|
||||
|
||||
.form label.label {
|
||||
display: block;
|
||||
padding-bottom: 2px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.form div.fieldWithErrors label.label {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.form .fieldWithErrors .error {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.form input.text_field, .form textarea.text_area {
|
||||
width: 100%;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
/* lists */
|
||||
|
||||
ul.list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
ul.list li {
|
||||
clear: left;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
ul.list li .left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
ul.list li .left .avatar {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
ul.list li .item {
|
||||
margin-left: 80px;
|
||||
}
|
||||
|
||||
ul.list li .item .avatar {
|
||||
float: left;
|
||||
margin: 0 5px 5px 0;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
/* box */
|
||||
|
||||
#box {
|
||||
width: 500px;
|
||||
margin: 50px auto;
|
||||
}
|
||||
|
||||
#box .block {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#box .block h2 {
|
||||
padding: 10px 15px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#box .block .content {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
/* Inspired by http://particletree.com/features/rediscovering-the-button-element */
|
||||
|
||||
a.button:link, a.button:visited, a.button:hover, a.button:active, button.button {
|
||||
color: #222;
|
||||
display:block;
|
||||
float:left;
|
||||
margin:0 7px 0 0;
|
||||
background-color: #eee;
|
||||
border:1px solid #bfbfbf;
|
||||
font-size: 1em;
|
||||
line-height: 1.3em;
|
||||
font-weight:bold;
|
||||
cursor:pointer;
|
||||
padding:5px 10px 6px 7px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
button.button {
|
||||
width:auto;
|
||||
overflow:visible;
|
||||
padding:4px 10px 3px 7px; /* IE6 */
|
||||
}
|
||||
button.button[type] {
|
||||
padding:5px 10px 5px 7px; /* Firefox */
|
||||
line-height:17px; /* Safari */
|
||||
}
|
||||
|
||||
*:first-child+html button.button[type] {
|
||||
padding:4px 10px 3px 7px; /* IE7 */
|
||||
}
|
||||
|
||||
button.button img, a.button img {
|
||||
margin:0 3px -3px 0 !important;
|
||||
padding:0;
|
||||
border:none;
|
||||
width:16px;
|
||||
height:16px;
|
||||
}
|
||||
|
||||
button.button:hover, a.button:hover {
|
||||
background-color:#dedede;
|
||||
}
|
||||
|
||||
button.button:active, a.button:active {
|
||||
background-color:#e5e5e5;
|
||||
}
|
||||
.text_button_padding{
|
||||
color: #222222;
|
||||
display: block;
|
||||
float: left;
|
||||
font-size: 1em;
|
||||
line-height: 2em;
|
||||
margin: 0 7px 0 0;
|
||||
padding: 5px 0 6px 7px;
|
||||
text-decoration: none;
|
||||
}
|
||||
.link_button{
|
||||
cursor: pointer;
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
/* Override here any style defined by web-app-theme */
|
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,462 @@
|
|||
/*
|
||||
activo
|
||||
by David Francisco (dmfrancisc[at]gmail.com)
|
||||
|
||||
based on "Drastic Dark" by Juan Maria Martinez Arce (juan[at]insignia4u.com)
|
||||
*/
|
||||
|
||||
.small {
|
||||
font-size: 11px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
.gray {
|
||||
color:#999999;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 13px;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
.hightlight {
|
||||
background-color: #ffff88;
|
||||
font-weight: bold;
|
||||
color: #36393d;
|
||||
}
|
||||
|
||||
a:link, a:visited, a:hover, a:active, h1, h2, h3 { color: #111; }
|
||||
a { -moz-outline: none; }
|
||||
|
||||
body {
|
||||
color: #111;
|
||||
background: #E5E5E5;
|
||||
font-family: helvetica, arial, sans-serif;
|
||||
}
|
||||
|
||||
hr {
|
||||
background: #e2e2e2;
|
||||
color: #e2e2e2;
|
||||
}
|
||||
|
||||
#header {
|
||||
background: #002134;
|
||||
}
|
||||
|
||||
#header h1 {
|
||||
padding: 15px 0;
|
||||
font-size: 32px;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-transform: none;
|
||||
letter-spacing: -1px;
|
||||
line-height: 1.2em;
|
||||
color: #fff;
|
||||
text-shadow: #000 1px 1px 2px;
|
||||
}
|
||||
|
||||
#header h1 a:link, #header h1 a:active, #header h1 a:hover, #header h1 a:visited {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#user-navigation {
|
||||
top: auto;
|
||||
bottom: 5px;
|
||||
right: 25px;
|
||||
}
|
||||
|
||||
#user-navigation a.logout {
|
||||
background: #ccc;
|
||||
padding: 1px 4px;
|
||||
}
|
||||
|
||||
#main {
|
||||
width: 71%;
|
||||
}
|
||||
|
||||
#main .block {
|
||||
padding-top: 0px;
|
||||
background: #fff;
|
||||
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
#main .block .content {
|
||||
padding-top: 1px;
|
||||
}
|
||||
|
||||
#main .block .content h2 {
|
||||
margin-left: 15px;
|
||||
font-size: 22px;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
text-transform: none;
|
||||
letter-spacing: -1px;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
#main .block .content p {
|
||||
font-size: 13px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
letter-spacing: normal;
|
||||
line-height: 1.45em;
|
||||
}
|
||||
|
||||
#sidebar .block h4 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#sidebar .notice {
|
||||
background: #fff;
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
#sidebar h3 {
|
||||
color: #111;
|
||||
border-bottom: 1px solid #c0c0c0;
|
||||
}
|
||||
|
||||
#main-navigation ul li {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#main-navigation ul li a {
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
#main-navigation ul li.active {
|
||||
padding: 0;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#main-navigation ul li.active {
|
||||
background: #E5E5E5;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#main-navigation ul li.active a {
|
||||
padding: 8px 15px;
|
||||
}
|
||||
|
||||
#sidebar ul li {
|
||||
background-position: 15px 11px;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("images/arrow.png");
|
||||
border-bottom: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
#sidebar ul li a {
|
||||
text-decoration: none;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
#sidebar ul li a:link, #sidebar ul li a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#main-navigation {
|
||||
background-color: #f4f4f4;
|
||||
background-image: url("images/menubar-background.png");
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
#main-navigation ul li {
|
||||
margin-right: 0;
|
||||
padding-left: 15px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#main-navigation ul li a:link, #main-navigation ul li a:visited, #main-navigation ul li a:hover, #main-navigation ul li a:active {
|
||||
text-decoration: none;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active,
|
||||
#user-navigation ul li a:link, #user-navigation ul li a:visited, #user-navigation ul li a:hover, #user-navigation ul li a:active {
|
||||
text-decoration: none;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.secondary-navigation {
|
||||
background-color: #f2f1ee;
|
||||
border-bottom: none;
|
||||
border-bottom-width: 5px;
|
||||
background-image: url("images/boxbar-background.png");
|
||||
}
|
||||
|
||||
.secondary-navigation ul li.active, .secondary-navigation ul li.active a:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#footer .block {
|
||||
text-align: center;
|
||||
color: #111;
|
||||
background: #fff;
|
||||
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#footer .block p {
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* pagination */
|
||||
|
||||
.pagination a, .pagination span {
|
||||
background-color: #f4f4f4;
|
||||
background-image: url("images/button-background.png");
|
||||
color: #111;
|
||||
text-align: center;
|
||||
min-width: 15px;
|
||||
margin-right: 5px;
|
||||
padding: 6px;
|
||||
border: 1px solid #c3c4ba;
|
||||
}
|
||||
|
||||
.pagination em {
|
||||
background: #002134;
|
||||
color: #fff;
|
||||
border: 1px solid #002134;
|
||||
}
|
||||
|
||||
.pagination a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.pagination a:hover {
|
||||
border: 1px solid #818171;
|
||||
-webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
-moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.pagination a:active {
|
||||
background-image: url("images/button-background-active.png");
|
||||
outline: none;
|
||||
}
|
||||
|
||||
/* tables */
|
||||
|
||||
.table th {
|
||||
background: #eaeaea;
|
||||
color: #222;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.table td {
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
}
|
||||
|
||||
.table tr.even {
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
/* forms */
|
||||
|
||||
.form label.label {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.form input.text_field, .form textarea.text_area {
|
||||
width: 100%;
|
||||
border: 1px solid #e2e2e2;
|
||||
}
|
||||
|
||||
.form input:hover, .form textarea:hover {
|
||||
-webkit-box-shadow: rgba(0,0,0,0.3) 0 0 3px;
|
||||
-moz-box-shadow: rgba(0,0,0,0.3) 0 0 3px;
|
||||
box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
|
||||
border: 1px solid #a2a294;
|
||||
}
|
||||
|
||||
.form input:focus, .form textarea:focus {
|
||||
border: 1px solid #a2a294;
|
||||
}
|
||||
|
||||
.form input.button {
|
||||
background: #e2e2e2;
|
||||
border: 1px solid #c1c1c1;
|
||||
padding: 2px 5px;
|
||||
cursor: pointer;
|
||||
color: #111;
|
||||
font-weight: bold;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.form input.button:hover {
|
||||
border: 1px solid #666;
|
||||
}
|
||||
|
||||
.form .description {
|
||||
font-style: italic;
|
||||
color: #8C8C8C;
|
||||
font-size: .9em;
|
||||
}
|
||||
|
||||
.form .navform a {
|
||||
color: #cc0000;
|
||||
}
|
||||
|
||||
/* buttons */
|
||||
|
||||
a.button, button.button {
|
||||
background-color: #f4f4f4;
|
||||
background-image: url("images/button-background.png");
|
||||
border: 1px solid #c3c4ba;
|
||||
font-family: helvetica, arial, sans-serif;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
a.button:link, a.button:visited, a.button:hover, a.button:active, button.button:link, button.button:visited, button.button:hover, button.button:active {
|
||||
font-weight: normal;
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
|
||||
a.button:hover, button.button:hover {
|
||||
background-color: #eee;
|
||||
border: 1px solid #818171;
|
||||
-webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
-moz-box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
a.button:active, button.button:active {
|
||||
outline: none;
|
||||
background-color: #ddd;
|
||||
background-image: url("images/button-background-active.png");
|
||||
}
|
||||
|
||||
/* flash-messages */
|
||||
.flash .message {
|
||||
text-align:center;
|
||||
margin: 0 auto 15px;
|
||||
}
|
||||
|
||||
.flash .message p {
|
||||
margin:8px;
|
||||
}
|
||||
.flash .error {
|
||||
border: 1px solid #ffbbbb;
|
||||
background-color: #ffdddd;
|
||||
}
|
||||
.flash .warning {
|
||||
border: 1px solid #ffff88;
|
||||
background-color: #ffffcc;
|
||||
}
|
||||
.flash .notice {
|
||||
border: 1px solid #1fdf00;
|
||||
background-color: #bbffb6;
|
||||
}
|
||||
|
||||
/* lists */
|
||||
|
||||
ul.list li {
|
||||
border-bottom-color: #e2e2e2;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-style: solid;
|
||||
}
|
||||
|
||||
ul.list li .item .avatar {
|
||||
border-color: #e2e2e2;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* box */
|
||||
|
||||
#box .block {
|
||||
background: #fff;
|
||||
|
||||
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
#box .block h2 {
|
||||
background: #002134;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
||||
/* rounded borders */
|
||||
|
||||
#main, #main-navigation, #main-navigation li, .secondary-navigation, #main .block, #sidebar .block, #sidebar h3, ul.list li,
|
||||
#footer .block, .form input.button, #box .block, #box .block h2 {
|
||||
-moz-border-radius-topleft: 9px;
|
||||
-webkit-border-top-left-radius: 9px;
|
||||
-moz-border-radius-topright: 9px;
|
||||
-webkit-border-top-right-radius: 9px;
|
||||
}
|
||||
|
||||
.secondary-navigation li.first a, .secondary-navigation ul li.first {
|
||||
-moz-border-radius-topleft: 9px;
|
||||
-webkit-border-top-left-radius: 9px;
|
||||
}
|
||||
|
||||
.secondary-navigation ul li.first {
|
||||
-moz-border-radius-topleft: 9px;
|
||||
-webkit-border-top-left-radius: 9px;
|
||||
}
|
||||
|
||||
#sidebar, #sidebar .block, #main .block, #sidebar ul.navigation, ul.list li, #footer .block, .form input.button, #box .block {
|
||||
-moz-border-radius-bottomleft: 9px;
|
||||
-webkit-border-bottom-left-radius: 9px;
|
||||
-moz-border-radius-bottomright: 9px;
|
||||
-webkit-border-bottom-right-radius: 9px;
|
||||
}
|
||||
|
||||
#main .block {
|
||||
-moz-border-radius: 9px;
|
||||
-webkit-border-radius: 9px;
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
#main-navigation, .secondary-navigation {
|
||||
-moz-border-radius-topleft: 9px;
|
||||
-webkit-border-top-left-radius: 9px;
|
||||
border-top-left-radius: 9px;
|
||||
|
||||
-moz-border-radius-topright: 9px;
|
||||
-webkit-border-top-right-radius: 9px;
|
||||
border-top-right-radius: 9px;
|
||||
}
|
||||
|
||||
a.button, button.button, .pagination a, .pagination span {
|
||||
-moz-border-radius: 2px;
|
||||
-webkit-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
.flash .message {
|
||||
-moz-border-radius: 6px;
|
||||
-webkit-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.form input.button {
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#user-navigation a.logout {
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|