Paul Irish BUY BUY oMG, Using AWESOME web-app-theme
11
Gemfile
|
@ -29,14 +29,19 @@ gem 'pg'
|
||||||
# group :development, :test do
|
# group :development, :test do
|
||||||
# gem 'webrat'
|
# gem 'webrat'
|
||||||
# end
|
# 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 "devise"
|
||||||
gem "haml", ">= 3.0.0"
|
gem "haml", ">= 3.0.0"
|
||||||
gem "haml-rails"
|
gem "haml-rails"
|
||||||
gem "compass", ">= 0.10.6"
|
gem "compass", ">= 0.10.6"
|
||||||
gem "html5-boilerplate"
|
|
||||||
gem "capistrano"
|
gem "capistrano"
|
||||||
gem "capistrano-ext"
|
gem "capistrano-ext"
|
||||||
gem "will_paginate", "~> 3.0.pre2"
|
gem "will_paginate", "~> 3.0.pre2"
|
||||||
|
|
|
@ -65,6 +65,7 @@ GEM
|
||||||
hoptoad_notifier (2.4.6)
|
hoptoad_notifier (2.4.6)
|
||||||
activesupport
|
activesupport
|
||||||
builder
|
builder
|
||||||
|
hpricot (0.8.4)
|
||||||
html5-boilerplate (0.3.2)
|
html5-boilerplate (0.3.2)
|
||||||
compass (>= 0.10.0)
|
compass (>= 0.10.0)
|
||||||
i18n (0.5.0)
|
i18n (0.5.0)
|
||||||
|
@ -119,7 +120,10 @@ GEM
|
||||||
activesupport (~> 3.0)
|
activesupport (~> 3.0)
|
||||||
railties (~> 3.0)
|
railties (~> 3.0)
|
||||||
rspec (~> 2.5.0)
|
rspec (~> 2.5.0)
|
||||||
|
ruby_parser (2.0.6)
|
||||||
|
sexp_processor (~> 3.0)
|
||||||
russian (0.2.7)
|
russian (0.2.7)
|
||||||
|
sexp_processor (3.0.5)
|
||||||
thor (0.14.6)
|
thor (0.14.6)
|
||||||
treetop (1.4.9)
|
treetop (1.4.9)
|
||||||
polyglot (>= 0.3.1)
|
polyglot (>= 0.3.1)
|
||||||
|
@ -129,6 +133,7 @@ GEM
|
||||||
rack
|
rack
|
||||||
warden (1.0.3)
|
warden (1.0.3)
|
||||||
rack (>= 1.0.0)
|
rack (>= 1.0.0)
|
||||||
|
web-app-theme (0.6.3)
|
||||||
will_paginate (3.0.pre2)
|
will_paginate (3.0.pre2)
|
||||||
yui-compressor (0.9.5)
|
yui-compressor (0.9.5)
|
||||||
|
|
||||||
|
@ -145,11 +150,14 @@ DEPENDENCIES
|
||||||
haml (>= 3.0.0)
|
haml (>= 3.0.0)
|
||||||
haml-rails
|
haml-rails
|
||||||
hoptoad_notifier (~> 2.3)
|
hoptoad_notifier (~> 2.3)
|
||||||
|
hpricot
|
||||||
html5-boilerplate
|
html5-boilerplate
|
||||||
jammit
|
jammit
|
||||||
pg
|
pg
|
||||||
rails (= 3.0.5)
|
rails (= 3.0.5)
|
||||||
rspec-rails (>= 2.0.1)
|
rspec-rails (>= 2.0.1)
|
||||||
|
ruby_parser
|
||||||
russian
|
russian
|
||||||
unicorn
|
unicorn
|
||||||
|
web-app-theme (>= 0.6.2)
|
||||||
will_paginate (~> 3.0.pre2)
|
will_paginate (~> 3.0.pre2)
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
protect_from_forgery
|
protect_from_forgery
|
||||||
|
layout :layout_by_resource
|
||||||
|
|
||||||
|
protected
|
||||||
|
def layout_by_resource
|
||||||
|
if devise_controller?
|
||||||
|
"sessions"
|
||||||
|
else
|
||||||
|
"application"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
class UsersController < ApplicationController
|
class UsersController < ApplicationController
|
||||||
|
before_filter :find_user, :only => [:show, :edit, :update, :destroy]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@users = User.all
|
@users = User.all
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def show
|
||||||
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@user = User.new
|
@user = User.new
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@user = User.find params[:id]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def destroy
|
def destroy
|
||||||
User.destroy params[:id]
|
@user.destroy
|
||||||
redirect_to users_path
|
redirect_to users_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -28,7 +32,6 @@ class UsersController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def update
|
def update
|
||||||
@user = User.find params[:id]
|
|
||||||
if @user.update_attributes(params[:user])
|
if @user.update_attributes(params[:user])
|
||||||
flash[:notice] = t('flash.user.saved')
|
flash[:notice] = t('flash.user.saved')
|
||||||
redirect_to users_path
|
redirect_to users_path
|
||||||
|
@ -37,4 +40,9 @@ class UsersController < ApplicationController
|
||||||
render :action => :edit
|
render :action => :edit
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
protected
|
||||||
|
def find_user
|
||||||
|
@user = User.find(params[:id])
|
||||||
|
end
|
||||||
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
|
.block
|
||||||
= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f|
|
%h2= t("devise.confirmations.resend_header")
|
||||||
= devise_error_messages!
|
.content
|
||||||
%p
|
- if resource.errors.present?
|
||||||
= f.label :email
|
.flash
|
||||||
%br/
|
.message.error
|
||||||
= f.text_field :email
|
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||||
%p= f.submit "Resend confirmation instructions"
|
= messages
|
||||||
= render :partial => "devise/shared/links"
|
|
||||||
|
= 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')
|
.block
|
||||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f|
|
%h2= t('devise.passwords.edit')
|
||||||
= devise_error_messages!
|
.content
|
||||||
= f.hidden_field :reset_password_token
|
- if resource.errors.present?
|
||||||
%p
|
.flash
|
||||||
= f.label :password
|
.message.error
|
||||||
%br/
|
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||||
= f.password_field :password
|
= messages
|
||||||
%p
|
|
||||||
= f.label :password_confirmation
|
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put, :class => "form" }) do |f|
|
||||||
%br/
|
= f.hidden_field :reset_password_token
|
||||||
= f.password_field :password_confirmation
|
.group.wat-cf
|
||||||
%p= f.submit t('devise.password.edit_button')
|
.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')
|
.block
|
||||||
= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
|
%h2= t('devise.passwords.link')
|
||||||
= devise_error_messages!
|
.content
|
||||||
%p
|
- if resource.errors.present?
|
||||||
= f.label :email
|
.flash
|
||||||
%br/
|
.message.error
|
||||||
= f.text_field :email
|
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||||
%p= f.submit t('devise.passwords.button')
|
= 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
|
#block-signup.block
|
||||||
Edit #{resource_name.to_s.humanize}
|
%h2 #{t("devise.registrations.edit")} #{resource_name.to_s.humanize}
|
||||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f|
|
.content
|
||||||
= devise_error_messages!
|
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put, :class => "form" }) do |f|
|
||||||
%p
|
- if resource.errors.present?
|
||||||
= f.label :email
|
.flash
|
||||||
%br/
|
.message.error
|
||||||
= f.text_field :email
|
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||||
%p
|
= messages
|
||||||
= f.label :password
|
|
||||||
%i (leave blank if you don't want to change it)
|
.group.wat-cf
|
||||||
%br/
|
.left
|
||||||
= f.password_field :password
|
= f.label :email, :class => "label"
|
||||||
%p
|
.right
|
||||||
= f.label :password_confirmation
|
= f.text_field :email, :class => "text_field"
|
||||||
%br/
|
|
||||||
= f.password_field :password_confirmation
|
.group.wat-cf
|
||||||
%p
|
.left
|
||||||
= f.label :current_password
|
= f.label :current_password, :class => "label"
|
||||||
%i (we need your current password to confirm your changes)
|
.right
|
||||||
%br/
|
= f.password_field :current_password, :class => "text_field"
|
||||||
= f.password_field :current_password
|
%span.description= t("devise.registrations.current_password_description")
|
||||||
%p= f.submit "Update"
|
|
||||||
%h3 Cancel my account
|
.group.wat-cf
|
||||||
%p
|
.left
|
||||||
Unhappy? #{link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete}.
|
= f.label :password, :class => "label"
|
||||||
= link_to "Back", :back
|
.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
|
#block-signup.block
|
||||||
= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f|
|
%h2= t("devise.registrations.sign_up_header")
|
||||||
= devise_error_messages!
|
.content
|
||||||
%p
|
= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :class => "form" }) do |f|
|
||||||
= f.label :email
|
- if resource.errors.present?
|
||||||
%br/
|
.flash
|
||||||
= f.text_field :email
|
.message.error
|
||||||
%p
|
- messages = resource.errors.full_messages.map { |msg| content_tag(:p, msg) }.join.html_safe
|
||||||
= f.label :password
|
= messages
|
||||||
%br/
|
|
||||||
= f.password_field :password
|
.group.wat-cf
|
||||||
%p
|
.left
|
||||||
= f.label :password_confirmation
|
= f.label :email, :class => "label"
|
||||||
%br/
|
.right
|
||||||
= f.password_field :password_confirmation
|
= f.text_field :email, :class => "text_field"
|
||||||
%p= f.submit "Sign up"
|
|
||||||
= render :partial => "devise/shared/links"
|
.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
|
#block-login.block
|
||||||
%h2 Вход в систему
|
%h2= t("layout.sessions.sign_in_header")
|
||||||
= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
|
.content.login
|
||||||
%p
|
- if flash.present?
|
||||||
= f.label :email
|
.flash
|
||||||
%br/
|
- flash.each do |key, value|
|
||||||
= f.text_field :email
|
.message{ :title => key.to_s.humanize, :class => (key == :alert ? "error" : key) }
|
||||||
%p
|
%p= value
|
||||||
= f.label :password
|
- form_for(resource, :as => resource_name, :url => session_path(resource_name), :html => { :class => "form login" }) do |f|
|
||||||
%br/
|
.group.wat-cf
|
||||||
= f.password_field :password
|
.left
|
||||||
- if devise_mapping.rememberable?
|
= f.label :email, :class => "label right"
|
||||||
%p
|
.right
|
||||||
= f.check_box :remember_me
|
= f.text_field :email, :class => "text_field"
|
||||||
= f.label :remember_me
|
.group.wat-cf
|
||||||
%p
|
.left
|
||||||
= f.submit "Войти"
|
= f.label :password, :class => "label right"
|
||||||
= link_to t('devise.passwords.link'), new_password_path(resource_name)
|
.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'
|
- 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
|
||||||
- flash.each do |key, value|
|
- flash.each do |type, message|
|
||||||
%div{ :title => key.to_s.humanize, :class => key }
|
%div{:class => "message #{type}"}
|
||||||
%p= value
|
%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
|
= javascript_include_tag "//ajax.googleapis.com/ajax/libs/jquery/#{ local_jquery("1.5.1") }"
|
||||||
-# 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") }"
|
|
||||||
|
|
||||||
-# fall back to local jQuery if necessary
|
-# fall back to local jQuery if necessary
|
||||||
:javascript
|
:javascript
|
||||||
!window.jQuery && document.write(unescape('%3Cscript src="/javascripts/jquery.min.js"%3E%3C/script%3E'))
|
!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
|
-# Append your own using content_for :javascripts
|
||||||
= yield :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
|
= include_stylesheets :application
|
||||||
|
|
||||||
-# Append your own using content_for :stylesheets
|
|
||||||
= yield :stylesheets
|
= yield :stylesheets
|
|
@ -1,15 +1,32 @@
|
||||||
!!! 5
|
!!!
|
||||||
-# http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither
|
%html
|
||||||
-ie_html :class => 'no-js' do
|
%head
|
||||||
= render :partial => 'layouts/head'
|
%title= t("layout.global_header")
|
||||||
%body{ :lang => 'ru', :class => "#{controller.controller_name}" }
|
= render :partial => "layouts/stylesheets"
|
||||||
|
= render :partial => "layouts/javascripts"
|
||||||
|
= csrf_meta_tag
|
||||||
|
%body
|
||||||
#container
|
#container
|
||||||
%header#header
|
#header
|
||||||
= render :partial => 'layouts/header'
|
%h1
|
||||||
#main{ :role => 'main' }
|
%a{:href => "/"}= t("layout.global_header")
|
||||||
= render :partial => 'layouts/flashes'
|
#user-navigation
|
||||||
= yield
|
%ul.wat-cf
|
||||||
%footer#footer
|
%li
|
||||||
= render :partial => 'layouts/footer'
|
= link_to t('layout.logout'), destroy_user_session_path, :class => "logout"
|
||||||
-# Javascript at the bottom for fast page loading
|
#main-navigation
|
||||||
= render :partial => 'layouts/javascripts'
|
%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')
|
.block
|
||||||
- @platforms.each do |platform|
|
.secondary-navigation
|
||||||
= div_for platform do
|
%ul.wat-cf
|
||||||
= link_to platform.name, platform
|
%li.first.active= link_to t("layout.platforms.list"), platforms_path
|
||||||
= link_to t('layout.platforms.new'), new_platform_path
|
%li= link_to t("layout.platforms.new"), new_platform_path
|
||||||
.div
|
.content
|
||||||
= link_to t('layout.user_list'), users_path
|
%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')
|
.block
|
||||||
= form_for @platform do |f|
|
.secondary-navigation
|
||||||
%p
|
%ul.wat-cf
|
||||||
= f.label :name
|
%li.first= link_to "#{t("layout.platforms.list")}", platforms_path
|
||||||
= f.text_field :name
|
%li.active= link_to "#{t("layout.platforms.new")}", new_platform_path
|
||||||
%p
|
.content
|
||||||
= f.label :unixname
|
%h2.title
|
||||||
= f.text_field :unixname
|
= t("layout.platforms.new_header")
|
||||||
%p
|
.inner
|
||||||
= f.label :parent_platform_id
|
= form_for :platform, :url => platforms_path, :html => { :class => :form } do |f|
|
||||||
= f.select :parent_platform_id, @platforms.map { |p| [p.name, p.id] }, :include_blank => true
|
= render :partial => "form", :locals => {:f => f}
|
||||||
%p
|
|
||||||
= f.submit t('layout.create')
|
|
||||||
= link_to t('layout.cancel'), platforms_path
|
|
|
@ -1,24 +1,42 @@
|
||||||
%h1
|
.block
|
||||||
= t('layout.platforms.show')
|
.secondary-navigation
|
||||||
= @platform.name
|
%ul.wat-cf
|
||||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
%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
|
.wat-cf
|
||||||
- if @platform.released?
|
-#= 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 I18n.t("layout.platforms.unfreeze"), unfreeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_unfreeze")
|
= 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")
|
||||||
- else
|
- if @platform.released?
|
||||||
= link_to I18n.t("layout.platforms.freeze"), freeze_platform_path(@platform), :confirm => I18n.t("layout.platforms.confirm_freeze")
|
= 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
|
-# Show repositories
|
||||||
= t('layout.platforms.location')
|
-# Show projects
|
||||||
= @platform.path
|
|
||||||
|
|
||||||
|
-#- content_for :sidebar, render(:partial => 'sidebar')
|
||||||
%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
|
|
|
@ -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
|
.block
|
||||||
= form_for @user do |f|
|
.secondary-navigation
|
||||||
%p
|
%ul.wat-cf
|
||||||
= f.label :name
|
%li.first= link_to t("layout.users.list"), users_path
|
||||||
= f.text_field :name
|
%li= link_to t("layout.users.new"), new_user_path
|
||||||
%p
|
%li.active= link_to t("layout.users.edit"), edit_user_path
|
||||||
= f.label :email
|
.content
|
||||||
= f.text_field :email
|
%h2.title= t("layout.users.edit_header")
|
||||||
%p
|
.inner
|
||||||
= f.submit
|
= form_for @user, :url => user_path(@user), :html => { :class => :form } do |f|
|
||||||
= link_to t('layout.users.back_to_the_list'), users_path
|
= render :partial => "form", :locals => {:f => f}
|
||||||
|
- content_for :sidebar, render(:partial => 'sidebar')
|
||||||
|
|
|
@ -1,12 +1,31 @@
|
||||||
%h1= t('layout.user_list')
|
.block
|
||||||
%ul
|
.secondary-navigation
|
||||||
- @users.each do |user|
|
%ul.wat-cf
|
||||||
%li
|
%li.first.active= link_to t("layout.users.list"), users_path
|
||||||
= link_to user.name, edit_user_path(user)
|
%li= link_to t("layout.users.new"), new_user_path
|
||||||
(
|
.content
|
||||||
%span>= user.email
|
%h2.title
|
||||||
)
|
= t("layout.users.list_header")
|
||||||
= link_to t('layout.delete'), user_path(user), :method => :delete, :confirm => t('layout.are_you_sure')
|
.inner
|
||||||
%p
|
%table.table
|
||||||
= link_to t('layout.users.new'), new_user_path
|
%tr
|
||||||
= link_to t('layout.platforms.back_to_the_list'), platforms_path
|
%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')
|
.block
|
||||||
= form_for @user do |f|
|
.secondary-navigation
|
||||||
%p
|
%ul.wat-cf
|
||||||
= f.label :name
|
%li.first= link_to t("layout.users.list"), users_path
|
||||||
= f.text_field :name
|
%li.active= link_to t("layout.users.new"), new_user_path
|
||||||
%p
|
.content
|
||||||
= f.label :email
|
%h2.title= t("layout.users.new_header")
|
||||||
= f.text_field :email
|
.inner
|
||||||
%p
|
= form_for :user, :url => users_path, :html => { :class => :form } do |f|
|
||||||
= f.submit
|
= render :partial => "form", :locals => {:f => f}
|
||||||
= link_to t('layout.users.back_to_the_list'), users_path
|
- 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:
|
stylesheets:
|
||||||
application:
|
application:
|
||||||
- public/stylesheets/compiled/style.css
|
- public/stylesheets/web-app-theme/base.css
|
||||||
- public/stylesheets/compiled/handheld.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: 'Вы вышли.'
|
signed_out: 'Вы вышли.'
|
||||||
passwords:
|
passwords:
|
||||||
link: 'Забыли пароль?'
|
link: 'Забыли пароль?'
|
||||||
button: 'Отправить инструкции по восстановлению пароля на почту'
|
button: 'Восстановить'
|
||||||
send_instructions: 'Вы получите письмо с инструкциями о том, как сбросить ваш пароль, через несколько минут.'
|
send_instructions: 'Вы получите письмо с инструкциями о том, как сбросить ваш пароль, через несколько минут.'
|
||||||
updated: 'Ваш пароль изменен. Теперь вы можете войти.'
|
updated: 'Ваш пароль изменен. Теперь вы можете войти.'
|
||||||
edit: 'Изменение пароля'
|
edit: 'Изменение пароля'
|
||||||
|
@ -23,11 +23,19 @@ ru:
|
||||||
link: "Не получили инструкции для подтверждения учетной записи?"
|
link: "Не получили инструкции для подтверждения учетной записи?"
|
||||||
send_instructions: 'Вы получите письмо с инструкциями о том, как подтвердить вашу учетную запись.'
|
send_instructions: 'Вы получите письмо с инструкциями о том, как подтвердить вашу учетную запись.'
|
||||||
confirmed: 'Ваша учетная запись успешно подтверждена. Добро пожаловать.'
|
confirmed: 'Ваша учетная запись успешно подтверждена. Добро пожаловать.'
|
||||||
|
resend_header: 'Повторная отправка инструкций для подтверждения учетной записи'
|
||||||
|
send: "Отправить"
|
||||||
registrations:
|
registrations:
|
||||||
link: 'Регистрация'
|
link: 'Регистрация'
|
||||||
signed_up: 'Вы успешно зарегистрировались.'
|
signed_up: 'Вы успешно зарегистрировались.'
|
||||||
updated: 'Ваша учетная запись изменена.'
|
updated: 'Ваша учетная запись изменена.'
|
||||||
destroyed: 'До свидания! Ваша учетная запись удалена. Надеемся вскоре снова вас увидеть.'
|
destroyed: 'До свидания! Ваша учетная запись удалена. Надеемся вскоре снова вас увидеть.'
|
||||||
|
sign_up_header: 'Регистрация'
|
||||||
|
edit: 'Редактировать'
|
||||||
|
edit_password_description: 'Оставьте пароль пустым, если не хотите его менять'
|
||||||
|
current_password_description: 'Нам нужен ваш текущий пароль для подтверждения изменения'
|
||||||
|
cancel: 'Удалить'
|
||||||
|
cancel_confirmation: 'Вы уверены, что хотите удалить учетную запись?'
|
||||||
unlocks:
|
unlocks:
|
||||||
link: "Не получили инструкции для разблокировки учетной записи?"
|
link: "Не получили инструкции для разблокировки учетной записи?"
|
||||||
send_instructions: 'Вы получите письмо с инструкциями о том, как разблокировать вашу учетную запись, через несколько минут.'
|
send_instructions: 'Вы получите письмо с инструкциями о том, как разблокировать вашу учетную запись, через несколько минут.'
|
||||||
|
|
|
@ -19,6 +19,7 @@ ru:
|
||||||
list: Список
|
list: Список
|
||||||
new: Создать
|
new: Создать
|
||||||
new_header: Новая платформа
|
new_header: Новая платформа
|
||||||
|
edit_header: Редактировать
|
||||||
list_header: Платформы
|
list_header: Платформы
|
||||||
show: Платформа
|
show: Платформа
|
||||||
projects: Проекты
|
projects: Проекты
|
||||||
|
@ -45,8 +46,15 @@ ru:
|
||||||
git_repo_location: Путь к git-репозиторию
|
git_repo_location: Путь к git-репозиторию
|
||||||
back_to_the_list: ⇐ К списку проектов репозитория
|
back_to_the_list: ⇐ К списку проектов репозитория
|
||||||
users:
|
users:
|
||||||
new: Новый пользователь
|
list: Список
|
||||||
|
new: Создать
|
||||||
|
edit: Редактировать
|
||||||
|
new_header: Новый пользователь
|
||||||
|
edit_header: Редактировать
|
||||||
|
list_header: Пользователи
|
||||||
|
show: Пользователь
|
||||||
back_to_the_list: ⇐ К списку пользователей
|
back_to_the_list: ⇐ К списку пользователей
|
||||||
|
confirm_delete: Вы уверены, что хотите удалить этого пользователя?
|
||||||
git:
|
git:
|
||||||
repositories:
|
repositories:
|
||||||
empty: Пустой репозиторий
|
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;
|
||||||
|
}
|