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" %> +
- - <%= 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" %> +
+ +
+ + <%= 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' } %> - - <% @membership.each do |member| %> + <% @member_group.each do |member| %> <%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 @@ +
+ +
+ + +
+
+
ORDER DETAILS -
+
+
+
+
+

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 '-'%>

+
+
+
+ + + + + + + + <% sub_total = 0 %> + <% @sale_data.sale_items.each do |sale_item| %> + <% sub_total += sale_item.qty*sale_item.unit_price%> + + + + + + <%end %> + +
ItemsQTY + Price +
+ <%=sale_item.product_name%>@<%=sale_item.unit_price%> + + <%=sale_item.qty%> + + <%=(sale_item.qty*sale_item.unit_price)%> +
+
+ +
+
+
+ + + +
+ +
+
+
Pay Discount
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
1
+
2
+
3
+
+
+
+
500
+
+
+ +
+
+
+
4
+
5
+
6
+
+
+
+
1000
+
+
+ +
+
+
+
7
+
8
+
9
+
+
+
+
5000
+
+
+ +
+
+
+
0
+
.
+
00
+
+
+
+
10000
+
+
+ +
+
+
+
+
DEL
+
CLR
+
+
+
+
50000
+
+
+
+
+
+
+
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 @@
-
+
-
- +

- + - +

+ + + 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