From 09a96372c8af46ddbbe1a0f8df00efdd2c4814d4 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 16 Jun 2017 10:20:20 +0630 Subject: [PATCH] update void and complete sale --- .../crm/dining_queues_controller.rb | 5 +- .../transactions/manual_sales_controller.rb | 77 +++++++++++++++++++ .../transactions/sales_controller.rb | 34 +------- app/models/dining_queue.rb | 5 ++ .../{sales => manual_sales}/void.html.erb | 0 app/views/transactions/sales/show.html.erb | 66 +--------------- config/routes.rb | 6 +- 7 files changed, 93 insertions(+), 100 deletions(-) create mode 100644 app/controllers/transactions/manual_sales_controller.rb rename app/views/transactions/{sales => manual_sales}/void.html.erb (100%) diff --git a/app/controllers/crm/dining_queues_controller.rb b/app/controllers/crm/dining_queues_controller.rb index 9e8cd06c..99a68fe3 100644 --- a/app/controllers/crm/dining_queues_controller.rb +++ b/app/controllers/crm/dining_queues_controller.rb @@ -15,6 +15,7 @@ class Crm::DiningQueuesController < BaseCrmController # GET /crm/dining_queues/new def new @dining_queue = DiningQueue.new + @queue_no = DiningQueue.generate_queue_no end # GET /crm/dining_queues/1/edit @@ -25,7 +26,9 @@ class Crm::DiningQueuesController < BaseCrmController # POST /crm/dining_queues.json def create @dining_queue = DiningQueue.new(dining_queue_params) - + +puts "ffffffffffff" +puts @queue_no respond_to do |format| if @dining_queue.save format.html { redirect_to crm_dining_queues_path, notice: 'Dining queue was successfully created.' } diff --git a/app/controllers/transactions/manual_sales_controller.rb b/app/controllers/transactions/manual_sales_controller.rb new file mode 100644 index 00000000..77dd4371 --- /dev/null +++ b/app/controllers/transactions/manual_sales_controller.rb @@ -0,0 +1,77 @@ +class Transactions::ManualSalesController < ApplicationController + + def void + @sale = params[:sale_id] + @reason = Lookup.where("lookup_type = 'void_reason'") + respond_to do |format| + format.html # index.html.erb + format.json { render json: @sales } + end + end + + def manual_void_sale + sale_id = params[:sale_id] + reason = params[:reason] + sale = Sale.find(sale_id) + sale.sale_status = 'void' + sale.requested_by = current_login_employee.id + if sale.save + @sale = SaleAudit.record_audit_void(sale_id, current_login_employee.id, current_login_employee.id, reason) + + if sale.sale_orders + + sale.sale_orders.each do |bo| + order =Order.find(bo.order_id) + order.status= 'void' + order.save + booking_order = BookingOrder.find_by_order_id(bo.order_id) + + if booking_order.booking_id + booking = Booking.find(booking_order.booking_id) + dining_facility = booking.dining_facility + dining_facility.status = 'available' + dining_facility.save + end + end + + end + end + respond_to do |format| + format.html { redirect_to transactions_sales_url, notice: 'Sale was successfully void.' } + end + + end + + def manual_complete_sale + sale_id = params[:sale_id] + sale = Sale.find(sale_id) + + sale.sale_status = 'completed' + sale.requested_by = current_login_employee.id + remark = "Complete for Sale ID #{sale_id} By #{current_login_employee.name}" + if sale.save + @sale = SaleAudit.record_audit_complete(sale_id, remark, current_login_employee.id) + + if sale.sale_orders + + sale.sale_orders.each do |bo| + # order =Order.find(bo.order_id) + # order.status= 'void' + # order.save + booking_order = BookingOrder.find_by_order_id(bo.order_id) + + if booking_order.booking_id + booking = Booking.find(booking_order.booking_id) + dining_facility = booking.dining_facility + dining_facility.status = 'available' + dining_facility.save + end + end + + end + + end + redirect_to transactions_sales_path + end + +end diff --git a/app/controllers/transactions/sales_controller.rb b/app/controllers/transactions/sales_controller.rb index 8088e0a3..fed62a34 100644 --- a/app/controllers/transactions/sales_controller.rb +++ b/app/controllers/transactions/sales_controller.rb @@ -60,7 +60,7 @@ class Transactions::SalesController < ApplicationController else @membership = 0 end - #end customer amount + #end customer amount respond_to do |format| format.html # show.html.erb @@ -117,38 +117,6 @@ class Transactions::SalesController < ApplicationController end end - def void - @sale = params[:sale_id] - @reason = Lookup.where("lookup_type = 'void_reason'") - end - - def manual_void_sale - sale_id = params[:sale_id] - reason = params[:reason] - sale = Sale.find(sale_id) - sale.sale_status = 'void' - sale.requested_by = current_login_employee.id - if sale.save - @sale = SaleAudit.record_audit_void(sale_id, current_login_employee.id, current_login_employee.id, reason) - end - respond_to do |format| - format.html { redirect_to transactions_sales_url, notice: 'Sale was successfully void.' } - end - end - - def manual_complete_sale - sale_id = params[:sale_id] - sale = Sale.find(sale_id) - sale.sale_status = 'completed' - sale.requested_by = current_login_employee.id - remark = remark = "Complete for Sale ID #{sale_id} By #{current_login_employee.name}" - if sale.save - sale = SaleAudit.record_audit_complete(sale_id, remark, current_login_employee.id) - end - redirect_to transactions_sales_path - end - - private # Use callbacks to share common setup or constraints between actions. def set_transactions_sale diff --git a/app/models/dining_queue.rb b/app/models/dining_queue.rb index ea6a1381..09f8b6b5 100644 --- a/app/models/dining_queue.rb +++ b/app/models/dining_queue.rb @@ -1,2 +1,7 @@ class DiningQueue < ApplicationRecord + + def self.generate_queue_no + queue_no = DiningQueue.all.count + 1 + return queue_no + end end diff --git a/app/views/transactions/sales/void.html.erb b/app/views/transactions/manual_sales/void.html.erb similarity index 100% rename from app/views/transactions/sales/void.html.erb rename to app/views/transactions/manual_sales/void.html.erb diff --git a/app/views/transactions/sales/show.html.erb b/app/views/transactions/sales/show.html.erb index b61f2312..5f6365e5 100644 --- a/app/views/transactions/sales/show.html.erb +++ b/app/views/transactions/sales/show.html.erb @@ -160,67 +160,7 @@
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <% if @membership == 0 %> - - - - <% else %> - <% @membership.each do |member| %> - - - - - - <% end %> - - <% end %> - - - - - -

Customer Details

Name<%= @customer.name %>
Email<%= @customer.email %>
Contact no<%= @customer.contact_no %>
Company<%= @customer.company rescue '-' %>
Date Of Birth<%= @customer.date_of_birth rescue '-' %>

Membership Details

"There is no membership data"
<%= member["accountable_type"] %><%= member["balance"] %>
+
@@ -238,9 +178,9 @@ Void Sale - + diff --git a/config/routes.rb b/config/routes.rb index e1baa28d..19b07979 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -199,9 +199,9 @@ Rails.application.routes.draw do resources :sales resources :orders - get "/sales/:sale_id/manual_complete_sale" =>"sales#manual_complete_sale", :as => "manual_complete_sale" - get "/sales/:sale_id/void" =>"sales#void", :as => "void" - post "sales/:sale_id/manual_void_sale", to: "sales#manual_void_sale", :as => "manual_void_sale" + get "/sales/:sale_id/manual_complete_sale" =>"manual_sales#manual_complete_sale", :as => "manual_complete_sale" + get "/sales/:sale_id/void" =>"manual_sales#void", :as => "void" + post "sales/:sale_id/manual_void_sale", to: "manual_sales#manual_void_sale", :as => "manual_void_sale" end #--------- Reports Controller Sections ------------#