From 7ccc50b7ed285f6b22967e7ff16cd98a8b270485 Mon Sep 17 00:00:00 2001 From: Moe Su Date: Tue, 6 Jun 2017 10:34:13 +0630 Subject: [PATCH 01/28] For Pull --- app/models/order.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/models/order.rb b/app/models/order.rb index 3fabf91b..bf0a9013 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -218,7 +218,6 @@ class Order < ApplicationRecord left join dining_facilities on dining_facilities.id = bookings.dining_facility_id left join order_items on order_items.order_id = orders.id") .where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true) - .group("orders.id, order_items.id,dining_facilities.name") From 5264f9cf1426fe9a7b844aaf08880bd9131f5884 Mon Sep 17 00:00:00 2001 From: Moe Su Date: Wed, 7 Jun 2017 17:14:22 +0630 Subject: [PATCH 02/28] Paypar payment --- Gemfile | 2 +- Gemfile.lock | 4 +- .../origami/card_payments_controller.rb | 19 ++ app/models/sale_payment.rb | 246 +++++++++--------- .../origami/card_payments/index.html.erb | 138 +++++++++- dump.rdb | Bin 1669 -> 8033 bytes 6 files changed, 288 insertions(+), 121 deletions(-) diff --git a/Gemfile b/Gemfile index 6b3740a7..09e358f5 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ gem 'rails', '~> 5.1.0' gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL - gem 'pg' + # gem 'pg' # redis server for cable # gem 'redis', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 17b395eb..70197025 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -122,7 +122,6 @@ GEM nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) - pg (0.20.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -257,7 +256,6 @@ DEPENDENCIES kaminari! listen (~> 3.0.5) mysql2 (>= 0.3.18, < 0.5) - pg prawn prawn-table puma (~> 3.0) @@ -280,4 +278,4 @@ DEPENDENCIES web-console (>= 3.3.0) BUNDLED WITH - 1.15.0 + 1.15.1 diff --git a/app/controllers/origami/card_payments_controller.rb b/app/controllers/origami/card_payments_controller.rb index 2df4b266..6a0e99c9 100644 --- a/app/controllers/origami/card_payments_controller.rb +++ b/app/controllers/origami/card_payments_controller.rb @@ -2,6 +2,25 @@ class Origami::CardPaymentsController < BaseOrigamiController def index + @membership_rebate_balance = 0 + @membership_id = 0 + if !@membership_id.nil? + membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) + if membership_data["status"]==true + membership_account_data = membership_data["data"]; + membership_account_data.each do |acc_data| + if acc_data["accountable_type"] == "REBATEACCOUNT" + @membership_rebate_balance=acc_data["balance"] + else + @membership_rebate_balance = 0 + end + end + else + @membership_rebate_balance = 0 + end + end + end def create diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 15fe4c74..9f68e4f4 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -6,158 +6,172 @@ class SalePayment < ApplicationRecord belongs_to :sale - :attr_accessor :received_amount, :card_payment_reference, :voucher_no, :giftcard_no, :customer_id, :external_payment_status + attr_accessor :received_amount, :card_payment_reference, :voucher_no, :giftcard_no, :customer_id, :external_payment_status - def process_payment(invoice, action_by) - self.sale = invoice + # def process_payment(invoice, action_by) + # self.sale = invoice - amount_due = invoice.grand_total - #get all payment for this invoices - invoice.sale_payments.each do |payment| - if (payment.payment_status == "paid" ) - amount_due = amount_due - payment.payment_amount - end - end + # amount_due = invoice.grand_total + # #get all payment for this invoices + # invoice.sale_payments.each do |payment| + # if (payment.payment_status == "paid" ) + # amount_due = amount_due - payment.payment_amount + # end + # end - if (amount_due > 0) - payment_status = false - #route to payment type - switch (payment_method) - case "cash" - payment_status = cash_payment - case "creditnote" - payment_status = creditnote_payment - case "visa" - payment_status = external_terminal_card_payment(:visa) - case "master" - payment_status = external_terminal_card_payment(:master) - case "jcb" - payment_status = external_terminal_card_payment(:jcb) - case "mpu" - payment_status = external_terminal_card_payment(:mpu) - case "unionpay" - payment_status = external_terminal_card_payment(:unionpay) - case "vochure" - payment_status = vochure_payment - case "giftcard" - payment_status = giftcard_payment - case "paypar" - #TODO: implement paypar implementation - payment_status = paypar_payment - end + # if (amount_due > 0) + # payment_status = false + # #route to payment type + # switch (payment_method) + # case "cash" + # payment_status = cash_payment + # case "creditnote" + # payment_status = creditnote_payment + # case "visa" + # payment_status = external_terminal_card_payment(:visa) + # case "master" + # payment_status = external_terminal_card_payment(:master) + # case "jcb" + # payment_status = external_terminal_card_payment(:jcb) + # case "mpu" + # payment_status = external_terminal_card_payment(:mpu) + # case "unionpay" + # payment_status = external_terminal_card_payment(:unionpay) + # case "vochure" + # payment_status = vochure_payment + # case "giftcard" + # payment_status = giftcard_payment + # case "paypar" + # #TODO: implement paypar implementation + # payment_status = paypar_payment + # end - #record an payment in sale-audit - remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{amount} | Payment Status ->#{payment_status}" - sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by) + # #record an payment in sale-audit + # remark = "Payment #{payment_method}- for Invoice #{invoice.receipt_no} Due [#{amount_due}]| pay amount -> #{amount} | Payment Status ->#{payment_status}" + # sale_audit = SaleAudit.record_payment(invoice.id, remark, action_by) - return true, self.sale - else - #record an payment in sale-audit - remark = "No outstanding Amount - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]" - sale_audit = SaleAudit.record_payment(invoice.id, remark,action_by) + # return true, self.sale + # else + # #record an payment in sale-audit + # remark = "No outstanding Amount - Grand Total [#{invoice.grand_total}] | Due [#{amount_due}] | Paid [#{invoice.amount_received}]" + # sale_audit = SaleAudit.record_payment(invoice.id, remark,action_by) - return false, "No outstanding Amount" - end + # return false, "No outstanding Amount" + # end + # end + + def self.get_paypar_account(paypar_url,token,membership_id) + url = paypar_url.to_s + "/api/get_membership_data".to_s + response = HTTParty.get(url, + :body => { app_token: token,membership_id:membership_id}.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + } + ) + return response; + end - private - def cash_payment - payment_status = false + # private + # def cash_payment + # payment_status = false - self.payment_method = "cash" - self.payment_amount = self.received_amount - self.outstanding_amount = self.sale.grand_total - received_amount - self.payment_status = "paid" - payment_method = self.save! + # self.payment_method = "cash" + # self.payment_amount = self.received_amount + # self.outstanding_amount = self.sale.grand_total - received_amount + # self.payment_status = "paid" + # payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) - return payment_status - end + # return payment_status + # end - def creditnote_payment(self.customer_id) - payment_status = false + # def creditnote_payment(self.customer_id) + # payment_status = false - self.payment_method = "creditnote" - self.payment_amount = self.received_amount - self.customer_id = self.customer_id - self.outstanding_amount = 0 - self.received_amount - self.payment_status = "outstanding" - payment_method = self.save! + # self.payment_method = "creditnote" + # self.payment_amount = self.received_amount + # self.customer_id = self.customer_id + # self.outstanding_amount = 0 - self.received_amount + # self.payment_status = "outstanding" + # payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) - return payment_status - end + # return payment_status + # end - def external_terminal_card_payment(method) - payment_status = false + # def external_terminal_card_payment(method) + # payment_status = false - self.payment_method = method - self.payment_amount = self.received_amount - self.payment_reference = self.card_payment_reference - self.outstanding_amount = self.sale.grand_total- self.received_amount - self.payment_status = "paid" - payment_method = self.save! + # self.payment_method = method + # self.payment_amount = self.received_amount + # self.payment_reference = self.card_payment_reference + # self.outstanding_amount = self.sale.grand_total- self.received_amount + # self.payment_status = "paid" + # payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) - return payment_status - end + # return payment_status + # end - def voucher_payment - payment_status = false + # def voucher_payment + # payment_status = false - #Next time - validate if the vochure number is valid - within - self.payment_method = "voucher" - self.payment_amount = self.received_amount - self.payment_reference = self.voucher_no - self.outstanding_amount = self.sale.grand_total- self.received_amount - self.payment_status = "paid" - payment_method = self.save! + # #Next time - validate if the vochure number is valid - within + # self.payment_method = "voucher" + # self.payment_amount = self.received_amount + # self.payment_reference = self.voucher_no + # self.outstanding_amount = self.sale.grand_total- self.received_amount + # self.payment_status = "paid" + # payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) - return payment_status + # return payment_status - end + # end - def giftcard_payment - payment_status = false + # def giftcard_payment + # payment_status = false - #Next time - validate if the vochure number is valid - within - self.payment_method = "giftcard" - self.payment_amount = self.received_amount - self.payment_reference = self.giftcard_no - self.outstanding_amount = self.sale.grand_total- self.received_amount - self.payment_status = "paid" - payment_method = self.save! + # #Next time - validate if the vochure number is valid - within + # self.payment_method = "giftcard" + # self.payment_amount = self.received_amount + # self.payment_reference = self.giftcard_no + # self.outstanding_amount = self.sale.grand_total- self.received_amount + # self.payment_status = "paid" + # payment_method = self.save! - sale_update_payment_status(self.received_amount) + # sale_update_payment_status(self.received_amount) - return payment_status + # return payment_status - end + # end - def paypar_payment - ##TODO - Integration with Paypar (SmartPay) - end + # def paypar_payment + # ##TODO - Integration with Paypar (SmartPay) + # end - def sale_update_payment_status(paid_amount) + # def sale_update_payment_status(paid_amount) - #update amount_outstanding - self.sale.amount_received = self.sale.amount_received + paid_amount - self.sale.amount_changed = amount - self.sale.amount_received - if (self.sale.grand_total <= self.sale.amount_received && self.sale.amount_changed > 0) - self.sale.payment_status = "paid" - self.sale.sale_status = "completed" - self.sale.save! - end + # #update amount_outstanding + # self.sale.amount_received = self.sale.amount_received + paid_amount + # self.sale.amount_changed = amount - self.sale.amount_received + # if (self.sale.grand_total <= self.sale.amount_received && self.sale.amount_changed > 0) + # self.sale.payment_status = "paid" + # self.sale.sale_status = "completed" + # self.sale.save! + # end + + # end - end private def generate_custom_id diff --git a/app/views/origami/card_payments/index.html.erb b/app/views/origami/card_payments/index.html.erb index 86ef10b0..859a854b 100644 --- a/app/views/origami/card_payments/index.html.erb +++ b/app/views/origami/card_payments/index.html.erb @@ -1 +1,137 @@ -Hello Card Payment +
+ +
+
+ <% if @membership_id!=0 %> +
+
Redim Amount
+
+ <% end %> +
+
+ +
+ +
+
+
+
+
+
1
+
2
+
3
+
+
+
+
1000
+
+
+
+
+
+
4
+
5
+
6
+
+
+
+
5000
+
+
+
+
+
+
7
+
8
+
9
+
+
+
+
10000
+
+
+
+
+
+
0
+
.
+
00
+
+
+
+
50000
+
+
+
+
+
+
+
DEL
+
CLR
+
+
+
+
PAY
+
+
+
+
+ +
+
+
+ +
+ \ No newline at end of file diff --git a/dump.rdb b/dump.rdb index b931754d4d0d6c1b83a8ccc4d623c8f56f2121e8..71b39e913463238ec81b9d5c90162fbea7d18cf4 100644 GIT binary patch literal 8033 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 delta 1204 zcmXYx-D{gw0LD+!CTWwjT~`@c)Fn&St)wSA-{-s=Zp%I>OdNw2D_Tg|v!Dz4uX~*aDx#(=Gk;z=;dzte=}ZcOjnq^il3W3_8un zBNL6{`02;-sm`ER#u?9@(uEsYMUiw?Qg3j}((RUQpm!YZjN6rqzJ?HUaPhMK8~jse#!l%t7|X)w29CKthqK?Y$TC4 zv2SlP+Tln^Djo5WU^?=_I4lot614kq#08JX+G&CqtM@v!_WI&%o(Dv&wc}lJDnO(P(3MwU1y?Ek6LV^kzKVx?BKJ>D{|C z-8(#q0y=&w6=38jDnA5b@@_)Q63-$-u?9mlo@Ru;pX7g z_3Vs(J1G>Y9Ei7eHcNw5-nhj#7FQFJ?fkKNq93}z=+yUViC}~jDeWEbS}`vjqP1rp zu1Wq7m&p8oK2KKey>|Zcqx-M^ E2k^Ok4*&oF From 26f2dce14232c83d5d0a03619d39354e1d048f78 Mon Sep 17 00:00:00 2001 From: Moe Su Date: Thu, 8 Jun 2017 09:53:04 +0630 Subject: [PATCH 03/28] For Pull --- Gemfile | 2 +- .../origami/others_payments_controller.rb | 6 +++- app/controllers/origami/paypar_controller.rb | 3 +- app/models/order.rb | 1 - .../origami/others_payments/index.html.erb | 27 ++++++++++++++--- app/views/origami/payments/show.html.erb | 28 +++++++++--------- .../{paypar => paypar_payment}/index.html.erb | 0 ...ts.rb => 2017031024747_create_accounts.rb} | 0 db/seeds.rb | 10 +++---- dump.rdb | Bin 10166 -> 12286 bytes 10 files changed, 50 insertions(+), 27 deletions(-) rename app/views/origami/{paypar => paypar_payment}/index.html.erb (100%) rename db/migrate/{20170531024747_create_accounts.rb => 2017031024747_create_accounts.rb} (100%) diff --git a/Gemfile b/Gemfile index 8081f3b5..145cd5c1 100644 --- a/Gemfile +++ b/Gemfile @@ -13,7 +13,7 @@ gem 'rails', '~> 5.1.0' # gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL -#gem 'pg' +gem 'pg' # redis server for cable # gem 'redis', '~> 3.0' diff --git a/app/controllers/origami/others_payments_controller.rb b/app/controllers/origami/others_payments_controller.rb index 1542734a..fa50f6a3 100644 --- a/app/controllers/origami/others_payments_controller.rb +++ b/app/controllers/origami/others_payments_controller.rb @@ -3,7 +3,10 @@ class Origami::OthersPaymentsController < BaseOrigamiController def index @membership_rebate_balance = 0 - @membership_id = 0 + @sale_id = params[:sale_id] + sale_data = Sale.find_by_sale_id(@sale_id) + customer_data= Customer.find_by_customer_id(sale_data.customer_id) + @membership_id = customer_data.membership_id if !@membership_id.nil? membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) @@ -19,6 +22,7 @@ class Origami::OthersPaymentsController < BaseOrigamiController else @membership_rebate_balance = 0 end + end end def create diff --git a/app/controllers/origami/paypar_controller.rb b/app/controllers/origami/paypar_controller.rb index 428cbc87..06be6434 100644 --- a/app/controllers/origami/paypar_controller.rb +++ b/app/controllers/origami/paypar_controller.rb @@ -1,3 +1,4 @@ class Origami::PayparController < ApplicationController - + def create + end end diff --git a/app/models/order.rb b/app/models/order.rb index 4ddad631..04c9645e 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -271,7 +271,6 @@ class Order < ApplicationRecord left join sale_orders on sale_orders.order_id = orders.order_id left join sales on sales.sale_id = sale_orders.sale_id") .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to) - .group("orders.order_id,order_items.order_items_id,dining_facilities.name,sales.receipt_no,bookings.booking_id,sales.sale_id") end diff --git a/app/views/origami/others_payments/index.html.erb b/app/views/origami/others_payments/index.html.erb index 859a854b..6a72fc2d 100644 --- a/app/views/origami/others_payments/index.html.erb +++ b/app/views/origami/others_payments/index.html.erb @@ -4,7 +4,7 @@
<% if @membership_id!=0 %>
-
Redim Amount
+
Redim Amount
<% end %>
@@ -86,7 +86,7 @@
-
PAY
+
PAY
@@ -123,6 +123,9 @@ $(document).on('click', '.cashier_number', function(event){ $('#used_amount').html(amount); break; + case 'clr': + $('#used_amount').html("0.0"); + break; } event.handled = true; @@ -131,7 +134,23 @@ $(document).on('click', '.cashier_number', function(event){ } }); - $("#redim").click(function(){ +$("#redeem_account").click(function(){ $('.rebate-form').removeAttr("hidden"); - }) +}); + +$("#redeem").click(function(){ + valid_amount = $("#valid_amount").val(); + sale_id = $(this).attr("data-value") + membership_id = $(this).attr("data-member-value"); + used_amount = parseInt($("#used_amount").text()); + if(used_amount<=0){ + alert(" Insufficient Amount!") + }else if(valid_amount< used_amount){ + alert("Please type valid amount"); + }else{ + $.ajax({ + + }) + } +}); \ No newline at end of file diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index ccd9fd77..fcdee809 100644 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -218,21 +218,21 @@ $( document ).ready(function() { $('#pay').click(function() { - if($('#balance').text() > 0){ - alert(" Insufficient Amount!") - }else{ + if($('#balance').text() > 0){ + alert(" Insufficient Amount!") + }else{ // payment - var cash = $('#cash').text(); - var credit = $('#credit').text(); - var card = $('#card').text(); - var sale_id = $('#sale_id').text(); - $.ajax({type: "POST", - url: "<%= origami_payment_process_path %>", - data: "cash="+ cash + "&sale_id=" + sale_id, - success:function(result){ - alert("THANK YOU") - } - }); + var cash = $('#cash').text(); + var credit = $('#credit').text(); + var card = $('#card').text(); + var sale_id = $('#sale_id').text(); + $.ajax({type: "POST", + url: "<%= origami_payment_process_path %>", + data: "cash="+ cash + "&sale_id=" + sale_id, + success:function(result){ + alert("THANK YOU") + } + }); } }); diff --git a/app/views/origami/paypar/index.html.erb b/app/views/origami/paypar_payment/index.html.erb similarity index 100% rename from app/views/origami/paypar/index.html.erb rename to app/views/origami/paypar_payment/index.html.erb diff --git a/db/migrate/20170531024747_create_accounts.rb b/db/migrate/2017031024747_create_accounts.rb similarity index 100% rename from db/migrate/20170531024747_create_accounts.rb rename to db/migrate/2017031024747_create_accounts.rb diff --git a/db/seeds.rb b/db/seeds.rb index 78d927a4..0d5d2804 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -141,9 +141,9 @@ admin_employee = Employee.create({name: "Administrator", role: "Administrator", food = Account.create({title: "Food", account_type: "0"}) beverage = Account.create({title: "Beverage", account_type: "1"}) -shop = Shop.create( - {name: "Beauty In The Pot", address: "address", township: "Yangon", city: "Yangon", state: "Yangon", - country: "Myanmar", phone_no: "09123456789", reservation_no: "bip000001", license: "license", - activated_at: "2017-06-06", license_data: "license_data", base_currency: "Ks", id_prefix: "abc"} - ) +# shop = Shop.create( +# {name: "Beauty In The Pot", address: "address", township: "Yangon", city: "Yangon", state: "Yangon", +# country: "Myanmar", phone_no: "09123456789", reservation_no: "bip000001", license: "license", +# activated_at: "2017-06-06", license_data: "license_data", base_currency: "Ks", id_prefix: "abc"} +# ) diff --git a/dump.rdb b/dump.rdb index 61ec8a21c31c38ba1e142be5d08c0b8068a0ba59..b2fb17094c22aaa8265a1d8b89c59387f484057f 100644 GIT binary patch literal 12286 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 N|MAB+U-`Cc^55=UR1p9G From 612f037fe8b65d1992b9c9274725c7841eba0c1c Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 10:40:06 +0630 Subject: [PATCH 04/28] index ui for discount --- Gemfile | 3 +- app/assets/javascripts/orgiami.js | 7 + .../origami/discounts_controller.rb | 9 + app/views/origami/discounts/index.html.erb | 155 ++++++++++++++++++ app/views/origami/home/index.html.erb | 4 +- config/routes.rb | 3 +- 6 files changed, 176 insertions(+), 5 deletions(-) create mode 100644 app/views/origami/discounts/index.html.erb diff --git a/Gemfile b/Gemfile index fe865876..94c7f779 100644 --- a/Gemfile +++ b/Gemfile @@ -9,8 +9,7 @@ end # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.1.0' # Use mysql as the database for Active Record - -#gem 'mysql2', '>= 0.3.18', '< 0.5' +gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL #gem 'pg' diff --git a/app/assets/javascripts/orgiami.js b/app/assets/javascripts/orgiami.js index cd8622c3..fd7d8e88 100644 --- a/app/assets/javascripts/orgiami.js +++ b/app/assets/javascripts/orgiami.js @@ -90,6 +90,13 @@ $(document).ready(function(){ return false; }); + // Discount for Payment + $('#discount').click(function() { + var order_id=$(".selected-item").find(".orders-id").text(); + window.location.href = '/origami/discount/'+ order_id + return false; + }); + // Payment for Bill $('#pay').click(function() { var sale_id=$(".selected-item").find(".orders-id").text(); diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index 09ab1103..717f4e09 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -1,6 +1,15 @@ class Origami::DiscountsController < BaseOrigamiController + + #discount page show from origami index with selected order def index + sale_id = params[:id] + if Sale.exists?(sale_id) + @sale_data = Sale.find(sale_id) + end end + def create + end + end diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb new file mode 100644 index 00000000..4615a6aa --- /dev/null +++ b/app/views/origami/discounts/index.html.erb @@ -0,0 +1,155 @@ +
+ +
+ + +
+
+
ORDER DETAILS -
+
+
+
+
+

Receipt No: <%=@sale_data.receipt_no rescue ' '%>

+

Cashier: <%=@sale_data.cashier_name rescue ' '%>

+
+
+

Date: <%=@sale_data.receipt_date.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%>

+
+
+
+ + + + + + + + <% sub_total = 0 %> + <% @sale_data.sale_items.each do |sale_item| %> + <% sub_total += sale_item.qty*sale_item.unit_price%> + + + + + + <%end %> + +
ItemsQTY + Price +
+ <%=sale_item.product_name%>@<%=sale_item.unit_price%> + + <%=sale_item.qty%> + + <%=(sale_item.qty*sale_item.unit_price)%> +
+
+ +
+
+
+ + + +
+
+
+ +
+
+
+
1
+
2
+
3
+
+
+
+
1000
+
+
+ +
+
+
+
4
+
5
+
6
+
+
+
+
5000
+
+
+ +
+
+
+
7
+
8
+
9
+
+
+
+
10000
+
+
+ +
+
+
+
0
+
.
+
00
+
+
+
+
50000
+
+
+ +
+
+
+
+
DEL
+
CLR
+
+
+
+
PAY
+
+
+ +
+
+
+ +
diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index a8301f52..ba11124a 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -1,6 +1,6 @@
-
+
From e0e512b76bf1f37ca4ec2dd4abb226f512fc4cb4 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 15:40:59 +0630 Subject: [PATCH 07/28] editing discount --- app/assets/javascripts/orgiami.js | 18 ++++++++++++------ app/views/origami/discounts/index.html.erb | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/assets/javascripts/orgiami.js b/app/assets/javascripts/orgiami.js index 1abc6f65..86db6a91 100644 --- a/app/assets/javascripts/orgiami.js +++ b/app/assets/javascripts/orgiami.js @@ -152,13 +152,19 @@ $(document).on('click', '.cashier_number', function(event){ }); function update_balance(){ - var discount_amount = $('#discount-amount').val(); - var sub_total = $('#order-sub-total').text(); - var tax = $('#order-Tax').text(); + var discount_type = $('#discount-type').val(); + var discount_amount = $('#discount-amount').val(); + var sub_total = $('#order-sub-total').text(); + var tax = $('#order-Tax').text(); - var total = (parseFloat(sub_total) + parseFloat(tax)) - discount_amount; - $('#order-discount').text(discount_amount); - $('#order-grand-total').text(total); + // For Percentage Discount + if(discount_type='1'){ + discount-amount=(sub_total*discount-amount)/100; + } + + var total = (parseFloat(sub_total) + parseFloat(tax)) - discount_amount; + $('#order-discount').text(discount_amount); + $('#order-grand-total').text(total); } diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb index 32093621..d4d2f177 100644 --- a/app/views/origami/discounts/index.html.erb +++ b/app/views/origami/discounts/index.html.erb @@ -90,7 +90,7 @@
- From 395250fd47e6ffc457b8fcf33124257724a78a24 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 15:48:22 +0630 Subject: [PATCH 08/28] delete duplicate account migration --- db/migrate/2017031024747_create_accounts.rb | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 db/migrate/2017031024747_create_accounts.rb diff --git a/db/migrate/2017031024747_create_accounts.rb b/db/migrate/2017031024747_create_accounts.rb deleted file mode 100644 index 5816aace..00000000 --- a/db/migrate/2017031024747_create_accounts.rb +++ /dev/null @@ -1,10 +0,0 @@ -class CreateAccounts < ActiveRecord::Migration[5.1] - def change - create_table :accounts do |t| - t.string :title - t.string :account_type - - t.timestamps - end - end -end From 74b0550c309af28af2788c5056cb04e381b3cb6a Mon Sep 17 00:00:00 2001 From: Moe Su Date: Thu, 8 Jun 2017 17:57:29 +0630 Subject: [PATCH 09/28] payment_setting --- .../javascripts/membership_actions.coffee | 3 + .../settings/membership_actions.coffee | 3 + .../stylesheets/membership_actions.scss | 3 + .../settings/membership_actions.scss | 3 + .../origami/card_payments_controller.rb | 2 +- .../origami/others_payments_controller.rb | 2 +- .../settings/membership_actions_controller.rb | 74 +++++++++ .../payment_method_settings_controller.rb | 2 +- .../settings/membership_actions_helper.rb | 2 + app/models/sale_payment.rb | 3 +- app/models/settings/membership_action.rb | 2 + .../membership_actions/_form.html.erb | 18 +++ .../_settings_membership_action.json.jbuilder | 2 + .../settings/membership_actions/edit.html.erb | 6 + .../membership_actions/index.html.erb | 41 +++++ .../membership_actions/index.json.jbuilder | 1 + .../settings/membership_actions/new.html.erb | 5 + .../settings/membership_actions/show.html.erb | 44 ++++++ .../membership_actions/show.json.jbuilder | 1 + .../payment_method_settings/_form.html.erb | 1 + config/routes.rb | 5 +- db/migrate/20170331024747_create_accounts.rb | 10 -- ...0170421171849_add_company_address_email.rb | 1 + ...20170507045043_order_items_completed_by.rb | 6 - ...4900_create_settings_membership_actions.rb | 16 ++ ...1602_additionparametertopaymentsettings.rb | 5 + dump.rdb | Bin 12290 -> 19781 bytes .../membership_actions_controller_spec.rb | 141 ++++++++++++++++++ .../membership_actions_controller_spec.rb | 141 ++++++++++++++++++ .../helpers/membership_actions_helper_spec.rb | 15 ++ .../membership_actions_helper_spec.rb | 15 ++ spec/models/membership_action_spec.rb | 5 + .../models/settings/membership_action_spec.rb | 5 + spec/requests/membership_actions_spec.rb | 10 ++ .../settings_membership_actions_spec.rb | 10 ++ .../membership_actions_routing_spec.rb | 39 +++++ .../membership_actions_routing_spec.rb | 39 +++++ .../membership_actions/edit.html.erb_spec.rb | 39 +++++ .../membership_actions/index.html.erb_spec.rb | 40 +++++ .../membership_actions/new.html.erb_spec.rb | 39 +++++ .../membership_actions/show.html.erb_spec.rb | 28 ++++ .../membership_actions/edit.html.erb_spec.rb | 39 +++++ .../membership_actions/index.html.erb_spec.rb | 40 +++++ .../membership_actions/new.html.erb_spec.rb | 39 +++++ .../membership_actions/show.html.erb_spec.rb | 28 ++++ test/system/membership_actions_test.rb | 9 ++ 46 files changed, 960 insertions(+), 22 deletions(-) create mode 100644 app/assets/javascripts/membership_actions.coffee create mode 100644 app/assets/javascripts/settings/membership_actions.coffee create mode 100644 app/assets/stylesheets/membership_actions.scss create mode 100644 app/assets/stylesheets/settings/membership_actions.scss create mode 100644 app/controllers/settings/membership_actions_controller.rb create mode 100644 app/helpers/settings/membership_actions_helper.rb create mode 100644 app/models/settings/membership_action.rb create mode 100644 app/views/settings/membership_actions/_form.html.erb create mode 100644 app/views/settings/membership_actions/_settings_membership_action.json.jbuilder create mode 100644 app/views/settings/membership_actions/edit.html.erb create mode 100644 app/views/settings/membership_actions/index.html.erb create mode 100644 app/views/settings/membership_actions/index.json.jbuilder create mode 100644 app/views/settings/membership_actions/new.html.erb create mode 100644 app/views/settings/membership_actions/show.html.erb create mode 100644 app/views/settings/membership_actions/show.json.jbuilder delete mode 100644 db/migrate/20170331024747_create_accounts.rb delete mode 100644 db/migrate/20170507045043_order_items_completed_by.rb create mode 100644 db/migrate/20170608104900_create_settings_membership_actions.rb create mode 100644 db/migrate/20170608111602_additionparametertopaymentsettings.rb create mode 100644 spec/controllers/membership_actions_controller_spec.rb create mode 100644 spec/controllers/settings/membership_actions_controller_spec.rb create mode 100644 spec/helpers/membership_actions_helper_spec.rb create mode 100644 spec/helpers/settings/membership_actions_helper_spec.rb create mode 100644 spec/models/membership_action_spec.rb create mode 100644 spec/models/settings/membership_action_spec.rb create mode 100644 spec/requests/membership_actions_spec.rb create mode 100644 spec/requests/settings/settings_membership_actions_spec.rb create mode 100644 spec/routing/membership_actions_routing_spec.rb create mode 100644 spec/routing/settings/membership_actions_routing_spec.rb create mode 100644 spec/views/membership_actions/edit.html.erb_spec.rb create mode 100644 spec/views/membership_actions/index.html.erb_spec.rb create mode 100644 spec/views/membership_actions/new.html.erb_spec.rb create mode 100644 spec/views/membership_actions/show.html.erb_spec.rb create mode 100644 spec/views/settings/membership_actions/edit.html.erb_spec.rb create mode 100644 spec/views/settings/membership_actions/index.html.erb_spec.rb create mode 100644 spec/views/settings/membership_actions/new.html.erb_spec.rb create mode 100644 spec/views/settings/membership_actions/show.html.erb_spec.rb create mode 100644 test/system/membership_actions_test.rb diff --git a/app/assets/javascripts/membership_actions.coffee b/app/assets/javascripts/membership_actions.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/membership_actions.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/javascripts/settings/membership_actions.coffee b/app/assets/javascripts/settings/membership_actions.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/settings/membership_actions.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/membership_actions.scss b/app/assets/stylesheets/membership_actions.scss new file mode 100644 index 00000000..a916dc5b --- /dev/null +++ b/app/assets/stylesheets/membership_actions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the membership_actions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/settings/membership_actions.scss b/app/assets/stylesheets/settings/membership_actions.scss new file mode 100644 index 00000000..66eafd50 --- /dev/null +++ b/app/assets/stylesheets/settings/membership_actions.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the settings/membership_actions controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/origami/card_payments_controller.rb b/app/controllers/origami/card_payments_controller.rb index 6a0e99c9..1d18e401 100644 --- a/app/controllers/origami/card_payments_controller.rb +++ b/app/controllers/origami/card_payments_controller.rb @@ -5,7 +5,7 @@ class Origami::CardPaymentsController < BaseOrigamiController @membership_rebate_balance = 0 @membership_id = 0 if !@membership_id.nil? - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) if membership_data["status"]==true membership_account_data = membership_data["data"]; diff --git a/app/controllers/origami/others_payments_controller.rb b/app/controllers/origami/others_payments_controller.rb index fa50f6a3..497b37d3 100644 --- a/app/controllers/origami/others_payments_controller.rb +++ b/app/controllers/origami/others_payments_controller.rb @@ -8,7 +8,7 @@ class Origami::OthersPaymentsController < BaseOrigamiController customer_data= Customer.find_by_customer_id(sale_data.customer_id) @membership_id = customer_data.membership_id if !@membership_id.nil? - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) if membership_data["status"]==true membership_account_data = membership_data["data"]; diff --git a/app/controllers/settings/membership_actions_controller.rb b/app/controllers/settings/membership_actions_controller.rb new file mode 100644 index 00000000..97b6a6ba --- /dev/null +++ b/app/controllers/settings/membership_actions_controller.rb @@ -0,0 +1,74 @@ +class Settings::MembershipActionsController < ApplicationController + before_action :set_settings_membership_action, only: [:show, :edit, :update, :destroy] + + # GET /settings/membership_actions + # GET /settings/membership_actions.json + def index + @settings_membership_actions = Settings::MembershipAction.all + end + + # GET /settings/membership_actions/1 + # GET /settings/membership_actions/1.json + def show + end + + # GET /settings/membership_actions/new + def new + @settings_membership_action = Settings::MembershipAction.new + end + + # GET /settings/membership_actions/1/edit + def edit + end + + # POST /settings/membership_actions + # POST /settings/membership_actions.json + def create + @settings_membership_action = Settings::MembershipAction.new(settings_membership_action_params) + + respond_to do |format| + if @settings_membership_action.save + format.html { redirect_to @settings_membership_action, notice: 'Membership action was successfully created.' } + format.json { render :show, status: :created, location: @settings_membership_action } + else + format.html { render :new } + format.json { render json: @settings_membership_action.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /settings/membership_actions/1 + # PATCH/PUT /settings/membership_actions/1.json + def update + respond_to do |format| + if @settings_membership_action.update(settings_membership_action_params) + format.html { redirect_to @settings_membership_action, notice: 'Membership action was successfully updated.' } + format.json { render :show, status: :ok, location: @settings_membership_action } + else + format.html { render :edit } + format.json { render json: @settings_membership_action.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /settings/membership_actions/1 + # DELETE /settings/membership_actions/1.json + def destroy + @settings_membership_action.destroy + respond_to do |format| + format.html { redirect_to settings_membership_actions_url, notice: 'Membership action was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_settings_membership_action + @settings_membership_action = Settings::MembershipAction.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def settings_membership_action_params + params.require(:settings_membership_action).permit(:membership_type, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :created_by, :additional_parameter) + end +end diff --git a/app/controllers/settings/payment_method_settings_controller.rb b/app/controllers/settings/payment_method_settings_controller.rb index ce27f725..f3ac595e 100644 --- a/app/controllers/settings/payment_method_settings_controller.rb +++ b/app/controllers/settings/payment_method_settings_controller.rb @@ -69,6 +69,6 @@ class Settings::PaymentMethodSettingsController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_payment_method_setting_params - params.require(:payment_method_setting).permit(:payment_method, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id) + params.require(:payment_method_setting).permit(:payment_method, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :additional_parameters) end end diff --git a/app/helpers/settings/membership_actions_helper.rb b/app/helpers/settings/membership_actions_helper.rb new file mode 100644 index 00000000..038ec51f --- /dev/null +++ b/app/helpers/settings/membership_actions_helper.rb @@ -0,0 +1,2 @@ +module Settings::MembershipActionsHelper +end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index cb17a325..e4ec8c10 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -174,7 +174,6 @@ class SalePayment < ApplicationRecord end def paypar_payment - puts "Paypar Payment" payment_status = false #Next time - validate if the vochure number is valid - within @@ -187,7 +186,7 @@ class SalePayment < ApplicationRecord campaign_type_id =1; customer_data = Customer.find_by_customer_id(self.sale.customer_id) - membership_setting = MembershipSetting.find_by_membership_type("smartpay_url") + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") membership_data = SalePayment.redeem(membership_setting.gateway_url,membership_setting.auth_token,customer_data.membership_id,self.received_amount,self.sale.sale_id,campaign_type_id) if membership_data["status"]==true SalePayment.where(:sale_payment_id => self.sale_payment_id).update_all(:payment_status => 'paid') diff --git a/app/models/settings/membership_action.rb b/app/models/settings/membership_action.rb new file mode 100644 index 00000000..814e4b97 --- /dev/null +++ b/app/models/settings/membership_action.rb @@ -0,0 +1,2 @@ +class Settings::MembershipAction < ApplicationRecord +end diff --git a/app/views/settings/membership_actions/_form.html.erb b/app/views/settings/membership_actions/_form.html.erb new file mode 100644 index 00000000..9f4a2cd5 --- /dev/null +++ b/app/views/settings/membership_actions/_form.html.erb @@ -0,0 +1,18 @@ +<%= simple_form_for(@settings_membership_action) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :membership_type %> + <%= f.input :is_active %> + <%= f.input :gateway_communication_type %> + <%= f.input :gateway_url %> + <%= f.input :auth_token %> + <%= f.input :merchant_account_id %> + <%= f.input :created_by %> + <%= f.input :additional_parameter %> +
+ +
+ <%= f.button :submit %> +
+<% end %> diff --git a/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder b/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder new file mode 100644 index 00000000..30c691d4 --- /dev/null +++ b/app/views/settings/membership_actions/_settings_membership_action.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! settings_membership_action, :id, :membership_type, :is_active, :gateway_communication_type, :gateway_url, :auth_token, :merchant_account_id, :created_by, :additional_parameter, :created_at, :updated_at +json.url settings_membership_action_url(settings_membership_action, format: :json) diff --git a/app/views/settings/membership_actions/edit.html.erb b/app/views/settings/membership_actions/edit.html.erb new file mode 100644 index 00000000..3373d008 --- /dev/null +++ b/app/views/settings/membership_actions/edit.html.erb @@ -0,0 +1,6 @@ +

Editing Settings Membership Action

+ +<%= render 'form', settings_membership_action: @settings_membership_action %> + +<%= link_to 'Show', @settings_membership_action %> | +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/index.html.erb b/app/views/settings/membership_actions/index.html.erb new file mode 100644 index 00000000..80b4420e --- /dev/null +++ b/app/views/settings/membership_actions/index.html.erb @@ -0,0 +1,41 @@ +

<%= notice %>

+ +

Settings Membership Actions

+ + + + + + + + + + + + + + + + + + <% @settings_membership_actions.each do |settings_membership_action| %> + + + + + + + + + + + + + + <% end %> + +
Membership typeIs activeGateway communication typeGateway urlAuth tokenMerchant accountCreated byAdditional parameter
<%= settings_membership_action.membership_type %><%= settings_membership_action.is_active %><%= settings_membership_action.gateway_communication_type %><%= settings_membership_action.gateway_url %><%= settings_membership_action.auth_token %><%= settings_membership_action.merchant_account_id %><%= settings_membership_action.created_by %><%= settings_membership_action.additional_parameter %><%= link_to 'Show', settings_membership_action %><%= link_to 'Edit', edit_settings_membership_action_path(settings_membership_action) %><%= link_to 'Destroy', settings_membership_action, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New Settings Membership Action', new_settings_membership_action_path %> diff --git a/app/views/settings/membership_actions/index.json.jbuilder b/app/views/settings/membership_actions/index.json.jbuilder new file mode 100644 index 00000000..0b90b195 --- /dev/null +++ b/app/views/settings/membership_actions/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @settings_membership_actions, partial: 'settings_membership_actions/settings_membership_action', as: :settings_membership_action diff --git a/app/views/settings/membership_actions/new.html.erb b/app/views/settings/membership_actions/new.html.erb new file mode 100644 index 00000000..802e887a --- /dev/null +++ b/app/views/settings/membership_actions/new.html.erb @@ -0,0 +1,5 @@ +

New Settings Membership Action

+ +<%= render 'form', settings_membership_action: @settings_membership_action %> + +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/show.html.erb b/app/views/settings/membership_actions/show.html.erb new file mode 100644 index 00000000..ee285af8 --- /dev/null +++ b/app/views/settings/membership_actions/show.html.erb @@ -0,0 +1,44 @@ +

<%= notice %>

+ +

+ Membership type: + <%= @settings_membership_action.membership_type %> +

+ +

+ Is active: + <%= @settings_membership_action.is_active %> +

+ +

+ Gateway communication type: + <%= @settings_membership_action.gateway_communication_type %> +

+ +

+ Gateway url: + <%= @settings_membership_action.gateway_url %> +

+ +

+ Auth token: + <%= @settings_membership_action.auth_token %> +

+ +

+ Merchant account: + <%= @settings_membership_action.merchant_account_id %> +

+ +

+ Created by: + <%= @settings_membership_action.created_by %> +

+ +

+ Additional parameter: + <%= @settings_membership_action.additional_parameter %> +

+ +<%= link_to 'Edit', edit_settings_membership_action_path(@settings_membership_action) %> | +<%= link_to 'Back', settings_membership_actions_path %> diff --git a/app/views/settings/membership_actions/show.json.jbuilder b/app/views/settings/membership_actions/show.json.jbuilder new file mode 100644 index 00000000..aa642795 --- /dev/null +++ b/app/views/settings/membership_actions/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "settings_membership_actions/settings_membership_action", settings_membership_action: @settings_membership_action diff --git a/app/views/settings/payment_method_settings/_form.html.erb b/app/views/settings/payment_method_settings/_form.html.erb index 740ad046..c8a72dbc 100644 --- a/app/views/settings/payment_method_settings/_form.html.erb +++ b/app/views/settings/payment_method_settings/_form.html.erb @@ -8,6 +8,7 @@ <%= f.input :gateway_url %> <%= f.input :auth_token %> <%= f.input :merchant_account_id %> + <%= f.input :additional_parameters %>
diff --git a/config/routes.rb b/config/routes.rb index b6452d26..cfe6ef44 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,10 @@ require 'sidekiq/web' Rails.application.routes.draw do - + + namespace :settings do + resources :membership_actions + end root 'home#index' mount Sidekiq::Web => '/kiq' diff --git a/db/migrate/20170331024747_create_accounts.rb b/db/migrate/20170331024747_create_accounts.rb deleted file mode 100644 index 5816aace..00000000 --- a/db/migrate/20170331024747_create_accounts.rb +++ /dev/null @@ -1,10 +0,0 @@ -class CreateAccounts < ActiveRecord::Migration[5.1] - def change - create_table :accounts do |t| - t.string :title - t.string :account_type - - t.timestamps - end - end -end diff --git a/db/migrate/20170421171849_add_company_address_email.rb b/db/migrate/20170421171849_add_company_address_email.rb index 81667406..3bf6602e 100644 --- a/db/migrate/20170421171849_add_company_address_email.rb +++ b/db/migrate/20170421171849_add_company_address_email.rb @@ -1,4 +1,5 @@ class AddCompanyAddressEmail < ActiveRecord::Migration[5.1] def change + add_column :order_items, :completed_by, :string end end diff --git a/db/migrate/20170507045043_order_items_completed_by.rb b/db/migrate/20170507045043_order_items_completed_by.rb deleted file mode 100644 index c6c791c0..00000000 --- a/db/migrate/20170507045043_order_items_completed_by.rb +++ /dev/null @@ -1,6 +0,0 @@ -class OrderItemsCompletedBy < ActiveRecord::Migration[5.1] - def change - add_column :order_items, :completed_by, :string - add_column :order_items, :completed_at, :datetime - end -end diff --git a/db/migrate/20170608104900_create_settings_membership_actions.rb b/db/migrate/20170608104900_create_settings_membership_actions.rb new file mode 100644 index 00000000..2b9dd85d --- /dev/null +++ b/db/migrate/20170608104900_create_settings_membership_actions.rb @@ -0,0 +1,16 @@ +class CreateSettingsMembershipActions < ActiveRecord::Migration[5.1] + def change + create_table :settings_membership_actions do |t| + t.string :membership_type + t.boolean :is_active + t.string :gateway_communication_type + t.string :gateway_url + t.string :auth_token + t.string :merchant_account_id + t.string :created_by + t.string :additional_parameter + + t.timestamps + end + end +end diff --git a/db/migrate/20170608111602_additionparametertopaymentsettings.rb b/db/migrate/20170608111602_additionparametertopaymentsettings.rb new file mode 100644 index 00000000..ec85c209 --- /dev/null +++ b/db/migrate/20170608111602_additionparametertopaymentsettings.rb @@ -0,0 +1,5 @@ +class Additionparametertopaymentsettings < ActiveRecord::Migration[5.1] + def change + add_column :payment_method_settings, :additional_parameters, :string + end +end diff --git a/dump.rdb b/dump.rdb index 3e3686b704adb5d5dc91fd6ecdeda2b53daf3052..353820066c0a3587829039db72f6c8e60a1eedaa 100644 GIT binary patch delta 5160 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 S>A?MMJ?ZF={_VoIum2yvOUi}- delta 1839 zcmY+FTWlOx9mZ$&VmtQ6acsvXq3P~Uf?WmA_s9%mIG2FDk0)9qAff$YqWL?NVL^HgA5Lp3KB1<4~U}d$`(RMP?CadGhZQ*0%NG0oxj`H&kQxa;+NZ zx_SC*ZpZ%|n7mnwMj!j-nH$*~LzeZoeU{a4S;bdkm>s+M@ujJ(Vvy2Ov5 zE0y$JE{Whig-ISF8sD%%{O-{s@t^F&M|g-?MEVQgZNdyoRc zXzn?yGWTY8D4V8mVSCxmx2;>fR{O9YYJxc=F6BORNhpBpOBA|6R2)tF2x4F6$L9Xk zgKZ1;-1Y=ioDt0!^f`gl4;4^;6orMQUZ&j#JWeDhy^;1@HZ1{K*j`*Mu2`*JYvqs> z0;zz7uAne<2}9CVQF!c`L8=wU8U!-pJ-K4xp1U#`K}`KX`#usX(i}p>VSq)LTk7pw z8Ke+N4>OJg*~pw;%O)^F`Bm%H;_Bw|R*FZ6>fFD_+z11;=n@2&>+_Ji0U*?QD}|&M zFn?%+o!#`d`h7prfco5VGeY`M`O@c%5n!A$t7+(Q$SsVl0Y1MX|8vHwT+9dc>d{WFF`1qK9vl$7RSyfxW>KV z_5k1>!sd?f#_*YI*#zUXy|uA?dPp#$BEce8h0)YYHo^Ip9pU`X26;p&@|9vt<;UZ1 z4CEFQ9J5D$p7sD@81@F+-NeH-#T&1k&gc*UgnjNZq=~t5HTB{F!GH@;NHrypaK(Dk zM0{^D!cr3-Z~{meP^hpLVMKM1TiWb@ub*Qoknq6qcP#qXp%=S$Hupz+;lI{lQ}X!z zfysm8*3fR>BUPR^WuM$B`;nOLJ39E$qv!5i|GI5isrciwCl*sFU#rFlB$7!8F##T; zK#25}W?47Vk(#gTRJjsW*9&hI?qt8^T&&g`6?I8Fv(CAyuDj<{P^wm+bDykLz4>Z3 zQ1i}=W2|cp9bQlkXLd)~#HGT-MRFV?E@zy}<xzow|H)}daQ_Y&H zG;)P(P^|>bT1{7itIjNNubc`H71Z1jZcyEbB#y9v;`+ee6C zOfDR}2T?F8yqzOS)=QJ6n?~pH7>s-&-g@+R`z@K1{ZN|01YE>#KJg>b+DMz(k%%mV z)Pd(s?ZYF?!jGuZjd^h_e&F22wy;Z@rnj|=ko_|K2O zo#``^&YAEEKd^Az%Up?XJv8;j#O<}swCSZO*)qEClWyJng06Kp#iSs6E*udL01f~| z>!pcZ64&DmZ*Bh`2_Yql-#Gck=RS?WEStTof+B1%NHf0iyVEapDs(%Y{A_8-;JDuT zYT>80eRMbSE2F>900^b@1cRo5vG>qRrxLfj)@F)GD8wgm^G_Ea+eMzcn?wM3xet>@ z{{eQ0CG?CC;i&Ub5hRl1rSI){#Z#w#wHI6vh+({S>h%*Ud7p9XgMMOm7m}YOC)gx6 zXJ*FMONVz;4#T&HGX^Xb%oCV!0C#d061Q8MX#s$cWEtMan##RXEbZhxx%NRHH9raf z_sCL8JV7Nj`*yu_u=MQ*-RSK5${&)QpM2&idt~4NWR`o%!nthRJO0D? "/membership_actions").to route_to("membership_actions#index") + end + + it "routes to #new" do + expect(:get => "/membership_actions/new").to route_to("membership_actions#new") + end + + it "routes to #show" do + expect(:get => "/membership_actions/1").to route_to("membership_actions#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/membership_actions/1/edit").to route_to("membership_actions#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/membership_actions").to route_to("membership_actions#create") + end + + it "routes to #update via PUT" do + expect(:put => "/membership_actions/1").to route_to("membership_actions#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/membership_actions/1").to route_to("membership_actions#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/membership_actions/1").to route_to("membership_actions#destroy", :id => "1") + end + + end +end diff --git a/spec/routing/settings/membership_actions_routing_spec.rb b/spec/routing/settings/membership_actions_routing_spec.rb new file mode 100644 index 00000000..137464f4 --- /dev/null +++ b/spec/routing/settings/membership_actions_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe Settings::MembershipActionsController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/settings/membership_actions").to route_to("settings/membership_actions#index") + end + + it "routes to #new" do + expect(:get => "/settings/membership_actions/new").to route_to("settings/membership_actions#new") + end + + it "routes to #show" do + expect(:get => "/settings/membership_actions/1").to route_to("settings/membership_actions#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/settings/membership_actions/1/edit").to route_to("settings/membership_actions#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/settings/membership_actions").to route_to("settings/membership_actions#create") + end + + it "routes to #update via PUT" do + expect(:put => "/settings/membership_actions/1").to route_to("settings/membership_actions#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/settings/membership_actions/1").to route_to("settings/membership_actions#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/settings/membership_actions/1").to route_to("settings/membership_actions#destroy", :id => "1") + end + + end +end diff --git a/spec/views/membership_actions/edit.html.erb_spec.rb b/spec/views/membership_actions/edit.html.erb_spec.rb new file mode 100644 index 00000000..77823c89 --- /dev/null +++ b/spec/views/membership_actions/edit.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/edit", type: :view do + before(:each) do + @membership_action = assign(:membership_action, MembershipAction.create!( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "" + )) + end + + it "renders the edit membership_action form" do + render + + assert_select "form[action=?][method=?]", membership_action_path(@membership_action), "post" do + + assert_select "input[name=?]", "membership_action[membership_type]" + + assert_select "input[name=?]", "membership_action[is_active]" + + assert_select "input[name=?]", "membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "membership_action[gateway_url]" + + assert_select "input[name=?]", "membership_action[auth_token]" + + assert_select "input[name=?]", "membership_action[merchant_account_id]" + + assert_select "input[name=?]", "membership_action[created_by]" + + assert_select "input[name=?]", "membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/membership_actions/index.html.erb_spec.rb b/spec/views/membership_actions/index.html.erb_spec.rb new file mode 100644 index 00000000..a8913079 --- /dev/null +++ b/spec/views/membership_actions/index.html.erb_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/index", type: :view do + before(:each) do + assign(:membership_actions, [ + MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + ), + MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + ) + ]) + end + + it "renders a list of membership_actions" do + render + assert_select "tr>td", :text => "Membership Type".to_s, :count => 2 + assert_select "tr>td", :text => false.to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Communication Type".to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Url".to_s, :count => 2 + assert_select "tr>td", :text => "Auth Token".to_s, :count => 2 + assert_select "tr>td", :text => "Merchant Account".to_s, :count => 2 + assert_select "tr>td", :text => "Created By".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + end +end diff --git a/spec/views/membership_actions/new.html.erb_spec.rb b/spec/views/membership_actions/new.html.erb_spec.rb new file mode 100644 index 00000000..e6cf42ea --- /dev/null +++ b/spec/views/membership_actions/new.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/new", type: :view do + before(:each) do + assign(:membership_action, MembershipAction.new( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "" + )) + end + + it "renders new membership_action form" do + render + + assert_select "form[action=?][method=?]", membership_actions_path, "post" do + + assert_select "input[name=?]", "membership_action[membership_type]" + + assert_select "input[name=?]", "membership_action[is_active]" + + assert_select "input[name=?]", "membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "membership_action[gateway_url]" + + assert_select "input[name=?]", "membership_action[auth_token]" + + assert_select "input[name=?]", "membership_action[merchant_account_id]" + + assert_select "input[name=?]", "membership_action[created_by]" + + assert_select "input[name=?]", "membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/membership_actions/show.html.erb_spec.rb b/spec/views/membership_actions/show.html.erb_spec.rb new file mode 100644 index 00000000..5e52c84b --- /dev/null +++ b/spec/views/membership_actions/show.html.erb_spec.rb @@ -0,0 +1,28 @@ +require 'rails_helper' + +RSpec.describe "membership_actions/show", type: :view do + before(:each) do + @membership_action = assign(:membership_action, MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "" + )) + end + + it "renders attributes in

" do + render + expect(rendered).to match(/Membership Type/) + expect(rendered).to match(/false/) + expect(rendered).to match(/Gateway Communication Type/) + expect(rendered).to match(/Gateway Url/) + expect(rendered).to match(/Auth Token/) + expect(rendered).to match(/Merchant Account/) + expect(rendered).to match(/Created By/) + expect(rendered).to match(//) + end +end diff --git a/spec/views/settings/membership_actions/edit.html.erb_spec.rb b/spec/views/settings/membership_actions/edit.html.erb_spec.rb new file mode 100644 index 00000000..be5958c5 --- /dev/null +++ b/spec/views/settings/membership_actions/edit.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/edit", type: :view do + before(:each) do + @settings_membership_action = assign(:settings_membership_action, Settings::MembershipAction.create!( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "MyString" + )) + end + + it "renders the edit settings_membership_action form" do + render + + assert_select "form[action=?][method=?]", settings_membership_action_path(@settings_membership_action), "post" do + + assert_select "input[name=?]", "settings_membership_action[membership_type]" + + assert_select "input[name=?]", "settings_membership_action[is_active]" + + assert_select "input[name=?]", "settings_membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "settings_membership_action[gateway_url]" + + assert_select "input[name=?]", "settings_membership_action[auth_token]" + + assert_select "input[name=?]", "settings_membership_action[merchant_account_id]" + + assert_select "input[name=?]", "settings_membership_action[created_by]" + + assert_select "input[name=?]", "settings_membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/settings/membership_actions/index.html.erb_spec.rb b/spec/views/settings/membership_actions/index.html.erb_spec.rb new file mode 100644 index 00000000..9f8ea799 --- /dev/null +++ b/spec/views/settings/membership_actions/index.html.erb_spec.rb @@ -0,0 +1,40 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/index", type: :view do + before(:each) do + assign(:settings_membership_actions, [ + Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + ), + Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + ) + ]) + end + + it "renders a list of settings/membership_actions" do + render + assert_select "tr>td", :text => "Membership Type".to_s, :count => 2 + assert_select "tr>td", :text => false.to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Communication Type".to_s, :count => 2 + assert_select "tr>td", :text => "Gateway Url".to_s, :count => 2 + assert_select "tr>td", :text => "Auth Token".to_s, :count => 2 + assert_select "tr>td", :text => "Merchant Account".to_s, :count => 2 + assert_select "tr>td", :text => "Created By".to_s, :count => 2 + assert_select "tr>td", :text => "Additional Parameter".to_s, :count => 2 + end +end diff --git a/spec/views/settings/membership_actions/new.html.erb_spec.rb b/spec/views/settings/membership_actions/new.html.erb_spec.rb new file mode 100644 index 00000000..506e06e9 --- /dev/null +++ b/spec/views/settings/membership_actions/new.html.erb_spec.rb @@ -0,0 +1,39 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/new", type: :view do + before(:each) do + assign(:settings_membership_action, Settings::MembershipAction.new( + :membership_type => "MyString", + :is_active => false, + :gateway_communication_type => "MyString", + :gateway_url => "MyString", + :auth_token => "MyString", + :merchant_account_id => "MyString", + :created_by => "MyString", + :additional_parameter => "MyString" + )) + end + + it "renders new settings_membership_action form" do + render + + assert_select "form[action=?][method=?]", settings_membership_actions_path, "post" do + + assert_select "input[name=?]", "settings_membership_action[membership_type]" + + assert_select "input[name=?]", "settings_membership_action[is_active]" + + assert_select "input[name=?]", "settings_membership_action[gateway_communication_type]" + + assert_select "input[name=?]", "settings_membership_action[gateway_url]" + + assert_select "input[name=?]", "settings_membership_action[auth_token]" + + assert_select "input[name=?]", "settings_membership_action[merchant_account_id]" + + assert_select "input[name=?]", "settings_membership_action[created_by]" + + assert_select "input[name=?]", "settings_membership_action[additional_parameter]" + end + end +end diff --git a/spec/views/settings/membership_actions/show.html.erb_spec.rb b/spec/views/settings/membership_actions/show.html.erb_spec.rb new file mode 100644 index 00000000..1f625a0a --- /dev/null +++ b/spec/views/settings/membership_actions/show.html.erb_spec.rb @@ -0,0 +1,28 @@ +require 'rails_helper' + +RSpec.describe "settings/membership_actions/show", type: :view do + before(:each) do + @settings_membership_action = assign(:settings_membership_action, Settings::MembershipAction.create!( + :membership_type => "Membership Type", + :is_active => false, + :gateway_communication_type => "Gateway Communication Type", + :gateway_url => "Gateway Url", + :auth_token => "Auth Token", + :merchant_account_id => "Merchant Account", + :created_by => "Created By", + :additional_parameter => "Additional Parameter" + )) + end + + it "renders attributes in

" do + render + expect(rendered).to match(/Membership Type/) + expect(rendered).to match(/false/) + expect(rendered).to match(/Gateway Communication Type/) + expect(rendered).to match(/Gateway Url/) + expect(rendered).to match(/Auth Token/) + expect(rendered).to match(/Merchant Account/) + expect(rendered).to match(/Created By/) + expect(rendered).to match(/Additional Parameter/) + end +end diff --git a/test/system/membership_actions_test.rb b/test/system/membership_actions_test.rb new file mode 100644 index 00000000..6223e2a5 --- /dev/null +++ b/test/system/membership_actions_test.rb @@ -0,0 +1,9 @@ +require "application_system_test_case" + +class Settings::MembershipActionsTest < ApplicationSystemTestCase + # test "visiting the index" do + # visit settings_membership_actions_url + # + # assert_selector "h1", text: "Settings::MembershipAction" + # end +end From 907764b3e43fd0d3294e3b95072a8810060c5335 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 18:02:40 +0630 Subject: [PATCH 10/28] update discount --- app/assets/javascripts/orgiami.js | 30 +- .../origami/discounts_controller.rb | 36 ++ .../origami/request_bills_controller.rb | 2 +- app/models/sale_item.rb | 2 +- app/views/origami/discounts/index.html.erb | 14 +- app/views/origami/home/index.html.erb | 148 +------- app/views/origami/home/index_old.html.erb | 328 ------------------ config/routes.rb | 2 +- 8 files changed, 78 insertions(+), 484 deletions(-) delete mode 100644 app/views/origami/home/index_old.html.erb diff --git a/app/assets/javascripts/orgiami.js b/app/assets/javascripts/orgiami.js index 86db6a91..2ecdba13 100644 --- a/app/assets/javascripts/orgiami.js +++ b/app/assets/javascripts/orgiami.js @@ -97,6 +97,29 @@ $(document).ready(function(){ return false; }); + // Pay Discount for Payment + $("#pay-discount").on('click', function(){ + var sale_id = $('#sale-id').text(); + var sub_total = $('#order-sub-total').text(); + var grand_total = $('#order-grand-total').text(); + var discount_type = $('#discount-type').val(); + var discount_value = $('#discount-amount').val(); + var discount_amount = discount_value; + + // For Percentage Discount + if(discount_type == 1){ + discount_amount=(sub_total*discount_value)/100; + } + + var params = {'sale_id': sale_id, 'grand_total' : grand_total, 'discount_type':discount_type, 'discount_value':discount_value, 'discount_amount':discount_amount}; + $.ajax({ + type: "POST", + url: "/origami/discount", + data: params, + success:function(result){ } + }); + }); + // Payment for Bill $('#pay').click(function() { var sale_id=$(".selected-item").find(".orders-id").text(); @@ -105,7 +128,7 @@ $(document).ready(function(){ }); }); -/* For Receipt - discount or tax */ +/* For Receipt - Calculate discount or tax */ $(document).on('click', '.cashier_number', function(event){ if(event.handled !== true) { var original_value=0; @@ -151,6 +174,7 @@ $(document).on('click', '.cashier_number', function(event){ } }); +/* For Receipt - Update Balance */ function update_balance(){ var discount_type = $('#discount-type').val(); var discount_amount = $('#discount-amount').val(); @@ -158,8 +182,8 @@ function update_balance(){ var tax = $('#order-Tax').text(); // For Percentage Discount - if(discount_type='1'){ - discount-amount=(sub_total*discount-amount)/100; + if(discount_type == 1){ + discount_amount=(sub_total*discount_amount)/100; } var total = (parseFloat(sub_total) + parseFloat(tax)) - discount_amount; diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb index 717f4e09..daf68918 100644 --- a/app/controllers/origami/discounts_controller.rb +++ b/app/controllers/origami/discounts_controller.rb @@ -8,8 +8,44 @@ class Origami::DiscountsController < BaseOrigamiController end end + #discount for selected order def create + sale_id = params[:sale_id] + discount_type = params[:discount_type] + discount_value = params[:discount_value] + discount_amount = params[:discount_amount] + grand_total = params[:grand_total] + if discount_type == 0 + remark="Discount " + discount_amount + " as net" + else + remark="Discount " + discount_amount + " as percentage" + end + + #update discount for sale + sale = Sale.find(sale_id) + sale.total_discount = discount_amount + sale.grand_total = grand_total + sale.save + + #save sale item for discount + sale_item = SaleItem.new + + #pull + sale_item.sale_id = sale_id + sale_item.product_code = 0 + sale_item.product_name = "Discount" + sale_item.remark = remark + + sale_item.qty = 1 + sale_item.unit_price = (0-discount_amount.to_f) + sale_item.taxable_price = discount_amount + sale_item.is_taxable = 0 + + sale_item.price = sale_item.qty * sale_item.unit_price + sale_item.save + + redirect_to origami_root_path end end diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb index c5b87b6b..2681bfcb 100644 --- a/app/controllers/origami/request_bills_controller.rb +++ b/app/controllers/origami/request_bills_controller.rb @@ -26,4 +26,4 @@ class Origami::RequestBillsController < BaseOrigamiController printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer_name) redirect_to origami_root_path end - +end diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index 1ebd1632..5d87ff13 100644 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -12,7 +12,7 @@ class SaleItem < ApplicationRecord def self.get_order_items_details(sale_id) - order_details = SaleItem.select("sales.total_discount as discount_amount,DATE_FORMAT(sales.receipt_date,'%Y-%m-%d %h:%m') as receipt_date, + order_details = SaleItem.select("sales.total_tax as tax_amount, sales.grand_total as grand_total_amount , sales.total_discount as discount_amount,DATE_FORMAT(sales.receipt_date,'%Y-%m-%d %h:%m') as receipt_date, sales.cashier_name,sales.receipt_no,sale_items.product_name as item_name,sale_items.qty,sale_items.price,sale_items.unit_price as total_price") .joins("left join sales on sales.sale_id = sale_items.sale_id") .where("sale_items.sale_id=?",sale_id) diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb index d4d2f177..e95bdcc3 100644 --- a/app/views/origami/discounts/index.html.erb +++ b/app/views/origami/discounts/index.html.erb @@ -5,7 +5,8 @@

-
ORDER DETAILS -
+ +
ORDER DETAILS
@@ -87,12 +88,12 @@
- +
@@ -100,8 +101,11 @@
- +
+ +
+
diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 85de2ef3..ba11124a 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -206,14 +206,15 @@
-

+
+
- + @@ -222,146 +223,3 @@
- - - diff --git a/app/views/origami/home/index_old.html.erb b/app/views/origami/home/index_old.html.erb deleted file mode 100644 index d480cf8d..00000000 --- a/app/views/origami/home/index_old.html.erb +++ /dev/null @@ -1,328 +0,0 @@ -
-
- - - - - - -
- - -
- -
- - <% if @booking_orders %> - <% @booking_orders.each do |booking_order| %> - <% if booking_order.order_status != "new" %> -
-
-

- <%=booking_order.table_name%>

- Receipt No : <%=booking_order.receipt_no%>
- Order Status : <%=booking_order.order_status %> -
-
- <% else %> -
-
-

<%=booking_order.table_name%>

- Order Status : <%=booking_order.order_status %> -
-
- <% end %> - <%end %> - <%end %> -
-
- - -
- -
- - <% if @booking_rooms %> - <% @booking_rooms.each do |booking_room| %> - <% if !booking_room.order_status = 'new'%> -
-
-

- <%=booking_room.room_name%>

- Receipt No : <%=booking_room.receipt_no%>
- Order Status : <%=booking_room.order_status %> -
-
- <% else %> -
-
-

<%=booking_room.room_name%>ddd

\ - Order Status : <%=booking_room.order_status %> -
-
- <% end %> - <%end %> - <%end %> -
-
- - -
- - -
- - <% if @orders %> - <% @orders.each do |order| %> - <% if !order.order_status = 'new'%> -
-
-

- Order No:<%=order.order_id%>

- Receipt No : <%=order.receipt_no%>
- Order Status : <%=order.order_status %> -
-
- <% else %> -
-
-

Order No:<%=order.order_id%>

- Order Status : <%=order.order_status %> -
-
- <% end %> - <%end %> - <%end %> -
-
- -
- -
- -
-
-
-
ORDER DETAILS -

-
-
-
-
- - - - - - -
ItemsQTY - Price -
-
-
- - - - - - - - - -
- - - - - -
-
- - -
-
-
- -
- - - - - - - - - - - - -
-
- - diff --git a/config/routes.rb b/config/routes.rb index ef287f3e..b1e36158 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -72,9 +72,9 @@ Rails.application.routes.draw do resources :customers, only: [:index,:new, :create ] #add customer type end - get "/request_bills/:id" => "request_bills#print" get "/discount/:id" => "discounts#index" + post "/discount" => "discounts#create" #--------- Payment ------------# get 'sale/:sale_id/payment' => 'payments#show' From 5c5c0dba33ff55c4d4baff1a67128132cb6859b3 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 18:08:34 +0630 Subject: [PATCH 11/28] update gem --- Gemfile | 2 +- Gemfile.lock | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index ad11e93d..479b1325 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ gem 'rails', '~> 5.1.0' gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL -gem 'pg' +#gem 'pg' # redis server for cable # gem 'redis', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 051e1595..b191df57 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -109,7 +109,6 @@ GEM nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) - pg (0.20.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -245,7 +244,6 @@ DEPENDENCIES kaminari (~> 0.16.3) listen (~> 3.0.5) mysql2 (>= 0.3.18, < 0.5) - pg prawn prawn-table puma (~> 3.0) From 54e14e02f4136df6080bcb2607c21ea88b566a62 Mon Sep 17 00:00:00 2001 From: Moe Su Date: Thu, 8 Jun 2017 18:22:19 +0630 Subject: [PATCH 12/28] Add payment method --- .../origami/others_payments_controller.rb | 45 +++++++++++-------- .../origami/others_payments/index.html.erb | 12 ++--- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/app/controllers/origami/others_payments_controller.rb b/app/controllers/origami/others_payments_controller.rb index 497b37d3..a5177b06 100644 --- a/app/controllers/origami/others_payments_controller.rb +++ b/app/controllers/origami/others_payments_controller.rb @@ -4,25 +4,32 @@ class Origami::OthersPaymentsController < BaseOrigamiController def index @membership_rebate_balance = 0 @sale_id = params[:sale_id] - sale_data = Sale.find_by_sale_id(@sale_id) - customer_data= Customer.find_by_customer_id(sale_data.customer_id) - @membership_id = customer_data.membership_id - if !@membership_id.nil? - membership_setting = MembershipSetting.find_by_membership_type("paypar_url") - membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) - if membership_data["status"]==true - membership_account_data = membership_data["data"]; - membership_account_data.each do |acc_data| - if acc_data["accountable_type"] == "REBATEACCOUNT" - @membership_rebate_balance=acc_data["balance"] - else - @membership_rebate_balance = 0 - end - end - else - @membership_rebate_balance = 0 - end - end + @payment_method_setting = PaymentMethodSetting.all + # @sale_id = params[:sale_id] + # sale_data = Sale.find_by_sale_id(@sale_id) + + # if sale_data.customer_id + # customer_data= Customer.find_by_customer_id(sale_data.customer_id) + # @membership_id = customer_data.membership_id + # if !@membership_id.nil? + # membership_setting = MembershipSetting.find_by_membership_type("paypar_url") + # membership_data = SalePayment.get_paypar_account(membership_setting.gateway_url,membership_setting.auth_token,@membership_id) + # if membership_data["status"]==true + # membership_account_data = membership_data["data"]; + # membership_account_data.each do |acc_data| + # if acc_data["accountable_type"] == "REBATEACCOUNT" + # @membership_rebate_balance=acc_data["balance"] + # else + # @membership_rebate_balance = 0 + # end + # end + # else + # @membership_rebate_balance = 0 + # end + # end + # else + + # end end def create diff --git a/app/views/origami/others_payments/index.html.erb b/app/views/origami/others_payments/index.html.erb index 094c90c9..bf89660a 100644 --- a/app/views/origami/others_payments/index.html.erb +++ b/app/views/origami/others_payments/index.html.erb @@ -2,11 +2,11 @@
- <% if @membership_id!=0 %> -
-
Redim Amount
-
- <% end %> + <% @payment_method_setting.each do |payment_method|%> +
+
<%= payment_method.payment_method %>
+
+ <% end %>
@@ -134,7 +134,7 @@ $(document).on('click', '.cashier_number', function(event){ } }); -$("#redeem_account").click(function(){ +$("#REDIMREBATE").click(function(){ $('.rebate-form').removeAttr("hidden"); }); From 71e09ef45297ecc5386cfb0ed3de77eace2e5b6d Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 18:57:53 +0630 Subject: [PATCH 13/28] comment for cable and add print seed --- app/assets/javascripts/orgiami.js | 47 +++++++++++++++++++++++---- app/models/order.rb | 2 +- app/views/origami/home/index.html.erb | 2 +- db/seeds.rb | 3 ++ 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/app/assets/javascripts/orgiami.js b/app/assets/javascripts/orgiami.js index 2ecdba13..a12ed790 100644 --- a/app/assets/javascripts/orgiami.js +++ b/app/assets/javascripts/orgiami.js @@ -21,6 +21,10 @@ $(document).ready(function(){ var zone_name=$(this).find(".orders-table").text(); var receipt_no=$(this).find(".orders-receipt-no").text(); var unique_id=$(this).find(".orders-id").text(); + var order_status=$(this).find(".orders-order-status").text().trim(); + + // Enable/Disable Button + control_button(order_status); var cashier=""; var receipt_date=""; @@ -85,15 +89,26 @@ $(document).ready(function(){ // Bill Request $('#request_bills').click(function() { - var order_id=$(".selected-item").find(".orders-id").text(); - window.location.href = '/origami/request_bills/'+ order_id + var order_id=$(".selected-item").find(".orders-id").text(); + if(order_id!=""){ + window.location.href = '/origami/request_bills/'+ order_id + } + else { + alert("Please select an order!"); + } return false; }); // Discount for Payment $('#discount').click(function() { - var order_id=$(".selected-item").find(".orders-id").text(); - window.location.href = '/origami/discount/'+ order_id + var order_id=$(".selected-item").find(".orders-id").text(); + if(order_id!=""){ + window.location.href = '/origami/discount/'+ order_id + } + else { + alert("Please select an order!"); + } + return false; }); @@ -122,8 +137,14 @@ $(document).ready(function(){ // Payment for Bill $('#pay').click(function() { - var sale_id=$(".selected-item").find(".orders-id").text(); - window.location.href = '/origami/sale/'+ sale_id + "/payment" + var sale_id=$(".selected-item").find(".orders-id").text(); + if(order_id!=""){ + window.location.href = '/origami/sale/'+ sale_id + "/payment" + } + else { + alert("Please select an order!"); + } + return false; }); }); @@ -174,6 +195,20 @@ $(document).on('click', '.cashier_number', function(event){ } }); +/* Button Control by Status */ +function control_button(order_status){ + if(order_status=="billed"){ + $("#request_bills").prop('disabled', true); + $("#discount").prop('disabled', false); + $("#pay").prop('disabled', false); + } + else if(order_status=="new") { + $("#request_bills").prop('disabled', false); + $("#discount").prop('disabled', true); + $("#pay").prop('disabled', true); + } +} + /* For Receipt - Update Balance */ function update_balance(){ var discount_type = $('#discount-type').val(); diff --git a/app/models/order.rb b/app/models/order.rb index 8c456a2c..4817c3ce 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -48,7 +48,7 @@ class Order < ApplicationRecord process_order_queue #send order to broadcast job - send_order_broadcast + #send_order_broadcast return true, booking diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index ba11124a..58478998 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -218,7 +218,7 @@ - +
diff --git a/db/seeds.rb b/db/seeds.rb index 55f15be5..66ded4f3 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -140,6 +140,9 @@ admin_employee = Employee.create({name: "Administrator", role: "Administrator", food = Account.create({title: "Food", account_type: "0"}) beverage = Account.create({title: "Beverage", account_type: "1"}) +order_station1=PrintSetting.create({name: "OrderItemPdf", unique_code: "OrderItemPdf", printer_name: "EPSON-TM-T82-S-A"}) +order_station2=PrintSetting.create({name: "Order Summary", unique_code: "OrderSummaryPdf", printer_name: "EPSON-TM-T82-S-A"}) + # shop = Shop.create( # {name: "Beauty In The Pot", address: "address", township: "Yangon", city: "Yangon", state: "Yangon", # country: "Myanmar", phone_no: "09123456789", reservation_no: "bip000001", license: "license", From 42a29296c7f0511de3d3116ea0b5f05f68702c23 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 19:07:20 +0630 Subject: [PATCH 14/28] update gem --- Gemfile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index 23a6a823..e501db29 100644 --- a/Gemfile +++ b/Gemfile @@ -57,11 +57,8 @@ gem 'bcrypt', '~> 3.1.7' gem 'sidekiq' # Pagination -<<<<<<< HEAD -gem 'kaminari', '~> 0.16.3' #:git => "git://github.com/amatsuda/kaminari.git", :branch => 'master' -======= gem 'kaminari', '~> 0.16.3' ->>>>>>> ea4f50e77942a7ccaa988af4dedd8cb4665b59c7 + # Use Capistrano for deployment # gem 'capistrano-rails', group: :development From 43e89cefda201abdcc8fa227dc2685830fee8003 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 19:12:11 +0630 Subject: [PATCH 15/28] re-add account migration --- db/migrate/20170331024747_create_accounts.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 db/migrate/20170331024747_create_accounts.rb diff --git a/db/migrate/20170331024747_create_accounts.rb b/db/migrate/20170331024747_create_accounts.rb new file mode 100644 index 00000000..5816aace --- /dev/null +++ b/db/migrate/20170331024747_create_accounts.rb @@ -0,0 +1,10 @@ +class CreateAccounts < ActiveRecord::Migration[5.1] + def change + create_table :accounts do |t| + t.string :title + t.string :account_type + + t.timestamps + end + end +end From 75c8936eff7cc455374cc0c882516521339e4e8e Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 8 Jun 2017 19:26:47 +0630 Subject: [PATCH 16/28] updated default who changed oqs in queue job --- app/jobs/order_queue_processor_job.rb | 2 +- db/migrate/20170602093159_create_print_settings.rb | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/jobs/order_queue_processor_job.rb b/app/jobs/order_queue_processor_job.rb index 10081ad5..e92faa36 100644 --- a/app/jobs/order_queue_processor_job.rb +++ b/app/jobs/order_queue_processor_job.rb @@ -1,5 +1,5 @@ class OrderQueueProcessorJob < ApplicationJob - queue_as :oqs + queue_as :default def perform(order_id) # Do something later diff --git a/db/migrate/20170602093159_create_print_settings.rb b/db/migrate/20170602093159_create_print_settings.rb index a5ce89d6..e9ea5e83 100644 --- a/db/migrate/20170602093159_create_print_settings.rb +++ b/db/migrate/20170602093159_create_print_settings.rb @@ -3,10 +3,10 @@ class CreatePrintSettings < ActiveRecord::Migration[5.1] create_table :print_settings do |t| t.string :name, :null => false t.string :unique_code, :null => false - t.string :template, :null => false - t.string :db_name, :null => false - t.string :db_type, :null => false - t.string :db_username, :null => false + t.string :template + t.string :db_name + t.string :db_type + t.string :db_username t.string :db_password t.string :printer_name, :null => false t.string :api_settings From 7702c5067589cc5c2bdca5035ed2148a18b23d5f Mon Sep 17 00:00:00 2001 From: Moe Su Date: Fri, 9 Jun 2017 02:23:16 +0630 Subject: [PATCH 17/28] Add membership action --- Gemfile | 2 +- Gemfile.lock | 2 + app/controllers/api/memberships_controller.rb | 2 +- app/controllers/crm/customers_controller.rb | 4 +- .../settings/membership_actions_controller.rb | 39 ++++++++++++++++++- app/models/customer.rb | 2 +- app/models/sale_payment.rb | 5 +-- .../origami/others_payments/index.html.erb | 19 +++++++-- .../membership_actions/index.json.jbuilder | 0 9 files changed, 63 insertions(+), 12 deletions(-) create mode 100644 spec/views/membership_actions/index.json.jbuilder diff --git a/Gemfile b/Gemfile index 479b1325..ad11e93d 100644 --- a/Gemfile +++ b/Gemfile @@ -12,7 +12,7 @@ gem 'rails', '~> 5.1.0' gem 'mysql2', '>= 0.3.18', '< 0.5' #Use PosgreSQL -#gem 'pg' +gem 'pg' # redis server for cable # gem 'redis', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index b191df57..051e1595 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -109,6 +109,7 @@ GEM nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) + pg (0.20.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -244,6 +245,7 @@ DEPENDENCIES kaminari (~> 0.16.3) listen (~> 3.0.5) mysql2 (>= 0.3.18, < 0.5) + pg prawn prawn-table puma (~> 3.0) diff --git a/app/controllers/api/memberships_controller.rb b/app/controllers/api/memberships_controller.rb index 6b125868..210a4ca0 100644 --- a/app/controllers/api/memberships_controller.rb +++ b/app/controllers/api/memberships_controller.rb @@ -1,7 +1,7 @@ class Api::MembershipsController < ActionController::API before :authenticate_token - + #Add Membership to invoice def create diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index 295a0d8f..325ac7dd 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -49,7 +49,7 @@ class Crm::CustomersController < ApplicationController date_of_birth = customer_params[:date_of_birth] membership_id = params[:membership_id] - membership = MembershipSetting.find_by_membership_type("smartpay_url") + membership = MembershipSetting.find_by_membership_type("paypar_url") app_token = membership.auth_token.to_s url = membership.gateway_url.to_s + "/api/create_membership_customer".to_s @@ -115,7 +115,7 @@ class Crm::CustomersController < ApplicationController date_of_birth = customer_params[:date_of_birth] id = customer_params[:membership_id] - membership = MembershipSetting.find_by_membership_type("smartpay_url") + membership = MembershipSetting.find_by_membership_type("paypar_url") app_token = membership.auth_token.to_s url = membership.gateway_url.to_s + "/api/update_membership_customer".to_s diff --git a/app/controllers/settings/membership_actions_controller.rb b/app/controllers/settings/membership_actions_controller.rb index 97b6a6ba..6db1a45b 100644 --- a/app/controllers/settings/membership_actions_controller.rb +++ b/app/controllers/settings/membership_actions_controller.rb @@ -4,7 +4,44 @@ class Settings::MembershipActionsController < ApplicationController # GET /settings/membership_actions # GET /settings/membership_actions.json def index - @settings_membership_actions = Settings::MembershipAction.all + type = params[:type] + @sale_id = params[:sale_id] + if type.nil? + @settings_membership_actions = Settings::MembershipAction.all + else + membership_actions_data=Settings::MembershipAction.find_by_membership_type(type) + + if !membership_actions_data.nil? + url = params[:gateway_url].to_s + membership_actions_data.gateway_url.to_s + puts url.to_json + sale_data = Sale.find_by_sale_id(@sale_id) + if sale_data.customer_id + customer_data= Customer.find_by_customer_id(sale_data.customer_id) + @membership_id = customer_data.membership_id + @campaign_type_id =1 + if !@membership_id.nil? + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") + membership_data = SalePayment.get_paypar_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id) + if membership_data["status"]==true + @membership_rebate_balance=membership_data["balance"] + @out = true, @membership_rebate_balance + else + @out = false, 0 + end + else + @out = false, 0 + end + else + @out =false, 0 + end + # campaign_type_id=1 + # get_account_data = MembershipAction.get_account_data(url) + else + @out = false, 0 + end + render :json => @out.to_json + end + end # GET /settings/membership_actions/1 diff --git a/app/models/customer.rb b/app/models/customer.rb index 6d2bd561..afc17d79 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -13,7 +13,7 @@ class Customer < ApplicationRecord def self.get_member_group - membership = MembershipSetting.find_by_membership_type("smartpay_url") + membership = MembershipSetting.find_by_membership_type("paypar_url") app_token = membership.auth_token.to_s url = membership.gateway_url.to_s + "/api/get_all_member_group".to_s diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index e4ec8c10..3d9855ba 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -66,10 +66,9 @@ class SalePayment < ApplicationRecord end - def self.get_paypar_account(paypar_url,token,membership_id) - url = paypar_url.to_s + "/api/get_membership_data".to_s + def self.get_paypar_account(url,token,membership_id,campaign_type_id) response = HTTParty.get(url, - :body => { app_token: token,membership_id:membership_id}.to_json, + :body => { app_token: token,membership_id:membership_id,campaign_type_id:campaign_type_id}.to_json, :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' diff --git a/app/views/origami/others_payments/index.html.erb b/app/views/origami/others_payments/index.html.erb index bf89660a..abb2388f 100644 --- a/app/views/origami/others_payments/index.html.erb +++ b/app/views/origami/others_payments/index.html.erb @@ -4,7 +4,7 @@
<% @payment_method_setting.each do |payment_method|%>
-
<%= payment_method.payment_method %>
+
<%= payment_method.payment_method %>
<% end %>
@@ -15,7 +15,7 @@
- +

@@ -136,11 +136,24 @@ $(document).on('click', '.cashier_number', function(event){ $("#REDIMREBATE").click(function(){ $('.rebate-form').removeAttr("hidden"); + gateway_url = $(this).attr("data-url"); + sale_id = $(this).attr("data-sale-id"); + $.ajax({ + type: "GET", + url: "../../../../settings/membership_actions", + data: {type:"redeem_url",gateway_url:gateway_url,sale_id:sale_id}, + success: function(result){ + $("#valid_amount").val(result[1]); + } + }) + + }); $("#redeem").click(function(){ valid_amount = $("#valid_amount").val(); - sale_id = $(this).attr("data-value") + sale_id = $("#REDIMREBATE").attr("data-sale-id"); + alert(sale_id); membership_id = $(this).attr("data-member-value"); redeem_amount = parseInt($("#used_amount").text()); if(redeem_amount<=0){ diff --git a/spec/views/membership_actions/index.json.jbuilder b/spec/views/membership_actions/index.json.jbuilder new file mode 100644 index 00000000..e69de29b From c23f726cb398fb4e5f94f51b935e3363770946b2 Mon Sep 17 00:00:00 2001 From: Moe Su Date: Fri, 9 Jun 2017 02:40:35 +0630 Subject: [PATCH 18/28] redeem process --- app/models/sale_payment.rb | 15 ++++++++++----- .../origami/others_payments/index.html.erb | 17 ++++++++--------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 3d9855ba..834dba1f 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -79,17 +79,22 @@ class SalePayment < ApplicationRecord end def self.redeem(paypar_url,token,membership_id,received_amount,sale_id,campaign_type_id) - url = paypar_url.to_s + "/api/redeem".to_s - response = HTTParty.post(url, + membership_actions_data = Settings::MembershipAction.find_by_membership_type("redeem_url"); + if !membership_actions_data.nil? + url = paypar_url.to_s + membership_actions_data.gateway_url.to_s + campaign_type_id = 1 + response = HTTParty.post(url, :body => { generic_customer_id:membership_id,total_amount:received_amount,receipet_no:sale_id,campaign_type_id:campaign_type_id,account_no:""}.to_json, :headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json' } ) - puts "RRRRRRRR" - puts response.to_json - return response; + else + response =false; + end + + return response; end diff --git a/app/views/origami/others_payments/index.html.erb b/app/views/origami/others_payments/index.html.erb index abb2388f..77c06904 100644 --- a/app/views/origami/others_payments/index.html.erb +++ b/app/views/origami/others_payments/index.html.erb @@ -99,9 +99,9 @@