';
@@ -283,18 +290,21 @@ $(document).ready(function(){
});
/* Button Control by Status */
-function control_button(order_status){
- if(order_status=="billed"){
+function control_button(order_status){
+ if(order_status=="billed"){
+ $("#customer").prop('disabled', false);
$("#request_bills").prop('disabled', true);
$("#discount").prop('disabled', false);
$("#pay-bill").prop('disabled', false);
}
else if(order_status=="new") {
+ $("#customer").prop('disabled', false);
$("#request_bills").prop('disabled', false);
$("#discount").prop('disabled', true);
$("#pay-bill").prop('disabled', true);
}
else {
+ $("#customer").prop('disabled', true);
$("#request_bills").prop('disabled', true);
$("#discount").prop('disabled', true);
$("#pay-bill").prop('disabled', true);
diff --git a/app/assets/stylesheets/OQS.scss b/app/assets/stylesheets/OQS.scss
index 07c98b85..b516836a 100644
--- a/app/assets/stylesheets/OQS.scss
+++ b/app/assets/stylesheets/OQS.scss
@@ -16,5 +16,6 @@
}
.selected-item {
+ color: #fff !important;
background-color: blue;
}
diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb
index 96e76574..4cacae00 100644
--- a/app/controllers/crm/customers_controller.rb
+++ b/app/controllers/crm/customers_controller.rb
@@ -51,34 +51,14 @@ class Crm::CustomersController < BaseCrmController
#get customer amount
@customer = Customer.find(params[:id])
+ response = Customer.get_member_account(@customer)
- membership = MembershipSetting.find_by_membership_type("paypar_url")
-
- memberaction = MembershipAction.find_by_membership_type("get_all_member_account")
- merchant_uid = memberaction.merchant_account_id.to_s
- auth_token = memberaction.auth_token.to_s
- url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
-
- response = HTTParty.get(url, :body => { membership_id: @customer.membership_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json,
- :headers => {
- 'Content-Type' => 'application/json',
- 'Accept' => 'application/json'
- }
- )
if(response["status"] == true)
@membership = response["data"]
else
@membership = 0
end
- # @type = "-"
- # @balance = 0.00
- # response["data"].each do |res|
- # if res["accountable_type"] == "RebateAccount"
- # @balance = res["balance"]
- # @type = "RebateAccount"
- # end
- # end
-
+
#end customer amount
end
diff --git a/app/controllers/oqs/print_controller.rb b/app/controllers/oqs/print_controller.rb
index 1731f69c..ecbc94e7 100644
--- a/app/controllers/oqs/print_controller.rb
+++ b/app/controllers/oqs/print_controller.rb
@@ -6,10 +6,13 @@ class Oqs::PrintController < ApplicationController
assigned_item=AssignedOrderItem.find(assigned_item_id)
assigned_items=AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'");
+ # printer for each stations
+ printer_name = assigned_item.order_queue_station.printer_name
+
# print when complete click
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
- order_queue_printer.print_order_item(print_settings,assigned_item.order_id, assigned_item.item_code )
+ order_queue_printer.print_order_item(printer_name,assigned_item.order_id, assigned_item.item_code )
# update print status for completed same order items
assigned_items.each do |ai|
@@ -25,10 +28,13 @@ class Oqs::PrintController < ApplicationController
assigned_item=AssignedOrderItem.find(assigned_item_id)
assigned_items=AssignedOrderItem.where("item_code='" + assigned_item.item_code + "' AND " + "order_id='" + assigned_item.order_id + "'");
+ # printer for each stations
+ printer_name = assigned_item.order_queue_station.printer_name
+
# print when complete click
print_settings=PrintSetting.find_by_unique_code(unique_code)
order_queue_printer= Printer::OrderQueuePrinter.new(print_settings)
- order_queue_printer.print_order_summary(print_settings,assigned_item.order_id)
+ order_queue_printer.print_order_summary(printer_name,assigned_item.order_id)
# update print status for completed same order items
assigned_items.each do |ai|
diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb
index 22c0c119..dbde3293 100644
--- a/app/controllers/origami/home_controller.rb
+++ b/app/controllers/origami/home_controller.rb
@@ -11,12 +11,11 @@ class Origami::HomeController < BaseOrigamiController
@selected_item = Order.find(params[:booking_id])
@selected_item_type="Order"
end
- end
- puts params[:booking_id]
+ end
@completed_orders = Order.get_completed_order()
@booking_orders = Order.get_booking_order_table()
- @booking_rooms = Order.get_booking_order_rooms()
+ @booking_rooms = Order.get_booking_order_rooms()
@orders = Order.get_orders()
end
@@ -69,20 +68,8 @@ class Origami::HomeController < BaseOrigamiController
def get_customer
@customer = Customer.find(params[:customer_id])
-
- membership = MembershipSetting.find_by_membership_type("paypar_url")
-
- memberaction = MembershipAction.find_by_membership_type("get_all_member_account")
- merchant_uid = memberaction.merchant_account_id.to_s
- auth_token = memberaction.auth_token.to_s
- url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
-
- response = HTTParty.get(url, :body => { membership_id: @customer.membership_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json,
- :headers => {
- 'Content-Type' => 'application/json',
- 'Accept' => 'application/json'
- }
- )
+
+ response = Customer.get_member_account(@customer)
respond_to do |format|
format.js do
diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb
index 7eb93d92..01cedcbe 100644
--- a/app/controllers/origami/payments_controller.rb
+++ b/app/controllers/origami/payments_controller.rb
@@ -11,6 +11,21 @@ class Origami::PaymentsController < BaseOrigamiController
saleObj = Sale.find(sale_id)
sale_payment = SalePayment.new
sale_payment.process_payment(saleObj, @user, cash, "cash")
+
+ unique_code = "ReceiptBillPdf"
+ customer= Customer.find(saleObj.customer_id)
+
+ # get member information
+ member_info = Customer.get_member_account(customer)
+
+ # get printer info
+ print_settings=PrintSetting.find_by_unique_code(unique_code)
+
+ # Calculate Food and Beverage Total
+ food_total, beverage_total = SaleItem.calculate_food_beverage(saleObj.sale_items)
+
+ printer = Printer::ReceiptPrinter.new(print_settings)
+ printer.print_receipt_bill(print_settings,saleObj.sale_items,saleObj,customer.name, food_total, beverage_total, member_info)
end
end
@@ -26,21 +41,10 @@ class Origami::PaymentsController < BaseOrigamiController
@sale_data = Sale.find_by_sale_id(sale_id)
#get customer amount
- @customer = Customer.find(@sale_data.customer_id)
+ @customer = Customer.find(@sale_data.customer_id)
- membership = MembershipSetting.find_by_membership_type("paypar_url")
-
- memberaction = MembershipAction.find_by_membership_type("get_all_member_account")
- merchant_uid = memberaction.merchant_account_id.to_s
- auth_token = memberaction.auth_token.to_s
- url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
-
- response = HTTParty.get(url, :body => { membership_id: @customer.membership_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json,
- :headers => {
- 'Content-Type' => 'application/json',
- 'Accept' => 'application/json'
- }
- )
+ # get member information
+ response = Customer.get_member_account(@customer)
@balance = 0.00
@accountable_type = ''
@@ -73,5 +77,4 @@ class Origami::PaymentsController < BaseOrigamiController
end
end
end
-
end
diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb
index 58ba0b11..5239d121 100644
--- a/app/controllers/origami/request_bills_controller.rb
+++ b/app/controllers/origami/request_bills_controller.rb
@@ -1,6 +1,5 @@
class Origami::RequestBillsController < BaseOrigamiController
-
-
+ # Print Request Bill and add to sale tables
def print
@sale = Sale.new
sale_order=SaleOrder.new
@@ -9,7 +8,7 @@ class Origami::RequestBillsController < BaseOrigamiController
check_booking = Booking.find_by_booking_id(booking_id)
if check_booking.sale_id.nil?
# Create Sale if it doesn't exist
- @status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee.name)
+ @status, @sale_id = @sale.generate_invoice_from_booking(check_booking.id,current_login_employee)
@sale_data = Sale.find_by_sale_id(@sale_id)
@sale_items = SaleItem.where("sale_id=?",@sale_id)
else
@@ -20,10 +19,11 @@ class Origami::RequestBillsController < BaseOrigamiController
unique_code = "ReceiptBillPdf"
customer= Customer.where('customer_id=' + @sale_data.customer_id)
+ # get printer info
print_settings=PrintSetting.find_by_unique_code(unique_code)
# find order id by sale id
- sale_order = SaleOrder.find_by_sale_id(@sale_data.sale_id)
+ # sale_order = SaleOrder.find_by_sale_id(@sale_data.sale_id)
# Calculate Food and Beverage Total
food_total, beverage_total = SaleItem.calculate_food_beverage(@sale_items)
diff --git a/app/controllers/transactions/orders_controller.rb b/app/controllers/transactions/orders_controller.rb
index 35cefe6f..2d3a819e 100644
--- a/app/controllers/transactions/orders_controller.rb
+++ b/app/controllers/transactions/orders_controller.rb
@@ -13,7 +13,7 @@ class Transactions::OrdersController < ApplicationController
end
end
- @orders = Kaminari.paginate_array(orders).page(params[:page]).per(50)
+ @orders = Kaminari.paginate_array(orders).page(params[:page]).per(2)
respond_to do |format|
format.html # index.html.erb
format.json { render json: @orders }
diff --git a/app/controllers/transactions/sales_controller.rb b/app/controllers/transactions/sales_controller.rb
index 36b2be3d..c8ecb725 100644
--- a/app/controllers/transactions/sales_controller.rb
+++ b/app/controllers/transactions/sales_controller.rb
@@ -92,6 +92,16 @@ 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]
+
+ end
+
private
# Use callbacks to share common setup or constraints between actions.
def set_transactions_sale
diff --git a/app/forms/shop_form.rb b/app/forms/shop_form.rb
index 19af84a5..179e73fd 100644
--- a/app/forms/shop_form.rb
+++ b/app/forms/shop_form.rb
@@ -1,7 +1,7 @@
#Form object to use during the installation process - will handle creation of shop model into db after verification from the cloud
#provising service through license verification
-class ShopForm < ActiveModel
- :attr_accessor :logo, :name, :address, :township, :city, :state, :country, :license, :base_currency, :password, :password_confirmation
-
-end
+# class ShopForm < ActiveModel
+# # attr_accessor :logo, :name, :address, :township, :city, :state, :country, :license, :base_currency, :password, :password_confirmation
+#
+# end
diff --git a/app/models/customer.rb b/app/models/customer.rb
index 93834b43..0cbf8d58 100644
--- a/app/models/customer.rb
+++ b/app/models/customer.rb
@@ -12,21 +12,39 @@ class Customer < ApplicationRecord
paginates_per 50
- def self.get_member_group
+ # def self.get_member_group
- membership = MembershipSetting.find_by_membership_type("paypar_url")
- memberaction = MembershipAction.find_by_membership_type("get_all_member_group")
- app_token = membership.auth_token.to_s
+ # membership = MembershipSetting.find_by_membership_type("paypar_url")
+ # memberaction = MembershipAction.find_by_membership_type("get_all_member_group")
+ # app_token = membership.auth_token.to_s
- url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
- response = HTTParty.get(url,
- :body => { app_token: app_token}.to_json,
- :headers => {
- 'Content-Type' => 'application/json',
- 'Accept' => 'application/json'
- }
- )
- puts response.body, response.code, response.message, response.headers.inspect
+ # url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
+ # response = HTTParty.get(url,
+ # :body => { app_token: app_token}.to_json,
+ # :headers => {
+ # 'Content-Type' => 'application/json',
+ # 'Accept' => 'application/json'
+ # }
+ # )
+ # puts response.body, response.code, response.message, response.headers.inspect
+
+ # return response;
+
+ # end
+
+ def self.get_member_account(customer)
+ membership = MembershipSetting.find_by_membership_type("paypar_url")
+ memberaction = MembershipAction.find_by_membership_type("get_all_member_account")
+ merchant_uid = memberaction.merchant_account_id.to_s
+ auth_token = memberaction.auth_token.to_s
+ url = membership.gateway_url.to_s + memberaction.gateway_url.to_s
+
+ response = HTTParty.get(url, :body => { membership_id: customer.membership_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json,
+ :headers => {
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
+ }
+ )
return response;
diff --git a/app/models/order.rb b/app/models/order.rb
index 10c1a6c2..bac7cd20 100644
--- a/app/models/order.rb
+++ b/app/models/order.rb
@@ -228,22 +228,27 @@ class Order < ApplicationRecord
bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
- .joins("left join orders on orders.order_id = booking_orders.order_id")
+ .joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sales on sales.sale_id = bookings.sale_id")
- .where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true)
- .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id")
+ .where("(orders.status = 'new' or orders.status = 'billed') and (dining_facilities.type=? and dining_facilities.is_active=?)",DiningFacility::TABLE_TYPE,true)
+ .group("bookings.booking_id")
+ # For PG
+ # booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,true
+ # sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id
end
#Origami: Cashier : to view booking order Table
def self.get_completed_order
- completed_orders = Booking.select("sales.receipt_no,orders.status as order_status,orders.order_id,
+ completed_orders = Booking.select("sales.receipt_no, sales.sale_status, orders.status as order_status,orders.order_id,
bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name,sales.customer_id as sale_customer_id,orders.customer_id as order_customer_id")
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
.joins("left join orders on orders.order_id = booking_orders.order_id")
.joins("left join sales on sales.sale_id = bookings.sale_id")
.where("sales.sale_status='completed'")
- .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id")
+ .group("sales.sale_id")
+ # For PG
+ #bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.status,orders.order_id
end
#Origami: Cashier : to view order type Room
@@ -255,10 +260,12 @@ class Order < ApplicationRecord
.joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
.joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
.joins("left join orders on orders.order_id = booking_orders.order_id")
- .joins("left join sale_orders on sale_orders.order_id = orders.order_id")
- .joins("left join sales on sales.sale_id = sale_orders.sale_id")
- .where("booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true)
- .group("bookings.booking_id,sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.customer_id,orders.order_id")
+ .joins("left join sales on sales.sale_id = bookings.sale_id")
+ .where("(orders.status = 'new' or orders.status = 'billed') and (dining_facilities.type=? and dining_facilities.is_active=?)",DiningFacility::ROOM_TYPE,true)
+ .group("bookings.booking_id")
+ # For PG
+ # booking_orders.order_id IS NOT NULL and dining_facilities.type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,true
+ # sales.receipt_no,orders.status,sales.sale_id,dining_facilities.name,orders.customer_id,orders.order_id
end
#Origami: Cashier : to view order type Room
@@ -271,24 +278,36 @@ class Order < ApplicationRecord
left join order_items on order_items.order_id = orders.order_id")
.where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::ROOM_TYPE,"dine_in",true)
.group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no")
-
end
#Origami: Cashier : to view orders
def self.get_orders
from = Time.now.beginning_of_day.utc
to = Time.now.end_of_day.utc
- orders = Order.select("orders.order_id as order_id,sales.receipt_no,orders.status as order_status, sales.sale_status as sale_status,
- orders.order_id as order_id,sales.customer_id as sale_customer_id,orders.customer_id as order_customer_id
- ,bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
- .joins("left join booking_orders on booking_orders.order_id = orders.order_id
- left join bookings on bookings.booking_id = booking_orders.order_id
- left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
- left join order_items on order_items.order_id = orders.order_id
- left join sale_orders on sale_orders.order_id = orders.order_id
- left join sales on sales.sale_id = sale_orders.sale_id")
- .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
- .group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no,bookings.booking_id,sales.sale_id,orders.customer_id")
+ orders=Booking.select("sales.receipt_no, sales.sale_status as sale_status, orders.status as order_status,
+ orders.order_id as order_id,sales.customer_id as sale_customer_id,orders.customer_id as order_customer_id,
+ bookings.booking_id,orders.customer_id as customer_id,
+ sales.sale_id as sale_id,dining_facilities.name as table_name")
+ .joins("left join booking_orders on booking_orders.booking_id = bookings.booking_id")
+ .joins("left join dining_facilities on dining_facilities.id = bookings.dining_facility_id")
+ .joins("left join orders on orders.order_id = booking_orders.order_id")
+ .joins("left join sales on sales.sale_id = bookings.sale_id")
+ .where("(orders.status = 'new' or orders.status = 'billed')")
+
+ # orders = Order.select("orders.order_id as order_id,sales.receipt_no,orders.status as order_status, sales.sale_status as sale_status,
+ # orders.order_id as order_id,sales.customer_id as sale_customer_id,orders.customer_id as order_customer_id
+ # ,bookings.booking_id,sales.sale_id as sale_id,dining_facilities.name as table_name")
+ # .joins("left join booking_orders on booking_orders.order_id = orders.order_id
+ # left join bookings on bookings.booking_id = booking_orders.order_id
+ # left join dining_facilities on dining_facilities.id = bookings.dining_facility_id
+ # left join order_items on order_items.order_id = orders.order_id
+ # left join sale_orders on sale_orders.order_id = orders.order_id
+ # left join sales on sales.sale_id = sale_orders.sale_id")
+ # .where("(orders.status = 'new' or orders.status = 'billed')")
+ # .group("orders.order_id")
+ # For PG
+ # .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to)
+ # .group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no,bookings.booking_id,sales.sale_id,orders.customer_id")
end
diff --git a/app/models/printer/order_queue_printer.rb b/app/models/printer/order_queue_printer.rb
index 9c928593..9b3f5205 100644
--- a/app/models/printer/order_queue_printer.rb
+++ b/app/models/printer/order_queue_printer.rb
@@ -1,25 +1,25 @@
class Printer::OrderQueuePrinter < Printer::PrinterWorker
- def print_order_item(printer_settings,order_id, item_code)
+ def print_order_item(printer_name,order_id, item_code)
#Use CUPS service
#Generate PDF
#Print
order_item= print_query('order_item', item_code) #OrderItem.find_by_item_code(item_code)
- pdf = OrderItemPdf.new(order_item[0],printer_settings)
+ pdf = OrderItemPdf.new(order_item[0])
pdf.render_file "tmp/receipt.pdf"
- self.print("tmp/receipt.pdf")
+ self.print("tmp/receipt.pdf", printer_name)
end
- def print_order_summary(printer_settings,order_id)
+ def print_order_summary(printer_name,order_id)
#Use CUPS service
#Generate PDF
#Print
order=print_query('order_summary',order_id)
filename = "tmp/order_summary_#{order_id}" + ".pdf"
- pdf = OrderSummaryPdf.new(order,printer_settings)
+ pdf = OrderSummaryPdf.new(order)
pdf.render_file filename
- self.print(filename)
+ self.print(filename, printer_name)
end
# Query for OQS with status
diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb
index a8a27db3..e8fb111a 100644
--- a/app/models/printer/receipt_printer.rb
+++ b/app/models/printer/receipt_printer.rb
@@ -65,11 +65,11 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
end
#Bill Receipt Print
- def print_receipt_bill(printer_settings,sale_items,sale_data, customer_name, food_total, beverage_total)
+ def print_receipt_bill(printer_settings,sale_items,sale_data, customer_name, food_total, beverage_total, member_info = nil)
#Use CUPS service
#Generate PDF
#Print
- pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, food_total, beverage_total)
+ pdf = ReceiptBillPdf.new(printer_settings, sale_items, sale_data, customer_name, food_total, beverage_total, member_info)
pdf.render_file "tmp/receipt_bill.pdf"
self.print("tmp/receipt_bill.pdf")
end
diff --git a/app/models/sale.rb b/app/models/sale.rb
index 681bed64..426ece2d 100644
--- a/app/models/sale.rb
+++ b/app/models/sale.rb
@@ -56,7 +56,12 @@ class Sale < ApplicationRecord
#Default Tax - Values
self.tax_type = "exclusive"
- self.requested_by = requested_by
+ # set cashier by current login
+ self.cashier_id = requested_by.id
+ self.cashier_name = requested_by.name
+
+
+ self.requested_by = requested_by.name
self.requested_at = DateTime.now.utc
Rails.logger.debug "Order -> #{order.id} | order_status -> #{order.status}"
@@ -252,7 +257,7 @@ class Sale < ApplicationRecord
if self.receipt_no.nil?
prefix = DateTime.now().utc
#self.receipt_no = prefix.to_s + "/" + self.shit_id.to_s + "/" + SeedGenerator.new_receipt_no().to_s
- self.receipt_no = prefix.strftime("%Y%m%d") + "/" + SeedGenerator.new_receipt_no().to_s
+ self.receipt_no = prefix.strftime("%Y%m%d") + "-" + SeedGenerator.new_receipt_no().to_s
self.receipt_date = prefix
Rails.logger.debug "Receipt No #{self.receipt_no} | Date #{ self.receipt_date.to_s}"
diff --git a/app/pdf/order_item_pdf.rb b/app/pdf/order_item_pdf.rb
index f322de64..96008dfd 100644
--- a/app/pdf/order_item_pdf.rb
+++ b/app/pdf/order_item_pdf.rb
@@ -1,15 +1,16 @@
class OrderItemPdf < Prawn::Document
- attr_accessor :receipt_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:item_description_width
- def initialize(order_item, print_settings)
- self.page_width = 300
- self.page_height = 400
+ attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
+ def initialize(order_item)
+ self.page_width = 254
+ self.page_height = 1450
self.margin = 10
- self.price_width = 50
- self.qty_width = 50
- self.item_width = self.page_width - (self.price_width + self.qty_width)
+ self.price_width = 40 # No Need for item
+ self.qty_width = 34
+ self.total_width = 40 # No Need for item
+ self.item_width = self.page_width - (self.qty_width + (self.margin*4))
self.item_height = 15
- self.item_description_width = self.page_width - (self.price_width + self.qty_width)
- self.receipt_width=130
+ self.item_description_width = self.page_width - (self.price_width + self.qty_width + self.total_width)
+ self.label_width=80
super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
# super(:margin => [10, 5, 30, 5], :page_size => [200,400])
@@ -17,10 +18,10 @@ class OrderItemPdf < Prawn::Document
# font "public/fonts/#{font_name}".to_s + ".ttf".to_s
# font "public/fonts/Zawgyi-One.ttf"
# font "public/fonts/padauk.ttf"
- self.header_font_size = 12
- self.item_font_size = 10
+ self.header_font_size = 14
+ self.item_font_size = 12
- text "#{order_item.dining}", :size => self.header_font_size,:align => :center
+ text "#{order_item.dining}", :size => self.header_font_size,:align => :center, :left_margin => -20
stroke_horizontal_rule
move_down 5
@@ -35,36 +36,43 @@ class OrderItemPdf < Prawn::Document
def order_info(order_by, order_at)
y_position = cursor
- bounding_box([0,y_position], :width => self.item_width - 50, :height => self.item_height) do
- text "OrderBy:#{order_by} ", :size => self.item_font_size,:align => :left
+ bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
+ text "OrderBy: #{order_by} ", :size => self.item_font_size,:align => :left
end
- bounding_box([self.item_width - 50,y_position], :width => self.item_width + 50, :height => self.item_height) do
- text "Date:#{order_at.strftime("%Y-%m-%d %I:%M %p")}", :size => self.item_font_size,:align => :left
+ move_down 5
+ y_position = cursor
+ bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
+ text "Date: #{order_at.strftime("%Y-%m-%d %I:%M %p")}", :size => self.item_font_size,:align => :left
end
stroke_horizontal_rule
- move_down 20
+ move_down 10
end
# Write Order items to PDF
def order_items(order_item)
y_position = cursor
- bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
- text "Item", :size => self.item_font_size,:align => :left
- end
+ # No Need for Order Item
+ # bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
+ # text "Item", :size => self.item_font_size,:align => :left
+ # end
- bounding_box([self.item_width,y_position], :width => self.qty_width, :height => self.item_height) do
- text "Qty", :size => self.item_font_size,:align => :right
- end
+ # bounding_box([self.item_width,y_position], :width => self.qty_width, :height => self.item_height) do
+ # text "Qty", :size => self.item_font_size,:align => :right
+ # end
- stroke_horizontal_rule
- move_down 5
+ # stroke_horizontal_rule
+ # move_down 5
#Add Order Item
add_order_items(order_item)
+
+ dash(1, :space => 1, :phase => 1)
+ stroke_horizontal_line 0, self.page_width
+ move_down 5
end
# Add order items under order info
@@ -78,7 +86,7 @@ class OrderItemPdf < Prawn::Document
end
bounding_box([self.item_width,y_position], :width => self.qty_width, :height => self.item_height) do
- text "#{order_item.qty}", :size => self.item_font_size,:align => :right
+ text "[#{order_item.qty.to_i}]", :size => self.item_font_size,:align => :left
end
move_down 5
diff --git a/app/pdf/order_summary_pdf.rb b/app/pdf/order_summary_pdf.rb
index 63d75a78..47c1f6a5 100644
--- a/app/pdf/order_summary_pdf.rb
+++ b/app/pdf/order_summary_pdf.rb
@@ -1,15 +1,16 @@
class OrderSummaryPdf < Prawn::Document
- attr_accessor :receipt_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:item_description_width
- def initialize(order, print_settings)
- self.page_width = 300
- self.page_height = 400
+ attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
+ def initialize(order)
+ self.page_width = 254
+ self.page_height = 1450
self.margin = 10
- self.price_width = 60
- self.qty_width = 60
- self.item_width = self.page_width - (self.price_width + self.qty_width)
+ self.price_width = 40 # No Need for item
+ self.qty_width = 34
+ self.total_width = 40 # No Need for item
+ self.item_width = self.page_width - (self.qty_width + (self.margin*4))
self.item_height = 15
- self.item_description_width = self.page_width - (self.price_width + self.qty_width)
- self.receipt_width=130
+ self.item_description_width = self.page_width - (self.price_width + self.qty_width + self.total_width)
+ self.label_width=100
super(:margin => [self.margin, self.margin, self.margin, self.margin], :page_size => [self.page_width, self.page_height])
@@ -19,7 +20,7 @@ class OrderSummaryPdf < Prawn::Document
self.header_font_size = 12
self.item_font_size = 10
- text "#{order[0].dining}", :size => self.header_font_size,:align => :center
+ text "#{order[0].dining}", :size => self.header_font_size,:align => :center, :left_margin => -20
stroke_horizontal_rule
move_down 5
@@ -35,17 +36,19 @@ class OrderSummaryPdf < Prawn::Document
def order_info(order_by, order_at)
y_position = cursor
- bounding_box([0,y_position], :width => self.item_width - 20, :height => self.item_height) do
- text "OrderBy:#{order_by} ", :size => self.item_font_size,:align => :left
+ bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
+ text "OrderBy: #{order_by} ", :size => self.item_font_size,:align => :left
end
- bounding_box([self.item_width - 20,y_position], :width => self.item_width + 20, :height => self.item_height) do
- text "Date:#{order_at.strftime("%Y-%m-%d %I:%M %p")}", :size => self.item_font_size,:align => :left
+ move_down 5
+ y_position = cursor
+ bounding_box([0,y_position], :width => self.item_width, :height => self.item_height) do
+ text "Date: #{order_at.strftime("%Y-%m-%d %I:%M %p")}", :size => self.item_font_size,:align => :left
end
stroke_horizontal_rule
- move_down 20
+ move_down 10
end
# Write Order items to PDF
@@ -57,7 +60,7 @@ class OrderSummaryPdf < Prawn::Document
end
bounding_box([self.item_width,y_position], :width => self.qty_width, :height => self.item_height) do
- text "Qty", :size => self.item_font_size,:align => :right
+ text "Qty", :size => self.item_font_size,:align => :left
end
stroke_horizontal_rule
@@ -79,7 +82,7 @@ class OrderSummaryPdf < Prawn::Document
end
bounding_box([self.item_width,y_position], :width => self.qty_width, :height => self.item_height) do
- text "#{odi.qty}", :size => self.item_font_size,:align => :right
+ text "#{odi.qty}", :size => self.item_font_size,:align => :left
end
end
diff --git a/app/pdf/receipt_bill_pdf.rb b/app/pdf/receipt_bill_pdf.rb
index dbaea572..c766b8cc 100644
--- a/app/pdf/receipt_bill_pdf.rb
+++ b/app/pdf/receipt_bill_pdf.rb
@@ -1,6 +1,6 @@
class ReceiptBillPdf < Prawn::Document
attr_accessor :label_width,:price_column_width,:page_width, :page_height, :margin, :price_width, :item_width, :header_font_size, :item_font_size,:item_height,:qty_width,:total_width,:item_description_width
- def initialize(printer_settings, sale_items, sale_data, customer_name, food_total, beverage_total)
+ def initialize(printer_settings, sale_items, sale_data, customer_name, food_total, beverage_total, member_info = nil)
self.page_width = 250
self.page_height = 1450
self.margin = 10
@@ -8,9 +8,9 @@ class ReceiptBillPdf < Prawn::Document
self.qty_width = 20
self.total_width = 40
self.item_width = self.page_width - ((self.price_width + self.qty_width + self.total_width)+(self.margin*4))
- self.item_height = 15
+ self.item_height = 15
self.item_description_width = self.page_width - (self.price_width + self.qty_width + self.total_width)
- self.label_width=80
+ self.label_width=80
# @item_width = self.page_width.to_i / 2
# @qty_width = @item_width.to_i / 3
@@ -31,7 +31,12 @@ class ReceiptBillPdf < Prawn::Document
cashier_info(sale_data, customer_name)
line_items(sale_items, food_total, beverage_total)
- all_total(sale_data)
+ all_total(sale_data)
+
+ if member_info != nil
+ member_info(member_info)
+ end
+
footer
end
@@ -96,7 +101,7 @@ class ReceiptBillPdf < Prawn::Document
stroke_horizontal_rule
add_line_item_row(sale_items, food_total, beverage_total)
-
+
end
def add_line_item_row(sale_items, food_total, beverage_total)
@@ -110,17 +115,15 @@ class ReceiptBillPdf < Prawn::Document
total_price = item.qty*item.unit_price
price = item.unit_price
product_name = item.product_name
-
+
y_position = cursor
pad_top(15) {
- # @item_width.to_i + @half_qty.to_i
text_box "#{product_name}", :at =>[0,y_position], :width => self.item_width, :height =>self.item_height, :overflow => :shrink_to_fix, :size => self.item_font_size, :overflow => :shrink_to_fix
text_box "#{price}", :at =>[self.item_width,y_position], :width => self.price_width, :height =>self.item_height, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
text_box "#{qty.to_i}", :at =>[item_name_width,y_position], :width => self.qty_width, :height =>self.item_height, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
text_box "#{total_price}", :at =>[(item_name_width+2),y_position], :width =>self.total_width+2, :height =>self.item_height, :size => self.item_font_size, :align => :right, :overflow => :shrink_to_fix
-
}
move_down 3
end
@@ -151,7 +154,7 @@ class ReceiptBillPdf < Prawn::Document
end
def all_total(sale_data)
- item_name_width = self.item_width
+ item_name_width = self.item_width
move_down 5
y_position = cursor
@@ -183,7 +186,24 @@ class ReceiptBillPdf < Prawn::Document
end
move_down 5
# stroke_horizontal_rule
+ end
+ # show member information
+ def member_info(member_info)
+ move_down 7
+ if member_info["data"] == true
+ member_info["data"].each do |res|
+ stroke_horizontal_rule
+ move_down 5
+ y_position = cursor
+
+ bounding_box([0,y_position], :width =>self.label_width, :height => self.item_height) do
+ text "#{ res["accountable_type"] } : #{ res["balance"] }", :size => self.item_font_size,:align => :left
+ end
+
+ move_down 5
+ end
+ end
end
def footer
diff --git a/app/reports/menu_report.rb b/app/reports/menu_report.rb
index ca430f0a..2a17e851 100644
--- a/app/reports/menu_report.rb
+++ b/app/reports/menu_report.rb
@@ -1,5 +1,5 @@
-class MenuReport < Compendium::Report
- query :list, collect: :active_record do |params|
- Menu.all
- end
-end
+# class MenuReport < Compendium::Report
+# query :list, collect: :active_record do |params|
+# Menu.all
+# end
+# end
diff --git a/app/views/kaminari/_paginator.html.erb b/app/views/kaminari/_paginator.html.erb
index 4fb445fd..c52381e2 100644
--- a/app/views/kaminari/_paginator.html.erb
+++ b/app/views/kaminari/_paginator.html.erb
@@ -10,14 +10,14 @@
-<% end -%>
+<% end %>
diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb
index f9356f68..9f6cd7d6 100644
--- a/app/views/origami/home/index.html.erb
+++ b/app/views/origami/home/index.html.erb
@@ -31,28 +31,28 @@
customer_id = ""
# For CSS- Class for Order? Sale?
- sale_status=""
- if cpo.order_status == 'new'
- unique_id=cpo.booking_id
+ # sale_status=""
+ # if cpo.order_status == 'new'
+ # unique_id=cpo.booking_id
- customer_id=cpo.order_customer_id
- # check selected item and assign
- if @selected_item != nil
- if cpo.order_id == @selected_item.order_id
- sale_status = sale_status + " selected-item"
- end
- end
- else
- unique_id=cpo.sale_id
- customer_id=cpo.sale_customer_id
- sale_status="paid"
- # check selected item and assign
- if @selected_item != nil
- if unique_id == @selected_item.sale_id
- sale_status = sale_status + " selected-item"
- end
+ # customer_id=cpo.order_customer_id
+ # # check selected item and assign
+ # if @selected_item_type == "Sale"
+ # if cpo.order_id == @selected_item.order_id
+ # sale_status = sale_status + " selected-item"
+ # end
+ # end
+ # else
+ unique_id=cpo.sale_id
+ customer_id=cpo.sale_customer_id
+ sale_status="paid"
+ # check selected item and assign
+ if @selected_item != nil
+ if unique_id == @selected_item.sale_id
+ sale_status = sale_status + " selected-item"
end
end
+ # end
%>
@@ -69,9 +69,7 @@
Order Status :
-
- <%= cpo.order_status %>
-
+ <%= cpo.sale_status %>
@@ -84,10 +82,10 @@
-
+
<%
@booking_orders.each do |bko|
- # No Show completed
+ # No Show completed
if bko.sale_status == 'completed'
next
end
@@ -101,11 +99,11 @@
unique_id=bko.booking_id
customer_id=bko.order_customer_id
# check selected item and assign
- if !@selected_item.nil?
- if bko.order_id == @selected_item.order_id
- sale_status = sale_status + " selected-item"
- end
- end
+ # if @selected_item != nil
+ # if bko.order_id == @selected_item.order_id
+ # sale_status = sale_status + " selected-item"
+ # end
+ # end
else
unique_id=bko.sale_id
customer_id=bko.sale_customer_id
@@ -132,9 +130,7 @@
Order Status :
-
- <%= bko.order_status %>
-
+ <%= bko.order_status %>
@@ -165,11 +161,11 @@
unique_id=rmo.booking_id
customer_id=rmo.order_customer_id
# check selected item and assign
- if @selected_item != nil
- if rmo.order_id == @selected_item.order_id
- sale_status = sale_status + " selected-item"
- end
- end
+ # if @selected_item != nil
+ # if rmo.order_id == @selected_item.order_id
+ # sale_status = sale_status + " selected-item"
+ # end
+ # end
else
unique_id=rmo.sale_id
customer_id=rmo.sale_customer_id
@@ -196,9 +192,7 @@
Order Status :
-
- <%= rmo.order_status %>
-
+ <%= rmo.order_status %>
@@ -213,7 +207,7 @@
<%
- @orders.each do |odr|
+ @orders.each do |odr|
# No Show completed
if odr.sale_status == 'completed'
next
@@ -227,11 +221,11 @@
if odr.order_status == 'new'
unique_id=odr.booking_id
customer_id = odr.order_customer_id
- if @selected_item != nil
- if odr.order_id == @selected_item.order_id
- sale_status = sale_status + " selected-item"
- end
- end
+ # if @selected_item != nil
+ # if odr.order_id == @selected_item.order_id
+ # sale_status = sale_status + " selected-item"
+ # end
+ # end
else
unique_id=odr.sale_id
customer_id = odr.sale_customer_id
@@ -258,9 +252,7 @@
Order Status :
-
- <%= odr.order_status %>
-
+ <%= odr.order_status %>
@@ -308,14 +300,14 @@
Price
-
+
<%
# For Sale Items
sub_total = 0
if @selected_item_type == "Sale"
@selected_item.sale_items.each do |sale_item|
sub_total += (sale_item.qty*sale_item.unit_price)
- %>
+ %>
<%= sale_item.product_name %>
<%= sale_item.qty %>
@@ -327,8 +319,7 @@
%>
<%
- # For Order Items
- sub_total = 0
+ # For Order Items
if @selected_item_type == "Order"
@selected_item.order_items.each do |order_item|
sub_total += (order_item.qty*order_item.unit_price)
@@ -386,13 +377,12 @@
-
-
-
+
+
-
+
-
+
diff --git a/app/views/print_settings/_form.html.erb b/app/views/print_settings/_form.html.erb
index e6ed306b..c5166103 100644
--- a/app/views/print_settings/_form.html.erb
+++ b/app/views/print_settings/_form.html.erb
@@ -18,5 +18,6 @@