From 8703ff4340356e56f3dbe9bc0030d3ff454eab28 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:34:59 +0800 Subject: [PATCH 01/20] rails g controller admin::products (w1r2p10) --- app/assets/javascripts/admin/products.js.coffee | 3 +++ app/assets/stylesheets/admin/products.css.scss | 3 +++ app/controllers/admin/products_controller.rb | 2 ++ app/helpers/admin/products_helper.rb | 2 ++ test/controllers/admin/products_controller_test.rb | 7 +++++++ test/helpers/admin/products_helper_test.rb | 4 ++++ 6 files changed, 21 insertions(+) create mode 100644 app/assets/javascripts/admin/products.js.coffee create mode 100644 app/assets/stylesheets/admin/products.css.scss create mode 100644 app/controllers/admin/products_controller.rb create mode 100644 app/helpers/admin/products_helper.rb create mode 100644 test/controllers/admin/products_controller_test.rb create mode 100644 test/helpers/admin/products_helper_test.rb diff --git a/app/assets/javascripts/admin/products.js.coffee b/app/assets/javascripts/admin/products.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/admin/products.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/admin/products.css.scss b/app/assets/stylesheets/admin/products.css.scss new file mode 100644 index 0000000..da8969d --- /dev/null +++ b/app/assets/stylesheets/admin/products.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the admin::products controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb new file mode 100644 index 0000000..b7b829c --- /dev/null +++ b/app/controllers/admin/products_controller.rb @@ -0,0 +1,2 @@ +class Admin::ProductsController < ApplicationController +end diff --git a/app/helpers/admin/products_helper.rb b/app/helpers/admin/products_helper.rb new file mode 100644 index 0000000..977a242 --- /dev/null +++ b/app/helpers/admin/products_helper.rb @@ -0,0 +1,2 @@ +module Admin::ProductsHelper +end diff --git a/test/controllers/admin/products_controller_test.rb b/test/controllers/admin/products_controller_test.rb new file mode 100644 index 0000000..508fe6b --- /dev/null +++ b/test/controllers/admin/products_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class Admin::ProductsControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/helpers/admin/products_helper_test.rb b/test/helpers/admin/products_helper_test.rb new file mode 100644 index 0000000..0b696b1 --- /dev/null +++ b/test/helpers/admin/products_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class Admin::ProductsHelperTest < ActionView::TestCase +end From 20aaea85a862fd25901dee9208cdd395f985c90b Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:36:45 +0800 Subject: [PATCH 02/20] Add namespace admin with resources products in routes (w1r2p11) --- config/routes.rb | 62 ++++++------------------------------------------ 1 file changed, 7 insertions(+), 55 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index 3f66539..59b3a74 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,56 +1,8 @@ Rails.application.routes.draw do - # The priority is based upon order of creation: first created -> highest priority. - # See how all your routes lay out with "rake routes". - - # You can have the root of your site routed with "root" - # root 'welcome#index' - - # Example of regular route: - # get 'products/:id' => 'catalog#view' - - # Example of named route that can be invoked with purchase_url(id: product.id) - # get 'products/:id/purchase' => 'catalog#purchase', as: :purchase - - # Example resource route (maps HTTP verbs to controller actions automatically): - # resources :products - - # Example resource route with options: - # resources :products do - # member do - # get 'short' - # post 'toggle' - # end - # - # collection do - # get 'sold' - # end - # end - - # Example resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end - - # Example resource route with more complex sub-resources: - # resources :products do - # resources :comments - # resources :sales do - # get 'recent', on: :collection - # end - # end - - # Example resource route with concerns: - # concern :toggleable do - # post 'toggle' - # end - # resources :posts, concerns: :toggleable - # resources :photos, concerns: :toggleable - - # Example resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end -end + + namespace :admin do + resources :products + end + + +end \ No newline at end of file From 900b387b7fefab4f6f8b32409a711586f2166936 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:37:39 +0800 Subject: [PATCH 03/20] rails g model product title:string description:text quantity:integer (w1r2p12) --- app/models/product.rb | 2 ++ db/migrate/20140708123716_create_products.rb | 11 +++++++++++ test/fixtures/products.yml | 11 +++++++++++ test/models/product_test.rb | 7 +++++++ 4 files changed, 31 insertions(+) create mode 100644 app/models/product.rb create mode 100644 db/migrate/20140708123716_create_products.rb create mode 100644 test/fixtures/products.yml create mode 100644 test/models/product_test.rb diff --git a/app/models/product.rb b/app/models/product.rb new file mode 100644 index 0000000..077a819 --- /dev/null +++ b/app/models/product.rb @@ -0,0 +1,2 @@ +class Product < ActiveRecord::Base +end diff --git a/db/migrate/20140708123716_create_products.rb b/db/migrate/20140708123716_create_products.rb new file mode 100644 index 0000000..805c976 --- /dev/null +++ b/db/migrate/20140708123716_create_products.rb @@ -0,0 +1,11 @@ +class CreateProducts < ActiveRecord::Migration + def change + create_table :products do |t| + t.string :title + t.text :description + t.integer :quantity + + t.timestamps + end + end +end diff --git a/test/fixtures/products.yml b/test/fixtures/products.yml new file mode 100644 index 0000000..c3b9bc1 --- /dev/null +++ b/test/fixtures/products.yml @@ -0,0 +1,11 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +one: + title: MyString + description: MyText + quantity: 1 + +two: + title: MyString + description: MyText + quantity: 1 diff --git a/test/models/product_test.rb b/test/models/product_test.rb new file mode 100644 index 0000000..211cdd0 --- /dev/null +++ b/test/models/product_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class ProductTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From c773d8303a6c964651e2dc1204cdb49900c96e71 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:40:49 +0800 Subject: [PATCH 04/20] Add new and create in products controller (w1r2p14) --- app/controllers/admin/products_controller.rb | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index b7b829c..0bc233e 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -1,2 +1,22 @@ class Admin::ProductsController < ApplicationController -end + + def new + @product = Product.new + end + + def create + @product = Product.new(product_params) + + if @product.save + redirect_to admin_products_path + else + render :new + end + end + + private + + def product_params + params.require(:product).permit(:title, :description,:quantity) + end +end \ No newline at end of file From fa644a04139b825755aae66159f5e1dd026db694 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:42:29 +0800 Subject: [PATCH 05/20] Add products#new view (w1r2p15) --- app/views/admin/products/new.html.erb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 app/views/admin/products/new.html.erb diff --git a/app/views/admin/products/new.html.erb b/app/views/admin/products/new.html.erb new file mode 100644 index 0000000..1b5693a --- /dev/null +++ b/app/views/admin/products/new.html.erb @@ -0,0 +1,22 @@ +<%= form_for [:admin, @product] do |f| %> + +
+ <%= f.label("標題") %> + <%= f.text_field :title %> +
+ +
+ <%= f.label("敘述") %> + <%= f.text_area :description %> +
+ +
+ <%= f.label("數量") %> + <%= f.text_field :quantity %> +
+ + + <%= f.submit "Submit", :disable_with => 'Submitting...' %> + + +<% end %> \ No newline at end of file From 18069a533e10dd3175a8e1910069eff3cb705c24 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:49:25 +0800 Subject: [PATCH 06/20] Add products index and rake db:migrate (w1r2p17) --- app/controllers/admin/products_controller.rb | 14 ++++++++---- app/views/admin/products/index.html.erb | 5 ++++ db/schema.rb | 24 ++++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) create mode 100644 app/views/admin/products/index.html.erb create mode 100644 db/schema.rb diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index 0bc233e..410127c 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -1,21 +1,25 @@ class Admin::ProductsController < ApplicationController - + def new @product = Product.new end - + def create @product = Product.new(product_params) - + if @product.save redirect_to admin_products_path else render :new end end - + + def index + @products = Product.all + end + private - + def product_params params.require(:product).permit(:title, :description,:quantity) end diff --git a/app/views/admin/products/index.html.erb b/app/views/admin/products/index.html.erb new file mode 100644 index 0000000..2eaa968 --- /dev/null +++ b/app/views/admin/products/index.html.erb @@ -0,0 +1,5 @@ +
    +<% @products.each do |product| %> +
  • <%= link_to(product.title, admin_product_path(product)) %>
  • +<% end %> +
\ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb new file mode 100644 index 0000000..9249808 --- /dev/null +++ b/db/schema.rb @@ -0,0 +1,24 @@ +# encoding: UTF-8 +# This file is auto-generated from the current state of the database. Instead +# of editing this file, please use the migrations feature of Active Record to +# incrementally modify your database, and then regenerate this schema definition. +# +# Note that this schema.rb definition is the authoritative source for your +# database schema. If you need to create the application database on another +# system, you should be using db:schema:load, not running all the migrations +# from scratch. The latter is a flawed and unsustainable approach (the more migrations +# you'll amass, the slower it'll run and the greater likelihood for issues). +# +# It's strongly recommended that you check this file into your version control system. + +ActiveRecord::Schema.define(version: 20140708123716) do + + create_table "products", force: true do |t| + t.string "title" + t.text "description" + t.integer "quantity" + t.datetime "created_at" + t.datetime "updated_at" + end + +end From 8ce258193d91b22fa4f68e2e8680d404d6b596e3 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:51:08 +0800 Subject: [PATCH 07/20] Add gem devise --- Gemfile | 1 + Gemfile.lock | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Gemfile b/Gemfile index fba3b4e..7f2a5f5 100644 --- a/Gemfile +++ b/Gemfile @@ -26,6 +26,7 @@ gem 'sdoc', '~> 0.4.0', group: :doc # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring', group: :development +gem 'devise' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' diff --git a/Gemfile.lock b/Gemfile.lock index 53538d9..9c290d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -28,6 +28,7 @@ GEM thread_safe (~> 0.1) tzinfo (~> 1.1) arel (5.0.1.20140414130214) + bcrypt (3.1.7) builder (3.2.2) coffee-rails (4.0.1) coffee-script (>= 2.2.0) @@ -36,6 +37,12 @@ GEM coffee-script-source execjs coffee-script-source (1.7.0) + devise (3.2.4) + bcrypt (~> 3.0) + orm_adapter (~> 0.1) + railties (>= 3.2.6, < 5) + thread_safe (~> 0.1) + warden (~> 1.2.3) erubis (2.7.0) execjs (2.2.0) hike (1.2.3) @@ -53,6 +60,7 @@ GEM mime-types (1.25.1) minitest (5.3.4) multi_json (1.10.1) + orm_adapter (0.5.0) polyglot (0.3.5) rack (1.5.2) rack-test (0.6.2) @@ -108,12 +116,15 @@ GEM uglifier (2.5.0) execjs (>= 0.3.0) json (>= 1.8.0) + warden (1.2.3) + rack (>= 1.0) PLATFORMS ruby DEPENDENCIES coffee-rails (~> 4.0.0) + devise jbuilder (~> 2.0) jquery-rails rails (= 4.1.0) From 36bf8fa75e9e7c6021f97591cd14f36ef9d598f7 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 20:52:02 +0800 Subject: [PATCH 08/20] Install devise (w1r2p22) --- app/models/user.rb | 6 + config/initializers/devise.rb | 256 ++++++++++++++++++ config/locales/devise.en.yml | 59 ++++ config/routes.rb | 1 + .../20140708125139_devise_create_users.rb | 42 +++ db/schema.rb | 20 +- test/fixtures/users.yml | 11 + test/models/user_test.rb | 7 + 8 files changed, 401 insertions(+), 1 deletion(-) create mode 100644 app/models/user.rb create mode 100644 config/initializers/devise.rb create mode 100644 config/locales/devise.en.yml create mode 100644 db/migrate/20140708125139_devise_create_users.rb create mode 100644 test/fixtures/users.yml create mode 100644 test/models/user_test.rb diff --git a/app/models/user.rb b/app/models/user.rb new file mode 100644 index 0000000..c822027 --- /dev/null +++ b/app/models/user.rb @@ -0,0 +1,6 @@ +class User < ActiveRecord::Base + # Include default devise modules. Others available are: + # :confirmable, :lockable, :timeoutable and :omniauthable + devise :database_authenticatable, :registerable, + :recoverable, :rememberable, :trackable, :validatable +end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb new file mode 100644 index 0000000..2923fe4 --- /dev/null +++ b/config/initializers/devise.rb @@ -0,0 +1,256 @@ +# Use this hook to configure devise mailer, warden hooks and so forth. +# Many of these configuration options can be set straight in your model. +Devise.setup do |config| + # The secret key used by Devise. Devise uses this key to generate + # random tokens. Changing this key will render invalid all existing + # confirmation, reset password and unlock tokens in the database. + # config.secret_key = '9466eb041953b39742865391e8b3cf5113385fdd1729291a9deeda6a0fa358439e2825f7e97d4912b595d2b1b7ded3c5053da3d5c38f3abe4238c9d601655fac' + + # ==> Mailer Configuration + # Configure the e-mail address which will be shown in Devise::Mailer, + # note that it will be overwritten if you use your own mailer class + # with default "from" parameter. + config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com' + + # Configure the class responsible to send e-mails. + # config.mailer = 'Devise::Mailer' + + # ==> ORM configuration + # Load and configure the ORM. Supports :active_record (default) and + # :mongoid (bson_ext recommended) by default. Other ORMs may be + # available as additional gems. + require 'devise/orm/active_record' + + # ==> Configuration for any authentication mechanism + # Configure which keys are used when authenticating a user. The default is + # just :email. You can configure it to use [:username, :subdomain], so for + # authenticating a user, both parameters are required. Remember that those + # parameters are used only when authenticating and not when retrieving from + # session. If you need permissions, you should implement that in a before filter. + # You can also supply a hash where the value is a boolean determining whether + # or not authentication should be aborted when the value is not present. + # config.authentication_keys = [ :email ] + + # Configure parameters from the request object used for authentication. Each entry + # given should be a request method and it will automatically be passed to the + # find_for_authentication method and considered in your model lookup. For instance, + # if you set :request_keys to [:subdomain], :subdomain will be used on authentication. + # The same considerations mentioned for authentication_keys also apply to request_keys. + # config.request_keys = [] + + # Configure which authentication keys should be case-insensitive. + # These keys will be downcased upon creating or modifying a user and when used + # to authenticate or find a user. Default is :email. + config.case_insensitive_keys = [ :email ] + + # Configure which authentication keys should have whitespace stripped. + # These keys will have whitespace before and after removed upon creating or + # modifying a user and when used to authenticate or find a user. Default is :email. + config.strip_whitespace_keys = [ :email ] + + # Tell if authentication through request.params is enabled. True by default. + # It can be set to an array that will enable params authentication only for the + # given strategies, for example, `config.params_authenticatable = [:database]` will + # enable it only for database (email + password) authentication. + # config.params_authenticatable = true + + # Tell if authentication through HTTP Auth is enabled. False by default. + # It can be set to an array that will enable http authentication only for the + # given strategies, for example, `config.http_authenticatable = [:database]` will + # enable it only for database authentication. The supported strategies are: + # :database = Support basic authentication with authentication key + password + # config.http_authenticatable = false + + # If http headers should be returned for AJAX requests. True by default. + # config.http_authenticatable_on_xhr = true + + # The realm used in Http Basic Authentication. 'Application' by default. + # config.http_authentication_realm = 'Application' + + # It will change confirmation, password recovery and other workflows + # to behave the same regardless if the e-mail provided was right or wrong. + # Does not affect registerable. + # config.paranoid = true + + # By default Devise will store the user in session. You can skip storage for + # particular strategies by setting this option. + # Notice that if you are skipping storage for all authentication paths, you + # may want to disable generating routes to Devise's sessions controller by + # passing skip: :sessions to `devise_for` in your config/routes.rb + config.skip_session_storage = [:http_auth] + + # By default, Devise cleans up the CSRF token on authentication to + # avoid CSRF token fixation attacks. This means that, when using AJAX + # requests for sign in and sign up, you need to get a new CSRF token + # from the server. You can disable this option at your own risk. + # config.clean_up_csrf_token_on_authentication = true + + # ==> Configuration for :database_authenticatable + # For bcrypt, this is the cost for hashing the password and defaults to 10. If + # using other encryptors, it sets how many times you want the password re-encrypted. + # + # Limiting the stretches to just one in testing will increase the performance of + # your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use + # a value less than 10 in other environments. Note that, for bcrypt (the default + # encryptor), the cost increases exponentially with the number of stretches (e.g. + # a value of 20 is already extremely slow: approx. 60 seconds for 1 calculation). + config.stretches = Rails.env.test? ? 1 : 10 + + # Setup a pepper to generate the encrypted password. + # config.pepper = 'ad415d895027fc3d1bbfa96e60de9064d42b2045a92a116fba98987f46a8d1c9c468c264a1f08e62ae90ebbae04b38b22ca56ae61457b922fe0c3654ed1143a3' + + # ==> Configuration for :confirmable + # A period that the user is allowed to access the website even without + # confirming their account. For instance, if set to 2.days, the user will be + # able to access the website for two days without confirming their account, + # access will be blocked just in the third day. Default is 0.days, meaning + # the user cannot access the website without confirming their account. + # config.allow_unconfirmed_access_for = 2.days + + # A period that the user is allowed to confirm their account before their + # token becomes invalid. For example, if set to 3.days, the user can confirm + # their account within 3 days after the mail was sent, but on the fourth day + # their account can't be confirmed with the token any more. + # Default is nil, meaning there is no restriction on how long a user can take + # before confirming their account. + # config.confirm_within = 3.days + + # If true, requires any email changes to be confirmed (exactly the same way as + # initial account confirmation) to be applied. Requires additional unconfirmed_email + # db field (see migrations). Until confirmed, new email is stored in + # unconfirmed_email column, and copied to email column on successful confirmation. + config.reconfirmable = true + + # Defines which key will be used when confirming an account + # config.confirmation_keys = [ :email ] + + # ==> Configuration for :rememberable + # The time the user will be remembered without asking for credentials again. + # config.remember_for = 2.weeks + + # If true, extends the user's remember period when remembered via cookie. + # config.extend_remember_period = false + + # Options to be passed to the created cookie. For instance, you can set + # secure: true in order to force SSL only cookies. + # config.rememberable_options = {} + + # ==> Configuration for :validatable + # Range for password length. + config.password_length = 8..128 + + # Email regex used to validate email formats. It simply asserts that + # one (and only one) @ exists in the given string. This is mainly + # to give user feedback and not to assert the e-mail validity. + # config.email_regexp = /\A[^@]+@[^@]+\z/ + + # ==> Configuration for :timeoutable + # The time you want to timeout the user session without activity. After this + # time the user will be asked for credentials again. Default is 30 minutes. + # config.timeout_in = 30.minutes + + # If true, expires auth token on session timeout. + # config.expire_auth_token_on_timeout = false + + # ==> Configuration for :lockable + # Defines which strategy will be used to lock an account. + # :failed_attempts = Locks an account after a number of failed attempts to sign in. + # :none = No lock strategy. You should handle locking by yourself. + # config.lock_strategy = :failed_attempts + + # Defines which key will be used when locking and unlocking an account + # config.unlock_keys = [ :email ] + + # Defines which strategy will be used to unlock an account. + # :email = Sends an unlock link to the user email + # :time = Re-enables login after a certain amount of time (see :unlock_in below) + # :both = Enables both strategies + # :none = No unlock strategy. You should handle unlocking by yourself. + # config.unlock_strategy = :both + + # Number of authentication tries before locking an account if lock_strategy + # is failed attempts. + # config.maximum_attempts = 20 + + # Time interval to unlock the account if :time is enabled as unlock_strategy. + # config.unlock_in = 1.hour + + # Warn on the last attempt before the account is locked. + # config.last_attempt_warning = false + + # ==> Configuration for :recoverable + # + # Defines which key will be used when recovering the password for an account + # config.reset_password_keys = [ :email ] + + # Time interval you can reset your password with a reset password key. + # Don't put a too small interval or your users won't have the time to + # change their passwords. + config.reset_password_within = 6.hours + + # ==> Configuration for :encryptable + # Allow you to use another encryption algorithm besides bcrypt (default). You can use + # :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1, + # :authlogic_sha512 (then you should set stretches above to 20 for default behavior) + # and :restful_authentication_sha1 (then you should set stretches to 10, and copy + # REST_AUTH_SITE_KEY to pepper). + # + # Require the `devise-encryptable` gem when using anything other than bcrypt + # config.encryptor = :sha512 + + # ==> Scopes configuration + # Turn scoped views on. Before rendering "sessions/new", it will first check for + # "users/sessions/new". It's turned off by default because it's slower if you + # are using only default views. + # config.scoped_views = false + + # Configure the default scope given to Warden. By default it's the first + # devise role declared in your routes (usually :user). + # config.default_scope = :user + + # Set this configuration to false if you want /users/sign_out to sign out + # only the current scope. By default, Devise signs out all scopes. + # config.sign_out_all_scopes = true + + # ==> Navigation configuration + # Lists the formats that should be treated as navigational. Formats like + # :html, should redirect to the sign in page when the user does not have + # access, but formats like :xml or :json, should return 401. + # + # If you have any extra navigational formats, like :iphone or :mobile, you + # should add them to the navigational formats lists. + # + # The "*/*" below is required to match Internet Explorer requests. + # config.navigational_formats = ['*/*', :html] + + # The default HTTP method used to sign out a resource. Default is :delete. + config.sign_out_via = :delete + + # ==> OmniAuth + # Add a new OmniAuth provider. Check the wiki for more information on setting + # up on your models and hooks. + # config.omniauth :github, 'APP_ID', 'APP_SECRET', scope: 'user,public_repo' + + # ==> Warden configuration + # If you want to use other strategies, that are not supported by Devise, or + # change the failure app, you can configure them inside the config.warden block. + # + # config.warden do |manager| + # manager.intercept_401 = false + # manager.default_strategies(scope: :user).unshift :some_external_strategy + # end + + # ==> Mountable engine configurations + # When using Devise inside an engine, let's call it `MyEngine`, and this engine + # is mountable, there are some extra configurations to be taken into account. + # The following options are available, assuming the engine is mounted as: + # + # mount MyEngine, at: '/my_engine' + # + # The router that invoked `devise_for`, in the example above, would be: + # config.router_name = :my_engine + # + # When using omniauth, Devise cannot automatically set Omniauth path, + # so you need to do it manually. For the users scope, it would be: + # config.omniauth_path_prefix = '/my_engine/users/auth' +end diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml new file mode 100644 index 0000000..abccdb0 --- /dev/null +++ b/config/locales/devise.en.yml @@ -0,0 +1,59 @@ +# Additional translations at https://github.com/plataformatec/devise/wiki/I18n + +en: + devise: + confirmations: + confirmed: "Your account was successfully confirmed." + send_instructions: "You will receive an email with instructions about how to confirm your account in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes." + failure: + already_authenticated: "You are already signed in." + inactive: "Your account is not activated yet." + invalid: "Invalid email or password." + locked: "Your account is locked." + last_attempt: "You have one more attempt before your account will be locked." + not_found_in_database: "Invalid email or password." + timeout: "Your session expired. Please sign in again to continue." + unauthenticated: "You need to sign in or sign up before continuing." + unconfirmed: "You have to confirm your account before continuing." + mailer: + confirmation_instructions: + subject: "Confirmation instructions" + reset_password_instructions: + subject: "Reset password instructions" + unlock_instructions: + subject: "Unlock Instructions" + omniauth_callbacks: + failure: "Could not authenticate you from %{kind} because \"%{reason}\"." + success: "Successfully authenticated from %{kind} account." + passwords: + no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." + send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes." + send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes." + updated: "Your password was changed successfully. You are now signed in." + updated_not_active: "Your password was changed successfully." + registrations: + destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon." + signed_up: "Welcome! You have signed up successfully." + signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated." + signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked." + signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please open the link to activate your account." + update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address." + updated: "You updated your account successfully." + sessions: + signed_in: "Signed in successfully." + signed_out: "Signed out successfully." + unlocks: + send_instructions: "You will receive an email with instructions about how to unlock your account in a few minutes." + send_paranoid_instructions: "If your account exists, you will receive an email with instructions about how to unlock it in a few minutes." + unlocked: "Your account has been unlocked successfully. Please sign in to continue." + errors: + messages: + already_confirmed: "was already confirmed, please try signing in" + confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one" + expired: "has expired, please request a new one" + not_found: "not found" + not_locked: "was not locked" + not_saved: + one: "1 error prohibited this %{resource} from being saved:" + other: "%{count} errors prohibited this %{resource} from being saved:" diff --git a/config/routes.rb b/config/routes.rb index 59b3a74..73b5503 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,6 @@ Rails.application.routes.draw do + devise_for :users namespace :admin do resources :products end diff --git a/db/migrate/20140708125139_devise_create_users.rb b/db/migrate/20140708125139_devise_create_users.rb new file mode 100644 index 0000000..cf497c2 --- /dev/null +++ b/db/migrate/20140708125139_devise_create_users.rb @@ -0,0 +1,42 @@ +class DeviseCreateUsers < ActiveRecord::Migration + def change + create_table(:users) do |t| + ## Database authenticatable + t.string :email, null: false, default: "" + t.string :encrypted_password, null: false, default: "" + + ## Recoverable + t.string :reset_password_token + t.datetime :reset_password_sent_at + + ## Rememberable + t.datetime :remember_created_at + + ## Trackable + t.integer :sign_in_count, default: 0, null: false + t.datetime :current_sign_in_at + t.datetime :last_sign_in_at + t.string :current_sign_in_ip + t.string :last_sign_in_ip + + ## Confirmable + # t.string :confirmation_token + # t.datetime :confirmed_at + # t.datetime :confirmation_sent_at + # t.string :unconfirmed_email # Only if using reconfirmable + + ## Lockable + # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts + # t.string :unlock_token # Only if unlock strategy is :email or :both + # t.datetime :locked_at + + + t.timestamps + end + + add_index :users, :email, unique: true + add_index :users, :reset_password_token, unique: true + # add_index :users, :confirmation_token, unique: true + # add_index :users, :unlock_token, unique: true + end +end diff --git a/db/schema.rb b/db/schema.rb index 9249808..42dd040 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140708123716) do +ActiveRecord::Schema.define(version: 20140708125139) do create_table "products", force: true do |t| t.string "title" @@ -21,4 +21,22 @@ t.datetime "updated_at" end + create_table "users", force: true do |t| + t.string "email", default: "", null: false + t.string "encrypted_password", default: "", null: false + t.string "reset_password_token" + t.datetime "reset_password_sent_at" + t.datetime "remember_created_at" + t.integer "sign_in_count", default: 0, null: false + t.datetime "current_sign_in_at" + t.datetime "last_sign_in_at" + t.string "current_sign_in_ip" + t.string "last_sign_in_ip" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "users", ["email"], name: "index_users_on_email", unique: true + add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true + end diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml new file mode 100644 index 0000000..937a0c0 --- /dev/null +++ b/test/fixtures/users.yml @@ -0,0 +1,11 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html + +# This model initially had no columns defined. If you add columns to the +# model remove the '{}' from the fixture names and add the columns immediately +# below each fixture, per the syntax in the comments below +# +one: {} +# column: value +# +two: {} +# column: value diff --git a/test/models/user_test.rb b/test/models/user_test.rb new file mode 100644 index 0000000..82f61e0 --- /dev/null +++ b/test/models/user_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class UserTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From 8b4d7ae3d92a65644cf9b5d9bc3c99c935447480 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 21:10:56 +0800 Subject: [PATCH 09/20] Add check if user is admin and signin (w1r2p31) --- app/controllers/admin/products_controller.rb | 3 +++ app/controllers/application_controller.rb | 9 ++++++++- app/models/user.rb | 10 +++++++++- db/migrate/20140708130412_add_is_admin_to_user.rb | 5 +++++ db/schema.rb | 9 +++++---- 5 files changed, 30 insertions(+), 6 deletions(-) create mode 100644 db/migrate/20140708130412_add_is_admin_to_user.rb diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index 410127c..5a5187d 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -1,5 +1,8 @@ class Admin::ProductsController < ApplicationController +before_action :authenticate_user! +before_action :admin_required + def new @product = Product.new end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d83690e..1fc0944 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,4 +2,11 @@ class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception -end + + + + def admin_required + current_user.admin? + end + +end \ No newline at end of file diff --git a/app/models/user.rb b/app/models/user.rb index c822027..4a22865 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -3,4 +3,12 @@ class User < ActiveRecord::Base # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable -end + + + + def admin? + is_admin + end + + +end \ No newline at end of file diff --git a/db/migrate/20140708130412_add_is_admin_to_user.rb b/db/migrate/20140708130412_add_is_admin_to_user.rb new file mode 100644 index 0000000..1ef84cf --- /dev/null +++ b/db/migrate/20140708130412_add_is_admin_to_user.rb @@ -0,0 +1,5 @@ +class AddIsAdminToUser < ActiveRecord::Migration + def change + add_column :users, :is_admin, :boolean, :default => false + end +end diff --git a/db/schema.rb b/db/schema.rb index 42dd040..3debe75 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140708125139) do +ActiveRecord::Schema.define(version: 20140708130412) do create_table "products", force: true do |t| t.string "title" @@ -22,18 +22,19 @@ end create_table "users", force: true do |t| - t.string "email", default: "", null: false - t.string "encrypted_password", default: "", null: false + t.string "email", default: "", null: false + t.string "encrypted_password", default: "", null: false t.string "reset_password_token" t.datetime "reset_password_sent_at" t.datetime "remember_created_at" - t.integer "sign_in_count", default: 0, null: false + t.integer "sign_in_count", default: 0, null: false t.datetime "current_sign_in_at" t.datetime "last_sign_in_at" t.string "current_sign_in_ip" t.string "last_sign_in_ip" t.datetime "created_at" t.datetime "updated_at" + t.boolean "is_admin", default: false end add_index "users", ["email"], name: "index_users_on_email", unique: true From 0e260ff884d4ed29d1fa3b24ec3f35629a8c29aa Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 22:06:36 +0800 Subject: [PATCH 10/20] Add signout (w1r2p34) --- app/views/layouts/application.html.erb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index da9769d..4659d53 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,8 +7,14 @@ <%= csrf_meta_tags %> - + + <% if !current_user %> + <%= link_to("登入", new_user_session_path) %> + <% else %> + <%= link_to("登出", destroy_user_session_path, :method => :delete ) %> + <% end %> + <%= yield %> - + - + \ No newline at end of file From b5b5a7aa46c8e078f648edf7a71a090adc6c56fa Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 22:07:58 +0800 Subject: [PATCH 11/20] add gem bootstrap-sass (w1r2p40) --- Gemfile | 3 +++ Gemfile.lock | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Gemfile b/Gemfile index 7f2a5f5..1805586 100644 --- a/Gemfile +++ b/Gemfile @@ -27,6 +27,9 @@ gem 'sdoc', '~> 0.4.0', group: :doc gem 'spring', group: :development gem 'devise' + +gem 'bootstrap-sass' + # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' diff --git a/Gemfile.lock b/Gemfile.lock index 9c290d8..26689c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -29,6 +29,8 @@ GEM tzinfo (~> 1.1) arel (5.0.1.20140414130214) bcrypt (3.1.7) + bootstrap-sass (3.0.3.0) + sass (~> 3.2) builder (3.2.2) coffee-rails (4.0.1) coffee-script (>= 2.2.0) @@ -123,6 +125,7 @@ PLATFORMS ruby DEPENDENCIES + bootstrap-sass coffee-rails (~> 4.0.0) devise jbuilder (~> 2.0) From e35bb66ca892ef026b196824b8ee09459911af30 Mon Sep 17 00:00:00 2001 From: edcckao Date: Tue, 8 Jul 2014 22:13:41 +0800 Subject: [PATCH 12/20] Add bootstrap Asset pipeline mount (w1r2p41) [end_of_w1_class] --- app/assets/stylesheets/application.css | 1 + 1 file changed, 1 insertion(+) diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index a443db3..bcdb41c 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -12,4 +12,5 @@ * *= require_tree . *= require_self + *= require bootstrap */ From 9f7fe367c8479992163a8647419a5911e9323c56 Mon Sep 17 00:00:00 2001 From: edcckao Date: Wed, 9 Jul 2014 01:56:56 +0800 Subject: [PATCH 13/20] Apply sdlong's Gemfile --- Gemfile | 44 +++++++++++++++++--- Gemfile.lock | 113 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 147 insertions(+), 10 deletions(-) diff --git a/Gemfile b/Gemfile index 1805586..2fce463 100644 --- a/Gemfile +++ b/Gemfile @@ -1,10 +1,9 @@ source 'https://rubygems.org' - # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '4.1.0' # Use sqlite3 as the database for Active Record -gem 'sqlite3' + # Use SCSS for stylesheets gem 'sass-rails', '~> 4.0.3' # Use Uglifier as compressor for JavaScript assets @@ -26,10 +25,6 @@ gem 'sdoc', '~> 0.4.0', group: :doc # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring', group: :development -gem 'devise' - -gem 'bootstrap-sass' - # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7' @@ -42,3 +37,40 @@ gem 'bootstrap-sass' # Use debugger # gem 'debugger', group: [:development, :test] +group :development do + gem 'sqlite3' + gem "magic_encoding" # 解決 Rails 中文顯示問題 + gem "annotate" # 在 Model 裡顯示對應的資料庫設定 + gem "letter_opener" # 預覽發送的 Mail 內容 + gem "better_errors", "~> 0.9.0" #錯誤訊息幫手 + gem 'meta_request' # 查看 log @ chrome 神器 +end + +#for heroku +group :production do + gem 'pg' , '0.15.1' + gem 'rails_12factor' , '0.0.2' +end + +# 幫助表單輸入用 +gem "simple_form", "~> 3.0.0.rc" + +gem "seo_helper" + +# CSS 套件 +gem "susy" +gem 'compass', '>= 0.12.2' +gem 'compass-rails', '>= 1.0.3' +gem "bootstrap_helper", ">= 4.2.2.1" +gem "anjlab-bootstrap-rails", "2.3.1.2", :require => "bootstrap-rails" + +# 身份驗證功能 +gem "devise", "~> 3.2.2" +gem "omniauth" +gem "omniauth-facebook" +gem "auto-facebook", "0.42" + +# embedly for jQuery Preview +gem "embedly", "~> 1.8.0" + +gem "settingslogic", "~> 2.0.9" \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 26689c3..588159e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -27,11 +27,30 @@ GEM minitest (~> 5.1) thread_safe (~> 0.1) tzinfo (~> 1.1) + addressable (2.3.6) + anjlab-bootstrap-rails (2.3.1.2) + railties (>= 3.0) + sass (>= 3.2) + annotate (2.6.5) + activerecord (>= 2.3.0) + rake (>= 0.8.7) arel (5.0.1.20140414130214) + auto-facebook (0.42) + omniauth + omniauth-facebook + rails (>= 4.0.0) bcrypt (3.1.7) - bootstrap-sass (3.0.3.0) - sass (~> 3.2) + better_errors (0.9.0) + coderay (>= 1.0.0) + erubis (>= 2.6.6) + bootstrap_helper (4.2.3) + railties (>= 4.0.0) + thor (~> 0.14) + will_paginate (>= 3.0.3) builder (3.2.2) + callsite (0.0.11) + chunky_png (1.3.1) + coderay (1.1.0) coffee-rails (4.0.1) coffee-script (>= 2.2.0) railties (>= 4.0.0, < 5.0) @@ -39,14 +58,33 @@ GEM coffee-script-source execjs coffee-script-source (1.7.0) + compass (0.12.6) + chunky_png (~> 1.2) + fssm (>= 0.2.7) + sass (~> 3.2.19) + compass-rails (1.1.7) + compass (>= 0.12.2) + sprockets (<= 2.11.0) devise (3.2.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 3.2.6, < 5) thread_safe (~> 0.1) warden (~> 1.2.3) + embedly (1.8.0) + json + oauth + querystring + typhoeus erubis (2.7.0) + ethon (0.7.1) + ffi (>= 1.3.0) execjs (2.2.0) + faraday (0.9.0) + multipart-post (>= 1.2, < 3) + ffi (1.9.3) + fssm (0.2.10) + hashie (2.1.2) hike (1.2.3) i18n (0.6.9) jbuilder (2.0.8) @@ -56,15 +94,48 @@ GEM railties (>= 3.0, < 5.0) thor (>= 0.14, < 2.0) json (1.8.1) + jwt (1.0.0) + launchy (2.4.2) + addressable (~> 2.3) + letter_opener (1.2.0) + launchy (~> 2.2) + magic_encoding (0.0.2) mail (2.5.4) mime-types (~> 1.16) treetop (~> 1.4.8) + meta_request (0.3.0) + callsite + rack-contrib + railties mime-types (1.25.1) minitest (5.3.4) multi_json (1.10.1) + multi_xml (0.5.5) + multipart-post (2.0.0) + oauth (0.4.7) + oauth2 (0.9.4) + faraday (>= 0.8, < 0.10) + jwt (~> 1.0) + multi_json (~> 1.3) + multi_xml (~> 0.5) + rack (~> 1.2) + omniauth (1.2.1) + hashie (>= 1.2, < 3) + rack (~> 1.0) + omniauth-facebook (1.6.0) + omniauth-oauth2 (~> 1.1) + omniauth-oauth2 (1.1.2) + faraday (>= 0.8, < 0.10) + multi_json (~> 1.3) + oauth2 (~> 0.9.3) + omniauth (~> 1.2) orm_adapter (0.5.0) + pg (0.15.1) polyglot (0.3.5) + querystring (0.1.0) rack (1.5.2) + rack-contrib (1.1.0) + rack (>= 0.9.1) rack-test (0.6.2) rack (>= 1.0) rails (4.1.0) @@ -77,6 +148,11 @@ GEM bundler (>= 1.3.0, < 2.0) railties (= 4.1.0) sprockets-rails (~> 2.0) + rails_12factor (0.0.2) + rails_serve_static_assets + rails_stdout_logging + rails_serve_static_assets (0.0.2) + rails_stdout_logging (0.0.3) railties (4.1.0) actionpack (= 4.1.0) activesupport (= 4.1.0) @@ -94,6 +170,11 @@ GEM sdoc (0.4.0) json (~> 1.8) rdoc (~> 4.0, < 5.0) + seo_helper (1.0.2) + settingslogic (2.0.9) + simple_form (3.0.2) + actionpack (~> 4.0) + activemodel (~> 4.0) spring (1.1.3) sprockets (2.11.0) hike (~> 1.2) @@ -105,6 +186,9 @@ GEM activesupport (>= 3.0) sprockets (~> 2.8) sqlite3 (1.3.9) + susy (1.0.9) + compass (>= 0.12.2) + sass (>= 3.2.0) thor (0.19.1) thread_safe (0.3.4) tilt (1.4.1) @@ -113,6 +197,8 @@ GEM polyglot (>= 0.3.1) turbolinks (2.2.2) coffee-rails + typhoeus (0.6.9) + ethon (>= 0.7.1) tzinfo (1.2.1) thread_safe (~> 0.1) uglifier (2.5.0) @@ -120,20 +206,39 @@ GEM json (>= 1.8.0) warden (1.2.3) rack (>= 1.0) + will_paginate (3.0.7) PLATFORMS ruby DEPENDENCIES - bootstrap-sass + anjlab-bootstrap-rails (= 2.3.1.2) + annotate + auto-facebook (= 0.42) + better_errors (~> 0.9.0) + bootstrap_helper (>= 4.2.2.1) coffee-rails (~> 4.0.0) - devise + compass (>= 0.12.2) + compass-rails (>= 1.0.3) + devise (~> 3.2.2) + embedly (~> 1.8.0) jbuilder (~> 2.0) jquery-rails + letter_opener + magic_encoding + meta_request + omniauth + omniauth-facebook + pg (= 0.15.1) rails (= 4.1.0) + rails_12factor (= 0.0.2) sass-rails (~> 4.0.3) sdoc (~> 0.4.0) + seo_helper + settingslogic (~> 2.0.9) + simple_form (~> 3.0.0.rc) spring sqlite3 + susy turbolinks uglifier (>= 1.3.0) From 7daf83996df5d02c4ec489c37b5df5112c85eab8 Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 02:10:56 +0800 Subject: [PATCH 14/20] Install navbar integrated with devise --- app/assets/javascripts/application.js | 5 + app/assets/javascripts/pages.js.coffee | 3 + app/assets/stylesheets/application.css | 2 +- .../stylesheets/bootstrap-override.css.scss | 11 ++ .../stylesheets/bootstrap-setting.css.scss | 3 + app/assets/stylesheets/common.css.scss | 116 ++++++++++++++++++ app/assets/stylesheets/pages.css.scss | 3 + app/controllers/pages_controller.rb | 4 + app/helpers/pages_helper.rb | 2 + app/views/devise/confirmations/new.html.erb | 16 +++ .../mailer/confirmation_instructions.html.erb | 5 + .../reset_password_instructions.html.erb | 8 ++ .../mailer/unlock_instructions.html.erb | 7 ++ app/views/devise/passwords/edit.html.erb | 19 +++ app/views/devise/passwords/new.html.erb | 15 +++ app/views/devise/registrations/edit.html.erb | 27 ++++ app/views/devise/registrations/new.html.erb | 17 +++ app/views/devise/sessions/new.html.erb | 15 +++ app/views/devise/shared/_links.erb | 25 ++++ app/views/devise/unlocks/new.html.erb | 16 +++ app/views/layouts/application.html.erb | 23 ++-- app/views/pages/index.html.erb | 1 + app/views/shared/_footer.html.erb | 3 + app/views/shared/_nav.html.erb | 26 ++++ config/routes.rb | 4 +- test/controllers/pages_controller_test.rb | 7 ++ test/helpers/pages_helper_test.rb | 4 + 27 files changed, 375 insertions(+), 12 deletions(-) create mode 100644 app/assets/javascripts/pages.js.coffee create mode 100644 app/assets/stylesheets/bootstrap-override.css.scss create mode 100644 app/assets/stylesheets/bootstrap-setting.css.scss create mode 100644 app/assets/stylesheets/common.css.scss create mode 100644 app/assets/stylesheets/pages.css.scss create mode 100644 app/controllers/pages_controller.rb create mode 100644 app/helpers/pages_helper.rb create mode 100644 app/views/devise/confirmations/new.html.erb create mode 100644 app/views/devise/mailer/confirmation_instructions.html.erb create mode 100644 app/views/devise/mailer/reset_password_instructions.html.erb create mode 100644 app/views/devise/mailer/unlock_instructions.html.erb create mode 100644 app/views/devise/passwords/edit.html.erb create mode 100644 app/views/devise/passwords/new.html.erb create mode 100644 app/views/devise/registrations/edit.html.erb create mode 100644 app/views/devise/registrations/new.html.erb create mode 100644 app/views/devise/sessions/new.html.erb create mode 100644 app/views/devise/shared/_links.erb create mode 100644 app/views/devise/unlocks/new.html.erb create mode 100644 app/views/pages/index.html.erb create mode 100644 app/views/shared/_footer.html.erb create mode 100644 app/views/shared/_nav.html.erb create mode 100644 test/controllers/pages_controller_test.rb create mode 100644 test/helpers/pages_helper_test.rb diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index d6925fa..bf0f1b4 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -14,3 +14,8 @@ //= require jquery_ujs //= require turbolinks //= require_tree . +//= require twitter/bootstrap/transition +//= require twitter/bootstrap/modal +//= require twitter/bootstrap/collapse +//= require twitter/bootstrap/alert + diff --git a/app/assets/javascripts/pages.js.coffee b/app/assets/javascripts/pages.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/pages.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index bcdb41c..a87702a 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -12,5 +12,5 @@ * *= require_tree . *= require_self - *= require bootstrap + *= require common */ diff --git a/app/assets/stylesheets/bootstrap-override.css.scss b/app/assets/stylesheets/bootstrap-override.css.scss new file mode 100644 index 0000000..489d037 --- /dev/null +++ b/app/assets/stylesheets/bootstrap-override.css.scss @@ -0,0 +1,11 @@ +body{ + padding-top: 60px; +} + +ul.nav li.dropdown:hover .dropdown-menu{ + display: block; +} + +.navbar .dropdown-menu { + margin-top: 0px; +} diff --git a/app/assets/stylesheets/bootstrap-setting.css.scss b/app/assets/stylesheets/bootstrap-setting.css.scss new file mode 100644 index 0000000..2b0db65 --- /dev/null +++ b/app/assets/stylesheets/bootstrap-setting.css.scss @@ -0,0 +1,3 @@ +// puts your override variable here +// $baseFontSize: 13px; +// $navbarHeight: 50px; diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss new file mode 100644 index 0000000..e47156a --- /dev/null +++ b/app/assets/stylesheets/common.css.scss @@ -0,0 +1,116 @@ +@import "bootstrap-setting"; +@import "twitter/bootstrap"; +@import "bootstrap-override"; +@import "twitter/bootstrap-responsive"; +@import "susy"; +@import "compass/css3"; + + +/* -----SUSY setting----- */ + +$total-columns : 12; +$column-width : 60px; +$gutter-width : 20px; +$grid-padding : 10px; + + /*以上是用來規劃基本格線設定 */ + + +$phone: 320px 6 480px; +$pad: 12 1024px; +$desktop: 1025px 18; + +/* ----- end SUSY setting ----- */ + +/* Layout */ + +.susy_container { + @include container($total-columns, $desktop, $pad, $phone); + //@include susy-grid-background; //if need watch grid +} + +// 修改 Bootstap內建樣式,解決格式跑掉的問題 +@media (max-width: 320px) { + body { + padding-left: 0px; + padding-right: 0px; + } + .navbar-fixed-top { + margin-left: 0px; + margin-right: 0px; + } +} + +@media (max-width: 768px) { + body { + padding-left: 0px; + padding-right: 0px; + } + .navbar-fixed-top { + margin-left: 0px; + margin-right: 0px; + } +} +// end 修改 Bootstap內建樣式 + + + + +.word-block { + display: inline-block; +} + +.float-clear { + clear: both; +} + +.mg-auto { + margin-left: auto; + margin-right: auto; + float: none; +} + + +.form-signin { + padding: 19px 29px 29px; + margin: 0 auto 20px; + background-color: #fff; + border: 1px solid #e5e5e5; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05); + -moz-box-shadow: 0 1px 2px rgba(0,0,0,.05); + box-shadow: 0 1px 2px rgba(0,0,0,.05); +} + +.nav-account { + font-size: 18px; +} + +.btn-edit { + margin-right: 10px; +} + +h1, h2, h3, h4, h5, h6 { + margin: 0px 0px 20px; +} + +@media (max-width: 980px) { + .nav-account { + float: none; + text-align: center; + } +} + +#login_page { + margin-top: 40px; + width: 250px; +} + +footer{ + p { margin-bottom: 50px 0px 40px 0px;} +} + + +/* End Layout */ diff --git a/app/assets/stylesheets/pages.css.scss b/app/assets/stylesheets/pages.css.scss new file mode 100644 index 0000000..0d6878a --- /dev/null +++ b/app/assets/stylesheets/pages.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the pages controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb new file mode 100644 index 0000000..39848c6 --- /dev/null +++ b/app/controllers/pages_controller.rb @@ -0,0 +1,4 @@ +class PagesController < ApplicationController + def index + end +end diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb new file mode 100644 index 0000000..2c057fd --- /dev/null +++ b/app/helpers/pages_helper.rb @@ -0,0 +1,2 @@ +module PagesHelper +end diff --git a/app/views/devise/confirmations/new.html.erb b/app/views/devise/confirmations/new.html.erb new file mode 100644 index 0000000..949b172 --- /dev/null +++ b/app/views/devise/confirmations/new.html.erb @@ -0,0 +1,16 @@ +

