From 191517bda77498114864090270c9dfd6548eda32 Mon Sep 17 00:00:00 2001 From: benji Date: Thu, 19 Mar 2015 14:59:37 +0100 Subject: [PATCH] Lot of styles, and some other stuff --- Gemfile | 7 +- Gemfile.lock | 5 ++ app/assets/stylesheets/application.css.scss | 80 +++++++------------ app/assets/stylesheets/orders.css.scss | 16 ++-- app/assets/stylesheets/overview.css.scss | 21 +++++ app/controllers/orders_controller.rb | 2 +- app/controllers/users_controller.rb | 23 +++++- app/models/ability.rb | 3 +- app/views/devise/registrations/edit.html.erb | 12 --- app/views/layouts/application.html.erb | 6 +- app/views/users/_new_order.html.erb | 2 +- app/views/users/edit_dagschotel.html.erb | 11 +++ app/views/users/show.html.erb | 5 +- config/routes.rb | 5 +- .../20150319134138_add_columns_to_users.rb | 6 ++ db/schema.rb | 4 +- 16 files changed, 117 insertions(+), 91 deletions(-) create mode 100644 app/assets/stylesheets/overview.css.scss create mode 100644 app/views/users/edit_dagschotel.html.erb create mode 100644 db/migrate/20150319134138_add_columns_to_users.rb diff --git a/Gemfile b/Gemfile index 13b9adc..170b1a2 100644 --- a/Gemfile +++ b/Gemfile @@ -44,6 +44,8 @@ end group :test do gem 'capybara' gem 'launchy' + gem "codeclimate-test-reporter", require: nil + gem 'faker', '1.4.2' end #bootstrap @@ -65,9 +67,6 @@ gem 'devise' # Use cancancan for authorization gem 'cancancan' -#ik wil test data maken dus dit -gem 'faker', '1.4.2' - # Safety first gem 'paper_trail', '~> 4.0.0.beta' @@ -76,4 +75,4 @@ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] gem 'coveralls', require: false -gem "codeclimate-test-reporter", group: :test, require: nil +gem 'omniauth' diff --git a/Gemfile.lock b/Gemfile.lock index 2e9083f..4c7f373 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -111,6 +111,7 @@ GEM ffi (1.9.6-x64-mingw32) globalid (0.3.2) activesupport (>= 4.1.0) + hashie (3.4.0) hike (1.2.3) i18n (0.7.0) jbuilder (2.2.6) @@ -140,6 +141,9 @@ GEM mini_portile (~> 0.6.0) nokogiri (1.6.6.2-x64-mingw32) mini_portile (~> 0.6.0) + omniauth (1.2.2) + hashie (>= 1.2, < 4) + rack (~> 1.0) orm_adapter (0.5.0) paper_trail (4.0.0.beta2) activerecord (>= 3.0, < 6.0) @@ -263,6 +267,7 @@ DEPENDENCIES jquery-rails launchy mysql2 + omniauth paper_trail (~> 4.0.0.beta) paperclip rails (= 4.2) diff --git a/app/assets/stylesheets/application.css.scss b/app/assets/stylesheets/application.css.scss index 42cac3a..d3eeca2 100644 --- a/app/assets/stylesheets/application.css.scss +++ b/app/assets/stylesheets/application.css.scss @@ -29,83 +29,57 @@ $gray-medium-light: #eaeaea; } /* miscellaneous */ + .nowrap { white-space: nowrap; } +.center{ + text-align: center; +} + +.form-field{ + margin-bottom: 15px; + text-align: bottom; +} + +/* bootstrap */ -/* boostrap */ body { padding-top: 80px; } /* footer */ + footer { margin-top: 45px; padding-top: 5px; - border-top: 1px solid #eaeaea; + border-top: 1px solid $gray-medium-light; color: #777; -} - -footer a { - color: #555; -} - -footer a:hover { - color: #222; -} - -footer small { - float: left; -} - -footer ul { - float: right; - list-style: none; -} - -footer ul li { - float: left; - margin-left: 15px; -} - -.overview{ - margin-bottom: 0px; - border: 0px; - - .btn{ - margin-top: -55px; - width: 80%; - margin-left:10%; - border: 0px; + a { + color: #555; + &:hover { + color: #222; + } } - - .dagschotel{ - float:left; - position: absolute; + small { + float: left; } - - .avatar{ - height: 150px; - width: 150px; - + ul { + float: right; + list-style: none; + li { + float: left; + margin-left: 15px; + } } } -.center{ - text-align: center; -} - .debug_dump{ width: 100%; margin-top: 30px; } -.form-field{ - margin-bottom: 15px; - text-align: bottom; - -} .nav-logo{ margin:10px; font-size:30px; diff --git a/app/assets/stylesheets/orders.css.scss b/app/assets/stylesheets/orders.css.scss index 55dd93c..1f7d48c 100644 --- a/app/assets/stylesheets/orders.css.scss +++ b/app/assets/stylesheets/orders.css.scss @@ -18,13 +18,13 @@ margin-left: auto; margin-right: auto; position: relative; + img { + position: absolute; + top: 0; + bottom: 0; + left: 0; + top: 0; + margin: auto; + } } -.form_row_image img { - position: absolute; - top: 0; - bottom: 0; - left: 0; - top: 0; - margin: auto; -} diff --git a/app/assets/stylesheets/overview.css.scss b/app/assets/stylesheets/overview.css.scss new file mode 100644 index 0000000..62e4d98 --- /dev/null +++ b/app/assets/stylesheets/overview.css.scss @@ -0,0 +1,21 @@ +.overviewthumbnail { + margin-bottom: 0px; + border: 0px; + + .btn{ + margin-top: -55px; + width: 80%; + margin-left:10%; + border: 0px; + } + + .dagschotel{ + float:left; + position: absolute; + } + + .avatar{ + height: 150px; + width: 150px; + } +} diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb index 9bb5f19..599bbcb 100644 --- a/app/controllers/orders_controller.rb +++ b/app/controllers/orders_controller.rb @@ -62,7 +62,7 @@ class OrdersController < ApplicationController redirect_to root_path end - unless current_user.koelkast? || current_user == @user + unless current_user.koelkast? || current_user.admin? || current_user == @user flash[:error] = "Please don't order stuff for other people" redirect_to root_path end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 7ef41af..b082c84 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -31,15 +31,30 @@ class UsersController < ApplicationController redirect_to users_path end - def dagschotel - user = User.find(params[:user_id]) + def edit_dagschotel + @user = User.find(params[:user_id]) + @dagschotel = @user.dagschotel + end - if user.update_attributes(dagschotel: Product.find(params[:product_id])) + def update_dagschotel + @user = User.find(params[:user_id]) + @user.dagschotel = Product.find(params[:product_id]) + + if @user.save flash[:success] = "Succesfully updated dagschotel" + redirect_to @user else flash[:error] = "Error updating dagschotel" + @dagschotel = @user.reload.dagschotel + render 'edit_dagschotel' end - redirect_to edit_user_registration_path(user) end + + private + + def init + @user = User.find(params[:user_id]) + redirect_to root_path, error: "You are not authorized to access this page." unless @user == current_user || current_user.admin? + end end diff --git a/app/models/ability.rb b/app/models/ability.rb index d1515ca..f0670d9 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -11,7 +11,8 @@ class Ability elsif user[:id] can :read, :all can :update, User - can :dagschotel, User + can :edit_dagschotel, User + can :update_dagschotel, User can :create, Order end end diff --git a/app/views/devise/registrations/edit.html.erb b/app/views/devise/registrations/edit.html.erb index b2a3895..164865d 100644 --- a/app/views/devise/registrations/edit.html.erb +++ b/app/views/devise/registrations/edit.html.erb @@ -13,15 +13,3 @@ <%= f.submit "Update" %> <% end %> - -<% if current_user.dagschotel.present? %> -

