diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index aacfa39f..2f846601 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -5,6 +5,7 @@ class Crm::CustomersController < BaseCrmController # GET /crm/customers # GET /crm/customers.json def index + @no_need_validation =false filter = params[:filter] filter_card_no = params[:filter_card_no] type = params[:type] @@ -39,24 +40,37 @@ class Crm::CustomersController < BaseCrmController @crm_customers.tax_profiles = ["1", "2"] @crm_customers.save @crm_customers = Customer.search(filter) - flash[:notice]='Customer was successfully created.' + flash[:member_notice]='Customer was successfully created.' else - flash[:error]=response["message"] + flash[:member_error]=response["message"] end else - @crm_customers.each do |customer| - if customer.contact_no != response["customer_data"]["phone"] - @customer_update_phone_email_membertype =true + if response["status"] ==true + @crm_customers.each do |customer| + if !response["customer_data"].nil? + if customer.contact_no != response["customer_data"]["phone"] + @customer_update_phone_email_membertype =true + end + if customer.email != response["customer_data"]["email"] + @customer_update_phone_email_membertype =true + end + if customer.name != response["customer_data"]["name"] + @customer_update_phone_email_membertype =true + end + if customer.membership_type.to_i != response["customer_data"]["member_group_id"] + @customer_update_phone_email_membertype =true + end + else + flash[:member_error]=response["message"] + end end - if customer.email != response["customer_data"]["email"] - @customer_update_phone_email_membertype =true - end - if customer.name != response["customer_data"]["name"] - @customer_update_phone_email_membertype =true - end - if customer.membership_type.to_i != response["customer_data"]["member_group_id"] - @customer_update_phone_email_membertype =true + else + if response["message"] =='No internet connection ' + flash[:member_error]=response["message"] + else + flash[:member_error]="Need to press sync button " end + end end end @@ -190,14 +204,18 @@ class Crm::CustomersController < BaseCrmController }, :timeout => 10 ) + + rescue HTTParty::Error + response = {"status" => false, "message" => "No internet connection "} + rescue Net::OpenTimeout - response = { status: false } + response = {"status" => false, "message" => "No internet connection "} rescue OpenURI::HTTPError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} rescue SocketError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} end customer = Customer.find(@crm_customer.customer_id) Rails.logger.debug "--------Sync Member response -------" @@ -222,6 +240,9 @@ class Crm::CustomersController < BaseCrmController customer.destroy format.html { redirect_to crm_customers_path } flash[:member_error] ='Member cannot created.Invalid Account.' + else + format.html { redirect_to crm_customers_path } + flash[:member_error] =response["message"] end format.html { redirect_to crm_customers_path } flash[:member_error] =response["message"] @@ -286,16 +307,16 @@ class Crm::CustomersController < BaseCrmController ) rescue HTTParty::Error - response = {"status" => false, "message" => "Can't open membership server "} + response = {"status" => false, "message" => "No internet connection "} rescue Net::OpenTimeout - response = {"status" => false, "message" => "Can't open membership server "} + response = {"status" => false, "message" => "No internet connection "} rescue OpenURI::HTTPError - response = {"status" => false, "message" => "Can't open membership server "} + response = {"status" => false, "message" => "No internet connection "} rescue SocketError - response = {"status" => false, "message" => "Can't open membership server "} + response = {"status" => false, "message" => "No internet connection "} end Rails.logger.debug "--------------Create Member---------" Rails.logger.debug response.to_json @@ -332,6 +353,9 @@ class Crm::CustomersController < BaseCrmController format.html { redirect_to crm_customers_path } flash[:member_error]='Member cannot created.Invalid Account.' end + else + format.html { redirect_to crm_customers_path } + flash[:member_error]=response["message"] end if params[:sale_id] format.html { redirect_to '/origami/'+params[:sale_id]+'/'+params[:type]+'/customers/'+params[:page] } @@ -431,14 +455,17 @@ class Crm::CustomersController < BaseCrmController }, :timeout => 10 ) + rescue HTTParty::Error + response = {"status" => false, "message" => "No internet connection "} + rescue Net::OpenTimeout - response = { status: false } + response = {"status" => false, "message" => "No internet connection "} rescue OpenURI::HTTPError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} rescue SocketError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} end customer = Customer.find(@crm_customer.customer_id) Rails.logger.debug "--------Update Member response -------" @@ -493,14 +520,17 @@ class Crm::CustomersController < BaseCrmController }, :timeout => 10 ) + rescue HTTParty::Error + response = {"status" => false, "message" => "No internet connection "} + rescue Net::OpenTimeout - response = { status: false } + response = {"status" => false, "message" => "No internet connection "} rescue OpenURI::HTTPError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} rescue SocketError - response = { status: false} + response = {"status" => false, "message" => "No internet connection "} end Rails.logger.debug "--------Update Member response -------" Rails.logger.debug response.to_json diff --git a/app/models/customer.rb b/app/models/customer.rb index d69220f3..04d4449c 100755 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -325,16 +325,16 @@ class Customer < ApplicationRecord :timeout => 10 ) rescue HTTParty::Error - response = {status: false, message: "Server Error"} + response = {"status" => false, "message" => "No internet connection "} rescue Net::OpenTimeout - response = { status: false , message: "Server Time out"} + response = {"status" => false, "message" => "No internet connection "} rescue OpenURI::HTTPError - response = { status: false, message: "Can't connect server"} + response = {"status" => false, "message" => "No internet connection "} rescue SocketError - response = { status: false, message: "Can't connect server"} + response = {"status" => false, "message" => "No internet connection "} end Rails.logger.debug "--------Search Paypar Account No response -------" Rails.logger.debug response.to_json diff --git a/app/views/crm/customers/index.html.erb b/app/views/crm/customers/index.html.erb index e76e0230..82b85475 100644 --- a/app/views/crm/customers/index.html.erb +++ b/app/views/crm/customers/index.html.erb @@ -29,7 +29,9 @@
- +
<%= form_tag crm_customers_path, :id => "filter_form", :method => :get do %>
@@ -156,6 +158,7 @@