Resend confirmation instructions

+ +<%= simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| %> + <%= f.error_notification %> + <%= f.full_error :confirmation_token %> + +
+ <%= f.input :email, required: true, autofocus: true %> +
+ +
+ <%= f.button :submit, "Resend confirmation instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/mailer/confirmation_instructions.html.erb b/app/views/devise/mailer/confirmation_instructions.html.erb new file mode 100644 index 0000000..dc55f64 --- /dev/null +++ b/app/views/devise/mailer/confirmation_instructions.html.erb @@ -0,0 +1,5 @@ +

Welcome <%= @email %>!

+ +

You can confirm your account email through the link below:

+ +

<%= link_to 'Confirm my account', confirmation_url(@resource, confirmation_token: @token) %>

diff --git a/app/views/devise/mailer/reset_password_instructions.html.erb b/app/views/devise/mailer/reset_password_instructions.html.erb new file mode 100644 index 0000000..f667dc1 --- /dev/null +++ b/app/views/devise/mailer/reset_password_instructions.html.erb @@ -0,0 +1,8 @@ +

Hello <%= @resource.email %>!

+ +

Someone has requested a link to change your password. You can do this through the link below.

+ +

<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

+ +

If you didn't request this, please ignore this email.

+

Your password won't change until you access the link above and create a new one.