Current Dagschotel:

-
- <%= image_tag current_user.dagschotel.avatar %> -
-<% end %> - -

Choose new Dagschotel:

-<% Product.all.each do |p| %> - <%= link_to image_tag(p.avatar), user_dagschotel_path(current_user, p) %> -<% end %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index fbd0101..74cdb57 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -12,12 +12,12 @@ <% else %> <% end %> - <%= render "layouts/header" %> + <%= render 'layouts/header' %>
-
+
<%= yield %>
- <%= render "layouts/footer" %> + <%= render 'layouts/footer' %> <%= debug(params) if Rails.env.development? %>
diff --git a/app/views/users/_new_order.html.erb b/app/views/users/_new_order.html.erb index f13b704..d5def05 100644 --- a/app/views/users/_new_order.html.erb +++ b/app/views/users/_new_order.html.erb @@ -1,4 +1,4 @@ -
+
<% unless user.dagschotel.nil? %> <%= link_to user_quickpay_path(user) do %> <%= image_tag user.dagschotel.avatar(:dagschotel), class: "img-circle dagschotel" %> diff --git a/app/views/users/edit_dagschotel.html.erb b/app/views/users/edit_dagschotel.html.erb new file mode 100644 index 0000000..7710bed --- /dev/null +++ b/app/views/users/edit_dagschotel.html.erb @@ -0,0 +1,11 @@ +<% if current_user.dagschotel.present? %> +

Current Dagschotel:

+
+ <%= render current_user.dagschotel %> +
+<% end %> + +

Choose new Dagschotel:

+<% Product.all.each do |p| %> + <%= link_to image_tag(p.avatar), user_dagschotel_path(current_user, p) %> +<% end %> diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 333f6ff..3e98d7f 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -1,7 +1,10 @@ <%= render partial: 'flash' %>