diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index c4035ead..64ebc678 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -18,8 +18,6 @@ //= require cable $(document).ready(function(){ - - $(".nav-completed").on("click", function(){ $("#completed").removeClass('hide') @@ -36,9 +34,7 @@ $(document).ready(function(){ var oqs_id = $(this).find(".oqs-id").text(); var url = 'oqs/get_items/'+oqs_id; - show_details(url); - - + show_details(url); }); //End Click diff --git a/app/assets/javascripts/addorder.js b/app/assets/javascripts/addorder.js index a394e468..6d79ca2a 100644 --- a/app/assets/javascripts/addorder.js +++ b/app/assets/javascripts/addorder.js @@ -8,12 +8,6 @@ $(function(){ }); //End menu category Click - $("#set_change_qty").change(function(){ - qty = $(this).val(); - price = $("#set_total_price").text(); - $("#set_total_price").text(qty*price); - }); - //show menu item list when click menu category function show_menu_item_list(url_item){ var menu_list = $('.menu_items_list'); @@ -104,10 +98,10 @@ $(function(){ } //end show list function //click item row for item set - $(document).on('click', '.set_item_box', function(event){ - $(".instance-list").empty(); - $(".options-list").empty(); - + $(document).on('click', '.set_item_box', function(event){ + $(".instance-list").empty(); + $(".options-list").empty(); + change_qty_plus_minus("set_count","set_plus","set_minus"); data = $(this).parent().children().children('.add_icon'); instances = $(this).data('instance'); @@ -152,8 +146,10 @@ $(function(){ $('#set_item_instances').text(instances); $('#set_name').text(data.attr('data-name')); $('#set_item_code').text(data.attr('data-item-code')); - $('#set_total_price').text(data.attr('data-price')); + // $('#set_total_price').text(data.attr('data-price')); + $('#set_total_price').text(0); $('#set_unit_price').text(data.attr('data-price')); + // $('#set_unit_price').text(0); }); // click instance for add item set $(document).on('click', '.instance_box', function(event){ @@ -179,7 +175,8 @@ $(function(){ sub_total = $('#set_total_price').text(); name = $(this).data('name'); price = $(this).data('price'); - qty = $('#set_change_qty').val(); + // qty = $('#set_change_qty').val(); + qty = document.getElementById("set_count").value; total = qty*price; var total_price = +sub_total - +total; $(this).removeClass('selected-instance'); @@ -187,21 +184,24 @@ $(function(){ $(this).removeAttr('data-options'); $('#instance_option').text('') }else { + sub_total = $('#set_total_price').text(); name = $(this).data('name'); price = $(this).data('price'); - qty = $('#set_change_qty').val(); + // qty = $('#set_change_qty').val(); + qty = document.getElementById("set_count").value; total = qty*price; var total_price = +sub_total + +total; $(this).addClass('selected-instance'); } + $('#set_unit_price').text(price); $('#set_total_price').text(total_price); }); //End selecct attribute buttom // click add order $(document).on('click', '.set_order', function(event){ total_price = $('#set_total_price').text(); - qty = parseInt($('#set_change_qty').val()); + qty = parseInt($('#set_count').val()); item_code = $('#set_item_code').text(); item_name = $('#set_name').text(); @@ -253,6 +253,8 @@ $(function(){ $('.add_to_order').removeAttr('data-attributes'); $('.add_to_order').removeAttr('data-options'); + change_qty_plus_minus("count","plus","minus"); + data = $(this).parent().children().children('.add_icon'); $('#total_price').text(data.attr('data-price')); @@ -273,21 +275,44 @@ $(function(){ for(var field in instances) { value = instances[field].values; $(value).each(function(i){ - options = value[i]; - instance_attributes.push(options); + options = value[i]; + instance_attributes.push(options); + // $.ajax({ + // type: "GET", + // url: '../../api/restaurant/menu_item_attributes/'+value[i], + // data: {id:value[i]}, + // success:function(result){ + + // options = result["name"]; + // instance_attributes.push(options); + // } + // }); }); } + // selected_arr = [] + // $(selected_item).each(function(i){ + // $.ajax({ + // type: "GET", + // url: '../../api/restaurant/menu_item_attributes/'+selected_item[i], + // data: {id:selected_item[i]}, + // success:function(result){ + // name = result["name"]; + // selected_arr.push(name); + // } + // }); + // }); + + for(var field in attributes) { value = attributes[field]["values"]; type = attributes[field]["type"] - row = "