diff --git a/app/views/devise/mailer/unlock_instructions.html.erb b/app/views/devise/mailer/unlock_instructions.html.erb new file mode 100644 index 0000000..41e148b --- /dev/null +++ b/app/views/devise/mailer/unlock_instructions.html.erb @@ -0,0 +1,7 @@ +

Hello <%= @resource.email %>!

+ +

Your account has been locked due to an excessive number of unsuccessful sign in attempts.

+ +

Click the link below to unlock your account:

+ +

<%= link_to 'Unlock my account', unlock_url(@resource, unlock_token: @token) %>

diff --git a/app/views/devise/passwords/edit.html.erb b/app/views/devise/passwords/edit.html.erb new file mode 100644 index 0000000..8f995ed --- /dev/null +++ b/app/views/devise/passwords/edit.html.erb @@ -0,0 +1,19 @@ +

Change your password

+ +<%= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %> + <%= f.error_notification %> + + <%= f.input :reset_password_token, as: :hidden %> + <%= f.full_error :reset_password_token %> + +
+ <%= f.input :password, label: "New password", required: true, autofocus: true %> + <%= f.input :password_confirmation, label: "Confirm your new password", required: true %> +
+ +
+ <%= f.button :submit, "Change my password" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/passwords/new.html.erb b/app/views/devise/passwords/new.html.erb new file mode 100644 index 0000000..d1503e7 --- /dev/null +++ b/app/views/devise/passwords/new.html.erb @@ -0,0 +1,15 @@ +

Forgot your password?

+ +<%= simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :email, required: true, autofocus: true %> +
+ +
+ <%= f.button :submit, "Send me reset password instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb new file mode 100644 index 0000000..5db350b --- /dev/null +++ b/app/views/devise/registrations/edit.html.erb @@ -0,0 +1,27 @@ +

Edit <%= resource_name.to_s.humanize %>

+ +<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :email, required: true, autofocus: true %> + + <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %> +

Currently waiting confirmation for: <%= resource.unconfirmed_email %>

+ <% end %> + + <%= f.input :password, autocomplete: "off", hint: "leave it blank if you don't want to change it", required: false %> + <%= f.input :password_confirmation, required: false %> + <%= f.input :current_password, hint: "we need your current password to confirm your changes", required: true %> +
+ +
+ <%= f.button :submit, "Update" %> +
+<% end %> + +

Cancel my account

+ +

Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), data: { confirm: "Are you sure?" }, method: :delete %>

+ +<%= link_to "Back", :back %> diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb new file mode 100644 index 0000000..090fb29 --- /dev/null +++ b/app/views/devise/registrations/new.html.erb @@ -0,0 +1,17 @@ +

Sign up

+ +<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :email, required: true, autofocus: true %> + <%= f.input :password, required: true %> + <%= f.input :password_confirmation, required: true %> +
+ +
+ <%= f.button :submit, "Sign up" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb new file mode 100644 index 0000000..c790b49 --- /dev/null +++ b/app/views/devise/sessions/new.html.erb @@ -0,0 +1,15 @@ +

Sign in

+ +<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> +
+ <%= f.input :email, required: false, autofocus: true %> + <%= f.input :password, required: false %> + <%= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %> +
+ +
+ <%= f.button :submit, "Sign in" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/devise/shared/_links.erb b/app/views/devise/shared/_links.erb new file mode 100644 index 0000000..d84bdde --- /dev/null +++ b/app/views/devise/shared/_links.erb @@ -0,0 +1,25 @@ +<%- if controller_name != 'sessions' %> + <%= link_to "Sign in", new_session_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.registerable? && controller_name != 'registrations' %> + <%= link_to "Sign up", new_registration_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %> + <%= link_to "Forgot your password?", new_password_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %> + <%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %> + <%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %>
+<% end -%> + +<%- if devise_mapping.omniauthable? %> + <%- resource_class.omniauth_providers.each do |provider| %> + <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %>
+ <% end -%> +<% end -%> diff --git a/app/views/devise/unlocks/new.html.erb b/app/views/devise/unlocks/new.html.erb new file mode 100644 index 0000000..788f62e --- /dev/null +++ b/app/views/devise/unlocks/new.html.erb @@ -0,0 +1,16 @@ +

