diff --git a/app/assets/javascripts/channels/order_reservation.js b/app/assets/javascripts/channels/order_reservation.js
index 39b31b5a..7319d829 100644
--- a/app/assets/javascripts/channels/order_reservation.js
+++ b/app/assets/javascripts/channels/order_reservation.js
@@ -15,7 +15,9 @@ App.order_reservation = App.cable.subscriptions.create('OrderReservationChannel'
var active_class = "";
if(key==0){
active_class = "tr-active";
- showNewOrder(order[key],shop_code);
+ if (typeof showNewOrder !== 'undefined' && $.isFunction(showNewOrder)) {
+ showNewOrder(order[key],shop_code);
+ }
}
var rowCount = key+1;
var date = new Date(value.created_at);
@@ -49,7 +51,9 @@ App.order_reservation = App.cable.subscriptions.create('OrderReservationChannel'
});
}
- customTableClick();
+ if (typeof customTableClick !== 'undefined' && $.isFunction(customTableClick)) {
+ customTableClick();
+ }
}
}
});
diff --git a/app/assets/javascripts/custom.js b/app/assets/javascripts/custom.js
index 6d91f504..8da818df 100644
--- a/app/assets/javascripts/custom.js
+++ b/app/assets/javascripts/custom.js
@@ -158,6 +158,7 @@ $(document).ready(function() {
//end Notificaiotn message
});
+/* start order reservation function */
function audioPlayBackground(shop_code){
//audio play
var audio = new Audio('/'+shop_code+'-beep.mp3'); // define your audio
@@ -166,3 +167,4 @@ function audioPlayBackground(shop_code){
audio.play();
// },10000);
}
+/* end order reservation function */
diff --git a/app/assets/javascripts/order_reservation.js b/app/assets/javascripts/order_reservation.js
index 1a1e6e64..7df285bc 100644
--- a/app/assets/javascripts/order_reservation.js
+++ b/app/assets/javascripts/order_reservation.js
@@ -1,4 +1,6 @@
+//= require origami.js
+
$(function() {
$("#discount").hide();
$(".expected_time").hide();
@@ -482,15 +484,6 @@ function callback_url(callback,ref_no,order_id,status,min_type,time,exptime,reas
});
}
-function timeFormat(date){
- var isPM = date.getHours() >= 12;
- var isMidday = date.getHours() == 12;
- var time = [(date.getHours()>10? date.getHours() : '0'+date.getHours()) - (isPM && !isMidday ? 12 : 0),
- (date.getMinutes()>10? date.getMinutes() : '0'+date.getMinutes()) || '00'].join(':') +
- (isPM ? ' PM' : ' AM');
- return time;
-}
-
function showNewOrder(order_reservation,shop_code){
if((order_reservation!=undefined) && (order_reservation!=null) && (order_reservation!="")){
var date = new Date(order_reservation.requested_time);
diff --git a/app/assets/javascripts/origami.js b/app/assets/javascripts/origami.js
index 27b85958..dbd78bcd 100755
--- a/app/assets/javascripts/origami.js
+++ b/app/assets/javascripts/origami.js
@@ -464,3 +464,14 @@ function createAccessCode(code) {
localStorage.setItem("access_code",code);
}
+/* start order reservation function */
+function timeFormat(date){
+ var isPM = date.getHours() >= 12;
+ var isMidday = date.getHours() == 12;
+ var time = [(date.getHours()>10? date.getHours() : '0'+date.getHours()) - (isPM && !isMidday ? 12 : 0),
+ (date.getMinutes()>10? date.getMinutes() : '0'+date.getMinutes()) || '00'].join(':') +
+ (isPM ? ' PM' : ' AM');
+ return time;
+}
+
+/* end order reservation function */
\ No newline at end of file
diff --git a/app/controllers/api/order_reserve/order_reservation_controller.rb b/app/controllers/api/order_reserve/order_reservation_controller.rb
index 97c44df9..8d2255d4 100644
--- a/app/controllers/api/order_reserve/order_reservation_controller.rb
+++ b/app/controllers/api/order_reserve/order_reservation_controller.rb
@@ -74,7 +74,7 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
result = { :status => true, :order_reservation_id => order_reservation_id, :message => "Order reservation is successfully created!" }
order_reservation = OrderReservation.get_pending_orders #find(order_reservation_id)
if ENV["SERVER_MODE"] == 'cloud'
- from = request.subdomain + "." + request.domain
+ from = "" #request.subdomain + "." + request.domain
else
from = ""
end
@@ -84,8 +84,8 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
end
end
- puts "!!! send doemal ::"
- puts result
+ # puts "!!! send doemal ::"
+ # puts result
Rails.logger.debug "send status to doemal"
Rails.logger.debug result
@@ -129,4 +129,14 @@ class Api::OrderReserve::OrderReservationController < Api::ApiController
render :json => result
end
+
+ def get_tax_profile
+ tax_profiles = TaxProfile.where("group_type = 'doemal_order'")
+
+ if !tax_profiles.nil?
+ render :json => { :status => true, :data => tax_profiles }
+ else
+ render :json => { :status => false, :message => 'There is no record!' }
+ end
+ end
end
diff --git a/app/controllers/transactions/order_reservations_controller.rb b/app/controllers/transactions/order_reservations_controller.rb
new file mode 100644
index 00000000..4287b308
--- /dev/null
+++ b/app/controllers/transactions/order_reservations_controller.rb
@@ -0,0 +1,142 @@
+class Transactions::OrderReservationsController < ApplicationController
+ load_and_authorize_resource except: [:create]
+ before_action :set_transactions_order_reservation, only: [:show, :edit, :update, :destroy]
+ before_action :check_user
+
+ # GET /transactions/order_reservations
+ # GET /transactions/order_reservations.json
+ def index
+ from, to = get_date_range_from_params
+ filter = params[:filter]
+
+ if from.nil? && to.nil?
+ @order_reservations = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee")
+ .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
+ .where("NOT order_reservation_status='new'")
+ .order("order_reservation_id desc")
+ @order_reservations = Kaminari.paginate_array(@order_reservations).page(params[:page]).per(20)
+ else
+ order_reservation = OrderReservation.search(filter,from,to)
+ if order_reservation.length > 0
+ @order_reservations = order_reservation
+ @order_reservations = Kaminari.paginate_array(@order_reservations).page(params[:page]).per(20)
+ else
+ @order_reservations = 0
+ end
+ end
+ @from = from
+ @to = to
+ # get printer info
+ @print_settings = PrintSetting.get_precision_delimiter()
+ respond_to do |format|
+ format.html # index.html.erb
+ format.json { render json: @order_reservations }
+ end
+
+ end
+
+ # GET /transactions/order_reservations/1
+ # GET /transactions/order_reservations/1.json
+ def show
+
+ @order_reservation = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee")
+ .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
+ .where("order_reservations.order_reservation_id = ?", params[:id])
+ .first()
+ #get customer amount
+ @customer = Customer.find(@order_reservation.customer_id)
+ #get delivery details
+ @delivery = Delivery.find_by_order_reservation_id(@order_reservation.order_reservation_id)
+ # get printer info
+ @print_settings = PrintSetting.get_precision_delimiter()
+ respond_to do |format|
+ format.html # show.html.erb
+ format.json { render json: @order_reservation }
+ end
+ end
+
+ # date range
+ PERIOD = {
+ "today" => 0,
+ "yesterday" => 1,
+ "this_week" => 2,
+ "last_week" => 3,
+ "last_7" => 4,
+ "this_month" => 5,
+ "last_month" => 6,
+ "last_30" => 7,
+ "this_year" => 8,
+ "last_year" => 9
+ }
+
+ def get_date_range_from_params
+ period_type = params[:period_type]
+ period = params[:period]
+ from = params[:from]
+ to = params[:to]
+ day_ref = Time.now.utc.getlocal
+
+ if from.present? && to.present?
+ f_date = DateTime.parse(from)
+ t_date = DateTime.parse(to)
+ f_time = Time.mktime(f_date.year,f_date.month,f_date.day,f_date.hour,f_date.min,f_date.sec)
+ t_time = Time.mktime(t_date.year,t_date.month,t_date.day,t_date.hour,t_date.min,t_date.sec)
+ from = f_time.beginning_of_day.utc.getlocal
+ to = t_time.end_of_day.utc.getlocal
+ else
+ case period.to_i
+ when PERIOD["today"]
+ from = day_ref.beginning_of_day.utc
+ to = day_ref.end_of_day.utc
+
+ when PERIOD["yesterday"]
+ from = (day_ref - 1.day).beginning_of_day.utc
+ to = (day_ref - 1.day).end_of_day.utc
+
+ when PERIOD["this_week"]
+ from = Time.now.beginning_of_week.utc
+ to = Time.now.utc
+ when PERIOD["last_week"]
+ from = (day_ref - 7.day).beginning_of_week.utc
+ to = (day_ref - 7.day).end_of_week.utc
+ when PERIOD["last_7"]
+ from = (day_ref - 7.day).utc
+ to = Time.now.utc
+ when PERIOD["this_month"]
+ from = Time.now.beginning_of_month.utc
+ to = Time.now.utc
+ when PERIOD["last_month"]
+ from = (day_ref - 1.month).beginning_of_month.utc
+ to = (day_ref - 1.month).end_of_month.utc
+ when PERIOD["last_30"]
+ from = (day_ref - 30.day).utc
+ to = Time.now.utc
+ when PERIOD["this_year"]
+ from = Time.now.beginning_of_year.utc
+ to = Time.now.utc
+ when PERIOD["last_year"]
+ from = (day_ref - 1.year).beginning_of_year.utc
+ to = (day_ref - 1.year).end_of_year.utc
+ end
+ end
+
+ return from, to
+ end
+
+ def check_user
+ if current_user.nil?
+ redirect_to root_path
+ end
+ end
+
+ private
+ # Use callbacks to share common setup or constraints between actions.
+ def set_transactions_order_reservation
+ @transactions_order_reservation = OrderReservation.find(params[:id])
+ end
+
+ # Never trust parameters from the scary internet, only allow the white list through.
+ def transactions_order_reservation_params
+ params.require(:transactions_order_reservation).permit(:cashier_id, :cashier_name, :requested_by, :requested_at, :receipt_no, :receipt_date, :customer_id, :payment_status, :order_reservation_status, :total_amount, :total_discount, :total_tax, :tax_type, :grand_total, :rounding_adjustment, :amount_received, :amount_changed)
+ end
+end
diff --git a/app/models/ability.rb b/app/models/ability.rb
index 9f1f105b..7a341ed2 100755
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -34,6 +34,8 @@ class Ability
can :manage, Customer
can :manage, DiningQueue
+ can :manage, OrderReservation
+
can :index, :dailysale
can :index, :saleitem
can :index, :receipt_no
@@ -135,7 +137,10 @@ class Ability
can :read, Sale
can :update, Sale
- can :manage, Customer
+ can :manage, Customer
+
+ can :manage, OrderReservation
+
can :get_customer, Customer
can :add_customer, Customer
can :update_sale_by_customer, Customer
@@ -244,6 +249,8 @@ class Ability
can :manage, Customer
can :manage, DiningQueue
+ can :manage, OrderReservation
+
can :first_bill, :payment
can :create, :payment
can :show, :payment
diff --git a/app/models/order_reservation.rb b/app/models/order_reservation.rb
index 89e45021..4e9235dc 100644
--- a/app/models/order_reservation.rb
+++ b/app/models/order_reservation.rb
@@ -365,41 +365,57 @@ class OrderReservation < ApplicationRecord
else
from = ""
end
- # if ENV["SERVER_MODE"] == 'cloud'
- # ActionCable.server.broadcast "check_order_ready_to_delivery_channel",data: order_reservation, shop_code: shop_code
- # end
end
end
def self.get_order_reservation_by_shift(shift_sale_range,shift,from,to,provider)
- ## => left join -> show all sales although no orders
- if provider.blank?
- provider = ''
- else
- if provider.present?
- provider = " and deliveries.provider = '#{provider}'"
- end
- end
+ ## => left join -> show all sales although no orders
+ if provider.blank?
+ provider = ''
+ else
+ if provider.present?
+ provider = " and deliveries.provider = '#{provider}'"
+ end
+ end
- query = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee, customers.name, customers.email")
- .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
- .joins(" JOIN customers on customers.customer_id = order_reservations.customer_id")
- .joins(" JOIN sales on sales.sale_id = order_reservations.sale_id")
- if shift.present?
- query = query.where("sales.shift_sale_id in (?) #{provider} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)
- .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
- .group("sales.sale_id")
- elsif shift_sale_range.present?
- query = query.where("sales.sale_status='completed' #{provider} and sale_payments.payment_amount != 0 and sales.shift_sale_id in (?)",shift_sale_range.to_a)
- .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
- .group("sales.sale_id")
- else
- query = query.where("sales.sale_status='completed' and sales.receipt_date between ? and ? #{provider} and sale_payments.payment_amount != 0",from,to)
- .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
- .group("sales.sale_id")
- end
- return query
-end
+ query = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee, customers.name, customers.email")
+ .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
+ .joins(" JOIN customers on customers.customer_id = order_reservations.customer_id")
+ .joins(" JOIN sales on sales.sale_id = order_reservations.sale_id")
+ if shift.present?
+ query = query.where("sales.shift_sale_id in (?) #{provider} and sales.sale_status= 'completed' and sale_payments.payment_amount != 0", shift.to_a)
+ .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
+ .group("sales.sale_id")
+ elsif shift_sale_range.present?
+ query = query.where("sales.sale_status='completed' #{provider} and sale_payments.payment_amount != 0 and sales.shift_sale_id in (?)",shift_sale_range.to_a)
+ .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
+ .group("sales.sale_id")
+ else
+ query = query.where("sales.sale_status='completed' and sales.receipt_date between ? and ? #{provider} and sale_payments.payment_amount != 0",from,to)
+ .joins("join sale_payments on sale_payments.sale_id = sales.sale_id")
+ .group("sales.sale_id")
+ end
+ return query
+ end
+
+ def self.search(filter,from,to)
+ if filter.blank?
+ keyword = ''
+ else
+ keyword = "status LIKE '%#{filter}%'"
+ end
+
+ if from.present? && to.present?
+ order_reservation = OrderReservation.select("order_reservations.*, deliveries.provider, deliveries.delivery_fee")
+ .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
+ .where("order_reservations.created_at >= ?" + " AND order_reservations.created_at <= ? and NOT status = 'new' ", from,to)
+ query = order_reservation.where(keyword)
+ else
+ select("order_reservations.*, deliveries.provider, deliveries.delivery_fee")
+ .joins(" JOIN deliveries on deliveries.order_reservation_id = order_reservations.order_reservation_id")
+ .where("status LIKE '%#{filter}%'")
+ end
+ end
private
def generate_custom_id
diff --git a/app/views/layouts/_left_sidebar.html.erb b/app/views/layouts/_left_sidebar.html.erb
index 7820c3bb..4862acfe 100644
--- a/app/views/layouts/_left_sidebar.html.erb
+++ b/app/views/layouts/_left_sidebar.html.erb
@@ -114,6 +114,11 @@
<%= t("views.right_panel.detail.survey") %>
<% end %>
+ <% if can? :manage, OrderReservation %>
+
+ <%= t("views.right_panel.detail.order_reservation") %>
+
+ <% end %>
<% if can? :index, :dailysale %>
diff --git a/app/views/transactions/order_reservations/index.html.erb b/app/views/transactions/order_reservations/index.html.erb
new file mode 100644
index 00000000..180ab03a
--- /dev/null
+++ b/app/views/transactions/order_reservations/index.html.erb
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+ |
+ <%= form_tag transactions_order_reservations_path, :method => :get do %>
+
+ <% end %>
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | <%= t("views.right_panel.detail.order_reservation_id") %> |
+ <%= t("views.right_panel.detail.type") %> |
+ <%= t("views.right_panel.detail.requested_time") %> |
+ <%= t("views.right_panel.detail.status") %> |
+ <%= t :payment_method %> |
+ <%= t :payment %> <%= t("views.right_panel.detail.status")%> |
+ <%= t("views.right_panel.detail.sub_total") %> |
+ <%= t("views.right_panel.detail.discount_amount") %> |
+ <%= t("views.right_panel.detail.delivery_fee") %> |
+ <%= t("views.right_panel.detail.convenience_charge") %> |
+ <%= t("views.right_panel.detail.delivery_tax") %> |
+ <%= t("views.right_panel.detail.convenience_tax") %> |
+ <%= t("views.right_panel.detail.commercial_tax") %> |
+ <%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.tax") %> |
+ <%= t("views.right_panel.detail.grand_total") %> |
+
+
+
+
+ <% if @print_settings.precision.to_i > 0
+ precision = @print_settings.precision
+ else
+ precision = 0
+ end
+ #check delimiter
+ if @print_settings.delimiter
+ delimiter = ","
+ else
+ delimiter = ""
+ end %>
+ <%
+ discount_amount = 0.0
+ delivery_fee = 0.0
+ convenience_charge = 0.0
+ delivery_tax = 0.0
+ convenience_tax = 0.0
+ commercial_tax = 0.0
+ %>
+ <% if @order_reservations != 0 %>
+ <% @order_reservations.each do |order_reservation| %>
+ <%
+ provider = ""
+ discount_amount = order_reservation.discount_amount
+ delivery_fee = order_reservation.delivery_fee ? order_reservation.delivery_fee : 0.0
+ convenience_charge = order_reservation.convenience_charge
+ JSON.parse(order_reservation.taxes).each do |tax_data|
+ if tax_data[0] == "delivery_tax"
+ delivery_tax = tax_data[1]
+ elsif tax_data[0] == "convenience_tax"
+ convenience_tax = tax_data[1]
+ elsif tax_data[0] == "commercial_tax"
+ commercial_tax = tax_data[1]
+ end
+ end
+ %>
+ <%
+ if order_reservation.provider == 'pick_up'
+ provider = "Pick-Up"
+ elsif order_reservation.provider == 'direct_delivery'
+ provider = "Direct Delivery"
+ else
+ provider = order_reservation.provider
+ end
+ %>
+
+
+ |
+ <%= link_to order_reservation.order_reservation_id, transactions_order_reservation_path(order_reservation) %>
+ | <%= order_reservation.order_reservation_type %> |
+ <%= order_reservation.requested_time.utc.getlocal.strftime("%Y-%m-%d %I:%M %p") %> |
+ <%= order_reservation.status %> |
+ <%= provider%> |
+ <%= order_reservation.payment_type%> |
+ <%= order_reservation.payment_status%> |
+ <%= number_with_precision(order_reservation.total_amount, precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(discount_amount , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(delivery_fee , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(convenience_charge , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(delivery_tax , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(convenience_tax , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(commercial_tax , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(order_reservation.total_tax , precision:precision.to_i, delimiter:delimiter) rescue '0.0'%> |
+ <%= number_with_precision(order_reservation.grand_total , precision:precision.to_i, delimiter:delimiter) rescue '0.0' %> |
+
+
+ <% end %>
+ <% else %>
+ There is no data for search.... |
+ <% end %>
+
+
+
+ <% if @order_reservations != 0 %>
+ <%= paginate @order_reservations %>
+ <% end %>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/views/transactions/order_reservations/show.html.erb b/app/views/transactions/order_reservations/show.html.erb
new file mode 100755
index 00000000..aa2c7e58
--- /dev/null
+++ b/app/views/transactions/order_reservations/show.html.erb
@@ -0,0 +1,257 @@
+
+
+ <% if @print_settings.precision.to_i > 0
+ precision = @print_settings.precision
+ else
+ precision = 0
+ end
+ #check delimiter
+ if @print_settings.delimiter
+ delimiter = ","
+ else
+ delimiter = ""
+ end %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | <%= t :reference_number %> |
+ <%= t("views.right_panel.detail.type") %> |
+ <%= t("views.right_panel.detail.requested_time") %> |
+ <%= t("views.right_panel.detail.cooking_time") %> |
+ <%= t("views.right_panel.detail.status") %> |
+ <%= t("views.right_panel.detail.remark") %> |
+
+
+
+
+ | <%= @order_reservation.transaction_ref %> |
+ <%= @order_reservation.order_reservation_type %> |
+ <%= @order_reservation.requested_time.utc.getlocal.strftime("%Y-%m-%d %I:%M %p") %> |
+ <%= @order_reservation.expected_waiting_time rescue '-' %> |
+ <%= @order_reservation.status %> |
+ <%= @order_reservation.order_remark ? @order_reservation.order_remark : @order_reservation.reservation_remark %> |
+
+
+ | <%= t :sale %> <%= t("views.right_panel.detail.item_txt") %> <%= t("views.right_panel.detail.name_txt2") %> |
+ <%= t("views.right_panel.detail.qty") %> |
+ <%= t("views.right_panel.detail.unit_price") %> |
+ <%= t("views.right_panel.detail.total_price") %> |
+ <%= t("views.right_panel.detail.created_at") %> |
+ |
+
+ <% @order_reservation.order_reservation_items.each do |item| %>
+
+ | <%=item.item_name rescue ' '%> |
+ <%=item.qty rescue ' '%> |
+ <%= number_with_precision(item.price > 0 ? item.price : item.unit_price, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+ <%= number_with_precision(item.price > 0 ? item.qty * item.price : item.qty * item.unit_price, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+ <%=l item.created_at.utc.getlocal , :format => :short rescue ' ' %> |
+ |
+
+ <% end %>
+ <%
+ discount_amount = 0.0
+ delivery_fee = 0.0
+ convenience_charge = 0.0
+ delivery_tax = 0.0
+ convenience_tax = 0.0
+ commercial_tax = 0.0
+
+ total_discount_amount = 0
+ total_delivery_fee = 0
+ total_convenience_charge = 0
+ total_delivery_tax = 0
+ total_convenience_tax = 0
+ total_commercial_tax = 0
+ total_tax = 0.0
+ total_amount = 0.0
+ grand_total = 0.0
+ %>
+ <%
+ discount_amount = @order_reservation.discount_amount
+ delivery_fee = @order_reservation.delivery_fee ? @order_reservation.delivery_fee : 0.0
+ convenience_charge = @order_reservation.convenience_charge
+ JSON.parse(@order_reservation.taxes).each do |tax_data|
+ if tax_data[0] == "delivery_tax"
+ delivery_tax = tax_data[1]
+ elsif tax_data[0] == "convenience_tax"
+ convenience_tax = tax_data[1]
+ elsif tax_data[0] == "commercial_tax"
+ commercial_tax = tax_data[1]
+ end
+ end
+ total_discount_amount += discount_amount.to_f
+ total_delivery_fee += delivery_fee.to_f
+ total_convenience_charge += convenience_charge.to_f
+ total_delivery_tax += delivery_tax.to_f
+ total_convenience_tax += convenience_tax.to_f
+ total_commercial_tax += commercial_tax.to_f
+ total_tax += @order_reservation.total_tax.to_f
+ total_amount += @order_reservation.total_amount.to_f
+ grand_total += @order_reservation.grand_total.to_f
+ %>
+
+
+ |
+ <%= t("views.right_panel.detail.sub_total") %> |
+ <%= number_with_precision(total_amount, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% if total_discount_amount > 0 %>
+
+ |
+ <%= t("views.right_panel.detail.discount_amount") %> |
+ <%= number_with_precision(total_discount_amount, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% end %>
+ <% if total_delivery_fee > 0 %>
+
+ |
+ <%= t("views.right_panel.detail.delivery_fee") %> |
+ <%= number_with_precision(total_delivery_fee, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% end %>
+ <% if total_convenience_charge > 0 %>
+
+ |
+ <%= t("views.right_panel.detail.convenience_charge") %> |
+ <%= number_with_precision(total_convenience_charge, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% end %>
+
+ <% if total_tax > 0 %>
+
+ |
+ <%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.tax") %> |
+ <%= number_with_precision(total_tax, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% end %>
+ <% if grand_total > 0 %>
+
+ |
+ <%= t("views.right_panel.detail.grand_total") %> |
+ <%= number_with_precision(grand_total, precision:precision.to_i, delimiter:delimiter) rescue ' '%> |
+
+ <% end %>
+
+
+
+
+
+
+
+
+
+
+
+ | <%= t("views.right_panel.detail.name") %> |
+ <%= t("views.right_panel.detail.company") %> |
+ <%= t("views.right_panel.detail.contact_no") %> |
+ <%= t("views.right_panel.detail.email") %> |
+ <%= t("views.right_panel.detail.nrc_passport_no") %> |
+ <%= t("views.right_panel.detail.address") %> |
+ <%= t("views.right_panel.detail.dob") %> |
+
+
+
+
+ <% if !@customer.nil? %>
+
+ | <%= @customer.name %> |
+ <%= @customer.company rescue '-' %> |
+ <%= @customer.contact_no %> |
+ <%= @customer.email %> |
+ <%= @customer.nrc_no %> |
+ <%= @customer.address%> |
+ <%= @customer.date_of_birth %> |
+
+ <% end %>
+
+
+
+
+
+
+
+
+
+
+ | <%= t("views.right_panel.detail.provider") %> |
+ <%= t("views.right_panel.detail.delivery_type") %> |
+ <%= t("views.right_panel.detail.address") %> |
+ <%= t("views.right_panel.detail.township") %> |
+
+
+
+ <% if !@delivery.nil? %>
+ <%
+ if @delivery.provider == 'pick_up'
+ provider = "Pick-Up"
+ elsif @delivery.provider == 'direct_delivery'
+ provider = "Direct Delivery"
+ else
+ provider = @delivery.provider
+ end
+ %>
+
+ | <%= provider%> |
+ <%= @delivery.delivery_type%> |
+ <%= @delivery.address%> |
+ <%= @delivery.township%> |
+
+ <% end %>
+
+
+
+
+
+
+
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 1c03285a..1db778ca 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -80,6 +80,7 @@ en:
delivering: "Delivering"
completed: "Completed"
processed: "Processed"
+ delivery_details: "Delivery Details"
views:
btn:
@@ -475,11 +476,15 @@ en:
requested_time: "Requested Time"
provider: "Provider"
delivery_fee: "Delivery Fee"
+ delivery_type: "Delivery Type"
delivery_tax: "Delivery Tax"
convenience_charge: "Convenience Charge"
convenience_tax: "Convenience Tax"
commercial_tax: "Commercial Tax"
select_providers: "Select Providers"
+ order_reservation: "Order Reservation"
+ cooking_time: "Cooking Time"
+ township: "Township"
code_txt: "code "
charge_txt: "charge"
diff --git a/config/locales/mm.yml b/config/locales/mm.yml
index 3a1aa2b6..283a31f2 100644
--- a/config/locales/mm.yml
+++ b/config/locales/mm.yml
@@ -75,6 +75,7 @@ mm:
delivering: "Delivering"
completed: "Completed"
processed: "Processed"
+ delivery_details: "Delivery Details"
views:
btn:
@@ -469,11 +470,15 @@ mm:
requested_time: "Requested Time"
provider: "Provider"
delivery_fee: "Delivery Fee"
+ delivery_type: "Delivery Type"
delivery_tax: "Delivery Tax"
convenience_charge: "Convenience Charge"
convenience_tax: "Convenience Tax"
commercial_tax: "Commercial Tax"
select_providers: "Select Providers"
+ order_reservation: "Order Reservation"
+ cooking_time: "Cooking Time"
+ township: "Township"
code_txt: "ကုတ်ဒ် "
charge_txt: "ကောက်ခံသည်"
diff --git a/config/routes.rb b/config/routes.rb
index 5f213d33..8e97f8b7 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -89,6 +89,7 @@ scope "(:locale)", locale: /en|mm/ do
post "customer" => "order_reservation#check_customer"
post "order" => "order_reservation#create"
post "callback/:id" => "order_reservation#update_status"
+ get "get_tax_profile" => "order_reservation#get_tax_profile"
end
end
@@ -429,6 +430,7 @@ scope "(:locale)", locale: /en|mm/ do
resources :bookings
resources :shift_sales
resources :surveys
+ resources :order_reservations
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"