diff --git a/Gemfile b/Gemfile
index 27e24687..ad11e93d 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,9 +9,7 @@ end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.1.0'
# Use mysql as the database for Active Record
-
-
-# gem 'mysql2', '>= 0.3.18', '< 0.5'
+gem 'mysql2', '>= 0.3.18', '< 0.5'
#Use PosgreSQL
gem 'pg'
@@ -45,9 +43,6 @@ gem 'to_xls-rails'
#Reporting gem
#gem 'compendium'
-# Pagination
-gem 'kaminari', :git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
-
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
@@ -62,7 +57,7 @@ gem 'bcrypt', '~> 3.1.7'
gem 'sidekiq'
# Pagination
-gem 'kaminari', :git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
+gem 'kaminari', '~> 0.16.3' #:git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
diff --git a/Gemfile.lock b/Gemfile.lock
index 1c2ad654..051e1595 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,21 +1,3 @@
-GIT
- remote: git://github.com/amatsuda/kaminari.git
- revision: bc52ae73d41386d344b5d1b18e689e5a988f1a03
- branch: master
- specs:
- kaminari (1.0.1)
- activesupport (>= 4.1.0)
- kaminari-actionview (= 1.0.1)
- kaminari-activerecord (= 1.0.1)
- kaminari-core (= 1.0.1)
- kaminari-actionview (1.0.1)
- actionview
- kaminari-core (= 1.0.1)
- kaminari-activerecord (1.0.1)
- activerecord
- kaminari-core (= 1.0.1)
- kaminari-core (1.0.1)
-
GEM
remote: https://rubygems.org/
specs:
@@ -104,6 +86,9 @@ GEM
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
+ kaminari (0.16.3)
+ actionpack (>= 3.0.0)
+ activesupport (>= 3.0.0)
listen (3.0.8)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
@@ -119,6 +104,7 @@ GEM
minitest (5.10.2)
multi_json (1.12.1)
multi_xml (0.6.0)
+ mysql2 (0.4.6)
nio4r (2.1.0)
nokogiri (1.7.2)
mini_portile2 (~> 2.1.0)
@@ -256,8 +242,9 @@ DEPENDENCIES
httparty (~> 0.15.5)
jbuilder (~> 2.5)
jquery-rails
- kaminari!
+ kaminari (~> 0.16.3)
listen (~> 3.0.5)
+ mysql2 (>= 0.3.18, < 0.5)
pg
prawn
prawn-table
diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js
index f2ee34ba..8ff96589 100644
--- a/app/assets/javascripts/application.js
+++ b/app/assets/javascripts/application.js
@@ -18,3 +18,4 @@
//= require cable
//= require settings/processing_items
//= require bootstrap-datepicker
+
diff --git a/app/assets/javascripts/orgiami.js b/app/assets/javascripts/orgiami.js
index cd8622c3..86db6a91 100644
--- a/app/assets/javascripts/orgiami.js
+++ b/app/assets/javascripts/orgiami.js
@@ -90,6 +90,13 @@ $(document).ready(function(){
return false;
});
+ // Discount for Payment
+ $('#discount').click(function() {
+ var order_id=$(".selected-item").find(".orders-id").text();
+ window.location.href = '/origami/discount/'+ order_id
+ return false;
+ });
+
// Payment for Bill
$('#pay').click(function() {
var sale_id=$(".selected-item").find(".orders-id").text();
@@ -98,5 +105,67 @@ $(document).ready(function(){
});
});
+/* For Receipt - discount or tax */
+$(document).on('click', '.cashier_number', function(event){
+ if(event.handled !== true) {
+ var original_value=0;
+ original_value = $('#discount-amount').val();
+
+ var input_type = $(this).attr("data-type");
+
+ switch (input_type) {
+ case 'num':
+ var input_value = $(this).attr("data-value");
+ if (original_value == "0.0"){
+ $('#discount-amount').val(input_value);
+ update_balance();
+ }
+ else{
+ $('#discount-amount').val(original_value + '' + input_value);
+ update_balance();
+ }
+ break;
+
+ case 'add':
+ var input_value = $(this).attr("data-value");
+ amount = parseInt(input_value) + parseInt(original_value);
+ $('#discount-amount').val(amount);
+ update_balance();
+ break;
+
+ case 'del' :
+ var discount_text=$('#discount-amount').val();
+ $('#discount-amount').val(discount_text.substr(0,discount_text.length-1));
+ update_balance();
+ break;
+
+ case 'clr':
+ $('#discount-amount').val("0.0");
+ update_balance();
+ break;
+ }
+
+ event.handled = true;
+ } else {
+ return false;
+ }
+});
+
+function update_balance(){
+ var discount_type = $('#discount-type').val();
+ var discount_amount = $('#discount-amount').val();
+ var sub_total = $('#order-sub-total').text();
+ var tax = $('#order-Tax').text();
+
+ // For Percentage Discount
+ if(discount_type='1'){
+ discount-amount=(sub_total*discount-amount)/100;
+ }
+
+ var total = (parseFloat(sub_total) + parseFloat(tax)) - discount_amount;
+ $('#order-discount').text(discount_amount);
+ $('#order-grand-total').text(total);
+}
+
diff --git a/app/assets/stylesheets/orgiami.scss b/app/assets/stylesheets/orgiami.scss
index d94bc702..0be16266 100644
--- a/app/assets/stylesheets/orgiami.scss
+++ b/app/assets/stylesheets/orgiami.scss
@@ -69,3 +69,10 @@
.green{
background-color: #009900
}
+
+
+/*----- Reset -----*/
+
+select.form-control {
+ height: inherit !important;
+}
diff --git a/app/controllers/crm/customers_controller.rb b/app/controllers/crm/customers_controller.rb
index c25f6e80..295a0d8f 100644
--- a/app/controllers/crm/customers_controller.rb
+++ b/app/controllers/crm/customers_controller.rb
@@ -4,10 +4,13 @@ class Crm::CustomersController < ApplicationController
# GET /crm/customers
# GET /crm/customers.json
def index
- @crm_customers = Customer.all
- @customers = Customer.new
+ @sale_id = 0
+ @crm_customers = Customer.all
+ @crm_customer = Customer.new
@membership = Customer.get_member_group
-
+ if @membership["status"] == true
+ @member_group = @membership["data"]
+ end
respond_to do |format|
format.html # index.html.erb
format.json { render json: @crm_customers }
@@ -33,15 +36,68 @@ class Crm::CustomersController < ApplicationController
# POST /crm/customers
# POST /crm/customers.json
def create
- @crm_customer = Customer.new(customer_params)
+ @crm_customers = Customer.new(customer_params)
+
respond_to do |format|
- if @crm_customer.save
- format.html { redirect_to @crm_customer, notice: 'Customer was successfully created.' }
- format.json { render :show, status: :created, location: @crm_customer }
+ if @crm_customers.save
+
+
+ name = customer_params[:name]
+ phone = customer_params[:contact_no]
+ email = customer_params[:email]
+ date_of_birth = customer_params[:date_of_birth]
+ membership_id = params[:membership_id]
+
+ membership = MembershipSetting.find_by_membership_type("smartpay_url")
+ app_token = membership.auth_token.to_s
+ url = membership.gateway_url.to_s + "/api/create_membership_customer".to_s
+
+ response = HTTParty.post(url, :body => { name: name,phone: phone,email: email,
+ date_of_birth: date_of_birth,
+ membership_id: membership_id}.to_json,
+ :headers => {
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
+ }
+ )
+
+ if response["status"] == true
+ puts "hhhhhhhhhhhhhhhhhh"
+ puts params[:sale_id]
+ customer = Customer.find(@crm_customers.customer_id)
+ status = customer.update_attributes(membership_id: response["customer_datas"]["id"])
+ if params[:sale_id] != 0
+ format.html { redirect_to crm_customers_path, notice: 'Customer was successfully created.' }
+ else
+ format.html { redirect_to '/crm/customers/'+params[:sale_id]+'/assign_sale_id', notice: 'Customer was successfully created.' }
+ end
+ # format.json { render :index, status: :created, location: @crm_customers }
+ else
+
+ @crm_customers.destroy
+
+ if params[:sale_id] != 0
+ format.html { redirect_to crm_customers_path, notice: response["message"] }
+
+ else
+ format.html { redirect_to '/crm/customers/'+params[:sale_id]+'/assign_sale_id', notice: response["message"] }
+ end
+
+ end
+
+
+ # format.json { render :index, status: :created, location: @crm_customers }
+
else
- format.html { render :new }
- format.json { render json: @crm_customer.errors, status: :unprocessable_entity }
+ if params[:sale_id] != 0
+ format.html { redirect_to crm_customers_path}
+ format.json { render json: @crm_customers.errors, status: :unprocessable_entity }
+
+ else
+ format.html { redirect_to '/crm/customers/'+params[:sale_id]+'/assign_sale_id', notice: response["message"] }
+ end
+
end
end
end
@@ -49,14 +105,38 @@ class Crm::CustomersController < ApplicationController
# PATCH/PUT /crm/customers/1
# PATCH/PUT /crm/customers/1.json
def update
+
respond_to do |format|
if @crm_customer.update(customer_params)
- format.html { redirect_to @crm_customer, notice: 'Customer was successfully updated.' }
+
+ name = customer_params[:name]
+ phone = customer_params[:contact_no]
+ email = customer_params[:email]
+ date_of_birth = customer_params[:date_of_birth]
+ id = customer_params[:membership_id]
+
+ membership = MembershipSetting.find_by_membership_type("smartpay_url")
+ app_token = membership.auth_token.to_s
+ url = membership.gateway_url.to_s + "/api/update_membership_customer".to_s
+
+ response = HTTParty.post(url, :body => { name: name,phone: phone,email: email,
+ date_of_birth: date_of_birth,
+ id: id}.to_json,
+ :headers => {
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
+ }
+ )
+
+ format.html { redirect_to crm_customers_path, notice: 'Customer was successfully updated.' }
format.json { render :show, status: :ok, location: @crm_customer }
+
else
+
format.html { render :edit }
format.json { render json: @crm_customer.errors, status: :unprocessable_entity }
end
+
end
end
@@ -70,6 +150,23 @@ class Crm::CustomersController < ApplicationController
end
end
+ # DELETE /crm/customers/1
+ # DELETE /crm/customers/1.json
+ def get_sale_id
+
+ @sale_id = params[:sale_id]
+ @crm_customers = Customer.all
+ @crm_customer = Customer.new
+ @membership = Customer.get_member_group
+ if @membership["status"] == true
+ @member_group = @membership["data"]
+ end
+ respond_to do |format|
+ format.html { render action: "index"}
+ format.json { render json: @crm_customers }
+ end
+ end
+
private
# Use callbacks to share common setup or constraints between actions.
def set_crm_customer
@@ -78,6 +175,9 @@ class Crm::CustomersController < ApplicationController
# Never trust parameters from the scary internet, only allow the white list through.
def customer_params
- params.require(:customer).permit(:name, :company, :contact_no, :email, :date_of_birth, :membership_id, :membership_type, :membership_authentication_code)
+
+ params.require(:customer).permit(:name, :company, :contact_no, :email, :date_of_birth, :membership_type, :membership_authentication_code)
end
end
+
+
diff --git a/app/controllers/crm/home_controller.rb b/app/controllers/crm/home_controller.rb
index 083f2bf7..f3e82e41 100644
--- a/app/controllers/crm/home_controller.rb
+++ b/app/controllers/crm/home_controller.rb
@@ -3,22 +3,38 @@ class Crm::HomeController < BaseCrmController
@booking = Booking.all
@customer = Customer.all
-
- #@booking = Booking.select("bookings.id as booking_id,
- # bookings.checkin_at,
- # bookings.checkin_by,
- # bookings.dining_facility_id,
- # od.customer_id as customer,
- # od.id as order_id,
- # od.item_count as count,
- # odt.id as order_item_id,
- # odt.item_name as item_name")
- # .joins("join booking_orders as bko ON bko.booking_id = bookings.id")
- # .joins("right join orders as od ON od.id = bko.order_id")
- # .joins("right join order_items as odt ON odt.order_id=od.id")
- # .order("bookings.id DESC")
end
+
def show
end
+
+ #print for crm
+ def print_order
+
+ @booking = Booking.find(params[:id])
+ unique_code="CrmOrderPdf"
+
+ print_settings = PrintSetting.find_by_unique_code(unique_code)
+
+ printer = Printer::ReceiptPrinter.new(print_settings)
+
+ printer.print_crm_order(@booking,print_settings)
+
+ end
+
+ def update_sale_by_customer
+
+ sale = Sale.find(params[:sale_id])
+ status = sale.update_attributes(customer_id: params[:customer_id])
+
+ if status == true
+ render json: JSON.generate({:status => true})
+ else
+ render json: JSON.generate({:status => false, :error_message => "Record not found"})
+
+ end
+ end
+
end
+
diff --git a/app/controllers/origami/discounts_controller.rb b/app/controllers/origami/discounts_controller.rb
index 09ab1103..717f4e09 100644
--- a/app/controllers/origami/discounts_controller.rb
+++ b/app/controllers/origami/discounts_controller.rb
@@ -1,6 +1,15 @@
class Origami::DiscountsController < BaseOrigamiController
+
+ #discount page show from origami index with selected order
def index
+ sale_id = params[:id]
+ if Sale.exists?(sale_id)
+ @sale_data = Sale.find(sale_id)
+ end
end
+
def create
+
end
+
end
diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb
index 62289c89..c5b87b6b 100644
--- a/app/controllers/origami/request_bills_controller.rb
+++ b/app/controllers/origami/request_bills_controller.rb
@@ -1,5 +1,6 @@
class Origami::RequestBillsController < BaseOrigamiController
+
def print
@sale = Sale.new
sale_order=SaleOrder.new
@@ -25,4 +26,4 @@ class Origami::RequestBillsController < BaseOrigamiController
printer.print_receipt_bill(print_settings,@sale_items,@sale_data,customer_name)
redirect_to origami_root_path
end
-end
+
diff --git a/app/models/account.rb b/app/models/account.rb
index dc2e7cf8..5d775b83 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -2,7 +2,7 @@ class Account < ApplicationRecord
validates_presence_of :title, :account_type
has_many :menu_items
- # belongs_to :lookup , :class_name => "Lookup"
+
def self.collection
Account.select("id, title").map { |e| [e.title, e.id] }
end
diff --git a/app/models/customer.rb b/app/models/customer.rb
index 95901cce..6d2bd561 100644
--- a/app/models/customer.rb
+++ b/app/models/customer.rb
@@ -10,21 +10,26 @@ class Customer < ApplicationRecord
validates :contact_no, uniqueness: true
validates :email, uniqueness: true
+
def self.get_member_group
- gateway_url = MembershipSetting.find_by_membership_type("smartpay_url")
- url = gateway_url.gateway_url.to_s + "/api/get_all_member_group".to_s
- response = HTTParty.get(url)
+ membership = MembershipSetting.find_by_membership_type("smartpay_url")
+ app_token = membership.auth_token.to_s
+
+ url = membership.gateway_url.to_s + "/api/get_all_member_group".to_s
+ response = HTTParty.get(url,
+ :body => { app_token: app_token}.to_json,
+ :headers => {
+ 'Content-Type' => 'application/json',
+ 'Accept' => 'application/json'
+ }
+ )
puts response.body, response.code, response.message, response.headers.inspect
return response;
end
-# http://192.168.1.47:3006/api/create_membership_customer
-#get_all_member_group
-
-
def lastest_invoices
sales.where(:customer_id => self.id).order("created_at desc").limit(5)
end
diff --git a/app/models/printer/receipt_printer.rb b/app/models/printer/receipt_printer.rb
index d0819529..523b9ec9 100644
--- a/app/models/printer/receipt_printer.rb
+++ b/app/models/printer/receipt_printer.rb
@@ -72,4 +72,14 @@ class Printer::ReceiptPrinter < Printer::PrinterWorker
pdf.render_file "tmp/receipt_bill.pdf"
self.print("tmp/receipt_bill.pdf")
end
+
+ #Bill Receipt Print
+ def print_crm_order(booking,setting)
+ #Use CUPS service
+ #Generate PDF
+ #Print
+ pdf = CrmOrderPdf.new(booking,setting)
+ pdf.render_file "tmp/print_crm_order.pdf"
+ self.print("tmp/print_crm_order.pdf")
+ end
end
diff --git a/app/models/sale.rb b/app/models/sale.rb
index 1a9c9a28..b0f07cb0 100644
--- a/app/models/sale.rb
+++ b/app/models/sale.rb
@@ -55,8 +55,8 @@ class Sale < ApplicationRecord
generate_receipt_no
order = Order.find(order_id)
- #Default - Values
- self.tax_type = "execlusive"
+ #Default Tax - Values
+ self.tax_type = "exclusive"
self.requested_by = requested_by
self.requested_at = DateTime.now.utc
diff --git a/app/pdf/crm_order_pdf.rb b/app/pdf/crm_order_pdf.rb
new file mode 100644
index 00000000..36aed0a1
--- /dev/null
+++ b/app/pdf/crm_order_pdf.rb
@@ -0,0 +1,71 @@
+class CrmOrderPdf < Prawn::Document
+
+ def initialize(order_item, print_settings)
+ super(:margin => [10, 5, 30, 5], :page_size => [200,400])
+
+ # font "public/fonts/#{font_name}".to_s + ".ttf".to_s
+ # font "public/fonts/Zawgyi-One.ttf"
+ # font "public/fonts/padauk.ttf"
+ font_size 9
+ text "#{order_item.type}", :size => 15
+ stroke_horizontal_rule
+ move_down 5
+
+ #order_info
+ order_info(order_item.checkin_by,order_item.checkin_at, order_item.customer_id)
+
+ # order items
+ order_items(order_item)
+ end
+
+ # Write Order Information to PDF
+ def order_info(order_by, order_at, customer)
+ y_position = cursor
+
+ bounding_box([0,y_position], :width => 200, :height => 15) do
+ text "OrderBy:#{order_by} Customer:#{customer} Date:#{order_at.strftime("%Y-%m-%d")}", :size => 7,:align => :left
+ end
+
+ stroke_horizontal_rule
+
+ move_down 20
+ end
+
+ # Write Order items to PDF
+ def order_items(order_item)
+ y_position = cursor
+
+ bounding_box([0,y_position], :width => 180, :height => 15) do
+ text "Item", :size => 7,:align => :left
+ end
+
+ bounding_box([160,y_position], :width => 20, :height => 15) do
+ text "Qty", :size => 7,:align => :right
+ end
+
+ stroke_horizontal_rule
+ move_down 5
+
+ #Add Order Item
+ add_order_items(order_item)
+ end
+
+ # Add order items under order info
+ def add_order_items(order_item)
+ y_position = cursor
+
+ move_down 5
+
+ bounding_box([0,y_position], :width => 180, :height => 20) do
+ text "#{order_item.sale_id}", :size => 7,:align => :left
+ end
+
+ bounding_box([160,y_position], :width => 20, :height => 20) do
+ text "#{order_item.sale_id}", :size => 7,:align => :right
+ end
+
+ move_down 5
+
+ end
+
+end
diff --git a/app/views/crm/customers/_form.html.erb b/app/views/crm/customers/_form.html.erb
index 533710a9..758a52a2 100644
--- a/app/views/crm/customers/_form.html.erb
+++ b/app/views/crm/customers/_form.html.erb
@@ -8,7 +8,6 @@
<%= f.input :contact_no %>
<%= f.input :email %>
<%= f.input :date_of_birth %>
- <%= f.input :membership_id, :collection => @membership %>
<%= f.input :membership_type %>
<%= f.input :membership_authentication_code %>
@@ -17,3 +16,5 @@
<%= f.button :submit %>
<% end %>
+
+
\ No newline at end of file
diff --git a/app/views/crm/customers/index.html.erb b/app/views/crm/customers/index.html.erb
index d866d47d..86f267b0 100644
--- a/app/views/crm/customers/index.html.erb
+++ b/app/views/crm/customers/index.html.erb
@@ -1,20 +1,20 @@
-
+
@@ -22,6 +22,7 @@
+ Select
Name
Company
Contact no
@@ -32,10 +33,16 @@
<% @crm_customers.each do |crm_customer| %>
+
+
<%= crm_customer.name %>
<%= crm_customer.company %>
<%= crm_customer.contact_no %>
<%= crm_customer.email %>
+
+ <%= link_to 'Destroy', crm_customer_path(crm_customer), method: :delete, data: { confirm: 'Are you sure?' } %>
+
+
<% end %>
@@ -46,55 +53,61 @@
-
- <%= simple_form_for crm_customers_path, :html => { :class => 'form-horizontal' } do |f| %>
-
+
+ <%= simple_form_for @crm_customer,:url => crm_customers_path, :method => :post do |f| %>
+
+
+ <%= f.hidden_field :id, :class => "form-control col-md-6 " %>
+
- <%= f.input :name, :class => "form-control col-md-6" %>
-
-
- <%= f.input :company, :class => "form-control col-md-6" %>
-
-
- <%= f.input :contact_no, :class => "form-control col-md-6" %>
-
-
- <%= f.input :email, :class => "form-control col-md-6" %>
-
+ <%= f.input :name, :class => "form-control col-md-6 name" %>
+
- Date Of Birth
- <%= f.text_field :date_of_birth,:class=>"form-control datepicker",:readonly =>true, :value => @date_of_birth%>
+ <%= f.input :company, :class => "form-control col-md-6 company" %>
+
+
+ <%= f.input :contact_no, :class => "form-control col-md-6 contact_no" %>
+
+
+
+
+ <%= f.input :email, :class => "form-control col-md-6 email" %>
+
+
+
+ Date Of Birth
+ <%= f.text_field :date_of_birth,:class=>"form-control datepicker date_of_birth",:readonly =>true, :value => @date_of_birth%>
- <%= f.select :membership_id, options_for_select(@membership.collect { |member|
- [member["id"].name.titleize, member["id"].id] }, 1), {}, { id: 'countries_select' } %>
-
+
Select Member Group
- <% @membership.each do |member| %>
+ <% @member_group.each do |member| %>
">
<%= member["name"] %>
<%end %>
-
+
-
+
- <%= f.input :membership_type, :class => "form-control col-md-6" %>
+ <%= f.input :membership_type, :class => "form-control col-md-6 membership_type" %>
- <%= f.input :membership_authentication_code, :class => "form-control col-md-6" %>
+ <%= f.input :membership_authentication_code, :class => "form-control col-md-6 membership_authentication_code" %>
- <%= f.button :submit, "Submit", :class => 'btn btn-primary' , :id => 'submit_account' %>
+ <%= f.button :submit, "Submit",:class => 'btn btn-primary ', :id => 'submit_customer' %>
+ <%= f.button :submit, "Update",:class => 'btn btn-primary ', :disabled =>'', :id => 'update_customer' %>
<%end%>
-
+
+
+
+
+
+
diff --git a/app/views/crm/customers/show.html.erb b/app/views/crm/customers/show.html.erb
index 30341a00..da88e887 100644
--- a/app/views/crm/customers/show.html.erb
+++ b/app/views/crm/customers/show.html.erb
@@ -25,10 +25,6 @@
<%= @crm_customer.date_of_birth %>
-
- Membership:
- <%= @crm_customer.membership %>
-
Membership type:
diff --git a/app/views/crm/customers/show.json.jbuilder b/app/views/crm/customers/show.json.jbuilder
index 24d20eca..bd9680de 100644
--- a/app/views/crm/customers/show.json.jbuilder
+++ b/app/views/crm/customers/show.json.jbuilder
@@ -1 +1,2 @@
-json.partial! "crm_customers/crm_customer", crm_customer: @crm_customer
+json.extract! @crm_customer, :id, :name, :company, :contact_no, :email, :date_of_birth, :membership_id, :membership_type, :membership_authentication_code, :created_at, :updated_at
+json.url crm_customer_url(@crm_customer, format: :json)
diff --git a/app/views/crm/home/_booking.html.erb b/app/views/crm/home/_booking.html.erb
index d4f2a756..18b0a83e 100644
--- a/app/views/crm/home/_booking.html.erb
+++ b/app/views/crm/home/_booking.html.erb
@@ -4,9 +4,9 @@
<% @i = 0 %>
<% @booking.each do |booking| %>
- <% if booking.booking_status == "assign" %>
+ <% if booking.booking_status == "new" %>
-
+
<%= @i += 1 %> . <%= booking.dining_facility.name %>
- <%= booking.id %>
@@ -36,14 +36,21 @@
diff --git a/app/views/layouts/CRM.html.erb b/app/views/layouts/CRM.html.erb
index 4bd98526..41de0ca2 100644
--- a/app/views/layouts/CRM.html.erb
+++ b/app/views/layouts/CRM.html.erb
@@ -17,7 +17,7 @@
<%= render 'layouts/header_crm' %>
<% flash.each do |type, message| %>
-
+
×
<%= message %>
diff --git a/app/views/origami/discounts/index.html.erb b/app/views/origami/discounts/index.html.erb
new file mode 100644
index 00000000..d4d2f177
--- /dev/null
+++ b/app/views/origami/discounts/index.html.erb
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
Receipt No: <%=@sale_data.receipt_no rescue ' '%>
+
Cashier: <%=@sale_data.cashier_name rescue ' '%>
+
+
+
Date: <%=@sale_data.receipt_date.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%>
+
+
+
+
+
+
+ Items
+ QTY
+ Price
+
+
+
+ <% sub_total = 0 %>
+ <% @sale_data.sale_items.each do |sale_item| %>
+ <% sub_total += sale_item.qty*sale_item.unit_price%>
+
+
+ <%=sale_item.product_name%>@<%=sale_item.unit_price%>
+
+
+ <%=sale_item.qty%>
+
+
+ <%=(sale_item.qty*sale_item.unit_price)%>
+
+
+ <%end %>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb
index a8301f52..85de2ef3 100644
--- a/app/views/origami/home/index.html.erb
+++ b/app/views/origami/home/index.html.erb
@@ -1,6 +1,6 @@
-
-
+
Add Order
Edit
Move
- Customer
+ Customer
Req.Bill
- Discount
+ Discount
Tax
Pay
Re.Print
+
+
+
diff --git a/config/routes.rb b/config/routes.rb
index cfe6ef44..08aabcea 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -77,12 +77,12 @@ Rails.application.routes.draw do
get "/request_bills/:id" => "request_bills#print"
+ get "/discount/:id" => "discounts#index"
+ #--------- Payment ------------#
get 'sale/:sale_id/payment' => 'payments#show'
post 'payment_process' => 'payments#create'
post 'paypar_payment_process' => 'paypar_payments#create'
-
-
get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index"
get 'sale/:sale_id/payment/others_payment' => "others_payments#index"
@@ -98,12 +98,12 @@ Rails.application.routes.draw do
#--------- Customer Relationship Management ------------#
namespace :crm do
root "home#index" #queue number
- #customers
+ get 'customers/:sale_id/assign_sale_id', to: "customers#get_sale_id", :as => "assign_sale"#get sale id with customer for crm
resources :customers
- #membership
- #bookings
- post "update_booking" , to: "bookings#update_booking", as: "update_booking"
- #queue
+ post "update_booking" , to: "bookings#update_booking", as: "update_booking"#assign and cancel
+ post "update_sale" , to: "home#update_sale_by_customer"#update customer id in sale table
+ get '/print/:id', to: "home#print_order"#print order for crm
+
end
#--------- Order Queue Station ------------#
diff --git a/db/migrate/2017031024747_create_accounts.rb b/db/migrate/2017031024747_create_accounts.rb
deleted file mode 100644
index 5816aace..00000000
--- a/db/migrate/2017031024747_create_accounts.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-class CreateAccounts < ActiveRecord::Migration[5.1]
- def change
- create_table :accounts do |t|
- t.string :title
- t.string :account_type
-
- t.timestamps
- end
- end
-end