Resend unlock instructions

+ +<%= simple_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f| %> + <%= f.error_notification %> + <%= f.full_error :unlock_token %> + +
+ <%= f.input :email, required: true, autofocus: true %> +
+ +
+ <%= f.button :submit, "Resend unlock instructions" %> +
+<% end %> + +<%= render "devise/shared/links" %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 4659d53..70fc2d8 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -2,19 +2,22 @@ Artstore + + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> - <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> <%= csrf_meta_tags %> - - <% if !current_user %> - <%= link_to("登入", new_user_session_path) %> - <% else %> - <%= link_to("登出", destroy_user_session_path, :method => :delete ) %> - <% end %> - -<%= yield %> - + <%= render :partial => "shared/nav" %> + +
+ <%= notice_message %> + <%= yield %> +
+ + <%= render :partial => "shared/footer" %> + + <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> + <%= yield :javascripts %> \ No newline at end of file diff --git a/app/views/pages/index.html.erb b/app/views/pages/index.html.erb new file mode 100644 index 0000000..de8b69b --- /dev/null +++ b/app/views/pages/index.html.erb @@ -0,0 +1 @@ +

Hello World!

diff --git a/app/views/shared/_footer.html.erb b/app/views/shared/_footer.html.erb new file mode 100644 index 0000000..dbc2031 --- /dev/null +++ b/app/views/shared/_footer.html.erb @@ -0,0 +1,3 @@ +
+

Copyright ©2014 ArtStore, All rights reserved.
Design by Dionysian

