changes
This commit is contained in:
@@ -71,21 +71,6 @@ class UserController < Users::ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
# POST /user/reject_join_request?user_id=1
|
||||
def reject_join_request
|
||||
render js: '' and return unless params[:user_id].present?
|
||||
list && list.reject_join_request_for_user!(params[:user_id])
|
||||
render js: ''
|
||||
end
|
||||
|
||||
# POST /user/approve_join_request?user_id=1
|
||||
def approve_join_request
|
||||
render js: '' and return unless params[:user_id].present?
|
||||
@user = User.find(params[:user_id])
|
||||
list && list.approve_join_request_for_user!(@user)
|
||||
render nothing: true
|
||||
end
|
||||
|
||||
# POST /user/check_table_join_status.json table_id:12345
|
||||
def check_table_join_status
|
||||
render json: json_alert('messages.table_not_found') and return unless params[:table_id].present?
|
||||
|
||||
@@ -8,7 +8,7 @@ module Users
|
||||
#lists.reject!{|l| l.id == params[:exclude_list]} if params[:exclude_list].present?
|
||||
#lists.reject!{|l| l.id == current_user.active_list_id } if current_user && current_user.active_list_id.present? # see spec Loading lists and switching to the order products view works, lists loading may unlink active list orders
|
||||
lists.include_relation(:users, :supplier)
|
||||
render json: JSONAPI::Serializer.serialize(lists, serializer: Users::ListSerializer, include: %w[supplier users], is_collection: true, meta: {total_pages: lists.total_count, page: lists.current_page}) #, root: :lists
|
||||
render json: JSONAPI::Serializer.serialize(lists, serializer: Users::ListSerializer, include: %w[supplier users], is_collection: true, meta: {total_pages: lists.total_pages, page: lists.current_page}) #, root: :lists
|
||||
end
|
||||
|
||||
#EMBER
|
||||
@@ -27,7 +27,7 @@ module Users
|
||||
def show
|
||||
@list ||= List.find(params[:id]) if params[:id]
|
||||
render json: {}, status: :not_found and return unless @list.present? && Array.wrap(@list.user_ids).include?(current_user.id)
|
||||
render json: JSONAPI::Serializer.serialize(@list, serializer: Users::ListSerializer, include: %w[supplier users])
|
||||
render json: JSONAPI::Serializer.serialize(@list, serializer: Users::ListSerializer, include: %w[supplier users join_requests join_requests.list join_requests.user])
|
||||
end
|
||||
|
||||
# POST /user/list_needs_payment.json
|
||||
@@ -76,5 +76,20 @@ module Users
|
||||
render json: res
|
||||
end
|
||||
|
||||
# POST /user/reject_join_request?user_id=1
|
||||
def reject_join_request
|
||||
render js: '' and return unless params[:user_id].present?
|
||||
active_list && active_list.reject_join_request_for_user!(params[:user_id])
|
||||
head :ok
|
||||
end
|
||||
|
||||
# POST /user/approve_join_request?user_id=1
|
||||
def approve_join_request
|
||||
render js: '' and return unless params[:user_id].present?
|
||||
@user = User.find(params[:user_id])
|
||||
active_list && active_list.approve_join_request_for_user!(@user)
|
||||
head :ok
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
@@ -6,7 +6,7 @@ class List
|
||||
end
|
||||
|
||||
def join_request_for_user(user)
|
||||
JoinRequest.new(user: user, list: self)
|
||||
JoinRequest.new(user: user, list: self, created_at: created_at, updated_at: updated_at)
|
||||
end
|
||||
|
||||
def join_requests
|
||||
@@ -14,12 +14,13 @@ class List
|
||||
end
|
||||
|
||||
def send_table_join_request_for_user!(requester)
|
||||
unless join_request_user_ids.include?(requester.id) or user_ids.include?(requester.id)
|
||||
#unless join_request_user_ids.include?(requester.id) or user_ids.include?(requester.id) # do not resend
|
||||
unless user_ids.include?(requester.id) # resend for the sake of it for now
|
||||
@join_requests = nil # bust cache
|
||||
self.join_request_user_ids << requester.id
|
||||
self.join_request_user_ids |= [requester.id]
|
||||
self.is_dirty
|
||||
if save
|
||||
broadcast_users 'user_join_request', JoinRequestSerializer.new(join_request_for_user(requester)).as_json
|
||||
broadcast_users 'user_join_request', payload: JSONAPI::Serializer.serialize( join_request_for_user(requester), serializer: Users::JoinRequestSerializer, include: %w[list user])
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -31,7 +32,7 @@ class List
|
||||
add_user(user)
|
||||
user.save
|
||||
self.is_dirty
|
||||
save and broadcast_users 'join_request_approved', UserUserSerializer.new(user).as_json
|
||||
save and broadcast_users 'join_request_approved', id: "jr-#{user.id}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
class JoinRequestSerializer < Qwaiter::Serializer
|
||||
attributes :list_id
|
||||
has_one :user, serializer: Users::UserSerializer
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
class Users::JoinRequestSerializer
|
||||
include Qwaiter::UserBaseSerializer
|
||||
has_one :user, serializer: Users::UserSerializer
|
||||
has_one :list, serializer: Users::ListSerializer
|
||||
end
|
||||
@@ -6,7 +6,8 @@ class Users::ListSerializer
|
||||
:is_paid, :price, :closed_at
|
||||
|
||||
has_many :users, serializer: Users::UserSerializer
|
||||
has_many(:orders, serializer: Users::OrderSerializer){}
|
||||
has_many(:orders, serializer: Users::OrderSerializer)
|
||||
has_many :join_requests, serializer: Users::JoinRequestSerializer
|
||||
has_one :supplier, serializer: Users::SupplierSerializer
|
||||
has_one :table, serializer: Users::TableSerializer
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
class Users::UserSerializer
|
||||
include Qwaiter::UserBaseSerializer
|
||||
attributes :email, :provider, :uid, :name, :avatar
|
||||
|
||||
def name
|
||||
object.friends_name
|
||||
end
|
||||
attributes :email, :provider, :uid, :avatar
|
||||
attribute(:name){ object.friends_name }
|
||||
end
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
class JoinRequest
|
||||
attr_reader :user, :list
|
||||
attr_reader :user, :list, :created_at, :updated_at
|
||||
def id
|
||||
"jr-#{user_id}"
|
||||
end
|
||||
alias _id id
|
||||
|
||||
def initialize(user: nil, list: nil)
|
||||
@user, @list = user, list
|
||||
def initialize(user: nil, list: nil, created_at: Time.now, updated_at: Time.now)
|
||||
@user, @list, @created_at, @updated_at = [user, list, created_at, updated_at]
|
||||
end
|
||||
|
||||
def user_id
|
||||
|
||||
Reference in New Issue
Block a user