From bf9bb1c58a26c0ce54e5938f496550ed211ee6b2 Mon Sep 17 00:00:00 2001 From: phyusin Date: Mon, 28 May 2018 18:08:30 +0630 Subject: [PATCH] transactions for order reservation and api for tax profile --- .../javascripts/channels/order_reservation.js | 8 +- app/assets/javascripts/custom.js | 2 + app/assets/javascripts/order_reservation.js | 11 +- app/assets/javascripts/origami.js | 11 + .../order_reservation_controller.rb | 16 +- .../order_reservations_controller.rb | 142 ++++++++++ app/models/ability.rb | 9 +- app/models/order_reservation.rb | 76 ++++-- app/views/layouts/_left_sidebar.html.erb | 5 + .../order_reservations/index.html.erb | 181 ++++++++++++ .../order_reservations/show.html.erb | 257 ++++++++++++++++++ config/locales/en.yml | 5 + config/locales/mm.yml | 5 + config/routes.rb | 2 + 14 files changed, 685 insertions(+), 45 deletions(-) create mode 100644 app/controllers/transactions/order_reservations_controller.rb create mode 100644 app/views/transactions/order_reservations/index.html.erb create mode 100755 app/views/transactions/order_reservations/show.html.erb 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 %> +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + <% 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 + %> + + + + + + + + + + + + + + + + + + + + <% end %> + <% else %> + + <% 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") %>
    + <%= 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' %>

    There is no data for search....

    +
    + <% 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 %> +
    + + + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <% @order_reservation.order_reservation_items.each do |item| %> + + + + + + + + + <% 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 + %> + + + + + + + <% if total_discount_amount > 0 %> + + + + + + <% end %> + <% if total_delivery_fee > 0 %> + + + + + + <% end %> + <% if total_convenience_charge > 0 %> + + + + + + <% end %> + + <% if total_tax > 0 %> + + + + + + <% end %> + <% if grand_total > 0 %> + + + + + + <% 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") %>
    <%=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 ' ' %>
    <%= t("views.right_panel.detail.sub_total") %><%= number_with_precision(total_amount, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    <%= t("views.right_panel.detail.discount_amount") %><%= number_with_precision(total_discount_amount, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    <%= t("views.right_panel.detail.delivery_fee") %><%= number_with_precision(total_delivery_fee, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    <%= t("views.right_panel.detail.convenience_charge") %><%= number_with_precision(total_convenience_charge, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    <%= t("views.right_panel.detail.total") %> <%= t("views.right_panel.detail.tax") %><%= number_with_precision(total_tax, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    <%= t("views.right_panel.detail.grand_total") %> <%= number_with_precision(grand_total, precision:precision.to_i, delimiter:delimiter) rescue ' '%>
    +
    +
    + + +
    +
    + + + + + + + + + + + + + + + <% if !@customer.nil? %> + + + + + + + + + + <% 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") %>
    <%= @customer.name %><%= @customer.company rescue '-' %><%= @customer.contact_no %><%= @customer.email %><%= @customer.nrc_no %><%= @customer.address%><%= @customer.date_of_birth %>
    +
    +
    + +
    +
    + + + + + + + + + + + <% if !@delivery.nil? %> + <% + if @delivery.provider == 'pick_up' + provider = "Pick-Up" + elsif @delivery.provider == 'direct_delivery' + provider = "Direct Delivery" + else + provider = @delivery.provider + end + %> + + + + + + + <% 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") %>
    <%= provider%><%= @delivery.delivery_type%><%= @delivery.address%><%= @delivery.township%>
    +
    +
    +
    +
    +
    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"