diff --git a/app/assets/javascripts/origami.js b/app/assets/javascripts/origami.js index 7acdb485..0886d04e 100644 --- a/app/assets/javascripts/origami.js +++ b/app/assets/javascripts/origami.js @@ -37,7 +37,7 @@ $(document).ready(function(){ control_button(order_status); var customer_id=$(this).find(".customer-id").text(); - //show_customer_details(customer_id); + show_customer_details(customer_id); $("#re-print").val(unique_id); diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 50278d71..d0a8ca9e 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -14,6 +14,7 @@ class ApplicationController < ActionController::Base # redirect_to root_path # end + def current_user @current_user ||= Employee.find_by_token_session(session[:session_token]) if session[:session_token] end diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb index ce585686..dc800cea 100644 --- a/app/controllers/crm/customers_controller.rb +++ b/app/controllers/crm/customers_controller.rb @@ -63,60 +63,61 @@ class Crm::CustomersController < BaseCrmController def edit end - # POST /crm/customers + # POST /crm/customers # POST /crm/customers.json def create @crm_customers = Customer.new(customer_params) respond_to do |format| - puts @crm_customers.errors.to_json if @crm_customers.save - name = customer_params[:name] - phone = customer_params[:contact_no] - email = customer_params[:email] - dob = customer_params[:date_of_birth] - address = customer_params[:address] - nrc = customer_params[:nrc_no] - member_group_id = params[:member_group_id] - - membership = MembershipSetting.find_by_membership_type("paypar_url") - memberaction = MembershipAction.find_by_membership_type("create_membership_customer") - 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 - - begin - response = HTTParty.post(url, :body => { name: name,phone: phone,email: email, - dob: dob,address: address,nrc:nrc, - member_group_id: member_group_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json, - :headers => { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' - } - ) - rescue Net::OpenTimeout - response = { status: false } - end - - if response["status"] == true + name = customer_params[:name] + phone = customer_params[:contact_no] + email = customer_params[:email] + dob = customer_params[:date_of_birth] + address = customer_params[:address] + nrc = customer_params[:nrc_no] + member_group_id = params[:member_group_id] - customer = Customer.find(@crm_customers.customer_id) - status = customer.update_attributes(membership_id: response["customer_datas"]["id"]) - - if params[:sale_id] - format.html { redirect_to '/origami/'+params[:sale_id]+'/customers', notice: 'Customer was successfully created.' } - else - format.html { redirect_to crm_customers_path, notice: 'Customer was successfully created'} - end - # format.json { render :index, status: :created, location: @crm_customers } - else - - # @crm_customers.destroy - if params[:sale_id] - format.html { redirect_to '/origami/'+params[:sale_id]+'/customers'} + if !member_group_id.nil? + membership = MembershipSetting.find_by_membership_type("paypar_url") + memberaction = MembershipAction.find_by_membership_type("create_membership_customer") + 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 + + begin + response = HTTParty.post(url, :body => { name: name,phone: phone,email: email, + dob: dob,address: address,nrc:nrc, + member_group_id: member_group_id, + merchant_uid:merchant_uid,auth_token:auth_token}.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + } + ) + rescue Net::OpenTimeout + response = { status: false } + end + + if response["status"] == true + + customer = Customer.find(@crm_customers.customer_id) + status = customer.update_attributes(membership_id: response["customer_datas"]["id"],membership_type:member_group_id ) + + if params[:sale_id] + format.html { redirect_to '/origami/'+params[:sale_id]+'/customers', notice: 'Customer was successfully created.' } + else + format.html { redirect_to crm_customers_path, notice: 'Customer was successfully created'} + end + # format.json { render :index, status: :created, location: @crm_customers } else - format.html { redirect_to crm_customers_path, notice: response["message"] } + # @crm_customers.destroy + if params[:sale_id] + format.html { redirect_to '/origami/'+params[:sale_id]+'/customers'} + else + format.html { redirect_to crm_customers_path, notice: response["message"] } + end end end else @@ -134,7 +135,6 @@ class Crm::CustomersController < BaseCrmController end end - # PATCH/PUT /crm/customers/1 # PATCH/PUT /crm/customers/1.json def update @@ -151,25 +151,64 @@ end id = @crm_customer.membership_id member_group_id = params[:member_group_id] - membership = MembershipSetting.find_by_membership_type("paypar_url") - memberaction = MembershipAction.find_by_membership_type("update_membership_customer") - 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 - begin - response = HTTParty.post(url, :body => { name: name,phone: phone,email: email, - dob: dob,address: address,nrc:nrc, - id: id,member_group_id:member_group_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json, - :headers => { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' - } - ) - rescue Net::OpenTimeout - response = { status: false } - end - format.html { redirect_to crm_customers_path, notice: 'Customer was successfully updated.' } - format.json { render :show, status: :ok, location: @crm_customer } + if id.nil? && !member_group_id.nil? + membership = MembershipSetting.find_by_membership_type("paypar_url") + memberaction = MembershipAction.find_by_membership_type("create_membership_customer") + 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 + + begin + response = HTTParty.post(url, :body => { name: name,phone: phone,email: email, + dob: dob,address: address,nrc:nrc, + member_group_id: member_group_id, + merchant_uid:merchant_uid,auth_token:auth_token}.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + } + ) + rescue Net::OpenTimeout + response = { status: false } + end + + if response["status"] == true + + customer = Customer.find(@crm_customer.customer_id) + status = customer.update_attributes(membership_id: response["customer_datas"]["id"],membership_type:member_group_id ) + + format.html { redirect_to crm_customers_path, notice: 'Customer was successfully updated'} + else + format.html { redirect_to crm_customers_path, notice: response["message"] } + end + + else + membership = MembershipSetting.find_by_membership_type("paypar_url") + memberaction = MembershipAction.find_by_membership_type("update_membership_customer") + 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 + begin + response = HTTParty.post(url, :body => { name: name,phone: phone,email: email, + dob: dob,address: address,nrc:nrc, + id: id,member_group_id:member_group_id,merchant_uid:merchant_uid,auth_token:auth_token}.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + } + ) + rescue Net::OpenTimeout + response = { status: false } + end + + if response["status"] == true + format.html { redirect_to crm_customers_path, notice: 'Customer was successfully updated.' } + format.json { render :show, status: :ok, location: @crm_customer } + else + format.html { redirect_to crm_customers_path, notice: response["message"] } + end + + end else diff --git a/app/controllers/crm/dining_queues_controller.rb b/app/controllers/crm/dining_queues_controller.rb index 734793b3..dbcc4046 100644 --- a/app/controllers/crm/dining_queues_controller.rb +++ b/app/controllers/crm/dining_queues_controller.rb @@ -104,6 +104,6 @@ class Crm::DiningQueuesController < BaseCrmController # Never trust parameters from the scary internet, only allow the white list through. def dining_queue_params - params.require(:dining_queue).permit(:name, :contact_no, :queue_no,:status) + params.require(:dining_queue).permit(:name, :contact_no, :queue_no,:status,:seater,:remark) end end diff --git a/app/controllers/crm/home_controller.rb b/app/controllers/crm/home_controller.rb index c05e7cf3..6866ddf1 100644 --- a/app/controllers/crm/home_controller.rb +++ b/app/controllers/crm/home_controller.rb @@ -1,12 +1,12 @@ class Crm::HomeController < BaseCrmController def index - @booking = Booking.all - @customer = Customer.all - from = Time.now.beginning_of_day.utc - to = Time.now.end_of_day.utc - @queue = DiningQueue.where('created_at BETWEEN ? AND ?', from, to).order('queue_no ASC') - + # @booking = Booking.all + # @customer = Customer.all + # from = Time.now.beginning_of_day.utc + # to = Time.now.end_of_day.utc + # @queue = DiningQueue.where('created_at BETWEEN ? AND ?', from, to).order('queue_no ASC') + redirect_to crm_customers_path # .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to) end diff --git a/app/controllers/origami/customers_controller.rb b/app/controllers/origami/customers_controller.rb index 373dc2f5..f15b8545 100644 --- a/app/controllers/origami/customers_controller.rb +++ b/app/controllers/origami/customers_controller.rb @@ -12,8 +12,17 @@ class Origami::CustomersController < BaseOrigamiController def add_customer - @sale_id = params[:sale_id] - filter = params[:filter] + @sale_id = params[:sale_id] + if(@sale_id[0,3] == "SAL") + @booking = Booking.find_by_sale_id(@sale_id) + @dining_facility = DiningFacility.find(@booking.dining_facility_id) + else + @booking_order = BookingOrder.find_by_order_id(@sale_id) + @booking = Booking.find(@booking_order.booking_id) + @dining_facility = DiningFacility.find(@booking.dining_facility_id) + end + + filter = params[:filter] filter = params[:filter] diff --git a/app/controllers/origami/home_controller.rb b/app/controllers/origami/home_controller.rb index 4c35a918..60658f7d 100644 --- a/app/controllers/origami/home_controller.rb +++ b/app/controllers/origami/home_controller.rb @@ -24,6 +24,7 @@ class Origami::HomeController < BaseOrigamiController order = Order.find(booking_order.order_id) @obj_order = order + @customer = order.customer @date = order.created_at order.order_items.each do |item| @order_items.push(item) @@ -40,6 +41,7 @@ class Origami::HomeController < BaseOrigamiController @date = sale.created_at @status_sale = 'sale' @obj_sale = sale + @customer = sale.customer end end end diff --git a/app/controllers/origami/rooms_controller.rb b/app/controllers/origami/rooms_controller.rb index 56030d4f..4ef6375d 100644 --- a/app/controllers/origami/rooms_controller.rb +++ b/app/controllers/origami/rooms_controller.rb @@ -9,9 +9,11 @@ class Origami::RoomsController < BaseOrigamiController @room.bookings.each do |booking| if booking.sale_id.nil? @order_items = Array.new + booking.booking_orders.each do |booking_order| order = Order.find(booking_order.order_id) @obj = order + @customer = order.customer order.order_items.each do |item| @order_items.push(item) end @@ -23,6 +25,7 @@ class Origami::RoomsController < BaseOrigamiController if sale.sale_status != "completed" @status = 'sale' @obj = sale + @customer = sale.customer end end end diff --git a/app/controllers/transactions/sales_controller.rb b/app/controllers/transactions/sales_controller.rb index 0a069b1b..54432c38 100644 --- a/app/controllers/transactions/sales_controller.rb +++ b/app/controllers/transactions/sales_controller.rb @@ -53,7 +53,7 @@ class Transactions::SalesController < ApplicationController #get customer amount @customer = Customer.find(@sale.customer_id) - @response = Customer.get_membership_transactions(@customer) + @response = Customer.get_membership_transactions(@customer) #end customer amount respond_to do |format| diff --git a/app/views/crm/customers/_new_form.html.erb b/app/views/crm/customers/_new_form.html.erb index 968d2ca9..eb121c14 100644 --- a/app/views/crm/customers/_new_form.html.erb +++ b/app/views/crm/customers/_new_form.html.erb @@ -104,6 +104,7 @@
<%= @i += 1 %> <%= crm_customer.name %> - <%= crm_customer.company rescue '-' %> + <%= crm_customer.card_no rescue '-' %> <%= crm_customer.contact_no %> <%= crm_customer.email %> <%= link_to 'Show', crm_customer_path(crm_customer) %> @@ -126,7 +127,7 @@ $(document).on('click',".customer_tr",function(){ $('#customer_address').val(data.address); $('#customer_date_of_birth').val(data.date_of_birth); $('#customer_membership_type').val(data.membership_type); - + $('.selectpicker > option[value="'+data.membership_type+'"]').attr('selected','selected'); if (data.gender == 'Male') { $('.male').prop( "checked", true ) }else{ @@ -142,7 +143,7 @@ $(document).on('click',".customer_tr",function(){ }else{ $('.mdm').prop( "checked", true ) } - // $('.selectpicker > option[value="'+data.membership_id+'"]').attr('selected','selected'); + $('.membership_authentication_code').val(data.membership_authentication_code); $('#update_customer').removeAttr('disabled').val(''); @@ -150,11 +151,14 @@ $(document).on('click',".customer_tr",function(){ $('#submit_customer').attr('disabled','disabled'); $("#new_customer").attr('class', 'simple_form edit_customer'); - var id = "edit_customer_"+$('#customer_id').val(); + var id = "edit_customer_"+customer_id; + alert(id) $("#new_customer").attr('id', id); + + $(".edit_customer").attr('id', id); $(".edit_customer").attr('action', '/crm/customers/' + $('#customer_id').val()); $(".edit_customer").attr('action', '/crm/customers/' + $('#customer_id').val()); - $(".patch_method").append(''); + $(".patch_method").html(''); //$(".edit_customer").attr('method', 'PATCH'); } }); diff --git a/app/views/crm/customers/show.html.erb b/app/views/crm/customers/show.html.erb index 5bdb9703..0dead477 100644 --- a/app/views/crm/customers/show.html.erb +++ b/app/views/crm/customers/show.html.erb @@ -1,126 +1,166 @@
-
- -
-
-
-
- -
-
- - - - - - - - - - - - - +
+ -
- - - - - - - - - - - - - - - - - - - - - - - - <% - if @response["status"] == true %> - <% @response["data"].each do |transaction| %> - - - - - - - - - - - <% end %> - <% end %> - -
Card NoNameCompanyContact noEmailNRC/Passport NoAddressDOB
<%= @customer.card_no rescue '-'%><%= @customer.name %><%= @customer.company rescue '-' %><%= @customer.contact_no %><%= @customer.email %><%= @customer.nrc_no %><%= @customer.address%><%= @customer.date_of_birth %>
Membership Transactions
DateRedeemRebateBalanceStatusReceipt No
<%= transaction["date"]%><%= transaction["redeem"]%><%= transaction["rebate"] %><%= transaction["balance"] %><%= transaction["status"] %><%= transaction["receipt_no"] %>
-
- -
- - - -
-
-

Order Details

+ + + + +
+ +
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Card NoNameCompanyContact noEmailNRC/Passport NoAddressDOB
<%= @customer.card_no rescue '-'%><%= @customer.name %><%= @customer.company rescue '-' %><%= @customer.contact_no %><%= @customer.email %><%= @customer.nrc_no %><%= @customer.address%><%= @customer.date_of_birth %>
+
+ +
+ + + + + <% if @response["status"] == true %> + + <% end %> + + + + + + + + + + + + + <% if @response["status"] == true %> + <% @response["data"].each do |transaction| %> + + + + + + + + + + + <% end %> + <% end %> + +
Membership TransactionsCurrent Balance : <%= @response["data"][0]["balance"]%>
DateRedeemRebateBalanceStatusReceipt No
<%= transaction["date"]%><%= transaction["redeem"]%><%= transaction["rebate"] %><%= transaction["balance"] %><%= transaction["status"] %><%= transaction["receipt_no"] %>
+
+ +
+ +
+ +

Order Details

+
+ + + + + + + + + + + + + + + + <% @order_items.each do |order_item| %> + + + + + + + + + + + <% end %> + +
Order IDMenu ItemQTYUnit Price OptionStatusWaiterCreated at
<%= order_item.order_id %><%= order_item.item_name %><%= order_item.qty %><%= order_item.price %><%= order_item.options %><%= order_item.order_item_status %><%= order_item.item_order_by %> <%= order_item.created_at.strftime("%d-%m-%y") %>
+
+ +
+ +
+

Sale Details

- + - - - - + + - <% @order_items.each do |order_item| %> + <% @sale_items.each do |sale_item| %> - - - - - - - - + + + + + + + <% end %>
Order IDSale ID Menu Item QTY Unit Price OptionStatusWaiterCreated at Tax PriceCreated At
<%= order_item.order_id %><%= order_item.item_name %><%= order_item.qty %><%= order_item.price %><%= order_item.options %><%= order_item.order_item_status %><%= order_item.item_order_by %> <%= order_item.created_at.strftime("%d-%m-%y") %><%= sale_item.sale_id %><%= sale_item.product_name %><%= sale_item.qty %><%= sale_item.unit_price %><%= sale_item.taxable_price %><%= sale_item.created_at %>
-
-
-
+
+
+

Sale Details

@@ -150,18 +190,17 @@
-
+
- - diff --git a/app/views/crm/customers/showbackup.html.erb b/app/views/crm/customers/showbackup.html.erb deleted file mode 100644 index 936192cf..00000000 --- a/app/views/crm/customers/showbackup.html.erb +++ /dev/null @@ -1,85 +0,0 @@ -
-
- -
-
- - -
-
- -
-
-
- - - - - - - - - - - - - - - - - - - - - -
NameEmailContact noCompanyDate Of BirthMembership Account
<%= @crm_customer.name %><%= @crm_customer.email %><%= @crm_customer.contact_no %><%= @crm_customer.company %><%= @crm_customer.date_of_birth %>
-
- - -

Sale Items

- - - - - - - - - - - - - - - <% @sale_items.each do |sale_item| %> - - - - - - - - - - <% end %> - -
Sale ID Menu ItemQTYUnit Price Tax PriceCreated At
<%= sale_item.sale_id %><%= sale_item.product_name %><%= sale_item.qty %><%= sale_item.unit_price %><%= sale_item.taxable_price %><%= sale_item.created_at %>
-
-
- -
- - -
-
- - - - diff --git a/app/views/crm/dining_queues/_form.html.erb b/app/views/crm/dining_queues/_form.html.erb index 320bac40..ad2d0283 100644 --- a/app/views/crm/dining_queues/_form.html.erb +++ b/app/views/crm/dining_queues/_form.html.erb @@ -2,15 +2,20 @@ <%= simple_form_for([:crm,@dining_queue]) do |f| %> <%= f.error_notification %> -
- <%= f.input :name %> - <%= f.input :contact_no %> - <%= f.input :queue_no , :class => "dining",:id => "dining", :readonly => true%> +
+
+ <%= f.input :queue_no , :class => "dining",:id => "dining", :readonly => true%> + <%= f.input :name %> + <%= f.input :contact_no %> + <%= f.input :seater %> + <%= f.input :remark %> + -
-
-
- <%= f.button :submit,"Create Queue" %> +
+
+
+ <%= f.button :submit,"Create Queue" %> +
<% end %> diff --git a/app/views/crm/dining_queues/assign.html.erb b/app/views/crm/dining_queues/assign.html.erb index 9310844b..cc36e1a9 100644 --- a/app/views/crm/dining_queues/assign.html.erb +++ b/app/views/crm/dining_queues/assign.html.erb @@ -24,6 +24,7 @@

<%= table.name %>

+

Seat : <%= table.seater %>

diff --git a/app/views/crm/dining_queues/index.html.erb b/app/views/crm/dining_queues/index.html.erb index ac247771..813be2cf 100644 --- a/app/views/crm/dining_queues/index.html.erb +++ b/app/views/crm/dining_queues/index.html.erb @@ -26,6 +26,7 @@ <%= @i += 1 %> . Queue No + Seater : <%= queue.seater %>

<%= queue.queue_no %>

diff --git a/app/views/origami/customers/index.html.erb b/app/views/origami/customers/index.html.erb index e862ea7f..0cd7d85b 100644 --- a/app/views/origami/customers/index.html.erb +++ b/app/views/origami/customers/index.html.erb @@ -73,6 +73,8 @@ + + <%= f.error_notification %> <%= f.hidden_field :id, :class => "form-control col-md-6 " %>
"> @@ -171,6 +173,7 @@