diff --git a/app/controllers/settings/promotions_controller.rb b/app/controllers/settings/promotions_controller.rb index 7272ab0c..123f01d8 100755 --- a/app/controllers/settings/promotions_controller.rb +++ b/app/controllers/settings/promotions_controller.rb @@ -103,9 +103,10 @@ class Settings::PromotionsController < ApplicationController arr_inst = [] item_inst = MenuItemInstance.find_by_item_instance_code(params[:item_instance_code]) if item_inst.nil? - product = Product.where("item_code = ?",params[:item_instance_code]).pluck(:name,:item_code) - res.push(product.name) - res.push(product.item_code) + product = Product.where("item_code = ?",params[:item_instance_code]) + product.each do |pdt| + res.push({pdt.item_code => pdt.name}) + end else # menu_item = item_inst.menu_item.pluck(:name,:item_code) # res.push(item_inst.item_instance_name) diff --git a/app/models/customer.rb b/app/models/customer.rb index 3c72d3bb..4db65146 100755 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -56,38 +56,43 @@ class Customer < ApplicationRecord end def self.get_membership_transactions(customer,receipt_no = nil) - membership = MembershipSetting.find_by_membership_type("paypar_url") - memberaction = MembershipAction.find_by_membership_type("get_member_transactions") - merchant_uid = memberaction.merchant_account_id.to_s - auth_token = memberaction.auth_token.to_s - url = membership.gateway_url.to_s + memberaction.gateway_url.to_s -# urltest =self.url_exist?(url) + membership = MembershipSetting.active.find_by_membership_type("paypar_url") + memberaction = MembershipAction.active.find_by_membership_type("get_member_transactions") + if !membership.nil? && !memberaction.nil? + merchant_uid = memberaction.merchant_account_id.to_s + auth_token = memberaction.auth_token.to_s + url = membership.gateway_url.to_s + memberaction.gateway_url.to_s + # urltest =self.url_exist?(url) - begin - response = HTTParty.get(url, - :body => { membership_id: customer.membership_id, - receipt_no:receipt_no, - merchant_uid:merchant_uid,auth_token:auth_token - }.to_json, - :headers => { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json; version=3' - }, - :timeout => 10 - ) - rescue HTTParty::Error - response = {status: false, message: "Can't open membership server " } + begin + response = HTTParty.get(url, + :body => { membership_id: customer.membership_id, + receipt_no:receipt_no, + merchant_uid:merchant_uid,auth_token:auth_token + }.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json; version=3' + }, + :timeout => 10 + ) + rescue HTTParty::Error + response = {status: false, message: "Can't open membership server " } - rescue Net::OpenTimeout - response = { status: false , message: "Server Time out"} + rescue Net::OpenTimeout + response = { status: false , message: "Server Time out"} - rescue OpenURI::HTTPError - response = { status: false, message: "Can't connect server"} + rescue OpenURI::HTTPError + response = { status: false, message: "Can't connect server"} - rescue SocketError - response = { status: false, message: "Can't connect server"} + rescue SocketError + response = { status: false, message: "Can't connect server"} + end + else + response = {status: false, message: "There is no membership."} end - + Rails.logger.debug "get membership transactions !!!!!!!" + Rails.logger.debug response return response; end diff --git a/app/models/membership_action.rb b/app/models/membership_action.rb index 93a4b3d8..dbf7c51c 100755 --- a/app/models/membership_action.rb +++ b/app/models/membership_action.rb @@ -1,2 +1,3 @@ class MembershipAction < ApplicationRecord + scope :active, -> { where(is_active: true) } end diff --git a/app/models/membership_setting.rb b/app/models/membership_setting.rb index 3b60c781..9ab0ee96 100755 --- a/app/models/membership_setting.rb +++ b/app/models/membership_setting.rb @@ -1,3 +1,5 @@ class MembershipSetting < ApplicationRecord + scope :active, -> { where(is_active: true) } + MembershipSetting = MembershipSetting.find_by_id(1) end diff --git a/app/views/settings/promotions/_form.html.erb b/app/views/settings/promotions/_form.html.erb index dc018ce3..c5b0a931 100755 --- a/app/views/settings/promotions/_form.html.erb +++ b/app/views/settings/promotions/_form.html.erb @@ -385,14 +385,18 @@ if(result.length > 0){ var iteminstlists; - $.each(arr_item_inst,function(k2,v2al){ - $("select#"+select_id).empty(); - var selected = ""; - $.each(v2al,function(k3,v3al){ - if(k3 == item_code) selected = "selected"; - iteminstlists += ""; + if(arr_item_inst instanceof Array){ + $.each(arr_item_inst,function(k2,v2al){ + $("select#"+select_id).empty(); + var selected = ""; + $.each(v2al,function(k3,v3al){ + if(k3 == item_code) selected = "selected"; + iteminstlists += ""; + }); }); - }); + }else if(arr_item_inst != ""){ + iteminstlists += ""; + } $("select#"+select_id).append(iteminstlists); $("select#"+select_id).parent().parent().siblings("div.menu_item_choose").find("select").find("option[value='"+par_item_code+"']").attr("selected","true")