update sale audit
This commit is contained in:
3
Gemfile
3
Gemfile
@@ -55,7 +55,8 @@ gem 'to_xls-rails'
|
|||||||
gem 'jquery-rails'
|
gem 'jquery-rails'
|
||||||
gem 'jquery-ui-rails'
|
gem 'jquery-ui-rails'
|
||||||
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
|
||||||
gem 'turbolinks', '~> 5'
|
gem 'turbolinks'
|
||||||
|
gem 'jquery-turbolinks', '~> 2.1'
|
||||||
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
|
||||||
gem 'jbuilder', '~> 2.5'
|
gem 'jbuilder', '~> 2.5'
|
||||||
# Use Redis adapter to run Action Cable in production
|
# Use Redis adapter to run Action Cable in production
|
||||||
|
|||||||
@@ -87,6 +87,9 @@ GEM
|
|||||||
rails-dom-testing (>= 1, < 3)
|
rails-dom-testing (>= 1, < 3)
|
||||||
railties (>= 4.2.0)
|
railties (>= 4.2.0)
|
||||||
thor (>= 0.14, < 2.0)
|
thor (>= 0.14, < 2.0)
|
||||||
|
jquery-turbolinks (2.1.0)
|
||||||
|
railties (>= 3.1.0)
|
||||||
|
turbolinks
|
||||||
jquery-ui-rails (6.0.1)
|
jquery-ui-rails (6.0.1)
|
||||||
railties (>= 3.2.16)
|
railties (>= 3.2.16)
|
||||||
kaminari (1.0.1)
|
kaminari (1.0.1)
|
||||||
@@ -263,6 +266,7 @@ DEPENDENCIES
|
|||||||
httparty (~> 0.15.5)
|
httparty (~> 0.15.5)
|
||||||
jbuilder (~> 2.5)
|
jbuilder (~> 2.5)
|
||||||
jquery-rails
|
jquery-rails
|
||||||
|
jquery-turbolinks (~> 2.1)
|
||||||
jquery-ui-rails
|
jquery-ui-rails
|
||||||
kaminari (~> 1.0.1)
|
kaminari (~> 1.0.1)
|
||||||
listen (~> 3.0.5)
|
listen (~> 3.0.5)
|
||||||
@@ -287,7 +291,7 @@ DEPENDENCIES
|
|||||||
spring-watcher-listen (~> 2.0.0)
|
spring-watcher-listen (~> 2.0.0)
|
||||||
tether-rails
|
tether-rails
|
||||||
to_xls-rails
|
to_xls-rails
|
||||||
turbolinks (~> 5)
|
turbolinks
|
||||||
tzinfo-data
|
tzinfo-data
|
||||||
uglifier (>= 1.3.0)
|
uglifier (>= 1.3.0)
|
||||||
web-console (>= 3.3.0)
|
web-console (>= 3.3.0)
|
||||||
|
|||||||
@@ -11,12 +11,13 @@
|
|||||||
// about supported directives.
|
// about supported directives.
|
||||||
//
|
//
|
||||||
//= require jquery
|
//= require jquery
|
||||||
|
//= require jquery.turbolinks
|
||||||
|
//= require jquery_ujs
|
||||||
|
//= require turbolinks
|
||||||
//= require tether
|
//= require tether
|
||||||
//= require bootstrap/js/popper.min
|
//= require bootstrap/js/popper.min
|
||||||
//= require bootstrap/js/bootstrap-material-design.min
|
//= require bootstrap/js/bootstrap-material-design.min
|
||||||
//= require jquery_nested_form
|
//= require jquery_nested_form
|
||||||
//= require jquery_ujs
|
|
||||||
//= require turbolinks
|
|
||||||
//= require cable
|
//= require cable
|
||||||
//= require settings/processing_items
|
//= require settings/processing_items
|
||||||
//= require momentjs/moment
|
//= require momentjs/moment
|
||||||
@@ -37,6 +38,7 @@
|
|||||||
//= require BSBMaterial/demo.js
|
//= require BSBMaterial/demo.js
|
||||||
//= require custom.js
|
//= require custom.js
|
||||||
|
|
||||||
|
|
||||||
$(document).on('turbolinks:load', function() {
|
$(document).on('turbolinks:load', function() {
|
||||||
$('.datetimepicker').bootstrapMaterialDatePicker({
|
$('.datetimepicker').bootstrapMaterialDatePicker({
|
||||||
format: 'DD-MM-YYYY - HH:mm',
|
format: 'DD-MM-YYYY - HH:mm',
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ $(document).on('turbolinks:load', function() {
|
|||||||
var method = $(this).attr('data-method');
|
var method = $(this).attr('data-method');
|
||||||
var url = $(this).attr('data-ref');
|
var url = $(this).attr('data-ref');
|
||||||
var html_text = $(this).siblings( "#delete_text" ).html();
|
var html_text = $(this).siblings( "#delete_text" ).html();
|
||||||
|
//var page = url.substring(url.lastIndexOf('/') + 1);
|
||||||
|
console.log(location.href);
|
||||||
swal({
|
swal({
|
||||||
title: "Confirmation",
|
title: "Confirmation",
|
||||||
text: html_text,
|
text: html_text,
|
||||||
|
|||||||
@@ -6,8 +6,6 @@ class BaseOrigamiController < ActionController::Base
|
|||||||
protect_from_forgery with: :exception
|
protect_from_forgery with: :exception
|
||||||
rescue_from CanCan::AccessDenied do |exception|
|
rescue_from CanCan::AccessDenied do |exception|
|
||||||
flash[:warning] = exception.message
|
flash[:warning] = exception.message
|
||||||
puts "ssssssssssss"
|
|
||||||
puts flash
|
|
||||||
redirect_to origami_root_path
|
redirect_to origami_root_path
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -104,6 +104,10 @@ class Origami::CustomersController < BaseOrigamiController
|
|||||||
order = Order.find(sale_order.order_id)
|
order = Order.find(sale_order.order_id)
|
||||||
status = order.update_attributes(customer_id: customer_id,order_type:customer.customer_type)
|
status = order.update_attributes(customer_id: customer_id,order_type:customer.customer_type)
|
||||||
end
|
end
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Assign Customer Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} | Customer ID ->#{customer.customer_id}- Customer Name ->#{customer.name}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,sale.cashier_id, action_by,remark,"ASSIGNCUSTOMER" )
|
||||||
|
|
||||||
else
|
else
|
||||||
@booking = BookingOrder.find_by_order_id(params[:sale_id])
|
@booking = BookingOrder.find_by_order_id(params[:sale_id])
|
||||||
@orders = BookingOrder.where("booking_id = ? ", @booking.booking_id)
|
@orders = BookingOrder.where("booking_id = ? ", @booking.booking_id)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class Origami::DiscountsController < BaseOrigamiController
|
|||||||
if Sale.exists?(sale_id)
|
if Sale.exists?(sale_id)
|
||||||
sale = Sale.find(sale_id)
|
sale = Sale.find(sale_id)
|
||||||
table_id = sale.bookings[0].dining_facility_id
|
table_id = sale.bookings[0].dining_facility_id
|
||||||
table_type = DiningFacility.find(table_id).type
|
table = DiningFacility.find(table_id)
|
||||||
# sale.total_discount = overall_discount.to_f
|
# sale.total_discount = overall_discount.to_f
|
||||||
# sale.total_amount = sub_total.to_f
|
# sale.total_amount = sub_total.to_f
|
||||||
# sale.grand_total = (sub_total.to_f - overall_discount.to_f) + sale.total_tax;
|
# sale.grand_total = (sub_total.to_f - overall_discount.to_f) + sale.total_tax;
|
||||||
@@ -46,14 +46,24 @@ class Origami::DiscountsController < BaseOrigamiController
|
|||||||
|
|
||||||
sale_item.price = di["price"]
|
sale_item.price = di["price"]
|
||||||
sale_item.save
|
sale_item.save
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Discount Item Name ->#{sale_item.product_name}-Product Code ->#{sale_item.product_code} | Price [#{sale_item.price}] | Receipt No #{sale.receipt_no} "
|
||||||
|
sale_audit = SaleAudit.record_audit_discount(sale_item.sale_id,sale.cashier_id, action_by,remark,"ITEMDISCOUNT" )
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Re-calc All Amount in Sale
|
# Re-calc All Amount in Sale
|
||||||
|
if overall_discount.to_f > 0
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Discount Overall Price [#{overall_discount}]| Receipt No #{sale.receipt_no} | Table- #{table.name} "
|
||||||
|
sale_audit = SaleAudit.record_audit_discount(sale.sale_id,sale.cashier_id, action_by,remark,"OVERALLDISCOUNT" )
|
||||||
|
end
|
||||||
sale.compute_by_sale_items(sale_id, sale.sale_items, overall_discount.to_f)
|
sale.compute_by_sale_items(sale_id, sale.sale_items, overall_discount.to_f)
|
||||||
result = {:status=> "Success", :table_id => table_id, :table_type => table_type }
|
result = {:status=> "Success", :table_id => table_id, :table_type => table.type }
|
||||||
else
|
else
|
||||||
result = {:status=> "Please, Check Again!", :table_id => table_id, :table_type => table_type }
|
result = {:status=> "Please, Check Again!", :table_id => table_id, :table_type => table.type }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -67,13 +77,18 @@ class Origami::DiscountsController < BaseOrigamiController
|
|||||||
if Sale.exists?(sale_id)
|
if Sale.exists?(sale_id)
|
||||||
sale = Sale.find(sale_id)
|
sale = Sale.find(sale_id)
|
||||||
table_id = sale.bookings[0].dining_facility_id
|
table_id = sale.bookings[0].dining_facility_id
|
||||||
table_type = DiningFacility.find(table_id).type
|
table = DiningFacility.find(table_id)
|
||||||
|
|
||||||
if discount_items.length > 0
|
if discount_items.length > 0
|
||||||
#destroy sale item for discount
|
#destroy sale item for discount
|
||||||
discount_items.each do |di|
|
discount_items.each do |di|
|
||||||
sale_item = SaleItem.find(di["id"])
|
sale_item = SaleItem.find(di["id"])
|
||||||
sale.total_amount = (sale.total_amount + sale_item.price.abs)
|
sale.total_amount = (sale.total_amount + sale_item.price.abs)
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Remove Item Discount Item Name ->#{sale_item.product_name}-Product Code ->#{sale_item.product_code} | Price [#{sale_item.price}] | Receipt No #{sale.receipt_no} | Table- #{table.name} "
|
||||||
|
sale_audit = SaleAudit.record_audit_discount(sale.sale_id,sale.cashier_id, action_by,remark,"REMOVEITEMDISCOUNT" )
|
||||||
|
|
||||||
sale_item.destroy
|
sale_item.destroy
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -82,9 +97,9 @@ class Origami::DiscountsController < BaseOrigamiController
|
|||||||
# sale.save
|
# sale.save
|
||||||
# Re-calc All Amount in Sale
|
# Re-calc All Amount in Sale
|
||||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
||||||
result = {:status=> "Success", :table_id => table_id, :table_type => table_type }
|
result = {:status=> "Success", :table_id => table_id, :table_type => table.type }
|
||||||
else
|
else
|
||||||
result = {:status=> "Please, Check Again!", :table_id => table_id, :table_type => table_type }
|
result = {:status=> "Please, Check Again!", :table_id => table_id, :table_type => table.type }
|
||||||
end
|
end
|
||||||
|
|
||||||
render :json => result.to_json
|
render :json => result.to_json
|
||||||
@@ -115,6 +130,10 @@ class Origami::DiscountsController < BaseOrigamiController
|
|||||||
#destroy in sale.sale_items
|
#destroy in sale.sale_items
|
||||||
sale.sale_items.destroy(discount_items)
|
sale.sale_items.destroy(discount_items)
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Remove Discount Sale Id [#{sale.sale_id}]| Receipt No #{sale.receipt_no} | Table- #{table.name} "
|
||||||
|
sale_audit = SaleAudit.record_audit_discount(sale.sale_id,sale.cashier_id, action_by,remark,"REMOVEALLDISCOUNT" )
|
||||||
|
|
||||||
# Re-calc All Amount in Sale
|
# Re-calc All Amount in Sale
|
||||||
sale.compute_by_sale_items(sale_id, sale.sale_items, 0)
|
sale.compute_by_sale_items(sale_id, sale.sale_items, 0)
|
||||||
result = {:status=> "Success", :table_id => table_id, :table_type => table_type }
|
result = {:status=> "Success", :table_id => table_id, :table_type => table_type }
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class Origami::OtherChargesController < BaseOrigamiController
|
|||||||
if Sale.exists?(sale_id)
|
if Sale.exists?(sale_id)
|
||||||
sale = Sale.find(sale_id)
|
sale = Sale.find(sale_id)
|
||||||
table_id = sale.bookings[0].dining_facility_id
|
table_id = sale.bookings[0].dining_facility_id
|
||||||
table_type = DiningFacility.find(table_id).type
|
table = DiningFacility.find(table_id)
|
||||||
|
|
||||||
# sale.total_amount = sub_total.to_f
|
# sale.total_amount = sub_total.to_f
|
||||||
# sale.grand_total = sub_total.to_f + sale.total_tax;
|
# sale.grand_total = sub_total.to_f + sale.total_tax;
|
||||||
@@ -41,6 +41,11 @@ class Origami::OtherChargesController < BaseOrigamiController
|
|||||||
|
|
||||||
sale_item.price = di["price"]
|
sale_item.price = di["price"]
|
||||||
sale_item.save
|
sale_item.save
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Add Other Charges - Receipt No #{sale.receipt_no} | Sale ID #{sale.sale_id} |Charges ->#{di["price"]} For ->#{di["name"]}- Table ->#{table.name}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(sale.sale_id,sale.cashier_id, action_by,remark,"ADDOTHERCHARGES" )
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -48,7 +53,7 @@ class Origami::OtherChargesController < BaseOrigamiController
|
|||||||
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
sale.compute_by_sale_items(sale_id, sale.sale_items, sale.total_discount)
|
||||||
end
|
end
|
||||||
|
|
||||||
dining = {:table_id => table_id, :table_type => table_type }
|
dining = {:table_id => table_id, :table_type => table.type }
|
||||||
render :json => dining.to_json
|
render :json => dining.to_json
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -24,6 +24,11 @@ class Origami::SaleEditController < BaseOrigamiController
|
|||||||
|
|
||||||
# re-calc tax
|
# re-calc tax
|
||||||
saleObj = Sale.find(saleitemObj.sale_id)
|
saleObj = Sale.find(saleitemObj.sale_id)
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Void Sale Item ID #{saleitemObj.sale_item_id} | Receipt No #{saleObj.receipt_no} | Item Name ->#{saleitemObj.product_name}-Product Code ->#{saleitemObj.product_code}-Instance Code ->#{saleitemObj.item_instance_code}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(saleitemObj.sale_id,saleObj.cashier_id, action_by,remark,"SALEITEMVOID" )
|
||||||
|
|
||||||
saleObj.compute_without_void
|
saleObj.compute_without_void
|
||||||
ProductCommission.create_product_commission(@newsaleitem, saleitemObj)
|
ProductCommission.create_product_commission(@newsaleitem, saleitemObj)
|
||||||
end
|
end
|
||||||
@@ -44,6 +49,11 @@ class Origami::SaleEditController < BaseOrigamiController
|
|||||||
|
|
||||||
# re-calc tax
|
# re-calc tax
|
||||||
saleObj = Sale.find(saleitemObj.sale_id)
|
saleObj = Sale.find(saleitemObj.sale_id)
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "FOC Sale Item ID #{saleitemObj.sale_item_id} | Receipt No #{saleObj.receipt_no} | Item Name ->#{saleitemObj.product_name}-Product Code ->#{saleitemObj.product_code}-Instance Code ->#{saleitemObj.item_instance_code}Receipt No #{saleObj.receipt_no}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(saleitemObj.sale_id,saleObj.cashier_id, action_by,remark,"SALEITEMFOC" )
|
||||||
|
|
||||||
saleObj.compute_without_void
|
saleObj.compute_without_void
|
||||||
ProductCommission.create_product_commission(@newsaleitem, saleitemObj)
|
ProductCommission.create_product_commission(@newsaleitem, saleitemObj)
|
||||||
end
|
end
|
||||||
@@ -73,11 +83,16 @@ class Origami::SaleEditController < BaseOrigamiController
|
|||||||
update_qty = params[:update_qty]
|
update_qty = params[:update_qty]
|
||||||
update_price = params[:update_price]
|
update_price = params[:update_price]
|
||||||
saleitemObj = SaleItem.find(saleitemId)
|
saleitemObj = SaleItem.find(saleitemId)
|
||||||
|
sale = Sale.find(saleitemObj.sale_id)
|
||||||
|
|
||||||
saleitemObj.qty = update_qty
|
saleitemObj.qty = update_qty
|
||||||
saleitemObj.price = update_qty.to_f * update_price.to_f
|
saleitemObj.price = update_qty.to_f * update_price.to_f
|
||||||
saleitemObj.unit_price = update_price
|
saleitemObj.unit_price = update_price
|
||||||
saleitemObj.taxable_price = update_qty.to_f * update_price.to_f
|
saleitemObj.taxable_price = update_qty.to_f * update_price.to_f
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Update Qty #{update_qty} Price [#{saleitemObj.price}]| Receipt No #{sale.receipt_no} | Item Name ->#{saleitemObj.product_name}-Product Code ->#{saleitemObj.product_code}-Instance Code ->#{saleitemObj.item_instance_code}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(saleitemObj.sale_id,sale.cashier_id, action_by,remark,"SALEITEMEDIT" )
|
||||||
# saleitemObj.remark = 'edit'
|
# saleitemObj.remark = 'edit'
|
||||||
|
|
||||||
unless saleitemObj.product_name.include? 'updated'
|
unless saleitemObj.product_name.include? 'updated'
|
||||||
@@ -108,6 +123,11 @@ class Origami::SaleEditController < BaseOrigamiController
|
|||||||
|
|
||||||
# re-calc tax
|
# re-calc tax
|
||||||
saleObj = Sale.find(saleitemObj.sale_id)
|
saleObj = Sale.find(saleitemObj.sale_id)
|
||||||
|
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Cancle Void Sale Item ID #{saleitemObj.sale_item_id} | Item Name ->#{saleitemObj.product_name}-Product Code ->#{saleitemObj.product_code}-Instance Code ->#{saleitemObj.item_instance_code}|Receipt No #{saleObj.receipt_no}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(saleitemObj.sale_id,saleObj.cashier_id, action_by,remark,"ITEMCANCELVOID" )
|
||||||
|
|
||||||
saleObj.compute_without_void
|
saleObj.compute_without_void
|
||||||
ProductCommission.remove_product_commission(saleitemObj)
|
ProductCommission.remove_product_commission(saleitemObj)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
class Origami::SalesController < ApplicationController#BaseOrigamiController
|
class Origami::SalesController < BaseOrigamiController
|
||||||
def show
|
def show
|
||||||
@tables = Table.all.active.order('status desc')
|
@tables = Table.all.active.order('status desc')
|
||||||
@rooms = Room.all.active.order('status desc')
|
@rooms = Room.all.active.order('status desc')
|
||||||
|
|||||||
@@ -40,6 +40,12 @@ class Origami::VoidController < BaseOrigamiController
|
|||||||
table.save
|
table.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# FOr Sale Audit
|
||||||
|
action_by = current_user.id
|
||||||
|
remark = "Void Sale ID #{sale_id} | Receipt No #{sale.receipt_no} | Receipt No #{sale.receipt_no} | Table ->#{table.name}"
|
||||||
|
sale_audit = SaleAudit.record_audit_for_edit(sale_id,sale.cashier_id, action_by,remark,"SALEVOID" )
|
||||||
|
|
||||||
|
|
||||||
# update complete order items in oqs
|
# update complete order items in oqs
|
||||||
SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
|
SaleOrder.where("sale_id = '#{ sale_id }'").find_each do |sodr|
|
||||||
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
AssignedOrderItem.where("order_id = '#{ sodr.order_id }'").find_each do |aoi|
|
||||||
|
|||||||
@@ -38,16 +38,18 @@ class ProductCommission < ApplicationRecord
|
|||||||
commission = Commission.where('product_code = ? AND is_active = ?', menu_item.id, true).take
|
commission = Commission.where('product_code = ? AND is_active = ?', menu_item.id, true).take
|
||||||
product_commission = ProductCommission.where('sale_item_id = ?', saleItemObj.id).take
|
product_commission = ProductCommission.where('sale_item_id = ?', saleItemObj.id).take
|
||||||
|
|
||||||
return if commission.nil?
|
if !product_commission.nil?
|
||||||
product_commission.qty = saleItemObj.qty
|
return if commission.nil?
|
||||||
if commission.commission_type == 'Percentage'
|
product_commission.qty = saleItemObj.qty
|
||||||
product_commission.price = saleItemObj.unit_price * (commission.amount / 100.0)
|
if commission.commission_type == 'Percentage'
|
||||||
product_commission.amount = product_commission.price * saleItemObj.qty
|
product_commission.price = saleItemObj.unit_price * (commission.amount / 100.0)
|
||||||
elsif commission.commission_type == 'Net Amount'
|
product_commission.amount = product_commission.price * saleItemObj.qty
|
||||||
product_commission.price = commission.amount
|
elsif commission.commission_type == 'Net Amount'
|
||||||
product_commission.amount = product_commission.price * saleItemObj.qty
|
product_commission.price = commission.amount
|
||||||
|
product_commission.amount = product_commission.price * saleItemObj.qty
|
||||||
|
end
|
||||||
|
product_commission.save
|
||||||
end
|
end
|
||||||
product_commission.save
|
|
||||||
puts 'Edit Product Commission Success'
|
puts 'Edit Product Commission Success'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -30,11 +30,11 @@ class SaleAudit < ApplicationRecord
|
|||||||
sale_audit.save!
|
sale_audit.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
def record_audit_discount(sale_id, discount_by, approved_by, reason)
|
def self.record_audit_discount(sale_id, discount_by, approved_by, reason,type)
|
||||||
#sale_audit
|
#sale_audit
|
||||||
sale_audit = SaleAudit.new()
|
sale_audit = SaleAudit.new()
|
||||||
sale_audit.sale_id = sale_id
|
sale_audit.sale_id = sale_id
|
||||||
sale_audit.action = "SALEDISCOUNT"
|
sale_audit.action = type
|
||||||
sale_audit.action_at = DateTime.now.utc
|
sale_audit.action_at = DateTime.now.utc
|
||||||
sale_audit.action_by = discount_by
|
sale_audit.action_by = discount_by
|
||||||
sale_audit.approved_by = approved_by
|
sale_audit.approved_by = approved_by
|
||||||
@@ -43,7 +43,7 @@ class SaleAudit < ApplicationRecord
|
|||||||
#sale_audit.
|
#sale_audit.
|
||||||
end
|
end
|
||||||
|
|
||||||
def record_audit_foc(sale_id, cashier_id, approved_by, reason)
|
def self.record_audit_foc(sale_id, cashier_id, approved_by, reason)
|
||||||
#sale_audit
|
#sale_audit
|
||||||
sale_audit = SaleAudit.new()
|
sale_audit = SaleAudit.new()
|
||||||
sale_audit.sale_id = sale_id
|
sale_audit.sale_id = sale_id
|
||||||
@@ -55,6 +55,18 @@ class SaleAudit < ApplicationRecord
|
|||||||
sale_audit.save!
|
sale_audit.save!
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.record_audit_for_edit(sale_id, cashier_id, approved_by, reason,type)
|
||||||
|
#sale_audit
|
||||||
|
sale_audit = SaleAudit.new()
|
||||||
|
sale_audit.sale_id = sale_id
|
||||||
|
sale_audit.action = type
|
||||||
|
sale_audit.action_at = DateTime.now.utc
|
||||||
|
sale_audit.action_by = cashier_id
|
||||||
|
sale_audit.approved_by = approved_by
|
||||||
|
sale_audit.remark = reason
|
||||||
|
sale_audit.save!
|
||||||
|
end
|
||||||
|
|
||||||
def self.record_payment(sale_id, remark, action_by)
|
def self.record_payment(sale_id, remark, action_by)
|
||||||
sale_audit = SaleAudit.new()
|
sale_audit = SaleAudit.new()
|
||||||
sale_audit.sale_id = sale_id
|
sale_audit.sale_id = sale_id
|
||||||
|
|||||||
@@ -2,123 +2,194 @@
|
|||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
||||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
|
||||||
<title>SmartSales : Restaurant</title>
|
<title>SmartSales : Restaurant</title>
|
||||||
<%= csrf_meta_tags %>
|
<%= csrf_meta_tags %>
|
||||||
<!-- Favicon-->
|
<!-- Favicon-->
|
||||||
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
<!-- Google Fonts -->
|
||||||
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic-ext" rel="stylesheet" type="text/css">
|
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic-ext" rel="stylesheet" type="text/css">
|
||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type="text/css">
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type="text/css">
|
||||||
|
|
||||||
<!-- Bootstrap Core Css -->
|
<!-- Bootstrap Core Css -->
|
||||||
<!-- <link href="plugins/bootstrap/css/bootstrap.css" rel="stylesheet"> -->
|
<!-- <link href="plugins/bootstrap/css/bootstrap.css" rel="stylesheet"> -->
|
||||||
|
|
||||||
<!-- Waves Effect Css -->
|
<!-- Waves Effect Css -->
|
||||||
<!-- <link href="plugins/node-waves/waves.css" rel="stylesheet" /> -->
|
<!-- <link href="plugins/node-waves/waves.css" rel="stylesheet" /> -->
|
||||||
|
|
||||||
<!-- Animation Css -->
|
<!-- Animation Css -->
|
||||||
<!-- <link href="plugins/animate-css/animate.css" rel="stylesheet" /> -->
|
<!-- <link href="plugins/animate-css/animate.css" rel="stylesheet" /> -->
|
||||||
|
|
||||||
<!-- Morris Chart Css-->
|
<!-- Morris Chart Css-->
|
||||||
<!-- <link href="plugins/morrisjs/morris.css" rel="stylesheet" /> -->
|
<!-- <link href="plugins/morrisjs/morris.css" rel="stylesheet" /> -->
|
||||||
|
|
||||||
<!-- Custom Css -->
|
<!-- Custom Css -->
|
||||||
<!-- <link href="css/style.css" rel="stylesheet"> -->
|
<!-- <link href="css/style.css" rel="stylesheet"> -->
|
||||||
|
|
||||||
<!-- AdminBSB Themes. You can choose a theme from css/themes instead of get all themes -->
|
<!-- AdminBSB Themes. You can choose a theme from css/themes instead of get all themes -->
|
||||||
<!-- <link href="css/themes/all-themes.css" rel="stylesheet" /> -->
|
<!-- <link href="css/themes/all-themes.css" rel="stylesheet" /> -->
|
||||||
<%= stylesheet_link_tag 'login', media: 'all', 'data-turbolinks-track': 'reload' %>
|
<%= stylesheet_link_tag 'login', media: 'all', 'data-turbolinks-track': 'reload' %>
|
||||||
|
|
||||||
<!-- <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
<!-- <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> -->
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> -->
|
||||||
<%= javascript_include_tag 'login', 'data-turbolinks-track': 'reload' %>
|
<%= javascript_include_tag 'login', 'data-turbolinks-track': 'reload' %>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="login-page">
|
<body class="login-page">
|
||||||
<!-- Page Loader -->
|
<!-- Page Loader -->
|
||||||
<div class="page-loader-wrapper">
|
<div class="page-loader-wrapper">
|
||||||
<div class="loader">
|
<div class="loader">
|
||||||
<div class="preloader">
|
<div class="preloader">
|
||||||
<div class="spinner-layer pl-red">
|
<div class="spinner-layer pl-red">
|
||||||
<div class="circle-clipper left">
|
<div class="circle-clipper left">
|
||||||
<div class="circle"></div>
|
<div class="circle"></div>
|
||||||
</div>
|
|
||||||
<div class="circle-clipper right">
|
|
||||||
<div class="circle"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<p>Please wait...</p>
|
<div class="circle-clipper right">
|
||||||
|
<div class="circle"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<p>Please wait...</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- #END# Page Loader -->
|
<!-- #END# Page Loader -->
|
||||||
|
<% flash.each do |type, message| %>
|
||||||
|
<%
|
||||||
|
if type == "notice"
|
||||||
|
color = "alert-success"
|
||||||
|
elsif type == "error"
|
||||||
|
color = "alert-danger"
|
||||||
|
elsif type == "warning"
|
||||||
|
color = "alert-warning"
|
||||||
|
else
|
||||||
|
color = "bg-black"
|
||||||
|
end %>
|
||||||
|
|
||||||
|
<p id="noti" class="hidden noti" data-placement-from="top" data-message="<%=message%>" data-placement-align="center"
|
||||||
|
data-animate-enter="" data-animate-exit="" data-color-name="<%=color%>" >
|
||||||
|
</p>
|
||||||
|
<% end %>
|
||||||
<div class="login-box">
|
<div class="login-box">
|
||||||
<div class="logo text-center">
|
<div class="logo text-center">
|
||||||
<img src="/image/SX-logo.png" width="150px" height="150px">
|
<img src="/image/SX-logo.png" width="150px" height="150px">
|
||||||
<p>
|
<p>
|
||||||
<small>Version - 1.0.1</small>
|
<small>Version - 1.0.1</small>
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
|
<%= simple_form_for(@login_form, url: login_path, method: "post") do |f| %>
|
||||||
|
<div class="card padding-10">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="form-group">
|
||||||
|
<%= f.input :emp_id, as: :hidden, required: false, class: "form-control" %>
|
||||||
|
|
||||||
|
<%= f.input :password, label: "Access PIN", required: false, class: "form-control" %>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<%= simple_form_for(@login_form, url: login_path, method: "post") do |f| %>
|
<div class="card-content">
|
||||||
<div class="card padding-10">
|
<div class='col-md-12'>
|
||||||
<div class="card-header">
|
<div class='row bottom'>
|
||||||
<div class="form-group">
|
<div class="pin_pad " data-value="1">1</div>
|
||||||
<%= f.input :emp_id, as: :hidden, required: false, class: "form-control" %>
|
<div class="pin_pad left" data-value="2">2</div>
|
||||||
|
<div class="pin_pad left" data-value="3">3</div>
|
||||||
<%= f.input :password, label: "Access PIN", required: false, class: "form-control" %>
|
</div>
|
||||||
</div>
|
<div class='row bottom'>
|
||||||
</div>
|
<div class="pin_pad" data-value="4">4</div>
|
||||||
<div class="card-content">
|
<div class="pin_pad left" data-value="5">5</div>
|
||||||
<div class='col-md-12'>
|
<div class="pin_pad left" data-value="6">6</div>
|
||||||
<div class='row bottom'>
|
</div>
|
||||||
<div class="pin_pad " data-value="1">1</div>
|
<div class='row bottom'>
|
||||||
<div class="pin_pad left" data-value="2">2</div>
|
<div class="pin_pad" data-value="7">7</div>
|
||||||
<div class="pin_pad left" data-value="3">3</div>
|
<div class="pin_pad left" data-value="8">8</div>
|
||||||
</div>
|
<div class="pin_pad left" data-value="9">9</div>
|
||||||
<div class='row bottom'>
|
</div>
|
||||||
<div class="pin_pad" data-value="4">4</div>
|
<div class='row bottom'>
|
||||||
<div class="pin_pad left" data-value="5">5</div>
|
<div class="pin_pad bg-grey" data-value="CLR">CLR</div>
|
||||||
<div class="pin_pad left" data-value="6">6</div>
|
<div class="pin_pad left" data-value="0">0</div>
|
||||||
</div>
|
<div class="pin_pad left bg-indigo" data-value="ENT">ENT</div>
|
||||||
<div class='row bottom'>
|
</div>
|
||||||
<div class="pin_pad" data-value="7">7</div>
|
</div>
|
||||||
<div class="pin_pad left" data-value="8">8</div>
|
</div>
|
||||||
<div class="pin_pad left" data-value="9">9</div>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<div class='row bottom'>
|
<script type="text/javascript">
|
||||||
<div class="pin_pad bg-grey" data-value="CLR">CLR</div>
|
|
||||||
<div class="pin_pad left" data-value="0">0</div>
|
|
||||||
<div class="pin_pad left bg-indigo" data-value="ENT">ENT</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).on('turbolinks:load', function () {
|
$(document).on('turbolinks:load', function () {
|
||||||
$(".pin_pad").click(function (event) {
|
|
||||||
event.preventDefault();
|
|
||||||
console.log($(this).data("value"));
|
|
||||||
var value = $(this).data("value");
|
|
||||||
|
|
||||||
if (value == "CLR") {
|
// for Notificaiotn message
|
||||||
$("#login_form_password").val("");
|
console.log("hi")
|
||||||
} else if (value == "ENT") {
|
var placementFrom = $("#noti").attr('data-placement-from');
|
||||||
$("#new_login_form").submit();
|
var placementAlign = $("#noti").attr('data-placement-align');
|
||||||
} else {
|
var animateEnter = $("#noti").attr('data-animate-enter');
|
||||||
var old_value = $("#login_form_password").val();
|
var animateExit = $("#noti").attr('data-animate-exit');
|
||||||
$("#login_form_password").val(old_value + value);
|
var colorName = $("#noti").attr('data-color-name');
|
||||||
}
|
var text = $("#noti").attr('data-message');
|
||||||
});
|
|
||||||
|
if (text != null || colorName != null){
|
||||||
|
showNotification(colorName, text, placementFrom, placementAlign, animateEnter, animateExit);
|
||||||
|
}
|
||||||
|
|
||||||
|
$(".empBtn").click(function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var item = $(this).data("formid");
|
||||||
|
$(item).submit();
|
||||||
});
|
});
|
||||||
</script>
|
|
||||||
|
});
|
||||||
|
$(document).on('turbolinks:load', function () {
|
||||||
|
$(".pin_pad").click(function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
console.log($(this).data("value"));
|
||||||
|
var value = $(this).data("value");
|
||||||
|
|
||||||
|
if (value == "CLR") {
|
||||||
|
$("#login_form_password").val("");
|
||||||
|
} else if (value == "ENT") {
|
||||||
|
$("#new_login_form").submit();
|
||||||
|
} else {
|
||||||
|
var old_value = $("#login_form_password").val();
|
||||||
|
$("#login_form_password").val(old_value + value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
function showNotification(colorName, text, placementFrom, placementAlign, animateEnter, animateExit) {
|
||||||
|
if (colorName === null || colorName === '') { colorName = 'bg-black'; }
|
||||||
|
if (animateEnter === null || animateEnter === '') { animateEnter = 'animated fadeInDown'; }
|
||||||
|
if (animateExit === null || animateExit === '') { animateExit = 'animated fadeOutUp'; }
|
||||||
|
var allowDismiss = true;
|
||||||
|
$.notify({
|
||||||
|
message: text
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: colorName,
|
||||||
|
allow_dismiss: allowDismiss,
|
||||||
|
newest_on_top: true,
|
||||||
|
timer: 1000,
|
||||||
|
placement: {
|
||||||
|
from: placementFrom,
|
||||||
|
align: placementAlign
|
||||||
|
},
|
||||||
|
animate: {
|
||||||
|
enter: animateEnter,
|
||||||
|
exit: animateExit
|
||||||
|
},
|
||||||
|
template: '<div data-notify="container" class="bootstrap-notify-container alert alert-dismissible {0} ' + (allowDismiss ? "p-r-30" : "") + '" role="alert">' +
|
||||||
|
'<button type="button" aria-hidden="true" class="close float-right m-l-20 m-t--5" data-notify="dismiss">×</button>' +
|
||||||
|
'<span data-notify="icon"></span> ' +
|
||||||
|
'<span data-notify="title">{1}</span> ' +
|
||||||
|
'<span data-notify="message">{2}</span>' +
|
||||||
|
'<div class="progress" data-notify="progressbar">' +
|
||||||
|
'<div class="progress-bar progress-bar-{0}" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%;"></div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<a href="{3}" target="{4}" data-notify="url"></a>' +
|
||||||
|
'</div>'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
//end Notificaiotn message
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -38,24 +38,7 @@
|
|||||||
<p>Please wait...</p>
|
<p>Please wait...</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% flash.each do |type, message| %>
|
|
||||||
<% puts type
|
|
||||||
puts message
|
|
||||||
puts "ssssssssssssss"
|
|
||||||
if type == "notice"
|
|
||||||
color = "alert-success"
|
|
||||||
elsif type == "error"
|
|
||||||
color = "alert-danger"
|
|
||||||
elsif type == "warning"
|
|
||||||
color = "alert-warning"
|
|
||||||
else
|
|
||||||
color = "bg-black"
|
|
||||||
end %>
|
|
||||||
|
|
||||||
<p id="noti" class="hidden noti" data-placement-from="top" data-message="<%=message%>" data-placement-align="center"
|
|
||||||
data-animate-enter="" data-animate-exit="" data-color-name="<%=color%>" >
|
|
||||||
</p>
|
|
||||||
<% end %>
|
|
||||||
<!-- #END# Page Loader -->
|
<!-- #END# Page Loader -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -160,15 +143,14 @@
|
|||||||
$(document).on('turbolinks:load', function () {
|
$(document).on('turbolinks:load', function () {
|
||||||
|
|
||||||
// for Notificaiotn message
|
// for Notificaiotn message
|
||||||
console.log("hi");
|
|
||||||
var placementFrom = $("#noti").attr('data-placement-from');
|
var placementFrom = $("#noti").attr('data-placement-from');
|
||||||
var placementAlign = $("#noti").attr('data-placement-align');
|
var placementAlign = $("#noti").attr('data-placement-align');
|
||||||
var animateEnter = $("#noti").attr('data-animate-enter');
|
var animateEnter = $("#noti").attr('data-animate-enter');
|
||||||
var animateExit = $("#noti").attr('data-animate-exit');
|
var animateExit = $("#noti").attr('data-animate-exit');
|
||||||
var colorName = $("#noti").attr('data-color-name');
|
var colorName = $("#noti").attr('data-color-name');
|
||||||
var text = $("#noti").attr('data-message');
|
var text = $("#noti").attr('data-message');
|
||||||
console.log(text);
|
|
||||||
console.log(colorName);
|
|
||||||
if (text != null || colorName != null){
|
if (text != null || colorName != null){
|
||||||
showNotification(colorName, text, placementFrom, placementAlign, animateEnter, animateExit);
|
showNotification(colorName, text, placementFrom, placementAlign, animateEnter, animateExit);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,10 +22,10 @@
|
|||||||
<td> <%= t :payment_method %>
|
<td> <%= t :payment_method %>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<button class='btn bg-blue waves-effect payment-type' data-id='cash' id='cash'><%= t("views.btn.cash") %></button>
|
<button class='btn bg- waves-effect payment-type' data-id='cash' id='cash' style="background-color: #7a62d3;"><%= t("views.btn.cash") %></button>
|
||||||
<button class='btn bg-blue waves-effect payment-type' data-id='mpu' id='mpu'><%= t("views.btn.mpu") %></button>
|
<button class='btn bg- waves-effect payment-type' data-id='mpu' id='mpu' style="background-color: #7a62d3;"><%= t("views.btn.mpu") %></button>
|
||||||
<button class='btn bg-blue waves-effect payment-type' data-id='visa' id='visa'><%= t("views.btn.visa") %></button>
|
<button class='btn bg- waves-effect payment-type' data-id='visa' id='visa' style="background-color: #7a62d3;"><%= t("views.btn.visa") %></button>
|
||||||
<button class='btn bg-blue waves-effect payment-type' data-id='jcb' id='jcb'><%= t("views.btn.jcb") %></button>
|
<button class='btn bg- waves-effect payment-type' data-id='jcb' id='jcb' style="background-color: #7a62d3;"><%= t("views.btn.jcb") %></button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -110,6 +110,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" />
|
<input type="text" id="discount-amount" name="discount-amount" value="<%= @sale_data.total_discount rescue 0 %>" class="form-control" />
|
||||||
</div>
|
</div>
|
||||||
|
<br>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<%
|
<%
|
||||||
@accounts.each do |acc|
|
@accounts.each do |acc|
|
||||||
@@ -122,8 +123,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
<div class="p-l-20">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="row bottom">
|
<div class="row bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
@@ -198,7 +199,8 @@
|
|||||||
<button id="remove-item" class="btn bg-default fluid action-btn">Clear Discount</button>
|
<button id="remove-item" class="btn bg-default fluid action-btn">Clear Discount</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<!-- Nav tabs -->
|
<!-- Nav tabs -->
|
||||||
<ul class="nav nav-tabs tab-col-teal" role="tablist">
|
<ul class="nav nav-tabs tab-col-teal" role="tablist">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" data-toggle="tab" href="#Completed" role="tab"><%= t :competed %></a>
|
<a class="nav-link" data-toggle="tab" href="#complete" role="tab"><%= t :competed %></a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" data-toggle="tab" href="#tables" role="tab"><%= t :tables %></a>
|
<a class="nav-link active" data-toggle="tab" href="#tables" role="tab"><%= t :tables %></a>
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
<div class="tab-content m-t-10" id="custom-slimscroll">
|
<div class="tab-content m-t-10" id="custom-slimscroll">
|
||||||
<!--- Panel 0 - Completed Orders -->
|
<!--- Panel 0 - Completed Orders -->
|
||||||
<div class="tab-pane dining" id="Completed " role="tabpanel">
|
<div class="tab-pane dining" id="complete" role="tabpanel">
|
||||||
<div class="card-columns">
|
<div class="card-columns">
|
||||||
<% @complete.each do |sale| %>
|
<% @complete.each do |sale| %>
|
||||||
<div class="card sales red text-white" data-id = "<%= sale.sale_id %>">
|
<div class="card sales red text-white" data-id = "<%= sale.sale_id %>">
|
||||||
|
|||||||
@@ -109,70 +109,72 @@
|
|||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
|
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9">
|
||||||
<div class="row bottom">
|
<div class="p-l-20">
|
||||||
<div class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
|
<div class="row bottom">
|
||||||
<div class="fluid cashier_number" data-value="3000" data-type="add">3000</div>
|
<div class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
|
||||||
</div>
|
<div class="fluid cashier_number" data-value="3000" data-type="add">3000</div>
|
||||||
<div class="col-xs-12 col-sm-12 col-md-9 col-lg-9">
|
</div>
|
||||||
<div class="row">
|
<div class="col-xs-12 col-sm-12 col-md-9 col-lg-9">
|
||||||
<div class="col-md-3 cashier_number" data-value="1" data-type="num">1</div>
|
<div class="row">
|
||||||
<div class="col-md-3 left cashier_number" data-value="2" data-type="num">2</div>
|
<div class="col-md-3 cashier_number" data-value="1" data-type="num">1</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="3" data-type="num">3</div>
|
<div class="col-md-3 left cashier_number" data-value="2" data-type="num">2</div>
|
||||||
</div>
|
<div class="col-md-3 left cashier_number" data-value="3" data-type="num">3</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row bottom">
|
<div class="row bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="fluid cashier_number" data-value="5000" data-type="add">5000</div>
|
<div class="fluid cashier_number" data-value="5000" data-type="add">5000</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3 cashier_number" data-value="4" data-type="num">4</div>
|
<div class="col-md-3 cashier_number" data-value="4" data-type="num">4</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="5" data-type="num">5</div>
|
<div class="col-md-3 left cashier_number" data-value="5" data-type="num">5</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="6" data-type="num">6</div>
|
<div class="col-md-3 left cashier_number" data-value="6" data-type="num">6</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row bottom">
|
<div class="row bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="fluid cashier_number" data-value="10000" data-type="add">10000</div>
|
<div class="fluid cashier_number" data-value="10000" data-type="add">10000</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3 cashier_number" data-value="7" data-type="num">7</div>
|
<div class="col-md-3 cashier_number" data-value="7" data-type="num">7</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="8" data-type="num">8</div>
|
<div class="col-md-3 left cashier_number" data-value="8" data-type="num">8</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="9" data-type="num">9</div>
|
<div class="col-md-3 left cashier_number" data-value="9" data-type="num">9</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row bottom">
|
<div class="row bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="fluid cashier_number" data-value="15000" data-type="add">15000</div>
|
<div class="fluid cashier_number" data-value="15000" data-type="add">15000</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3 cashier_number" data-value="0" data-type="num">0</div>
|
<div class="col-md-3 cashier_number" data-value="0" data-type="num">0</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="." data-type="num">.</div>
|
<div class="col-md-3 left cashier_number" data-value="." data-type="num">.</div>
|
||||||
<div class="col-md-3 left cashier_number" data-value="00" data-type="num">00</div>
|
<div class="col-md-3 left cashier_number" data-value="00" data-type="num">00</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row bottom">
|
<div class="row bottom">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<div class="fluid cashier_number" data-value="20000" data-type="add">20000</div>
|
<div class="fluid cashier_number" data-value="20000" data-type="add">20000</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9">
|
<div class="col-md-9">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-3 cashier_number"></div>
|
<div class="col-md-3 cashier_number"></div>
|
||||||
<div class="col-md-3 left cashier_number red" data-type="del">DEL</div>
|
<div class="col-md-3 left cashier_number red" data-type="del">DEL</div>
|
||||||
<div class="col-md-3 left cashier_number green" data-type="clr">CLR</div>
|
<div class="col-md-3 left cashier_number green" data-type="clr">CLR</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card tables bg-green text-white" data-id="<%= table.id %>">
|
<div class="card tables green text-white" data-id="<%= table.id %>">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<%= table.name %>
|
<%= table.name %>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,7 +76,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<% else %>
|
<% else %>
|
||||||
<div class="card rooms bg-green text-white" data-id="<%= room.id %>">
|
<div class="card rooms green text-white" data-id="<%= room.id %>">
|
||||||
<div class="card-block">
|
<div class="card-block">
|
||||||
<%= room.name %>
|
<%= room.name %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<%= f.collection_select :product_code, MenuItem.all.order('name asc'), :id, :name, {prompt: 'Select a Product'}, {class: 'form-control'} %><br/>
|
<%= f.collection_select :product_code, MenuItem.all.order('name asc'), :id, :name, {prompt: 'Select a Product'}, {class: 'form-control'} %><br/>
|
||||||
<%= f.input :commission_type, :collection => ['Percentage','Net Amount'], prompt: 'Select Commission Type', class: 'form-control' %>
|
<%= f.input :commission_type, :collection => ['Percentage','Net Amount'], prompt: 'Select Commission Type', class: 'form-control' %>
|
||||||
<%= f.input :amount %>
|
<%= f.input :amount %>
|
||||||
<%= f.input :is_active %> Active
|
<%= f.input :is_active,:class => "filled-in" ,:id => "" %>
|
||||||
|
|
||||||
</div><br>
|
</div><br>
|
||||||
<div class="form-actions">
|
<div class="form-actions">
|
||||||
@@ -45,6 +45,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
|
||||||
$(document).on('turbolinks:load', function() {
|
$(document).on('turbolinks:load', function() {
|
||||||
$('body').bootstrapMaterialDesign();
|
$('body').bootstrapMaterialDesign();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user