diff --git a/app/controllers/origami/voucher_controller.rb b/app/controllers/origami/voucher_controller.rb index a9bdcc2b..7eda6084 100644 --- a/app/controllers/origami/voucher_controller.rb +++ b/app/controllers/origami/voucher_controller.rb @@ -22,10 +22,50 @@ class Origami::VoucherController < BaseOrigamiController def create cash = params[:amount] sale_id = params[:sale_id] + sale_id = params[:refnumber] if(Sale.exists?(sale_id)) - saleObj = Sale.find(sale_id) - sale_payment = SalePayment.new - @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher") + customer_data= Customer.find_by_customer_id(sale_data.customer_id) + if customer_data + membership_id = customer_data.membership_id + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") + if membership_setting.gateway_url + member_actions =MembershipAction.find_by_membership_type("get_account_balance") #need to modify here + if member_actions.gateway_url + campaign_type_id = member_actions.additional_parameter["campaign_type_id"] + url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s + merchant_uid= member_actions.merchant_account_id + auth_token = member_actions.auth_token.to_s + # membership_data = SalePayment.get_paypar_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id,merchant_uid,auth_token) + # if membership_data["status"]==true + begin + response = HTTParty.get(url, + :body => { app_token: token,membership_id:membership_id, + campaign_type_id:campaign_type_id,merchant_uid:merchant_uid, + auth_token:auth_token + }.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + }, :timeout => 10 + ) + rescue Net::OpenTimeout + response = { status: false } + + rescue OpenURI::HTTPError + response = { status: false} + + rescue SocketError + response = { status: false} + end + # end + end + end + end + if( response["status"]==true ) + saleObj = Sale.find(sale_id) + sale_payment = SalePayment.new + @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher") + end end end diff --git a/app/views/origami/voucher/index.html.erb b/app/views/origami/voucher/index.html.erb index 809793ce..db4de245 100644 --- a/app/views/origami/voucher/index.html.erb +++ b/app/views/origami/voucher/index.html.erb @@ -28,14 +28,15 @@
- +

-
0.0
+ +

@@ -103,12 +104,17 @@ $(document).ready(function() { } }); // number key pad +var float_value = "" +var total = 0 + +$(document).on('focusout', '.float-value', function(event){ + float_value = $(this).attr("data-value"); $(document).on('click', '.cashier_number', function(event){ event.stopPropagation(); event.preventDefault(); if(event.handled !== true) { var original_value; - original_value = $('#amount').text(); + original_value = $('#'+float_value).val(); var input_value = $(this).attr("data-value"); @@ -116,28 +122,28 @@ $(document).on('click', '.cashier_number', function(event){ switch (input_type) { case 'num': if (original_value == "0.0"){ - $('#amount').text(input_value); + $('#'+float_value).val(input_value); }else{ - $('#amount').append(input_value); + $('#'+float_value).val(original_value+input_value); } break; case 'add': var input_value = $(this).attr("data-value"); amount = parseInt(input_value) + parseInt(original_value); - $('#amount').html(amount); + $('#'+float_value).val(amount); break; case 'clr': - $('#amount').html("0.0"); + $('#'+float_value).val("0.0"); break; case 'del' : - var cash=$('#amount').text(); - $('#amount').text(cash.substr(0,cash.length-1)); + var cash=$('#'+float_value).val(); + $('#'+float_value).val(cash.substr(0,cash.length-1)); break; case 'nett': var remain_amount = $('#validamount').val(); - $('#amount').text(remain_amount); + $('#'+float_value).val(remain_amount); break; } @@ -146,15 +152,19 @@ $(document).on('click', '.cashier_number', function(event){ return false; } }); +}) $('#voucher_pay').on('click',function(){ - var amount = $('#amount').text(); + var amount = $('#amount').val(); + var refnumber = $("#<%=@sale_id %>").val(); var sale_id = "<%= @sale_id %>"; if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){ + // alert(amount); + // alert(refnumber); $.ajax({type: "POST", - url: "<%= origami_payment_jcb_path %>", - data: "amount="+ amount + "&sale_id="+ sale_id, + url: "<%= origami_payment_voucher_path %>", + data: "amount="+ amount + "&sale_id="+ sale_id+ "&refnumber="+ refnumber, success:function(result){ if(result){ alert("Payment success") diff --git a/config/routes.rb b/config/routes.rb index b6af8698..9e62023c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -137,6 +137,7 @@ Rails.application.routes.draw do post 'payment/visa' => "visa#create" post 'payment/paypar' => 'paypar_payments#create' post 'payment/credit' => 'credit_payments#create' + post 'payment/voucher' => 'voucher_payments#create' get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index" get 'sale/:sale_id/payment/others_payment' => "others_payments#index"