"+attributes[field]["type"]+"

" + row = "

"+attributes[field]["type"]+"

"; + $(value).each(function(i){ disabled = "" status =""; - - - if(parseInt(jQuery.inArray(value[i], selected_item))!== -1){ + if(parseInt(jQuery.inArray(value[i], selected_item)) !== -1){ status = "selected-attribute"; } if(parseInt(jQuery.inArray(value[i], instance_attributes)) == -1){ @@ -326,6 +351,8 @@ $(function(){ // click select option icon for add $(document).on('click', '.attribute_btn', function(event){ + + $('.change_qty').val(1); value = $(this).data('value'); type = $(this).data('type'); instances = $(this).data('instances'); @@ -345,7 +372,7 @@ $(function(){ var selected_attr = get_selected_attributes('selected-attribute'); - qty = $('#change_qty').val(); + qty = $('.change_qty').val(); for(var field in instances) { item_attr = instances[field].values; @@ -652,24 +679,72 @@ $(function(){ } }); - var count = 1; - var countEl = document.getElementById("count"); - $("#plus").on("click", function(){ - count++; - countEl.value = count; + // Get Selected Class + function change_qty_plus_minus(id,plus,minus) { - price = $("#unit_price").text(); - $("#total_price").text(count*price); - }); - $("#minus").on("click", function(){ - if (count > 1) { - count--; + var count = 1; + var countEl = document.getElementById(id); + + $('#'+plus).on("click", function(){ + + count++; countEl.value = count; - price = $("#unit_price").text(); - $("#total_price").text(count*price); - } - }) + + if (id == "count") { + price = $("#unit_price").text(); + $("#total_price").text(count*price); + }else{ + var item_row = $('.selected-instance'); + price = $("#set_unit_price").text(); + set_total_price = $("#set_total_price").text(); + + if (item_row.length > 1) { + total = 0 ; + $(item_row).each(function(i){ + total += count * $(item_row[i]).attr('data-price'); + total_price = total; + }); + }else{ + total_price = count*price; + } + + $("#set_total_price").text(total_price); + } + }); + + $('#'+minus).on("click", function(){ + if (count > 1) { + count--; + countEl.value = count; + + if (id=="count") { + price = $("#unit_price").text(); + $("#total_price").text(count*price); + }else{ + var item_row = $('.selected-instance'); + price = $("#set_unit_price").text(); + set_total_price = $("#set_total_price").text(); + + if (item_row.length > 1) { + total = 0 ; + $(item_row).each(function(i){ + total += count * $(item_row[i]).attr('data-price'); + total_price = total; + }); + }else{ + total_price = count*price; + } + $("#set_total_price").text(total_price); + } + } + }) + } + // $("#set_change_qty").change(function(){ + // qty = $(this).val(); + // price = $("#set_total_price").text(); + // $("#set_total_price").text(qty*price); + // }); // $(".change_qty").change(function(){ // qty = $(this).val(); diff --git a/app/controllers/api/restaurant/menu_item_attributes_controller.rb b/app/controllers/api/restaurant/menu_item_attributes_controller.rb index 1b6a48d4..37719c37 100644 --- a/app/controllers/api/restaurant/menu_item_attributes_controller.rb +++ b/app/controllers/api/restaurant/menu_item_attributes_controller.rb @@ -1,9 +1,12 @@ class Api::Restaurant::MenuItemAttributesController < Api::ApiController - + skip_before_action :authenticate #Description # Pull the default menu details and also other available (active) menus # Input Params - order_id def index @menu_attributes = MenuItemAttribute.all end + def show + @attribute = MenuItemAttribute.find(params[:id]) + end end diff --git a/app/controllers/origami/addorders_controller.rb b/app/controllers/origami/addorders_controller.rb index 1f9d70f3..6c9127ae 100644 --- a/app/controllers/origami/addorders_controller.rb +++ b/app/controllers/origami/addorders_controller.rb @@ -30,10 +30,19 @@ class Origami::AddordersController < BaseOrigamiController else @booking = nil end - - end + def get_menu_category () + if (params[:id]) + #Pull this menu + @menu = MenuCategory.find_by_id(params[:id]) + return @menu + else + MenuCategory.current_menu + end + end + + def create Rails.logger.debug "Order Source - " + params[:order_source].to_s Rails.logger.debug "Table ID - " + params[:table_id].to_s diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index 1e14fbc5..8fddfa0f 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -127,88 +127,91 @@ class Origami::DiscountsController < BaseOrigamiController # Member Discount def member_discount - sale_id = params[:sale_id] - # account_types = JSON.parse(params[:account_types]) - account_types = Account.where("discount=?",true) - sub_total = params[:sub_total] - sale = Sale.find(sale_id) - price = SaleItem.calculate_price_by_accounts(sale.sale_items) - - arr = Array.new; - - account_types.each do |at| - price.each do |pc| - if pc[:name] == at.title && pc[:price]>0 - str={type:pc[:name],amount:pc[:price]} - arr.push(str) - end - end - end - - generic_customer_id = sale.customer.membership_id - - receipt_no = sale.receipt_no - membership = MembershipSetting.find_by_membership_type("paypar_url") - memberaction = MembershipAction.find_by_membership_type("member_discount") - merchant_uid = memberaction.merchant_account_id.to_s - campaign_type_id = memberaction.additional_parameter["campaign_type_id"] - auth_token = memberaction.auth_token.to_s - url = membership.gateway_url.to_s + memberaction.gateway_url.to_s - - # Check for items for Paypar Cloud - if arr.length > 0 - begin - response = HTTParty.post(url, - :body => { account_no: nil, - generic_customer_id:generic_customer_id , - campaign_type_id: campaign_type_id, - receipt_no: receipt_no, - merchant_uid:merchant_uid, - campaign_method:arr.to_json, - total_sale_transaction_amount: sale.grand_total, - auth_token:auth_token}.to_json, - :headers => { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' - }, :timeout => 10) - rescue HTTParty::Error - response = {:status=> false, :message => "Can't open membership server " } - - rescue Net::OpenTimeout - response = {:status=> false, :message => "Can't open membership server " } - rescue OpenURI::HTTPError - response = {:status=> false, :message => "Can't open membership server " } - - rescue SocketError - response = {:status=> false, :message => "Can't open membership server " } - end - else - response = {:status=> false, :message => "You have no selected discount item" } - end - - table_id = sale.bookings[0].dining_facility_id - table_type = DiningFacility.find(table_id).type - - # Re-calc All Amount in Sale - if response["status"] == true - discount_amount = response["discount_earned"] - if response["discount_bonus_earned"] - discount_amount = discount_amount + response["discount_bonus_earned"] - end - sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount') - result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type } - end - - if response["status"] == "500" - result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type } - end - if !response.nil? - if response[:status] == false - result = {:status=> response[:message],:title=>"Alert", :table_id => table_id,:table_type => table_type } - end - end - render :json => result.to_json + sale_id = params[:sale_id] + is_card = params[:is_card] + sub_total = params[:sub_total] + sale = Sale.find(sale_id) + + # Check for Card Payment + is_card_payment = SaleItem.get_sale_payments_by_card(sale.sale_payments) + + if is_card_payment != true + account_types = Account.where("discount=?",true) + table_id = sale.bookings[0].dining_facility_id + table_type = DiningFacility.find(table_id).type + + # Get Prices for each accounts (eg: food, beverage) + account_price = SaleItem.calculate_price_by_accounts(sale.sale_items) + acc_prices = Array.new; + + account_types.each do |at| + account_price.each do |pc| + if pc[:name] == at.title && pc[:price]>0 + str={type:pc[:name],amount:pc[:price]} + acc_prices.push(str) + end + end + end + + generic_customer_id = sale.customer.membership_id + receipt_no = sale.receipt_no + membership = MembershipSetting.find_by_membership_type("paypar_url") + memberaction = MembershipAction.find_by_membership_type("member_discount") + merchant_uid = memberaction.merchant_account_id.to_s + campaign_type_id = memberaction.additional_parameter["campaign_type_id"] + auth_token = memberaction.auth_token.to_s + url = membership.gateway_url.to_s + memberaction.gateway_url.to_s + + # Check for items for Paypar Cloud + if acc_prices.length > 0 + begin + response = HTTParty.post(url, + :body => { account_no: nil, + generic_customer_id:generic_customer_id , + campaign_type_id: campaign_type_id, + receipt_no: receipt_no, + merchant_uid:merchant_uid, + campaign_method:acc_prices.to_json, + total_sale_transaction_amount: sale.grand_total, + is_card: is_card, + auth_token:auth_token}.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + }, :timeout => 10) + rescue HTTParty::Error + response = {"status": false, "message": "Can't open membership server " } + + rescue Net::OpenTimeout + response = {"status": false, "message": "Can't open membership server " } + rescue OpenURI::HTTPError + response = {"status": false, "message": "Can't open membership server " } + + rescue SocketError + response = {"status": false, "message": "Can't open membership server " } + end + else + response = {"status": false, "message": "You have no selected discount item" } + end + + # Re-calc All Amount in Sale + if response["status"] == true + discount_amount = response["discount_earned"] + if response["discount_bonus_earned"] + discount_amount = discount_amount + response["discount_bonus_earned"] + end + sale.compute_by_sale_items(sale_id, sale.sale_items, discount_amount, 'member_discount') + result = {:status=> "Success",:title=>"Member Discount", :table_id => table_id,:table_type => table_type } + elsif response["status"] == "500" + result = {:status=> response["error"],:title=>"Alert", :table_id => table_id,:table_type => table_type } + else + result = {:status=> response["message"],:title=>"Alert", :table_id => table_id,:table_type => table_type } + end + + render :json => result.to_json + + end #end Is Card Payment end #discount for selected order diff --git a/app/controllers/origami/jcb_controller.rb b/app/controllers/origami/jcb_controller.rb index 5bed3470..a8b77861 100644 --- a/app/controllers/origami/jcb_controller.rb +++ b/app/controllers/origami/jcb_controller.rb @@ -17,6 +17,9 @@ class Origami::JcbController < BaseOrigamiController end @can_jcb = total - @jcbcount - others + @member_discount = MembershipSetting.find_by_discount(1) + @sub_total = sale_data.total_amount + @membership_id = sale_data.customer.membership_id end def create diff --git a/app/controllers/origami/master_controller.rb b/app/controllers/origami/master_controller.rb index 67107167..ba97cad9 100644 --- a/app/controllers/origami/master_controller.rb +++ b/app/controllers/origami/master_controller.rb @@ -16,6 +16,9 @@ class Origami::MasterController < BaseOrigamiController end end @can_master = total - @mastercount - others + @member_discount = MembershipSetting.find_by_discount(1) + @sub_total = sale_data.total_amount + @membership_id = sale_data.customer.membership_id end def create diff --git a/app/controllers/origami/mpu_controller.rb b/app/controllers/origami/mpu_controller.rb index 3707d1f4..c9f707e3 100644 --- a/app/controllers/origami/mpu_controller.rb +++ b/app/controllers/origami/mpu_controller.rb @@ -5,9 +5,10 @@ class Origami::MpuController < BaseOrigamiController # limit mpu_amount sale_data = Sale.find_by_sale_id(@sale_id) - total = sale_data.grand_total + total = sale_data.grand_total @mpucount = 0 - others = 0 + others = 0 + sale_data.sale_payments.each do |sale_payment| if sale_payment.payment_method == "mpu" @mpucount = @mpucount + sale_payment.payment_amount @@ -17,6 +18,9 @@ class Origami::MpuController < BaseOrigamiController end @can_mpu = total - @mpucount - others + @member_discount = MembershipSetting.find_by_discount(1) + @sub_total = sale_data.total_amount + @membership_id = sale_data.customer.membership_id end def create diff --git a/app/controllers/origami/payments_controller.rb b/app/controllers/origami/payments_controller.rb index 109138a5..2a9fe5d9 100644 --- a/app/controllers/origami/payments_controller.rb +++ b/app/controllers/origami/payments_controller.rb @@ -75,6 +75,8 @@ class Origami::PaymentsController < BaseOrigamiController def show sale_id = params[:sale_id] + + @member_discount = MembershipSetting.find_by_discount(1) if Sale.exists?(sale_id) @cash = 0.0 diff --git a/app/controllers/origami/visa_controller.rb b/app/controllers/origami/visa_controller.rb index 3cb8cabb..552d960b 100644 --- a/app/controllers/origami/visa_controller.rb +++ b/app/controllers/origami/visa_controller.rb @@ -16,6 +16,9 @@ class Origami::VisaController < BaseOrigamiController end end @can_visa = total - @visacount - others + @member_discount = MembershipSetting.find_by_discount(1) + @sub_total = sale_data.total_amount + @membership_id = sale_data.customer.membership_id end def create diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index b8ae456d..c4aae1fa 100644 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -107,7 +107,17 @@ class SaleItem < ApplicationRecord return price,type end + # Check for Card Payment + def self.get_sale_payments_by_card(sale_payments) + # Check for Card Payment + sale_payments.each do |sp| + if sp.payment_method == "jcb" || sp.payment_method == "mpu" || sp.payment_method == "visa" || sp.payment_method == "master" + return true; + end + end + + end # def self.get_overall_discount(sale_id) # price = 0.0 # item=SaleItem.where("product_code=?", sale_id) diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 4719e546..5f97bcfc 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -263,6 +263,8 @@ class SalePayment < ApplicationRecord end def sale_update_payment_status(paid_amount) + puts paid_amount + puts "parid Masssssssssssssssssssssssssssssssssssssssss" #update amount_outstanding self.sale.amount_received = self.sale.amount_received.to_f + paid_amount.to_f self.sale.save! diff --git a/app/views/api/restaurant/menu_item_attributes/show.json.jbuilder b/app/views/api/restaurant/menu_item_attributes/show.json.jbuilder new file mode 100644 index 00000000..e158f807 --- /dev/null +++ b/app/views/api/restaurant/menu_item_attributes/show.json.jbuilder @@ -0,0 +1,8 @@ +if(@attribute) + json.id @attribute.id + json.type @attribute.attribute_type + json.name @attribute.name + json.value @attribute.value +else + json.success false +end \ No newline at end of file diff --git a/app/views/origami/addorders/_menu_item.json.jbuilder b/app/views/origami/addorders/_menu_item.json.jbuilder new file mode 100644 index 00000000..32451524 --- /dev/null +++ b/app/views/origami/addorders/_menu_item.json.jbuilder @@ -0,0 +1,117 @@ +# Format for attributes json +attr_format = [] +# Format for attributes json +if item.item_attributes.count > 0 + item.item_attributes.each do|attr_id| + menu_attr = MenuItemAttribute.find(attr_id) + if attr_format.count == 0 + attr_format.push({ type: menu_attr.attribute_type, values: [menu_attr.name] }) + next + end + + attr_format.each do |af| + if menu_attr.attribute_type.in? attr_format.map {|k| k[:type]} + if menu_attr.attribute_type == af[:type] + af[:values].push(menu_attr.name) + end + else + new_attr = {type: menu_attr.attribute_type, values: [ menu_attr.name ] } + attr_format.push(new_attr) + break + end + end + end +end + +# Format for option json +opt_format = [] +# Format for attributes json +if item.item_options.count > 0 + item.item_options.each do|opt| + menu_opt = MenuItemOption.find(opt) + if opt_format.count == 0 + opt_format.push({ type: menu_opt.option_type, values: [menu_opt.name] }) + next + end + + opt_format.each do |of| + if menu_opt.option_type.in? opt_format.map {|k| k[:type]} + if menu_opt.option_type == of[:type] + of[:values].push(menu_opt.name) + end + else + new_opt = {type: menu_opt.option_type, values: [ menu_opt.name ] } + opt_format.push(new_opt) + break + end + end + end +end + +#Menu Item Information +json.id item.id +json.code item.item_code +json.name item.name +json.alt_name item.alt_name +json.image item.image_path.url +json.description item.description +json.information item.information +json.type item.type +json.account_id item.account_id +json.min_qty item.min_qty +json.is_available item.is_available +json.is_sub_item item.is_sub_item +json.unit item.unit + +# Item Sets of Menu Item +json.item_sets item.item_sets do |its| + json.id its.id + json.name its.name + json.alt_name its.alt_name + json.min_selectable_qty its.min_selectable_qty + json.max_selectable_qty its.max_selectable_qty + json.instances its.menu_item_instances do |i| + json.id i.id + end +end + +json.attributes attr_format +json.options opt_format +# json.min_selectable_item item.min_selectable_item +# json.max_selectable_item item.max_selectable_item + +#Item instance +# if item.menu_item_instances.count == 1 then +# item_instance = item.menu_item_instances[0] +# json.price = item_instance.price +# json.is_available = item_instance.is_available +# json.is_on_promotion = item_instance.is_on_promotion +# json.promotion_price = item_instance.promotion_price +# json.item_attributes = item_instance.item_attributes + +json.instances item.menu_item_instances do |is| + # Convert id to name for attributes + instance_attr = [] + is.item_attributes.each do |ia| + mItemAttr = MenuItemAttribute.find(ia).name + instance_attr.push(mItemAttr) + end + + json.id is.id + json.code is.item_instance_code + json.name is.item_instance_name + json.price is.price + json.is_available is.is_available + json.is_default is.is_default + json.is_on_promotion is.is_on_promotion + json.promotion_price is.promotion_price + json.values instance_attr + # json.item_sets is.item_sets +end + +#Child Menu items +# if (item.children) then +# json.set_items item.children.each do |item| +# json.partial! 'api/restaurant/menu/menu_item', item: item +# end +# end \ No newline at end of file diff --git a/app/views/origami/addorders/detail.html.erb b/app/views/origami/addorders/detail.html.erb index 4c32390b..34920a1d 100644 --- a/app/views/origami/addorders/detail.html.erb +++ b/app/views/origami/addorders/detail.html.erb @@ -4,7 +4,7 @@
+ diff --git a/app/views/origami/addorders/get_menu_category.json.jbuilder b/app/views/origami/addorders/get_menu_category.json.jbuilder new file mode 100644 index 00000000..8c96a6c7 --- /dev/null +++ b/app/views/origami/addorders/get_menu_category.json.jbuilder @@ -0,0 +1,5 @@ +if @menu.menu_items + json.menu_items @menu.menu_items do |item| + json.partial! 'origami/addorders/menu_item', item: item + end +end diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb index 378bcbe3..55e649ed 100644 --- a/app/views/origami/discounts/index.html.erb +++ b/app/views/origami/discounts/index.html.erb @@ -510,7 +510,7 @@ $(document).ready(function(){ url: ajax_url, data: params, success:function(result){ - +console.log(result) if (result.status == "Success") { type = 'green' btn_color = 'btn-green' diff --git a/app/views/origami/jcb/index.html.erb b/app/views/origami/jcb/index.html.erb index e9cc09fa..eaf1f07e 100644 --- a/app/views/origami/jcb/index.html.erb +++ b/app/views/origami/jcb/index.html.erb @@ -7,163 +7,197 @@

JCB

-
-
-
-
- - -
-
+ + + +
+
+
+
+ +
- <% if @jcbcount != 0 %> -
-
- - -
-
+
+
+ <% if @jcbcount != 0 %> +
+
+ +
- <% end %> -
-
- - -
-
-
-
-
- -
0.0
-
-
-
-
+
+
+ <% end %> +
+
+ + +
+
+
+
+
+ +
0.0
+
+
+
+
-
+
-
-
-
-
1
-
2
-
3
-
-
-
4
-
5
-
6
-
-
-
7
-
8
-
9
-
-
-
0
-
.
-
00
-
-
-
Nett
-
Del
-
Clr
-
-
-
-
-
1000
-
3000
-
-
-
5000
-
10000
-
-
-
Pay
-
-
-
- -
- -
- +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+ +
+ +
+ +
diff --git a/app/views/origami/master/index.html.erb b/app/views/origami/master/index.html.erb index 6afc1081..ab396252 100644 --- a/app/views/origami/master/index.html.erb +++ b/app/views/origami/master/index.html.erb @@ -7,160 +7,194 @@

Master

-
-
-
-
- - -
-
-
- <% if @mastercount != 0 %> -
-
- - -
-
-
- <% end %> -
-
- - -
-
-
-
-
- -
0.0
-
-
-
-
-
- - -
- -
-
-
-
1
-
2
-
3
-
-
-
4
-
5
-
6
-
-
-
7
-
8
-
9
-
-
-
0
-
.
-
00
-
-
-
Nett
-
Del
-
Clr
-
-
-
-
-
1000
-
3000
-
-
-
5000
-
10000
-
-
-
Pay
-
-
+ + + +
+
+
+
+ + +
+
- + <% if @mastercount != 0 %> +
+
+ + +
+
+
+ <% end %> +
+
+ + +
+
+
+
+ +
0.0
+
+
+
+
+
+
-
- -
+
+ +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+
+ +
+ +
+ +
diff --git a/app/views/origami/mpu/index.html.erb b/app/views/origami/mpu/index.html.erb index e8e25b2f..30d12d35 100644 --- a/app/views/origami/mpu/index.html.erb +++ b/app/views/origami/mpu/index.html.erb @@ -7,160 +7,195 @@

MPU

-
-
-
-
- - -
-
-
- <% if @mpucount != 0 %> -
-
- - -
-
-
- <% end %> -
-
- - -
-
-
-
-
- -
0.0
-
-
-
-
+ + + +
+
+
+
+ + +
+
+
+ <% if @mpucount != 0 %> +
+
+ + +
+
+
+ <% end %> +
+
+ + +
+
+
+
+
+ +
0.0
+
+
+
+
-
+
-
-
-
-
1
-
2
-
3
-
-
-
4
-
5
-
6
-
-
-
7
-
8
-
9
-
-
-
0
-
.
-
00
-
-
-
Nett
-
Del
-
Clr
-
-
-
-
-
1000
-
3000
-
-
-
5000
-
10000
-
-
-
Pay
-
-
-
- -
- -
- +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+ +
+ +
+ +
+ }); + $('#mpu_pay').on('click',function(){ + var amount = $('#amount').text(); + var sale_id = "<%= @sale_id %>"; + if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){ + //start member discount 5% by pay card + var sub_total = $('#sub-total').text(); + var member_id = $('#membership_id').text(); + var member_discount = $('#member_discount').text(); + if (member_id && member_discount) { + $.ajax({ + type: "POST", + url: "/origami/" + sale_id + "/member_discount", + data: {'sale_id':sale_id, 'sub_total':sub_total,'is_card':true }, + // success:function(result){ + // } + }); + } + //end member discount + //Mpu Payment + $.ajax({type: "POST", + url: "<%= origami_payment_mpu_path %>", + data: "amount="+ amount + "&sale_id="+ sale_id, + success:function(result){ + if(result){ + $.confirm({ + title: 'Infomation!', + content: 'Payment Successfully', + buttons: { + confirm: { + text: 'Ok', + btnClass: 'btn-green', + action: function(){ + window.location.href = '/origami/sale/'+ sale_id + "/payment"; + } + } + } + }); + } + } + }); + }else{ + $.alert({ + title: 'Alert!', + content: "Paid Amount is over!", + type: 'red', + typeAnimated: true, + btnClass: 'btn-danger', + }); + } + }) + diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index 36c4cc0e..f0298e73 100644 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -1,8 +1,8 @@ +
+
-
+
@@ -17,6 +17,8 @@ Customer : <%= @sale_data.customer.name%> + + Customer ID : <%= @sale_data.customer.customer_id%> @@ -26,82 +28,82 @@
- - - - + + + - -
#ItemsQTY +
#ItemsQTY Price -
-
-
- - - <% sub_total = 0 - count = 0 - %> - <% @sale_data.sale_items.each do |sale_item| - count += 1 - %> + + +
+
+
+ + + <% sub_total = 0 + count = 0 + %> + <% @sale_data.sale_items.each do |sale_item| + count += 1 + %> - <% sub_total += sale_item.price%> - + <% sub_total += sale_item.price%> + - - - - <%end %> - -
<%= count %> - <%=sale_item.product_name%>@<%=sale_item.unit_price%> - - <%=sale_item.qty%> - - <%=(sale_item.price)%> -
-
- -
+ <%=sale_item.product_name%>@<%=sale_item.unit_price%> + + + <%=sale_item.qty%> + + + <%=(sale_item.price)%> + + + <%end %> + + +
+ +
+ -->
@@ -123,159 +125,159 @@
<%= @credit %>
<% if @other == 0.0 && @ppamount == 0.0 && @visacount == 0.0 && @jcbcount == 0.0 && @mastercount == 0.0%> -
-
Other Payments
-
<%= @other %>
-
+
+
Other Payments
+
<%= @other %>
+
<% else %> -
-
Other Payments
-
+
+
Other Payments
+
<% end %> - - <% if @other != 0.0 %> -
-
-
MPU
-
<%= @other %>
-
- <% else %> - - <% end %> - - <% if @ppamount != 0.0 %> -
-
-
Redeem
-
<%= @ppamount %>
-
- <% else %> - - <% end %> - - <% if @visacount != 0.0 %> -
-
-
Visa
-
<%= @visacount %>
-
- <% else %> - - <% end %> - - <% if @jcbcount != 0.0 %> -
-
-
JCB
-
<%= @jcbcount %>
-
- <% else %> - - <% end %> - - <% if @mastercount != 0.0 %> -
-
-
Master
-
<%= @mastercount %>
-
- <% else %> - - <% end %> -
+ + <% if @other != 0.0 %> +
+
+
MPU
+
<%= @other %>
+
+ <% else %> + + <% end %> + + <% if @ppamount != 0.0 %> +
+
+
Redeem
+
<%= @ppamount %>
+
+ <% else %> + + <% end %> + + <% if @visacount != 0.0 %> +
+
+
Visa
+
<%= @visacount %>
+
+ <% else %> + + <% end %> + + <% if @jcbcount != 0.0 %> +
+
+
JCB
+
<%= @jcbcount %>
+
+ <% else %> + + <% end %> + + <% if @mastercount != 0.0 %> +
+
+
Master
+
<%= @mastercount %>
+
+ <% else %> + + <% end %> +
Balance
<%= @sale_data.grand_total %>

-
-
-
-
1
-
2
-
3
-
-
-
4
-
5
-
6
-
-
-
7
-
8
-
9
-
-
-
0
-
.
-
00
-
-
-
Nett
-
Del
-
Clr
-
-
-
-
-
1000
-
3000
-
-
-
5000
-
10000
-
-
-
Pay
-
-
-
+
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+
-
-
- +
+
+ - - - -
+ + + +
-
+ \ No newline at end of file diff --git a/app/views/origami/visa/index.html.erb b/app/views/origami/visa/index.html.erb index 1589ca1b..073b7e60 100644 --- a/app/views/origami/visa/index.html.erb +++ b/app/views/origami/visa/index.html.erb @@ -7,160 +7,194 @@

VISA

-
-
-
-
- - -
-
-
- <% if @visacount != 0 %> -
-
- - -
-
-
- <% end %> -
-
- - -
-
-
-
-
- -
0.0
-
-
-
-
-
- - -
- -
-
-
-
1
-
2
-
3
-
-
-
4
-
5
-
6
-
-
-
7
-
8
-
9
-
-
-
0
-
.
-
00
-
-
-
Nett
-
Del
-
Clr
-
-
-
-
-
1000
-
3000
-
-
-
5000
-
10000
-
-
-
Pay
-
-
+ + + +
+
+
+
+ + +
+
- + <% if @visacount != 0 %> +
+
+ + +
+
+
+ <% end %> +
+
+ + +
+
+
+
+ +
0.0
+
+
+
+
+
+
-
- -
+
+ +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+
+ +
+ +
+ +
diff --git a/config/routes.rb b/config/routes.rb index 6ac723aa..70accbb2 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -33,7 +33,7 @@ Rails.application.routes.draw do resources :menu, only: [:index, :show] resources :menu_categories, only: [:index, :show] resources :menu_items, only: [:index, :show] - resources :menu_item_attributes, only: [:index] + resources :menu_item_attributes, only: [:index, :show] resources :menu_item_options, only: [:index] resources :menu_sold_out, only: [:index] resources :menu_item_instances, only: [:show] @@ -178,8 +178,9 @@ Rails.application.routes.draw do post '/:sale_id/get_customer' => "customers#get_customer" - get '/:addorders/:id' => "addorders#detail" - post '/:addorders/create' => "addorders#create", :defaults => { :format => 'json' } + get '/:addorders/:id' => "addorders#detail" + post '/:addorders/create' => "addorders#create", :defaults => { :format => 'json' } + get '/addorders/get_menu_category/:id' => "addorders#get_menu_category",:as => "get_menu_category", :defaults => { :format => 'json' } resources :commissions resources :commissioners