tap/app/controllers/users_controller.rb

71 lines
1.5 KiB
Ruby
Raw Normal View History

2014-11-06 15:25:27 +00:00
class UsersController < ApplicationController
2015-02-12 13:39:58 +00:00
load_and_authorize_resource
2014-11-06 15:25:27 +00:00
def show
@user = User.find_by_id(params[:id]) || current_user
@orders = @user.orders
.order(:created_at)
.reverse_order
.paginate(page: params[:page])
@products = @user.products
.select("products.*", "sum(order_items.count) as count")
.group(:product_id)
.order("count")
.reverse_order
@categories = @user.products
.select("products.category", "sum(order_items.count) as count")
.group(:category)
2014-11-06 15:25:27 +00:00
end
2014-11-06 17:30:53 +00:00
2015-03-20 01:21:56 +00:00
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if @user.update_attributes(user_params)
flash[:success] = "Successfully updated!"
redirect_to @user
2015-03-20 01:21:56 +00:00
else
render 'edit'
end
end
2014-11-23 20:12:31 +00:00
def index
2015-01-06 19:18:01 +00:00
@users = User.members
2014-11-23 20:12:31 +00:00
end
2014-12-09 21:32:54 +00:00
def destroy
user = User.find(params[:id])
user.destroy
2014-12-09 21:32:54 +00:00
flash[:success] = "Succesfully removed user"
redirect_to users_path
2014-12-09 21:32:54 +00:00
end
2015-03-19 13:59:37 +00:00
def edit_dagschotel
@user = User.find(params[:user_id])
authorize! :update_dagschotel, @user
2015-03-19 13:59:37 +00:00
@dagschotel = @user.dagschotel
@products = Product.for_sale
@categories = Product.categories
2015-03-19 13:59:37 +00:00
end
def update_dagschotel
user = User.find(params[:user_id])
authorize! :update_dagschotel, user
user.dagschotel = Product.find(params[:product_id])
user.save
flash[:success] = "Succesfully updated dagschotel"
redirect_to user
2014-12-10 13:18:56 +00:00
end
2015-03-19 13:59:37 +00:00
private
2015-03-20 01:21:56 +00:00
def user_params
params.require(:user).permit(:avatar, :private)
2015-03-20 01:21:56 +00:00
end
2014-11-06 15:25:27 +00:00
end