+
\ No newline at end of file diff --git a/app/views/shared/_nav.html.erb b/app/views/shared/_nav.html.erb new file mode 100644 index 0000000..9d8e871 --- /dev/null +++ b/app/views/shared/_nav.html.erb @@ -0,0 +1,26 @@ + diff --git a/config/routes.rb b/config/routes.rb index 73b5503..7fc15c5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,7 @@ Rails.application.routes.draw do - + + root:to => 'pages#index' + devise_for :users namespace :admin do resources :products diff --git a/test/controllers/pages_controller_test.rb b/test/controllers/pages_controller_test.rb new file mode 100644 index 0000000..bb84322 --- /dev/null +++ b/test/controllers/pages_controller_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class PagesControllerTest < ActionController::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/helpers/pages_helper_test.rb b/test/helpers/pages_helper_test.rb new file mode 100644 index 0000000..535dfe1 --- /dev/null +++ b/test/helpers/pages_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class PagesHelperTest < ActionView::TestCase +end From 8dd590e28466b495c3c04077a4a378b66b8ae2d8 Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 03:13:42 +0800 Subject: [PATCH 15/20] Replaced form with simple_form --- .../stylesheets/bootstrap-override.css.scss | 24 +++++++++++++++++-- app/views/admin/products/new.html.erb | 22 ++++------------- app/views/devise/sessions/new.html.erb | 2 ++ app/views/layouts/application.html.erb | 1 + user stories.todo | 24 +++++++++++++++++++ 5 files changed, 53 insertions(+), 20 deletions(-) create mode 100644 user stories.todo diff --git a/app/assets/stylesheets/bootstrap-override.css.scss b/app/assets/stylesheets/bootstrap-override.css.scss index 489d037..2f830a2 100644 --- a/app/assets/stylesheets/bootstrap-override.css.scss +++ b/app/assets/stylesheets/bootstrap-override.css.scss @@ -1,11 +1,31 @@ -body{ +body { padding-top: 60px; } -ul.nav li.dropdown:hover .dropdown-menu{ +ul.nav li.dropdown:hover .dropdown-menu { display: block; } .navbar .dropdown-menu { margin-top: 0px; } + +select, +textarea, +input[type="text"], +input[type="password"], +input[type="datetime"], +input[type="datetime-local"], +input[type="date"], +input[type="month"], +input[type="time"], +input[type="week"], +input[type="number"], +input[type="email"], +input[type="url"], +input[type="search"], +input[type="tel"], +input[type="color"], +.uneditable-input { + height: 40px; +} diff --git a/app/views/admin/products/new.html.erb b/app/views/admin/products/new.html.erb index 1b5693a..3df1b68 100644 --- a/app/views/admin/products/new.html.erb +++ b/app/views/admin/products/new.html.erb @@ -1,22 +1,8 @@ -<%= form_for [:admin, @product] do |f| %> - -
- <%= f.label("標題") %> - <%= f.text_field :title %> -
- -
- <%= f.label("敘述") %> - <%= f.text_area :description %> -
- -
- <%= f.label("數量") %> - <%= f.text_field :quantity %> -
- +<%= simple_form_for [:admin, @product] do |f| %> + <%= f.input :title, label: "商品名稱" %> + <%= f.input :description, label: "商品介紹" %> + <%= f.input :quantity, label: "商品數量" %> <%= f.submit "Submit", :disable_with => 'Submitting...' %> - <% end %> \ No newline at end of file diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb index c790b49..ba75391 100644 --- a/app/views/devise/sessions/new.html.erb +++ b/app/views/devise/sessions/new.html.erb @@ -1,3 +1,5 @@ +
+

Sign in

<%= simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 70fc2d8..6d5e7cc 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -2,6 +2,7 @@ Artstore + <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> diff --git a/user stories.todo b/user stories.todo new file mode 100644 index 0000000..433c88b --- /dev/null +++ b/user stories.todo @@ -0,0 +1,24 @@ +☐ 身為商家的管理者,我要能夠在後台上架我的東⻄,並設定能夠販賣 + ☐ 管理者要有後台 + ✔ 後台要能新增商品 @done (14-07-10 02:13) + ✔ 商品要有名稱,敘述,數量 @done (14-07-10 02:12) + ☐ 商品要有圖片 + ☐ Install carrierwave + ☐ 商品要有價格 + ☐ 商品要有是否開賣 + ☐ 後台要有陳列畫面 + +☐ 身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者 + ✔ 使用者權限有兩種:admin, user @done (14-07-10 02:11) + ✔ admin才能有權限登入後台 @done (14-07-10 02:11) + ☐ admin可以在後台設定所有使用者的權限 + +☐ PlainTasks tips + ☐ remove indent: command + [ + ☐ add indent: command + ] + +☐ Rails vs Node.js, jungle + ☐ Rails is faster for web development + ☐ Node.js is more suitable for API (high concurrent) + ☐ Node.js is hard to debug due to javascripts + ☐ jungle is relatively slower than Rails \ No newline at end of file From aca7ee058aefaf05f442c0f145ca1191a426aeab Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 03:34:30 +0800 Subject: [PATCH 16/20] Add CRUD for Products except show --- app/controllers/admin/products_controller.rb | 29 ++++++++++++++++++ app/models/product.rb | 1 + app/views/admin/products/edit.html.erb | 13 ++++++++ app/views/admin/products/index.html.erb | 31 +++++++++++++++++++- app/views/admin/products/new.html.erb | 7 +++-- app/views/admin/products/show.html.erb | 2 ++ user stories.todo | 3 ++ 7 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 app/views/admin/products/edit.html.erb create mode 100644 app/views/admin/products/show.html.erb diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index 5a5187d..fa4c008 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -3,6 +3,7 @@ class Admin::ProductsController < ApplicationController before_action :authenticate_user! before_action :admin_required +# CREATE def new @product = Product.new end @@ -17,10 +18,38 @@ def create end end +# READ def index @products = Product.all end + def show + @product = Product.find(params[:id]) + end + +# UPDATE + def edit + @product = Product.find(params[:id]) + end + + def update + @product = Product.find(params[:id]) + + if @product.update(product_params) + redirect_to admin_products_path(@product) + else + render :edit + end + end + +# DESTROY + def destroy + @product = Product.find(params[:id]) + @product.destroy + flash[:notice] = "刪除成功" + redirect_to admin_products_path + end + private def product_params diff --git a/app/models/product.rb b/app/models/product.rb index 077a819..21535ca 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,2 +1,3 @@ class Product < ActiveRecord::Base + validates :title, :presence => true end diff --git a/app/views/admin/products/edit.html.erb b/app/views/admin/products/edit.html.erb new file mode 100644 index 0000000..e1f5fcc --- /dev/null +++ b/app/views/admin/products/edit.html.erb @@ -0,0 +1,13 @@ +

我的個人後台

+

商品修改

+ +<%= simple_form_for [:admin, @product] do |f| %> + + <%= f.input :title, label: '商品名稱' %> + + <%= f.input :description, label: '商品介紹' %> + + <%= f.input :quantity, label: '商品數量' %> + + <%= f.submit "Submit", :disable_with => 'Submitting...' %> +<% end %> \ No newline at end of file diff --git a/app/views/admin/products/index.html.erb b/app/views/admin/products/index.html.erb index 2eaa968..d4e3f40 100644 --- a/app/views/admin/products/index.html.erb +++ b/app/views/admin/products/index.html.erb @@ -2,4 +2,33 @@ <% @products.each do |product| %>
  • <%= link_to(product.title, admin_product_path(product)) %>
  • <% end %> - \ No newline at end of file + + +

    我的個人後台

    +

    商品清單

    +
    + <%= link_to("新商品", new_admin_product_path , :class => "btn btn-large btn-primary pull-right" ) %> +
    + + + + + + + + + + + + + <% @products.each do |product| %> + + + + + + + <% end %> + +
    # 名稱 介紹 數量 功能
    <%= product.id %> <%= link_to(product.title, admin_product_path(product)) %> <%= product.description %> <%= product.quantity %> <%= ibutton("Edit", edit_admin_product_path(product), :class => "btn btn-info btn-mini" , :iclass => "icon-pencil") %> + <%= ibutton("Delete", admin_product_path(product), :class => "btn btn-mini btn-danger", :iclass => "icon-remove", :method => :delete, data: { confirm: "Are you sure?" } ) %>
    \ No newline at end of file diff --git a/app/views/admin/products/new.html.erb b/app/views/admin/products/new.html.erb index 3df1b68..0c77176 100644 --- a/app/views/admin/products/new.html.erb +++ b/app/views/admin/products/new.html.erb @@ -1,8 +1,9 @@ +

    我的個人後台

    +

    新增商品

    + <%= simple_form_for [:admin, @product] do |f| %> <%= f.input :title, label: "商品名稱" %> <%= f.input :description, label: "商品介紹" %> - <%= f.input :quantity, label: "商品數量" %> - + <%= f.input :quantity, label: "商品數量" %> <%= f.submit "Submit", :disable_with => 'Submitting...' %> - <% end %> \ No newline at end of file diff --git a/app/views/admin/products/show.html.erb b/app/views/admin/products/show.html.erb new file mode 100644 index 0000000..669807e --- /dev/null +++ b/app/views/admin/products/show.html.erb @@ -0,0 +1,2 @@ +

    我的個人後台

    +

    單獨商品頁面施工中

    \ No newline at end of file diff --git a/user stories.todo b/user stories.todo index 433c88b..d11b2c1 100644 --- a/user stories.todo +++ b/user stories.todo @@ -1,5 +1,6 @@ ☐ 身為商家的管理者,我要能夠在後台上架我的東⻄,並設定能夠販賣 ☐ 管理者要有後台 + ✔ ⽤ Bootstrap 做一個「有 Nav bar 」的 layout @done (14-07-10 02:59) ✔ 後台要能新增商品 @done (14-07-10 02:13) ✔ 商品要有名稱,敘述,數量 @done (14-07-10 02:12) ☐ 商品要有圖片 @@ -7,6 +8,8 @@ ☐ 商品要有價格 ☐ 商品要有是否開賣 ☐ 後台要有陳列畫面 + ☐ products/show, products,index 也請實作 (implement all CRUD) + ✔ 使⽤ simple_form 換掉 form @done (14-07-10 03:13) ☐ 身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者 ✔ 使用者權限有兩種:admin, user @done (14-07-10 02:11) From a35c34c04bd4cdb25f20b8415c5ad2de72c7e6fe Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 04:41:03 +0800 Subject: [PATCH 17/20] Install carrierwave and add photo column in product db --- Gemfile | 5 +- Gemfile.lock | 6 +++ app/controllers/admin/products_controller.rb | 2 +- app/models/product.rb | 1 + app/uploaders/product_photo_uploader.rb | 51 ++++++++++++++++++ app/views/admin/products/new.html.erb | 3 +- app/views/admin/products/show.html.erb | 4 +- .../20140709195201_add_photo_to_products.rb | 5 ++ db/schema.rb | 3 +- .../product/photo/1/origami_stroller.jpg | Bin 0 -> 176281 bytes 10 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 app/uploaders/product_photo_uploader.rb create mode 100644 db/migrate/20140709195201_add_photo_to_products.rb create mode 100644 public/uploads/product/photo/1/origami_stroller.jpg diff --git a/Gemfile b/Gemfile index 2fce463..1bae23b 100644 --- a/Gemfile +++ b/Gemfile @@ -73,4 +73,7 @@ gem "auto-facebook", "0.42" # embedly for jQuery Preview gem "embedly", "~> 1.8.0" -gem "settingslogic", "~> 2.0.9" \ No newline at end of file +gem "settingslogic", "~> 2.0.9" + +# 圖片上傳功能 +gem 'carrierwave' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 588159e..d3cfc9a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -49,6 +49,11 @@ GEM will_paginate (>= 3.0.3) builder (3.2.2) callsite (0.0.11) + carrierwave (0.10.0) + activemodel (>= 3.2.0) + activesupport (>= 3.2.0) + json (>= 1.7) + mime-types (>= 1.16) chunky_png (1.3.1) coderay (1.1.0) coffee-rails (4.0.1) @@ -217,6 +222,7 @@ DEPENDENCIES auto-facebook (= 0.42) better_errors (~> 0.9.0) bootstrap_helper (>= 4.2.2.1) + carrierwave coffee-rails (~> 4.0.0) compass (>= 0.12.2) compass-rails (>= 1.0.3) diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index fa4c008..d43ef4a 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -53,6 +53,6 @@ def destroy private def product_params - params.require(:product).permit(:title, :description,:quantity) + params.require(:product).permit(:title, :description, :quantity, :photo) end end \ No newline at end of file diff --git a/app/models/product.rb b/app/models/product.rb index 21535ca..6c46a86 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,3 +1,4 @@ class Product < ActiveRecord::Base validates :title, :presence => true + mount_uploader :photo, ProductPhotoUploader end diff --git a/app/uploaders/product_photo_uploader.rb b/app/uploaders/product_photo_uploader.rb new file mode 100644 index 0000000..b1eeccc --- /dev/null +++ b/app/uploaders/product_photo_uploader.rb @@ -0,0 +1,51 @@ +# encoding: utf-8 + +class ProductPhotoUploader < CarrierWave::Uploader::Base + + # Include RMagick or MiniMagick support: + # include CarrierWave::RMagick + # include CarrierWave::MiniMagick + + # Choose what kind of storage to use for this uploader: + storage :file + # storage :fog + + # Override the directory where uploaded files will be stored. + # This is a sensible default for uploaders that are meant to be mounted: + def store_dir + "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" + end + + # Provide a default URL as a default if there hasn't been a file uploaded: + # def default_url + # # For Rails 3.1+ asset pipeline compatibility: + # # ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_')) + # + # "/images/fallback/" + [version_name, "default.png"].compact.join('_') + # end + + # Process files as they are uploaded: + # process :scale => [200, 300] + # + # def scale(width, height) + # # do something + # end + + # Create different versions of your uploaded files: + # version :thumb do + # process :resize_to_fit => [50, 50] + # end + + # Add a white list of extensions which are allowed to be uploaded. + # For images you might use something like this: + # def extension_white_list + # %w(jpg jpeg gif png) + # end + + # Override the filename of the uploaded files: + # Avoid using model.id or version_name here, see uploader/store.rb for details. + # def filename + # "something.jpg" if original_filename + # end + +end diff --git a/app/views/admin/products/new.html.erb b/app/views/admin/products/new.html.erb index 0c77176..7c8234b 100644 --- a/app/views/admin/products/new.html.erb +++ b/app/views/admin/products/new.html.erb @@ -4,6 +4,7 @@ <%= simple_form_for [:admin, @product] do |f| %> <%= f.input :title, label: "商品名稱" %> <%= f.input :description, label: "商品介紹" %> - <%= f.input :quantity, label: "商品數量" %> + <%= f.input :quantity, label: "商品數量" %> + <%= f.input :photo, as: :file, label: '照片上傳' %> <%= f.submit "Submit", :disable_with => 'Submitting...' %> <% end %> \ No newline at end of file diff --git a/app/views/admin/products/show.html.erb b/app/views/admin/products/show.html.erb index 669807e..e5aa3a6 100644 --- a/app/views/admin/products/show.html.erb +++ b/app/views/admin/products/show.html.erb @@ -1,2 +1,4 @@

    我的個人後台

    -

    單獨商品頁面施工中

    \ No newline at end of file +

    <%= @product.title %>

    +

    <%= @product.description %>

    +<%= image_tag(@product.photo_url) %> \ No newline at end of file diff --git a/db/migrate/20140709195201_add_photo_to_products.rb b/db/migrate/20140709195201_add_photo_to_products.rb new file mode 100644 index 0000000..bae28f4 --- /dev/null +++ b/db/migrate/20140709195201_add_photo_to_products.rb @@ -0,0 +1,5 @@ +class AddPhotoToProducts < ActiveRecord::Migration + def change + add_column :products, :photo, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 3debe75..447e225 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140708130412) do +ActiveRecord::Schema.define(version: 20140709195201) do create_table "products", force: true do |t| t.string "title" @@ -19,6 +19,7 @@ t.integer "quantity" t.datetime "created_at" t.datetime "updated_at" + t.string "photo" end create_table "users", force: true do |t| diff --git a/public/uploads/product/photo/1/origami_stroller.jpg b/public/uploads/product/photo/1/origami_stroller.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a9f1f75ba794374c60f566d5155c18357688c65 GIT binary patch literal 176281 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

    UWd zpb@~}L$lP!lJ^!aD_F4RMZkZx{S7(U|qLB zCJ`6207-USS++3nYcuz{Kg?i5quua8D~kC$!vr~K*o*DjYe(3tAp6rD8LAR-u_&z* zm=sOSuo?I?rZrq>rShjcognUP0_Z}&UIB;kBcm6DHu>5~bg%Zn(}11s=T9GjbgVy|*Otb1cb^n?5YDq;1fPk&hTvP$bi(zG?i#`o!poc&`rbYw zhffm7{{$nxiDjPb2K?2&dNoJrKp9_4{{)PmWfOWx|Ndz;)qsM!@xr%3)ecLqK9`)FJBmfnngdC{--ann8@*(A4Cl@==PK^43ONpl;6$T(tO9p+Fg*#idaIC#D@4T7KqVE7?qJ(j^KP|XA4WjFydB04?SLlXs zgo5n4gz#2K^#a1#^MQQI|6rVd+DF_^Ps27YRBD$nR$8c6jGl6!Pm0;1VttE!hg;)& zHIE}nYsXK~U3~+FaC;GLNxdmDed(%_d zgcCWXmuTd|1HjBIHo~hRm^gJ}N}Z&9n~)H;Aq=HC-EWwLQw@4X!?|lMe)PSCz@|x7 zof8&s)Pm2t`}U|4bBuyHbQNP_jHeshGngf;%Hj{0(3wC(ELrH6m6JG3pP_TZ%dOJt zgBqe2Uu}4Z3mLer%{4_lEL2-SDu;etK;ZK0UOu$(nK?4e2ZM_+w^02Hw_j7Bp7Q6W zkIxB&$c0)WKwwk7)(!{+L|z@a=0VPMTdHhGf)tXxHxzUpi^mFf|8JzT8t*MLSu{PI|}S;+C*~FpglA^Ca3*p7?TS z$a&*>0J8paA?@%X!^3kC2hBJ%BPrFB|84)L*FVbSS6%a5w$1n&SJWRe0&7Nhz?*J0 zZaLIWvHebQDw-u~5g9xLlnc~;1C8f-FBk^TZGBRe>WTzejsBZ9EdJ-f)h|YaD{_fn zLvK21Bh)|A30%dlI9djt)`PhK)cNf;-eB@Z4tL&0A4t9S#v}Jb+JWw2iWZE&R<`+Q zIEX&7(&Kq|6WPG35 z?T&D*o+Y^@Cn_cc#K5;BLgSOT5>wckFJ^hiNqIXv^+b;6)wA!0GN6E6tKC?}ly3mHT)1kUfR&)yGUmgEhaUb!6qvPOCw z>_P9|K0_0+_X5r(dRtmEpSQ{MB&S}w_=h`|I(p1llj0?Z%4Er#>p85`Cisj#jb!oQ zPjTU0NMhZDg`ZZ64Q}+B8X&jBp^!EG4U_NmZJXcEHAE7p0?u1w0%H6LK@p|^=vc5P zLjX_1YDbo)E8i_|vLP_>C)|Q3T%@fkDLN@SoB3eG{HPDk^)iHboyH+`a(qo)kcus9 zd?unIb%bG$OB%!5G{x}PYH5T9yR{;!`9zAgE7juNejvo)D?FW06SCDviQ$;vuUIsh zA1+7j{f5ijeC&U{l_-kC+eq@0ae@6KcY)$v+H6*t4=-;1vk_m7&rD>}bm@PzsEd z2Y3R^#Db94*GIJEe>(2jIgQ#C!X-LUi1O?(VP>0N~B>K$M2j7K^y>fUBmRo z#g70TJqiL1^UCnSwhX*kXwrw0%D-@$ypr04{4-ib@`bdT1T$_wP%m5Yc4jLDwasfi zt!YDEdr(*dfUMcw$MBUs%k`PT5_8msy`49@m9-ISx+a_gG;*qSR3KsHLCjPLSeizN zDxeU@uxMgk_0;WO^E>tiRTWJL~DmhLQ{H~BaF@0{{Bq09^^J6WO z|CuKt$)E2^R*?(1X!pg>6nw`rm?cYjU7B&3;SKpLgWT|fUoFeGe~%0AqxAo5iTu}l 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 literal 0 HcmV?d00001 From 6edc77cd2fb16a72df27cb571be203c52fc644dd Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 05:31:48 +0800 Subject: [PATCH 18/20] Add photo thumbnail and bugfixes in product index --- Gemfile | 3 ++- Gemfile.lock | 4 +++ app/controllers/admin/products_controller.rb | 2 +- app/models/product.rb | 11 ++++++++- app/uploaders/product_photo_uploader.rb | 10 ++++---- app/views/admin/products/edit.html.erb | 5 +--- app/views/admin/products/index.html.erb | 10 +++----- app/views/admin/products/new.html.erb | 1 + app/views/admin/products/show.html.erb | 6 +++-- app/views/pages/index.html.erb | 2 +- app/views/shared/_nav.html.erb | 6 +++-- .../20140709205056_add_price_to_products.rb | 5 ++++ db/schema.rb | 3 ++- .../photo/{1 => 3}/origami_stroller.jpg | Bin .../photo/3/thumb_origami_stroller.jpg | Bin 0 -> 1361 bytes .../origami_stroller.jpg | Bin 0 -> 176281 bytes user stories.todo | 23 ++++++------------ 17 files changed, 51 insertions(+), 40 deletions(-) create mode 100644 db/migrate/20140709205056_add_price_to_products.rb rename public/uploads/product/photo/{1 => 3}/origami_stroller.jpg (100%) create mode 100644 public/uploads/product/photo/3/thumb_origami_stroller.jpg create mode 100644 public/uploads/tmp/1404941193-10896-9077/origami_stroller.jpg diff --git a/Gemfile b/Gemfile index 1bae23b..364cef8 100644 --- a/Gemfile +++ b/Gemfile @@ -76,4 +76,5 @@ gem "embedly", "~> 1.8.0" gem "settingslogic", "~> 2.0.9" # 圖片上傳功能 -gem 'carrierwave' \ No newline at end of file +gem 'carrierwave' +gem 'mini_magick' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index d3cfc9a..7a0436d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,6 +113,8 @@ GEM rack-contrib railties mime-types (1.25.1) + mini_magick (3.7.0) + subexec (~> 0.2.1) minitest (5.3.4) multi_json (1.10.1) multi_xml (0.5.5) @@ -191,6 +193,7 @@ GEM activesupport (>= 3.0) sprockets (~> 2.8) sqlite3 (1.3.9) + subexec (0.2.3) susy (1.0.9) compass (>= 0.12.2) sass (>= 3.2.0) @@ -233,6 +236,7 @@ DEPENDENCIES letter_opener magic_encoding meta_request + mini_magick omniauth omniauth-facebook pg (= 0.15.1) diff --git a/app/controllers/admin/products_controller.rb b/app/controllers/admin/products_controller.rb index d43ef4a..2a693da 100644 --- a/app/controllers/admin/products_controller.rb +++ b/app/controllers/admin/products_controller.rb @@ -53,6 +53,6 @@ def destroy private def product_params - params.require(:product).permit(:title, :description, :quantity, :photo) + params.require(:product).permit(:title, :description, :price, :quantity, :photo) end end \ No newline at end of file diff --git a/app/models/product.rb b/app/models/product.rb index 6c46a86..2a36998 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -1,4 +1,13 @@ class Product < ActiveRecord::Base - validates :title, :presence => true + has_many :photos + accepts_nested_attributes_for :photos + + validates :title , :presence => true + validates :quantity , :presence => true + + def default_photo + photos.first + end + mount_uploader :photo, ProductPhotoUploader end diff --git a/app/uploaders/product_photo_uploader.rb b/app/uploaders/product_photo_uploader.rb index b1eeccc..2e35b76 100644 --- a/app/uploaders/product_photo_uploader.rb +++ b/app/uploaders/product_photo_uploader.rb @@ -4,7 +4,7 @@ class ProductPhotoUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: # include CarrierWave::RMagick - # include CarrierWave::MiniMagick + include CarrierWave::MiniMagick # Choose what kind of storage to use for this uploader: storage :file @@ -25,16 +25,16 @@ def store_dir # end # Process files as they are uploaded: - # process :scale => [200, 300] + # process :scale => [300, 300] # # def scale(width, height) # # do something # end # Create different versions of your uploaded files: - # version :thumb do - # process :resize_to_fit => [50, 50] - # end + version :thumb do + process :resize_to_fit => [50, 50] + end # Add a white list of extensions which are allowed to be uploaded. # For images you might use something like this: diff --git a/app/views/admin/products/edit.html.erb b/app/views/admin/products/edit.html.erb index e1f5fcc..bab45b4 100644 --- a/app/views/admin/products/edit.html.erb +++ b/app/views/admin/products/edit.html.erb @@ -2,12 +2,9 @@

    商品修改

    <%= simple_form_for [:admin, @product] do |f| %> - <%= f.input :title, label: '商品名稱' %> - <%= f.input :description, label: '商品介紹' %> - + <%= f.input :price, label: '商品價格' %> <%= f.input :quantity, label: '商品數量' %> - <%= f.submit "Submit", :disable_with => 'Submitting...' %> <% end %> \ No newline at end of file diff --git a/app/views/admin/products/index.html.erb b/app/views/admin/products/index.html.erb index d4e3f40..087d29b 100644 --- a/app/views/admin/products/index.html.erb +++ b/app/views/admin/products/index.html.erb @@ -1,9 +1,3 @@ -
      -<% @products.each do |product| %> -
    • <%= link_to(product.title, admin_product_path(product)) %>
    • -<% end %> -
    -

    我的個人後台

    商品清單

    @@ -14,8 +8,10 @@ # + 照片 名稱 介紹 + 價格(新台幣) 數量 功能 @@ -24,8 +20,10 @@ <% @products.each do |product| %> <%= product.id %> + <%= link_to(image_tag(product.photo_url(:thumb)), admin_product_path(product)) %> <%= link_to(product.title, admin_product_path(product)) %> <%= product.description %> + <%= product.price %> <%= product.quantity %> <%= ibutton("Edit", edit_admin_product_path(product), :class => "btn btn-info btn-mini" , :iclass => "icon-pencil") %> <%= ibutton("Delete", admin_product_path(product), :class => "btn btn-mini btn-danger", :iclass => "icon-remove", :method => :delete, data: { confirm: "Are you sure?" } ) %> diff --git a/app/views/admin/products/new.html.erb b/app/views/admin/products/new.html.erb index 7c8234b..4d02d1e 100644 --- a/app/views/admin/products/new.html.erb +++ b/app/views/admin/products/new.html.erb @@ -4,6 +4,7 @@ <%= simple_form_for [:admin, @product] do |f| %> <%= f.input :title, label: "商品名稱" %> <%= f.input :description, label: "商品介紹" %> + <%= f.input :price, label: '商品價格(新台幣)' %> <%= f.input :quantity, label: "商品數量" %> <%= f.input :photo, as: :file, label: '照片上傳' %> <%= f.submit "Submit", :disable_with => 'Submitting...' %> diff --git a/app/views/admin/products/show.html.erb b/app/views/admin/products/show.html.erb index e5aa3a6..f374a0f 100644 --- a/app/views/admin/products/show.html.erb +++ b/app/views/admin/products/show.html.erb @@ -1,4 +1,6 @@

    我的個人後台

    -

    <%= @product.title %>

    -

    <%= @product.description %>

    +

    我的個人後台

    +

    商品名稱:<%= @product.title %>

    +

    商品介紹:<%= @product.description %>

    +

    商品照片:

    <%= image_tag(@product.photo_url) %> \ No newline at end of file diff --git a/app/views/pages/index.html.erb b/app/views/pages/index.html.erb index de8b69b..5f574f4 100644 --- a/app/views/pages/index.html.erb +++ b/app/views/pages/index.html.erb @@ -1 +1 @@ -

    Hello World!

    +

    Hello World!

    diff --git a/app/views/shared/_nav.html.erb b/app/views/shared/_nav.html.erb index 9d8e871..4d58638 100644 --- a/app/views/shared/_nav.html.erb +++ b/app/views/shared/_nav.html.erb @@ -9,6 +9,9 @@ <%= link_to("Artstore", root_path, :class => 'brand' )%>
    diff --git a/db/migrate/20140709205056_add_price_to_products.rb b/db/migrate/20140709205056_add_price_to_products.rb new file mode 100644 index 0000000..6b2acec --- /dev/null +++ b/db/migrate/20140709205056_add_price_to_products.rb @@ -0,0 +1,5 @@ +class AddPriceToProducts < ActiveRecord::Migration + def change + add_column :products, :price, :float + end +end diff --git a/db/schema.rb b/db/schema.rb index 447e225..4204c04 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20140709195201) do +ActiveRecord::Schema.define(version: 20140709205056) do create_table "products", force: true do |t| t.string "title" @@ -20,6 +20,7 @@ t.datetime "created_at" t.datetime "updated_at" t.string "photo" + t.float "price" end create_table "users", force: true do |t| diff --git a/public/uploads/product/photo/1/origami_stroller.jpg b/public/uploads/product/photo/3/origami_stroller.jpg similarity index 100% rename from public/uploads/product/photo/1/origami_stroller.jpg rename to public/uploads/product/photo/3/origami_stroller.jpg diff --git a/public/uploads/product/photo/3/thumb_origami_stroller.jpg b/public/uploads/product/photo/3/thumb_origami_stroller.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a0a9bbf48f565743d69841a1cca209aa24d0481 GIT binary patch literal 1361 zcmex=%D0W@ct4 zRu-TdFkob2W?^L$WMCIkG~^IgatstPa!M2nDr}qxR4xwmHL^)S9YFO!328x~3==aj zJm7$lNsw7c(eeK+1|Fa|kR!-o&#<#f*2H#;NZF^4-St8GySAFCZq4Va(OmE5tiSNl zM~+CpkPRCwOTPJ;?oRo!YnS~brPRxw%}UJ*RWn)+=KlE4z~wY$llX70W3?UEjy`|* z*JzLD9n)7wVs4$cm^GQ>%}jmkN!!lZi>%ew`YY03oAIM#Q|2b!_SF}qv!q^fI%j() zsA%?kDDd5Bnj`W0w(|Yxk00~puFi{m^-7m_^6uHy<(I?FrWPH_KlMm1E$K*kl=_CC z@cv&$_EmTCi@!ZRdH$gI)on9*bTy*HgEG}8wK+%zJpH%%`tsVEUz^SDmEPRBt#`%k zb#5~Q6MQEw(~w!uw=+F+U7NouOZjig_iM_*3tL-e28Hmm z{gmsJ<P4*F;gWD6;@NhgS}zL~v&Nnsi#A{6JleGUQfQq^Z&7S^S%0?U)USdH z77JJ%H9a4F{>kw1q^hR;^=W>N*Tu7Pc;}bK99y%yNJTnH)aT4{i_2NgTg|4v(%Hq; z7v*%^HKE9l;pL>VJ@c|OuistTyJV}PL1?At(yd}EZ5xg_9_Q+25Qs|Q&v~HJe?z`+ zi7zm5u`yhZ2t8|Z*-<2K-=pgDR%;5*z^zyH;$z22i~uERYme#Tv^#omuDOxERg_EqIn5Lw(|+poms@%`+!JFz=s zkJksUE0}NjBJjeMIRBP~Q&}y-#F{3FwYIYrzLK#je|hdl_ZIEY8DWbuFCR9_+$2*e z99x><73(Emd$QQauO#W85|Wy*;a76% zrezlv)H1%ah?HAUui&8&)g|{L^jXB&*q)nLB}JAe)`p}3Tlv_E~IZb}bjI*rT zvu+0j$_4E?GhyRPO@)$!Y)M-ZJeJ)qNIdgEW#OJZ0&AA&Oj^oNXXLl&^+UPqz9v^x XuJO&vFtW~EHj8am<^mwa|NkZc_L3CE literal 0 HcmV?d00001 diff --git a/public/uploads/tmp/1404941193-10896-9077/origami_stroller.jpg b/public/uploads/tmp/1404941193-10896-9077/origami_stroller.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a9f1f75ba794374c60f566d5155c18357688c65 GIT binary patch literal 176281 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

    UWd zpb@~}L$lP!lJ^!aD_F4RMZkZx{S7(U|qLB zCJ`6207-USS++3nYcuz{Kg?i5quua8D~kC$!vr~K*o*DjYe(3tAp6rD8LAR-u_&z* zm=sOSuo?I?rZrq>rShjcognUP0_Z}&UIB;kBcm6DHu>5~bg%Zn(}11s=T9GjbgVy|*Otb1cb^n?5YDq;1fPk&hTvP$bi(zG?i#`o!poc&`rbYw zhffm7{{$nxiDjPb2K?2&dNoJrKp9_4{{)PmWfOWx|Ndz;)qsM!@xr%3)ecLqK9`)FJBmfnngdC{--ann8@*(A4Cl@==PK^43ONpl;6$T(tO9p+Fg*#idaIC#D@4T7KqVE7?qJ(j^KP|XA4WjFydB04?SLlXs zgo5n4gz#2K^#a1#^MQQI|6rVd+DF_^Ps27YRBD$nR$8c6jGl6!Pm0;1VttE!hg;)& zHIE}nYsXK~U3~+FaC;GLNxdmDed(%_d zgcCWXmuTd|1HjBIHo~hRm^gJ}N}Z&9n~)H;Aq=HC-EWwLQw@4X!?|lMe)PSCz@|x7 zof8&s)Pm2t`}U|4bBuyHbQNP_jHeshGngf;%Hj{0(3wC(ELrH6m6JG3pP_TZ%dOJt zgBqe2Uu}4Z3mLer%{4_lEL2-SDu;etK;ZK0UOu$(nK?4e2ZM_+w^02Hw_j7Bp7Q6W zkIxB&$c0)WKwwk7)(!{+L|z@a=0VPMTdHhGf)tXxHxzUpi^mFf|8JzT8t*MLSu{PI|}S;+C*~FpglA^Ca3*p7?TS z$a&*>0J8paA?@%X!^3kC2hBJ%BPrFB|84)L*FVbSS6%a5w$1n&SJWRe0&7Nhz?*J0 zZaLIWvHebQDw-u~5g9xLlnc~;1C8f-FBk^TZGBRe>WTzejsBZ9EdJ-f)h|YaD{_fn zLvK21Bh)|A30%dlI9djt)`PhK)cNf;-eB@Z4tL&0A4t9S#v}Jb+JWw2iWZE&R<`+Q zIEX&7(&Kq|6WPG35 z?T&D*o+Y^@Cn_cc#K5;BLgSOT5>wckFJ^hiNqIXv^+b;6)wA!0GN6E6tKC?}ly3mHT)1kUfR&)yGUmgEhaUb!6qvPOCw z>_P9|K0_0+_X5r(dRtmEpSQ{MB&S}w_=h`|I(p1llj0?Z%4Er#>p85`Cisj#jb!oQ zPjTU0NMhZDg`ZZ64Q}+B8X&jBp^!EG4U_NmZJXcEHAE7p0?u1w0%H6LK@p|^=vc5P zLjX_1YDbo)E8i_|vLP_>C)|Q3T%@fkDLN@SoB3eG{HPDk^)iHboyH+`a(qo)kcus9 zd?unIb%bG$OB%!5G{x}PYH5T9yR{;!`9zAgE7juNejvo)D?FW06SCDviQ$;vuUIsh zA1+7j{f5ijeC&U{l_-kC+eq@0ae@6KcY)$v+H6*t4=-;1vk_m7&rD>}bm@PzsEd z2Y3R^#Db94*GIJEe>(2jIgQ#C!X-LUi1O?(VP>0N~B>K$M2j7K^y>fUBmRo z#g70TJqiL1^UCnSwhX*kXwrw0%D-@$ypr04{4-ib@`bdT1T$_wP%m5Yc4jLDwasfi zt!YDEdr(*dfUMcw$MBUs%k`PT5_8msy`49@m9-ISx+a_gG;*qSR3KsHLCjPLSeizN zDxeU@uxMgk_0;WO^E>tiRTWJL~DmhLQ{H~BaF@0{{Bq09^^J6WO z|CuKt$)E2^R*?(1X!pg>6nw`rm?cYjU7B&3;SKpLgWT|fUoFeGe~%0AqxAo5iTu}l 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 literal 0 HcmV?d00001 diff --git a/user stories.todo b/user stories.todo index d11b2c1..721ecfc 100644 --- a/user stories.todo +++ b/user stories.todo @@ -1,27 +1,18 @@ ☐ 身為商家的管理者,我要能夠在後台上架我的東⻄,並設定能夠販賣 - ☐ 管理者要有後台 + ✔ 管理者要有後台 @done (14-07-10 04:47) ✔ ⽤ Bootstrap 做一個「有 Nav bar 」的 layout @done (14-07-10 02:59) ✔ 後台要能新增商品 @done (14-07-10 02:13) ✔ 商品要有名稱,敘述,數量 @done (14-07-10 02:12) - ☐ 商品要有圖片 - ☐ Install carrierwave - ☐ 商品要有價格 + ✔ 商品要有圖片 @done (14-07-10 05:09) + ✔ Install carrierwave @done (14-07-10 04:47) + ☐ 商品要能有一張以上的圖片 + ✔ 商品要有價格 @done (14-07-10 05:09) ☐ 商品要有是否開賣 - ☐ 後台要有陳列畫面 - ☐ products/show, products,index 也請實作 (implement all CRUD) + ✔ 後台要有陳列畫面 @done (14-07-10 04:47) + ✔ products/show, products,index 也請實作 (implement all CRUD) @done (14-07-10 04:47) ✔ 使⽤ simple_form 換掉 form @done (14-07-10 03:13) ☐ 身為商家的管理者,我要能夠在後台設定權限,權限分成管理者以及消費者 ✔ 使用者權限有兩種:admin, user @done (14-07-10 02:11) ✔ admin才能有權限登入後台 @done (14-07-10 02:11) ☐ admin可以在後台設定所有使用者的權限 - -☐ PlainTasks tips - ☐ remove indent: command + [ - ☐ add indent: command + ] - -☐ Rails vs Node.js, jungle - ☐ Rails is faster for web development - ☐ Node.js is more suitable for API (high concurrent) - ☐ Node.js is hard to debug due to javascripts - ☐ jungle is relatively slower than Rails \ No newline at end of file From 00c695baa7feb96c3f31c16fc24c458e4a5102bc Mon Sep 17 00:00:00 2001 From: edcckao Date: Thu, 10 Jul 2014 06:08:12 +0800 Subject: [PATCH 19/20] Add user stories, store-v1 prototype completed --- app/views/admin/products/edit.html.erb | 2 +- user stories.todo | 28 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/app/views/admin/products/edit.html.erb b/app/views/admin/products/edit.html.erb index bab45b4..1ca4dfd 100644 --- a/app/views/admin/products/edit.html.erb +++ b/app/views/admin/products/edit.html.erb @@ -4,7 +4,7 @@ <%= simple_form_for [:admin, @product] do |f| %> <%= f.input :title, label: '商品名稱' %> <%= f.input :description, label: '商品介紹' %> - <%= f.input :price, label: '商品價格' %> + <%= f.input :price, label: '商品價格(新台幣)' %> <%= f.input :quantity, label: '商品數量' %> <%= f.submit "Submit", :disable_with => 'Submitting...' %> <% end %> \ No newline at end of file diff --git a/user stories.todo b/user stories.todo index 721ecfc..99ea8a6 100644 --- a/user stories.todo +++ b/user stories.todo @@ -6,8 +6,13 @@ ✔ 商品要有圖片 @done (14-07-10 05:09) ✔ Install carrierwave @done (14-07-10 04:47) ☐ 商品要能有一張以上的圖片 + ☐ 商品要能顯示一張以上的圖片 ✔ 商品要有價格 @done (14-07-10 05:09) ☐ 商品要有是否開賣 + ☐ Status: Pre-order, on-sale, out-of-stock, discontinued + ☐ 身為商家,要能夠在後台修改商品資訊 + ✔ 名稱、描述、價格、數量 @done (14-07-10 06:03) + ☐ 圖片 ✔ 後台要有陳列畫面 @done (14-07-10 04:47) ✔ products/show, products,index 也請實作 (implement all CRUD) @done (14-07-10 04:47) ✔ 使⽤ simple_form 換掉 form @done (14-07-10 03:13) @@ -16,3 +21,26 @@ ✔ 使用者權限有兩種:admin, user @done (14-07-10 02:11) ✔ admin才能有權限登入後台 @done (14-07-10 02:11) ☐ admin可以在後台設定所有使用者的權限 + +☐ 身為商家,我要能夠在後台依照商品名稱或敘述搜尋並列出商品 + +☐ 身為商家,我要能夠收到消費者下訂的訂單,並設定為已結帳 + ☐ 訂單狀態:未結賬、已結賬、出貨中、已出貨、辦理退貨 + ☐ 可以設定訂單狀態 + ☐ 設定出貨後,會寄出通知信給消費者 + +----------------------------------------------------------------------------- + +☐ 身為消費者,我要能在前台找到商品 + ☐ 商品一覽 + ☐ 搜尋商品 + ☐ 名稱、敘述 + ☐ 價格區間 + +☐ 身為消費者,我要能夠在前台將多個商品加入購物車 +☐ 身為消費者,我要能夠將購物車內商品生成訂單 +☐ 身為消費者,生成訂單後我要能夠填寫寄送資訊,並用信用卡結賬 +☐ 身為消費者,結賬後會收到訂單確認信 +☐ 身為消費者,可在使用者後台看到個人所有的歷史訂單 + ☐ 身為消費者,結賬後可至使用者後台確認訂單狀態 + From b0364c734f42781a4b013454ded75e08886a0dbc Mon Sep 17 00:00:00 2001 From: edcckao Date: Mon, 14 Jul 2014 12:18:32 +0800 Subject: [PATCH 20/20] Separate views: consumers/admins --- Gemfile | 1 + Gemfile.lock | 3 + app/assets/javascripts/application.js | 4 +- app/assets/javascripts/products.js.coffee | 3 + app/assets/stylesheets/application.css | 1 - app/assets/stylesheets/bootstrap.css | 6203 ++++++++ app/assets/stylesheets/common.css.scss | 2 +- app/assets/stylesheets/products.css.scss | 3 + app/controllers/products_controller.rb | 7 + app/helpers/products_helper.rb | 2 + app/views/layouts/application.html.erb | 3 +- app/views/products/index.html.erb | 0 app/views/products/show.html.erb | 0 app/views/shared/_nav.html.erb | 5 +- config/routes.rb | 8 +- ...ation-608e6febb1f5ded7d9053b055c3e0ec9.css | 8436 +++++++++++ ...on-608e6febb1f5ded7d9053b055c3e0ec9.css.gz | Bin 0 -> 29090 bytes ...cation-6a81a853e66a1c3a49e945a209abf765.js | 11925 ++++++++++++++++ ...ion-6a81a853e66a1c3a49e945a209abf765.js.gz | Bin 0 -> 95638 bytes public/assets/glyphicons-halflings-white.png | Bin 0 -> 8777 bytes public/assets/glyphicons-halflings.png | Bin 0 -> 12799 bytes ...fest-326c054ebe9873d876af734ad23844e3.json | 1 + public/javascripts/jquery.js | 10337 ++++++++++++++ public/javascripts/jquery.min.js | 4 + public/javascripts/jquery_ujs.js | 398 + test/controllers/products_controller_test.rb | 7 + test/helpers/products_helper_test.rb | 4 + user stories.todo | 4 + 28 files changed, 37351 insertions(+), 10 deletions(-) create mode 100644 app/assets/javascripts/products.js.coffee create mode 100644 app/assets/stylesheets/bootstrap.css create mode 100644 app/assets/stylesheets/products.css.scss create mode 100644 app/controllers/products_controller.rb create mode 100644 app/helpers/products_helper.rb create mode 100644 app/views/products/index.html.erb create mode 100644 app/views/products/show.html.erb create mode 100644 public/assets/application-608e6febb1f5ded7d9053b055c3e0ec9.css create mode 100644 public/assets/application-608e6febb1f5ded7d9053b055c3e0ec9.css.gz create mode 100644 public/assets/application-6a81a853e66a1c3a49e945a209abf765.js create mode 100644 public/assets/application-6a81a853e66a1c3a49e945a209abf765.js.gz create mode 100644 public/assets/glyphicons-halflings-white.png create mode 100644 public/assets/glyphicons-halflings.png create mode 100644 public/assets/manifest-326c054ebe9873d876af734ad23844e3.json create mode 100644 public/javascripts/jquery.js create mode 100644 public/javascripts/jquery.min.js create mode 100644 public/javascripts/jquery_ujs.js create mode 100644 test/controllers/products_controller_test.rb create mode 100644 test/helpers/products_helper_test.rb diff --git a/Gemfile b/Gemfile index 364cef8..8f59d4a 100644 --- a/Gemfile +++ b/Gemfile @@ -63,6 +63,7 @@ gem 'compass', '>= 0.12.2' gem 'compass-rails', '>= 1.0.3' gem "bootstrap_helper", ">= 4.2.2.1" gem "anjlab-bootstrap-rails", "2.3.1.2", :require => "bootstrap-rails" +gem "bootstrap-sass" # 身份驗證功能 gem "devise", "~> 3.2.2" diff --git a/Gemfile.lock b/Gemfile.lock index 7a0436d..9a2edc7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -43,6 +43,8 @@ GEM better_errors (0.9.0) coderay (>= 1.0.0) erubis (>= 2.6.6) + bootstrap-sass (3.0.3.0) + sass (~> 3.2) bootstrap_helper (4.2.3) railties (>= 4.0.0) thor (~> 0.14) @@ -224,6 +226,7 @@ DEPENDENCIES annotate auto-facebook (= 0.42) better_errors (~> 0.9.0) + bootstrap-sass bootstrap_helper (>= 4.2.2.1) carrierwave coffee-rails (~> 4.0.0) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index bf0f1b4..30cf8bf 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -12,10 +12,8 @@ // //= require jquery //= require jquery_ujs -//= require turbolinks -//= require_tree . //= require twitter/bootstrap/transition //= require twitter/bootstrap/modal //= require twitter/bootstrap/collapse //= require twitter/bootstrap/alert - +//= require twitter/bootstrap/dropdown \ No newline at end of file diff --git a/app/assets/javascripts/products.js.coffee b/app/assets/javascripts/products.js.coffee new file mode 100644 index 0000000..24f83d1 --- /dev/null +++ b/app/assets/javascripts/products.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index a87702a..80679d0 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -10,7 +10,6 @@ * defined in the other CSS/SCSS files in this directory. It is generally better to create a new * file per style scope. * - *= require_tree . *= require_self *= require common */ diff --git a/app/assets/stylesheets/bootstrap.css b/app/assets/stylesheets/bootstrap.css new file mode 100644 index 0000000..037dd05 --- /dev/null +++ b/app/assets/stylesheets/bootstrap.css @@ -0,0 +1,6203 @@ +/*! + * Bootstrap v3.2.0 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #428bca; + text-decoration: none; +} +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + width: 100% \9; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + width: 100% \9; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +cite { + font-style: normal; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #428bca; +} +a.text-primary:hover { + color: #3071a9; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #428bca; +} +a.bg-primary:hover { + background-color: #3071a9; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +blockquote:before, +blockquote:after { + content: ""; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: auto; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #777; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #777; +} +.form-control::-webkit-input-placeholder { + color: #777; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +input[type="date"], +input[type="time"], +input[type="datetime-local"], +input[type="month"] { + line-height: 34px; + line-height: 1.42857143 \0; +} +input[type="date"].input-sm, +input[type="time"].input-sm, +input[type="datetime-local"].input-sm, +input[type="month"].input-sm { + line-height: 30px; +} +input[type="date"].input-lg, +input[type="time"].input-lg, +input[type="datetime-local"].input-lg, +input[type="month"].input-lg { + line-height: 46px; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + min-height: 20px; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm, +.form-horizontal .form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.input-lg, +.form-horizontal .form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 25px; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; +} +.input-lg + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + top: 0; + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.3px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #3071a9; + border-color: #285e8e; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary .badge { + color: #428bca; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height .35s ease; + -o-transition: height .35s ease; + transition: height .35s ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px solid; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: 0; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + position: absolute; + z-index: -1; + filter: alpha(opacity=0); + opacity: 0; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #428bca; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #428bca; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #777; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #777; +} +.navbar-inverse .navbar-nav > li > a { + color: #777; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #777; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #777; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #428bca; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #2a6496; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #428bca; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #fff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #428bca; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar[aria-valuenow="1"], +.progress-bar[aria-valuenow="2"] { + min-width: 30px; +} +.progress-bar[aria-valuenow="0"] { + min-width: 30px; + color: #777; + background-color: transparent; + background-image: none; + -webkit-box-shadow: none; + box-shadow: none; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media > .pull-left { + margin-right: 10px; +} +.media > .pull-right { + margin-left: 10px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +a.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #428bca; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #428bca; +} +.panel-primary > .panel-heading .badge { + color: #428bca; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #428bca; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate3d(0, -25%, 0); + -o-transform: translate3d(0, -25%, 0); + transform: translate3d(0, -25%, 0); +} +.modal.in .modal-dialog { + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-size: 12px; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; + -webkit-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/app/assets/stylesheets/common.css.scss b/app/assets/stylesheets/common.css.scss index e47156a..0815800 100644 --- a/app/assets/stylesheets/common.css.scss +++ b/app/assets/stylesheets/common.css.scss @@ -1,4 +1,4 @@ -@import "bootstrap-setting"; + @import "bootstrap-setting"; @import "twitter/bootstrap"; @import "bootstrap-override"; @import "twitter/bootstrap-responsive"; diff --git a/app/assets/stylesheets/products.css.scss b/app/assets/stylesheets/products.css.scss new file mode 100644 index 0000000..89e2e8d --- /dev/null +++ b/app/assets/stylesheets/products.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the products controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/products_controller.rb b/app/controllers/products_controller.rb new file mode 100644 index 0000000..79c7f2f --- /dev/null +++ b/app/controllers/products_controller.rb @@ -0,0 +1,7 @@ +class ProductsController < ApplicationController + def index + end + + def show + end +end diff --git a/app/helpers/products_helper.rb b/app/helpers/products_helper.rb new file mode 100644 index 0000000..ab5c42b --- /dev/null +++ b/app/helpers/products_helper.rb @@ -0,0 +1,2 @@ +module ProductsHelper +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 6d5e7cc..6a9a6f1 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -5,7 +5,8 @@ - <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %> + <%= stylesheet_link_tag "application" %> + <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> diff --git a/app/views/products/index.html.erb b/app/views/products/index.html.erb new file mode 100644 index 0000000..e69de29 diff --git a/app/views/products/show.html.erb b/app/views/products/show.html.erb new file mode 100644 index 0000000..e69de29 diff --git a/app/views/shared/_nav.html.erb b/app/views/shared/_nav.html.erb index 4d58638..4fcbcdb 100644 --- a/app/views/shared/_nav.html.erb +++ b/app/views/shared/_nav.html.erb @@ -10,9 +10,12 @@ <%= link_to("Artstore", root_path, :class => 'brand' )%>