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..d5646ddd 100755
--- a/app/models/customer.rb
+++ b/app/models/customer.rb
@@ -18,36 +18,39 @@ class Customer < ApplicationRecord
paginates_per 50
def self.get_member_account(customer)
- membership = MembershipSetting.find_by_membership_type("paypar_url")
- memberaction = MembershipAction.find_by_membership_type("get_all_member_account")
+ membership = MembershipSetting.active.find_by_membership_type("paypar_url")
+ memberaction = MembershipAction.active.find_by_membership_type("get_all_member_account")
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)
+ if !membership.nil? && !memberaction.nil?
+ begin
+ response = HTTParty.get(url, :body => {
+ membership_id: customer.membership_id,
+ merchant_uid:merchant_uid,
+ type: "summary",
+ 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: "Server Error"}
+
+ rescue Net::OpenTimeout
+ response = { status: false , message: "Server Time out"}
- begin
- response = HTTParty.get(url, :body => {
- membership_id: customer.membership_id,
- merchant_uid:merchant_uid,
- type: "summary",
- 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: "Server Error"}
-
- 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 setting."}
end
Rails.logger.debug "--------Get Member Account response -------"
Rails.logger.debug response.to_json
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..2553885d 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")