From 516b854fba7f571e02a33dfd80ab7c49f632a228 Mon Sep 17 00:00:00 2001 From: Min Zeya Phyo Date: Tue, 30 May 2017 23:46:22 +0800 Subject: [PATCH 01/58] shop_setup branch --- app/forms/shop_form.rb | 7 ++++++ app/models/booking.rb | 3 ++- app/models/booking_order.rb | 2 ++ app/models/order.rb | 2 ++ app/models/order_item.rb | 2 ++ app/models/sale.rb | 2 ++ app/models/sale_audit.rb | 2 ++ app/models/sale_item.rb | 2 ++ app/models/sale_order.rb | 2 ++ app/models/sale_payment.rb | 2 ++ app/models/sale_tax.rb | 2 ++ app/models/seed_generator.rb | 19 ++++++++++++++ app/models/shop.rb | 2 ++ .../20170403163734_create_sale_payments.rb | 2 +- .../20170408105938_create_seed_generators.rb | 1 - db/migrate/20170530072247_create_shops.rb | 25 +++++++++++++++++++ spec/models/shop_spec.rb | 5 ++++ 17 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 app/forms/shop_form.rb create mode 100644 app/models/shop.rb create mode 100644 db/migrate/20170530072247_create_shops.rb create mode 100644 spec/models/shop_spec.rb diff --git a/app/forms/shop_form.rb b/app/forms/shop_form.rb new file mode 100644 index 00000000..19af84a5 --- /dev/null +++ b/app/forms/shop_form.rb @@ -0,0 +1,7 @@ +#Form object to use during the installation process - will handle creation of shop model into db after verification from the cloud +#provising service through license verification + +class ShopForm < ActiveModel + :attr_accessor :logo, :name, :address, :township, :city, :state, :country, :license, :base_currency, :password, :password_confirmation + +end diff --git a/app/models/booking.rb b/app/models/booking.rb index c6a6452e..c34ecf42 100644 --- a/app/models/booking.rb +++ b/app/models/booking.rb @@ -1,5 +1,6 @@ class Booking < ApplicationRecord - + #primary key - need to be unique + belongs_to :dining_facility, :optional => true belongs_to :sale, :optional => true has_many :booking_orders diff --git a/app/models/booking_order.rb b/app/models/booking_order.rb index c0883967..c9f748f0 100644 --- a/app/models/booking_order.rb +++ b/app/models/booking_order.rb @@ -1,4 +1,6 @@ class BookingOrder < ApplicationRecord + #primary key - need to be unique + belongs_to :booking belongs_to :order end diff --git a/app/models/order.rb b/app/models/order.rb index 0bec3a1e..b6367f42 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -1,4 +1,6 @@ class Order < ApplicationRecord + #primary key - need to be unique + before_create :set_order_date belongs_to :customer diff --git a/app/models/order_item.rb b/app/models/order_item.rb index afba7d7e..596d5ccf 100644 --- a/app/models/order_item.rb +++ b/app/models/order_item.rb @@ -1,4 +1,6 @@ class OrderItem < ApplicationRecord + #primary key - need to be unique + #Associations belongs_to :order, autosave: true diff --git a/app/models/sale.rb b/app/models/sale.rb index 37819c9b..744baafa 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -1,3 +1,5 @@ +#primary key - need to be unique generated for multiple shops + class Sale < ApplicationRecord #before_create :generate_receipt_no belongs_to :cashier, :optional => true diff --git a/app/models/sale_audit.rb b/app/models/sale_audit.rb index 15fee460..cce6982d 100644 --- a/app/models/sale_audit.rb +++ b/app/models/sale_audit.rb @@ -1,4 +1,6 @@ class SaleAudit < ApplicationRecord +#primary key - need to be unique generated for multiple shops + belongs_to :sale def record_audit_void(sale_id, void_by, approved_by, reason) diff --git a/app/models/sale_item.rb b/app/models/sale_item.rb index 82b20237..c92ed48f 100644 --- a/app/models/sale_item.rb +++ b/app/models/sale_item.rb @@ -1,4 +1,6 @@ class SaleItem < ApplicationRecord +#primary key - need to be unique generated for multiple shops + belongs_to :sale #compute items - discount, tax, price_change diff --git a/app/models/sale_order.rb b/app/models/sale_order.rb index 7a27f5a3..23fd39bd 100644 --- a/app/models/sale_order.rb +++ b/app/models/sale_order.rb @@ -1,4 +1,6 @@ class SaleOrder < ApplicationRecord +#primary key - need to be unique generated for multiple shops + belongs_to :sale belongs_to :order end diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 71793f4c..2f7b72ea 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -1,4 +1,6 @@ class SalePayment < ApplicationRecord +#primary key - need to be unique generated for multiple shops + belongs_to :sale :attr_accessor :received_amount, :card_payment_reference, :voucher_no, :giftcard_no, :customer_id, :external_payment_status diff --git a/app/models/sale_tax.rb b/app/models/sale_tax.rb index cb3fae0b..6e0a2d47 100644 --- a/app/models/sale_tax.rb +++ b/app/models/sale_tax.rb @@ -1,3 +1,5 @@ class SaleTax < ApplicationRecord +#primary key - need to be unique generated for multiple shops + belongs_to :sale end diff --git a/app/models/seed_generator.rb b/app/models/seed_generator.rb index 573e0ff6..4351e74b 100644 --- a/app/models/seed_generator.rb +++ b/app/models/seed_generator.rb @@ -1,4 +1,23 @@ class SeedGenerator < ApplicationRecord + def self.generate_id(model, prefix) + seed = SeedGenerator.find_by_model(model) + new_receipt_no = 0 + if (seed.nil?) + seed = SeedGenerator.new() + seed.model = model + new_receipt_no = seed.next + seed.save + + else + current_no = seed.next + seed.next = seed.next + seed.increase_by + seed.current = current_no + seed.save + end + + return prefix + "-" + seed.current.to_s + end + def self.new_receipt_no seed = SeedGenerator.find_by_model("sale") new_receipt_no = 0 diff --git a/app/models/shop.rb b/app/models/shop.rb new file mode 100644 index 00000000..1cf1119c --- /dev/null +++ b/app/models/shop.rb @@ -0,0 +1,2 @@ +class Shop < ApplicationRecord +end diff --git a/db/migrate/20170403163734_create_sale_payments.rb b/db/migrate/20170403163734_create_sale_payments.rb index dd440036..3da5cb17 100644 --- a/db/migrate/20170403163734_create_sale_payments.rb +++ b/db/migrate/20170403163734_create_sale_payments.rb @@ -7,7 +7,7 @@ class CreateSalePayments < ActiveRecord::Migration[5.0] t.decimal :outstanding_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 t.string :payment_reference t.string :payment_status, :null => false, :default => "new" - + t.timestamps end end diff --git a/db/migrate/20170408105938_create_seed_generators.rb b/db/migrate/20170408105938_create_seed_generators.rb index 6ccf669f..eb58749a 100644 --- a/db/migrate/20170408105938_create_seed_generators.rb +++ b/db/migrate/20170408105938_create_seed_generators.rb @@ -5,7 +5,6 @@ class CreateSeedGenerators < ActiveRecord::Migration[5.0] t.integer :increase_by, :null => false, :default => 1 t.bigint :current, :null => false ,:default => 1 t.bigint :next, :null => false, :default => 2 - t.timestamps end end diff --git a/db/migrate/20170530072247_create_shops.rb b/db/migrate/20170530072247_create_shops.rb new file mode 100644 index 00000000..25de6c6a --- /dev/null +++ b/db/migrate/20170530072247_create_shops.rb @@ -0,0 +1,25 @@ +class CreateShops < ActiveRecord::Migration[5.1] + def change + create_table :shops do |t| + t.string :logo + t.string :name, :null => false + t.string :address, :null => false + t.string :township, :null => false + t.string :city, :null => false + t.string :state, :null => false + t.string :country, :null => false + t.string :phone_no, :null => false + t.string :reserviation_no, :null => false + t.string :license, :null => false + t.datetime :activated_at, :null => false + t.text :license_data, :null => false + t.string :base_currency, :null => false, :limit => 3 + t.string :cloud_url + t.string :cloud_token + t.string :owner_token + t.string :id_prefix, :null => false, :limit => 3 + + t.timestamps + end + end +end diff --git a/spec/models/shop_spec.rb b/spec/models/shop_spec.rb new file mode 100644 index 00000000..9fd43ff8 --- /dev/null +++ b/spec/models/shop_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Shop, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end From 166e4162775a60ffad5ab37c49af106e070f0f1d Mon Sep 17 00:00:00 2001 From: PhyoTheingi Date: Thu, 1 Jun 2017 17:56:56 +0630 Subject: [PATCH 02/58] Menu Item Option Route Fix --- .../settings/menu_categories/show.html.erb | 7 +++++- .../menu_item_attributes/show.html.erb | 2 +- .../settings/menu_item_options/edit.html.erb | 2 +- .../settings/set_menu_items/edit.html.erb | 11 +++------- .../settings/set_menu_items/index.html.erb | 22 ++++++++++++++----- .../settings/set_menu_items/show.html.erb | 8 +++---- .../settings/simple_menu_items/_form.html.erb | 1 + .../settings/simple_menu_items/index.html.erb | 6 +++++ 8 files changed, 39 insertions(+), 20 deletions(-) diff --git a/app/views/settings/menu_categories/show.html.erb b/app/views/settings/menu_categories/show.html.erb index 21885b8b..dcd7b45d 100644 --- a/app/views/settings/menu_categories/show.html.erb +++ b/app/views/settings/menu_categories/show.html.erb @@ -70,10 +70,15 @@ <%= settings_menu_item.parent.name rescue "-" %> <%= settings_menu_item.created_by %> <%=l settings_menu_item.created_at, :format => :short %> - + <% if settings_menu_item.type == "SimpleMenuItem" %> <%= link_to 'Show', settings_menu_category_simple_menu_item_path(@settings_menu_category, settings_menu_item ) %> <%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@settings_menu_category, settings_menu_item) %> <%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@settings_menu_category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> + <% else %> + <%= link_to 'Show', settings_menu_category_set_menu_item_path(@settings_menu_category, settings_menu_item ) %> + <%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@settings_menu_category, settings_menu_item) %> + <%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@settings_menu_category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> + <% end %> <% end %> diff --git a/app/views/settings/menu_item_attributes/show.html.erb b/app/views/settings/menu_item_attributes/show.html.erb index 5517c716..35e4e6ab 100644 --- a/app/views/settings/menu_item_attributes/show.html.erb +++ b/app/views/settings/menu_item_attributes/show.html.erb @@ -2,7 +2,7 @@ @@ -40,7 +40,13 @@
-

Menu Items

+

Menu Items + + <%= link_to "New Simple Menu Item",new_settings_menu_category_simple_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %> + <%= link_to "New Set Menu Item",new_settings_menu_category_set_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %> + + +

@@ -67,9 +73,15 @@ - - - + <% if settings_menu_item.type == "SimpleMenuItem" %> + + + + <% else %> + + + + <% end %> <% end %> diff --git a/app/views/settings/set_menu_items/show.html.erb b/app/views/settings/set_menu_items/show.html.erb index 271039ef..a76f851a 100644 --- a/app/views/settings/set_menu_items/show.html.erb +++ b/app/views/settings/set_menu_items/show.html.erb @@ -36,13 +36,13 @@ - - - + + + - +
<%= settings_menu_item.created_by %> <%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
<%= @settings_menu_item.name rescue "-" %> <%= @settings_menu_item.alt_name %> <%= @settings_menu_item.type %><%= @settings_menu_item.menu_category %><%= @settings_menu_item.menu_item %><%= @settings_menu_item.menu_qty %><%= @settings_menu_item.menu_category_id %><%= @settings_menu_item.menu_item_id %><%= @settings_menu_item.min_qty %> <%= @settings_menu_item.min_selectable_item %> <%= @settings_menu_item.max_selectable_item %> <%=l @settings_menu_item.created_at, format: :short %><%= link_to 'Edit', edit_settings_menu_menu_item_path(@settings_menu_category, @settings_menu_category) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, @settings_menu_item) %>
diff --git a/app/views/settings/simple_menu_items/_form.html.erb b/app/views/settings/simple_menu_items/_form.html.erb index d187847a..885f725e 100644 --- a/app/views/settings/simple_menu_items/_form.html.erb +++ b/app/views/settings/simple_menu_items/_form.html.erb @@ -5,6 +5,7 @@ <%= f.input :item_code %> <%= f.input :name %> <%= f.input :alt_name %> + <%= f.input :type %> <%= f.input :menu_item_id, :label => "Parent Menu Item", :collection => MenuItem.collection %> <%= f.input :min_qty %> <%= f.input :min_selectable_item %> diff --git a/app/views/settings/simple_menu_items/index.html.erb b/app/views/settings/simple_menu_items/index.html.erb index ac840784..4a9efb75 100644 --- a/app/views/settings/simple_menu_items/index.html.erb +++ b/app/views/settings/simple_menu_items/index.html.erb @@ -72,9 +72,15 @@ <%= settings_menu_item.created_by %> <%=l settings_menu_item.created_at, :format => :short %> + <% if settings_menu_item.type == "SimpleMenuItem" %> <%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %> <%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %> <%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> + <% else %> + <%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %> + <%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %> + <%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %> + <% end %> <% end %> From f28f0bf292dbcfc682327e8933b682cb000f9510 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 1 Jun 2017 18:37:15 +0630 Subject: [PATCH 03/58] UI updated --- Gemfile | 2 +- Gemfile.lock | 3 - app/assets/javascripts/OQS.js | 27 +++-- app/controllers/oqs/home_controller.rb | 54 ++++++--- app/views/oqs/home/index.html.erb | 153 +++++++++++++++---------- 5 files changed, 149 insertions(+), 90 deletions(-) diff --git a/Gemfile b/Gemfile index 08464196..1481501c 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ gem 'mysql2', '>= 0.3.18', '< 0.5' #gem 'pg' # redis server for cable -gem 'redis', '~> 3.0' +# gem 'redis', '~> 3.0' # Use Puma as the app server gem 'puma', '~> 3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 0c3a3a27..e2c1dd73 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -119,7 +119,6 @@ GEM nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) - pg (0.20.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -253,13 +252,11 @@ DEPENDENCIES kaminari! listen (~> 3.0.5) mysql2 (>= 0.3.18, < 0.5) - pg prawn prawn-table puma (~> 3.0) rack-cors rails (~> 5.1.0) - redis (~> 3.0) rspec-rails (~> 3.5) sass-rails (~> 5.0) schema_to_scaffold diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 091b6822..eb2bc9cb 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -17,21 +17,32 @@ //= require cable $(document).ready(function(){ - $('.queue_station').on('click',function(){ - var title=$(this).children().children('.card-title').text(); - var titles=title.split(' '); - + $('.queue_station').on('click',function(){ + var orderZone=$(this).children().children().children('.order-zone').text(); + var orderItem=$(this).children().children().children('.order-item').text(); + var orderQty=$(this).children().children().children('.order-qty').text(); var orderBy=$(this).children().children().children().children('.order-by').text(); var orderAt=$(this).children().children().children().children('.order-at').text(); var orderCustomer=$(this).children().children('.order-customer').text(); - $('#order-title').text($('#order-title').text() + titles[0]); + $('#order-title').text("ORDER DETAILS - " + orderZone); $('#order-by').text(orderBy); $('#order-at').text(orderAt); $('#order-customer').text(orderCustomer); - $('#order-from').text(titles[0]); + $('#order-from').text(orderZone); - $('#order-items').text(titles[1]); - $('#order-qty').text(titles[2].substr(2).replace(']','')); + $('#order-items').text(orderItem); + $('#order-qty').text(orderQty); + }); + + // complete for queue item + $('.order-complete').on('click',function(){ + var assigned_item_id=$(this).attr('id').substr(15); + $.ajax({ + url: "", + data: "" + }).done(function(){ + + }); }); }); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index 0f73d20d..f59f2f18 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -1,31 +1,47 @@ class Oqs::HomeController < BaseOqsController def index @queue_stations=OrderQueueStation.all + + @queue_items_details = queue_items_query('false') - #sample Data - @queue_items_details = { :queue_id => 1, :order_id => 1, :station_name => 'Queue Station 1', :zone => 'Table4', :item_name => 'beef', :price => 10.00, :qty => 2, :customer => 'Wathon', :item_order_by => 'Yan', :created_at => '2007-05-17'} - # @queue_items_details = OrderItem.select("oqs as queue_id, oqs.station_name, oqs.is_active, oqpz.zone_id, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, odt.created_at") - # .joins("join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = order_queue_items.order_queue_station_id") - # .joins("right join order_queue_stations as oqs ON oqs.id = order_queue_items.order_queue_station_id") - # .joins("right join orders as od ON od.id = order_queue_items.order_id") - # .joins("right join order_items as odt ON odt.item_code = order_queue_items.item_code") - # .order("odt.item_name DESC") + @queue_completed_item = queue_items_query('true') + + @queue_stations_items=Array.new - + # Calculate Count for each station tab + @queue_stations.each do |que| + i=0 + @queue_items_details.each do |qid| + if qid.station_name == que.station_name + i+=1 + @queue_stations_items.push({:station_name => que.station_name ,:item_count => i }) + break + end + end + end - # Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, - # order_items.id as order_items_id,dining_facilities.name as table_name") - # .joins("left join booking_orders on booking_orders.order_id = orders.id - # left join bookings on bookings.id = booking_orders.id - # left join dining_facilities on dining_facilities.id = bookings.dining_facility_id - # left join order_items on order_items.order_id = orders.id") - # .where("dining_facilities.type=? and orders.order_type=? and dining_facilities.is_active=?",DiningFacility::TABLE_TYPE,"dine_in",true) - # .group("orders.id") + @queue_stations_items end def show end + + def update_delivery_status + + end + + # Query for OQS with status + def queue_items_query(status) + AssignedOrderItem.select("assigned_order_items.id, oqs.station_name, oqs.is_active, df.name as zone, odt.item_code, odt.item_name, odt.price, odt.qty, odt.item_order_by, cus.name as customer_name, odt.created_at") + .joins("join order_queue_process_by_zones as oqpz ON oqpz.order_queue_station_id = assigned_order_items.order_queue_station_id + left join dining_facilities as df on df.zone_id = oqpz.zone_id + left join order_queue_stations as oqs ON oqs.id = assigned_order_items.order_queue_station_id + left join orders as od ON od.id = assigned_order_items.order_id + left join order_items as odt ON odt.item_code = assigned_order_items.item_code + left join customers as cus ON cus.id = od.customer_id") + .where('assigned_order_items.delivery_status=' + status) + .group('oqs.station_name') + .order("odt.item_name DESC") + end end - - diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index 24fa00d0..4e0b16ad 100644 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -1,14 +1,16 @@
-
- + +
-
+
-
-
-
-
-

9. Table 4 - Beef Steak [x3]

-

Well Done, Fries, Salad

-

- Order at 12:23, Kyaw Lwin | - Printed at 12:23 | - Completed at 12:43 -

-
-
- +
+
+ <% + @queue_completed_item.each do |qid| + %> +
+
+

+ + <%= qid.zone %> + - + + <%= qid.item_name %> + [x + + <%= qid.qty %> + ] +

+

Medium, Fries, Salad

+

+ Order at + + <%= qid.created_at.strftime("%Y %m %d") %> + - + + <%= qid.item_order_by %> + + +

+ +
+ +
+ <% + end + %>
-
+ - <% + + <% @queue_stations.each do |que| %> -
role="tabpanel"> +
role="tabpanel"> -
- <% - if @queue_items_details[:station_name] == que.station_name +
+ <% + @queue_items_details.each do |qid| + if qid.station_name == que.station_name %>
-

<%= @queue_items_details[:zone] + ' ' + @queue_items_details[:item_name] + ' [x' + @queue_items_details[:qty].to_s + ']' %>

+

+ + <%= qid.zone %> + - + + <%= qid.item_name %> + [x + + <%= qid.qty %> + ] +

Medium, Fries, Salad

Order at - <%= @queue_items_details[:created_at] %> + <%= qid.created_at.strftime("%Y %m %d") %> - - <%= @queue_items_details[:item_order_by] %> + <%= qid.item_order_by %>

- +
<% + end end %> @@ -93,17 +130,16 @@
- <% end %> + <% end %> +
- - -
+
-
ORDER DETAILS -
+
ORDER DETAILS -
@@ -117,28 +153,26 @@ - Kyaw Lwin - 20/04/17 9:30PM - John Smith + + + Table/Room - + +
+
- -
ItemsQTY + QTY
-
-
- - +
From 7020d4957a9e23670782b37c63f869fa3b011506 Mon Sep 17 00:00:00 2001 From: PhyoTheingi Date: Thu, 1 Jun 2017 18:44:30 +0630 Subject: [PATCH 04/58] constraint to min_qty --- app/controllers/settings/simple_menu_items_controller.rb | 4 ++-- app/models/menu_item.rb | 1 + app/views/settings/set_menu_items/new.html.erb | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/controllers/settings/simple_menu_items_controller.rb b/app/controllers/settings/simple_menu_items_controller.rb index 6b3c4bb4..4057cf72 100644 --- a/app/controllers/settings/simple_menu_items_controller.rb +++ b/app/controllers/settings/simple_menu_items_controller.rb @@ -1,6 +1,6 @@ class Settings::SimpleMenuItemsController < ApplicationController - before_action :set_settings_menu_item, only: [:show, :edit, :update, :destroy] - before_action :set_settings_menu_category, only: [:index, :show, :edit, :new, :update] + before_action :set_settings_menu_item, only: [:show, :edit, :update, :destroy ] + before_action :set_settings_menu_category, only: [:index, :show, :edit, :new, :update ,:create] # GET /settings/menu_items # GET /settings/menu_items.json def index diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 70528e83..e84ce61e 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -3,6 +3,7 @@ class MenuItem < ApplicationRecord has_many :menu_item_instances belongs_to :parent, :class_name => "MenuItem", foreign_key: "menu_item_id", :optional => true has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id" + validates_presence_of :item_code, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item default_scope { order('item_code asc') } diff --git a/app/views/settings/set_menu_items/new.html.erb b/app/views/settings/set_menu_items/new.html.erb index 7b234827..6c7b6e76 100644 --- a/app/views/settings/set_menu_items/new.html.erb +++ b/app/views/settings/set_menu_items/new.html.erb @@ -13,5 +13,5 @@
  • New
  • - <%= render 'form', settings_menu_item: @settings_menu_item %> + <%= render 'form', settings_set_menu_item: @settings_menu_item %> From acbd8acf04728c9278b9f273ee288a174738b6e5 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Thu, 1 Jun 2017 18:47:08 +0630 Subject: [PATCH 05/58] Append Order Detail view finished --- app/controllers/api/bookings_controller.rb | 11 +- app/controllers/api/orders_controller.rb | 5 +- app/controllers/crm/home_controller.rb | 30 ++--- app/views/api/bookings/show.json.jbuilder | 2 + app/views/crm/home/_booking.html.erb | 135 +++++++++++++++++---- app/views/crm/home/index.html.erb | 42 +++---- config/routes.rb | 6 + 7 files changed, 166 insertions(+), 65 deletions(-) diff --git a/app/controllers/api/bookings_controller.rb b/app/controllers/api/bookings_controller.rb index 8f10655f..03ca0b5d 100644 --- a/app/controllers/api/bookings_controller.rb +++ b/app/controllers/api/bookings_controller.rb @@ -1,5 +1,5 @@ class Api::BookingsController < Api::ApiController - + skip_before_action :authenticate #Show customer by ID def index @@ -10,6 +10,15 @@ class Api::BookingsController < Api::ApiController @booking = Booking.find(params[:id]) end + def update_booking + + +booking = Booking.find_by(id: params[:booking]) +booking.update_all(booking_status: 'Dave') + + + end + # private # def Bookings_params # params.permit(:id, :order_id) diff --git a/app/controllers/api/orders_controller.rb b/app/controllers/api/orders_controller.rb index d0fe2a77..0aea3cf6 100644 --- a/app/controllers/api/orders_controller.rb +++ b/app/controllers/api/orders_controller.rb @@ -7,7 +7,10 @@ class Api::OrdersController < Api::ApiController order = Order.find(params[:order_id]) order.order_items end - + def get_order + order = Order.find(params[:order_id]) + order.order_items + end # Description # This API allow new order creation diff --git a/app/controllers/crm/home_controller.rb b/app/controllers/crm/home_controller.rb index 2a7153f8..083f2bf7 100644 --- a/app/controllers/crm/home_controller.rb +++ b/app/controllers/crm/home_controller.rb @@ -1,22 +1,22 @@ class Crm::HomeController < BaseCrmController def index - # @booking = Booking.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.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") - + @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 diff --git a/app/views/api/bookings/show.json.jbuilder b/app/views/api/bookings/show.json.jbuilder index d579810c..c4edb79f 100644 --- a/app/views/api/bookings/show.json.jbuilder +++ b/app/views/api/bookings/show.json.jbuilder @@ -2,6 +2,8 @@ if (@booking) json.id @booking.id json.status @booking.booking_status json.checkin_at @booking.checkin_at + json.checkin_by @booking.checkin_by + json.table_name @booking.dining_facility.name if @booking.type == "TableBooking" json.table_id @booking.dining_facility_id diff --git a/app/views/crm/home/_booking.html.erb b/app/views/crm/home/_booking.html.erb index cf983116..09e835c0 100644 --- a/app/views/crm/home/_booking.html.erb +++ b/app/views/crm/home/_booking.html.erb @@ -1,26 +1,111 @@ -
    - - <% @i = 0 %> - <% @booking.each do |booking| %> -
    -
    -

    - <%= @i += 1 %> . <%= booking.dining_facility.name %> - - <%= booking.item_name %> -

    -

    Medium, Fries, Salad -

    -

    - - Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %> - -

    -
    - -
    - <% end %> - -
    \ No newline at end of file +
    + + <% @i = 0 %> + <% @booking.each do |booking| %> +
    +
    +

    + <%= @i += 1 %> . <%= booking.dining_facility.name %> + - <%= booking.id %> +

    + +

    + + Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %> + +

    +
    + +
    +<% end %> + +
    + \ No newline at end of file diff --git a/app/views/crm/home/index.html.erb b/app/views/crm/home/index.html.erb index 07e58652..800ff2f9 100644 --- a/app/views/crm/home/index.html.erb +++ b/app/views/crm/home/index.html.erb @@ -8,7 +8,7 @@ Queue 2000
    +
    +
    +
    +

    Sub Menu Items

    + + + + + + + + + + + + + + + + <% @sub_menu.each do |settings_menu_item| %> + + + + + + + + + + <% if settings_menu_item.type == "SimpleMenuItem" %> + + + + <% else %> + + + + <% end %> + + <% end %> + +
    Item codeNameAlt nameTypeParent ItemCreated byCreated at
    <%= settings_menu_item.item_code %><%= settings_menu_item.name %><%= settings_menu_item.alt_name %><%= settings_menu_item.type %><%= settings_menu_item.parent.name rescue "-" %><%= settings_menu_item.created_by %><%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
    +
    +
    + <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
    diff --git a/app/views/settings/simple_menu_items/show.html.erb b/app/views/settings/simple_menu_items/show.html.erb index 60e7c596..97e12695 100644 --- a/app/views/settings/simple_menu_items/show.html.erb +++ b/app/views/settings/simple_menu_items/show.html.erb @@ -9,7 +9,6 @@
    -

    Menu Item

    @@ -48,5 +47,50 @@
    +
    +
    +
    +

    Sub Menu Items

    + + + + + + + + + + + + + + + + <% @sub_menu.each do |settings_menu_item| %> + + + + + + + + + + <% if settings_menu_item.type == "SimpleMenuItem" %> + + + + <% else %> + + + + <% end %> + + <% end %> + +
    Item codeNameAlt nameTypeParent ItemCreated byCreated at
    <%= settings_menu_item.item_code %><%= settings_menu_item.name %><%= settings_menu_item.alt_name %><%= settings_menu_item.type %><%= settings_menu_item.parent.name rescue "-" %><%= settings_menu_item.created_by %><%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
    +
    +
    + <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %>
    From c9782bf84a73cf012defb64eba5f7097ef6b1da8 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 2 Jun 2017 10:52:46 +0630 Subject: [PATCH 07/58] update booking with cancel and assign --- app/controllers/api/bookings_controller.rb | 14 +- app/views/crm/home/_booking.html.erb | 144 ++++++++++----------- app/views/crm/home/_queue.html.erb | 70 ++++++---- app/views/crm/home/index.html.erb | 10 +- config/routes.rb | 2 +- 5 files changed, 127 insertions(+), 113 deletions(-) diff --git a/app/controllers/api/bookings_controller.rb b/app/controllers/api/bookings_controller.rb index 03ca0b5d..ca7df569 100644 --- a/app/controllers/api/bookings_controller.rb +++ b/app/controllers/api/bookings_controller.rb @@ -11,13 +11,17 @@ class Api::BookingsController < Api::ApiController end def update_booking + booking = Booking.find(params[:booking_id]) + status = booking.update_attributes(booking_status: params[:type]) + + if status + render json: JSON.generate({:status => true ,:type => params[:type]}) + else + render json: JSON.generate({:status => false, :error_message => "Record not found"}) -booking = Booking.find_by(id: params[:booking]) -booking.update_all(booking_status: 'Dave') - - - end + end + end # private # def Bookings_params diff --git a/app/views/crm/home/_booking.html.erb b/app/views/crm/home/_booking.html.erb index 09e835c0..c9200f3e 100644 --- a/app/views/crm/home/_booking.html.erb +++ b/app/views/crm/home/_booking.html.erb @@ -3,30 +3,32 @@ <% @i = 0 %> <% @booking.each do |booking| %> -
    -
    -

    - <%= @i += 1 %> . <%= booking.dining_facility.name %> - - <%= booking.id %> -

    - -

    - - Order at <%= booking.checkin_at.strftime("%H,%m") %>, <%= booking.checkin_by %> - -

    -
    - \ No newline at end of file diff --git a/app/views/crm/home/index.html.erb b/app/views/crm/home/index.html.erb index 800ff2f9..431ef4a4 100644 --- a/app/views/crm/home/index.html.erb +++ b/app/views/crm/home/index.html.erb @@ -5,10 +5,10 @@
    - - -
    @@ -67,10 +64,7 @@ Table/Room - - - diff --git a/config/routes.rb b/config/routes.rb index 3692a90e..0aaa2cea 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -47,7 +47,7 @@ Rails.application.routes.draw do resources :bookings, only: [:index, :show, :create, :update] resources :customers, only: [:index, :show, :create, :update] - get "update_booking" , to: "bookings#update_booking", as: "update_booking" + post "update_booking" , to: "bookings#update_booking", as: "update_booking" #Generating Invoice and making payments - output render @sale resources :invoices, only: [:index, :show, :create, :update, :destroy ] do From 95fd260c76ddcd1389be888196fd3bfbd0bc41c7 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 11:28:07 +0630 Subject: [PATCH 08/58] updated ui --- app/assets/javascripts/OQS.js | 54 ++++++++++++++------------ app/controllers/oqs/home_controller.rb | 11 +++++- app/views/oqs/home/index.html.erb | 1 + config/routes.rb | 2 + 4 files changed, 43 insertions(+), 25 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index eb2bc9cb..04b81bea 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -17,32 +17,38 @@ //= require cable $(document).ready(function(){ - $('.queue_station').on('click',function(){ - var orderZone=$(this).children().children().children('.order-zone').text(); - var orderItem=$(this).children().children().children('.order-item').text(); - var orderQty=$(this).children().children().children('.order-qty').text(); - var orderBy=$(this).children().children().children().children('.order-by').text(); - var orderAt=$(this).children().children().children().children('.order-at').text(); - var orderCustomer=$(this).children().children('.order-customer').text(); + $('.queue_station').on('click',function(){ + var orderZone=$(this).children().children().children('.order-zone').text(); + var orderItem=$(this).children().children().children('.order-item').text(); + var orderQty=$(this).children().children().children('.order-qty').text(); + var orderBy=$(this).children().children().children().children('.order-by').text(); + var orderAt=$(this).children().children().children().children('.order-at').text(); + var orderCustomer=$(this).children().children('.order-customer').text(); - $('#order-title').text("ORDER DETAILS - " + orderZone); - $('#order-by').text(orderBy); - $('#order-at').text(orderAt); - $('#order-customer').text(orderCustomer); - $('#order-from').text(orderZone); + $('#order-title').text("ORDER DETAILS - " + orderZone); + $('#order-by').text(orderBy); + $('#order-at').text(orderAt); + $('#order-customer').text(orderCustomer); + $('#order-from').text(orderZone); - $('#order-items').text(orderItem); - $('#order-qty').text(orderQty); + $('#order-items').text(orderItem); + $('#order-qty').text(orderQty); }); - // complete for queue item - $('.order-complete').on('click',function(){ - var assigned_item_id=$(this).attr('id').substr(15); - $.ajax({ - url: "", - data: "" - }).done(function(){ - - }); - }); + // complete for queue item + $('.order-complete').on('click',function(){ + var assigned_item_id=$(this).attr('id').substr(15); + var params = { 'id':assigned_item_id }; + // $(this).parent().parent(".queue_station").remove(); + $.ajax({ + type: 'POST', + url: '/oqs/update_delivery', + data: params, + dataType: 'json', + success: function(data){ + $('.order-complete').parent().parent(".queue_station").remove(); + alert('updated!'); + } + }); + }); }); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index f59f2f18..e448ff23 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -26,8 +26,17 @@ class Oqs::HomeController < BaseOqsController def show end + # update delivery status when complete click def update_delivery_status - + puts "WWWW" + params[:id] + assigned_item_id = params[:id] + assigned_item=AssignedOrderItem.find(assigned_item_id) + assigned_item.delivery_status=true + assigned_item.save + # respond_to do |format| + # format.json { render json: "updated" } + # end + flash[:success] = "updated!" end # Query for OQS with status diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index 4e0b16ad..7982e00d 100644 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -200,3 +200,4 @@ + diff --git a/config/routes.rb b/config/routes.rb index 7b9dd91d..54cc4d7e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -92,6 +92,8 @@ Rails.application.routes.draw do #--------- Order Queue Station ------------# namespace :oqs do root "home#index" + + post 'update_delivery', to: "home#update_delivery_status" #dashboard # end From 0c82c162935a874d9e4648dbdf3d6ad015743156 Mon Sep 17 00:00:00 2001 From: PhyoTheingi Date: Fri, 2 Jun 2017 11:38:46 +0630 Subject: [PATCH 09/58] Order Queue Station Bug Fix --- .../settings/order_queue_stations_controller.rb | 6 +++--- .../settings/order_queue_stations/edit.html.erb | 16 ++++++++++++---- .../settings/order_queue_stations/show.html.erb | 8 ++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/controllers/settings/order_queue_stations_controller.rb b/app/controllers/settings/order_queue_stations_controller.rb index ec85e56a..e0cf0d08 100644 --- a/app/controllers/settings/order_queue_stations_controller.rb +++ b/app/controllers/settings/order_queue_stations_controller.rb @@ -1,5 +1,5 @@ class Settings::OrderQueueStationsController < ApplicationController - before_action :set_settings_order_queue_station, only: [:show, :edit,:new, :update, :destroy] + before_action :set_settings_order_queue_station, only: [:show, :edit, :update, :destroy] # GET /settings/order_queue_stations # GET /settings/order_queue_stations.json @@ -25,10 +25,10 @@ class Settings::OrderQueueStationsController < ApplicationController # POST /settings/order_queue_stations.json def create @settings_order_queue_station = OrderQueueStation.new(settings_order_queue_station_params) - + @settings_order_queue_station.created_by = current_login_employee.name respond_to do |format| if @settings_order_queue_station.save - format.html { redirect_to @settings_order_queue_station, notice: 'Order queue station was successfully created.' } + format.html { redirect_to settings_order_queue_stations_path, notice: 'Order queue station was successfully created.' } format.json { render :show, status: :created, location: @settings_order_queue_station } else format.html { render :new } diff --git a/app/views/settings/order_queue_stations/edit.html.erb b/app/views/settings/order_queue_stations/edit.html.erb index af08ffda..27cf2fc8 100644 --- a/app/views/settings/order_queue_stations/edit.html.erb +++ b/app/views/settings/order_queue_stations/edit.html.erb @@ -1,6 +1,14 @@ -

    Editing Settings Order Queue Station

    + -<%= link_to 'Show', @settings_order_queue_station %> | -<%= link_to 'Back', settings_order_queue_stations_path %> +
    + + <%= render 'form', settings_order_queue_station: @settings_order_queue_station %> +
    \ No newline at end of file diff --git a/app/views/settings/order_queue_stations/show.html.erb b/app/views/settings/order_queue_stations/show.html.erb index 00004528..1a80c2c0 100644 --- a/app/views/settings/order_queue_stations/show.html.erb +++ b/app/views/settings/order_queue_stations/show.html.erb @@ -1,3 +1,11 @@ + +

    <%= notice %>

    From ed6de144121ed7c8b03afeb7ddb84eb68bf0094c Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 2 Jun 2017 13:17:09 +0630 Subject: [PATCH 10/58] update booking controller in crm --- app/controllers/api/bookings_controller.rb | 14 -------------- app/views/crm/home/_booking.html.erb | 22 +++++++++------------- config/routes.rb | 3 +-- 3 files changed, 10 insertions(+), 29 deletions(-) diff --git a/app/controllers/api/bookings_controller.rb b/app/controllers/api/bookings_controller.rb index ca7df569..401cd4a8 100644 --- a/app/controllers/api/bookings_controller.rb +++ b/app/controllers/api/bookings_controller.rb @@ -1,6 +1,5 @@ class Api::BookingsController < Api::ApiController skip_before_action :authenticate - #Show customer by ID def index @customer = Customer.find_by(params[:id]) @@ -10,19 +9,6 @@ class Api::BookingsController < Api::ApiController @booking = Booking.find(params[:id]) end - def update_booking - booking = Booking.find(params[:booking_id]) - status = booking.update_attributes(booking_status: params[:type]) - - if status - render json: JSON.generate({:status => true ,:type => params[:type]}) - - else - render json: JSON.generate({:status => false, :error_message => "Record not found"}) - - end - end - # private # def Bookings_params # params.permit(:id, :order_id) diff --git a/app/views/crm/home/_booking.html.erb b/app/views/crm/home/_booking.html.erb index c9200f3e..7075d685 100644 --- a/app/views/crm/home/_booking.html.erb +++ b/app/views/crm/home/_booking.html.erb @@ -20,10 +20,10 @@

    @@ -42,13 +42,15 @@ $(function(){ }); $('.assign').click(function(e){ - var booking_id = $('#assign').attr('data-ref'); + var booking_id = $('#assign').attr('data-booking-ref'); + alert(booking_id); var type = $('#assign').attr('data-type'); update_booking(booking_id,type) }); $('.cancel').click(function(e){ - var booking_id = $('#cancel').attr('data-ref'); + var booking_id = $('#cancel').attr('data-booking-ref'); + alert(booking_id); var type = $('#cancel').attr('data-type'); update_booking(booking_id,type) }); @@ -91,17 +93,11 @@ function show_details(url_item){ function update_booking(booking_id,type) { $.ajax({ type: "POST", - url: "api/update_booking/" , + url: "crm/update_booking/" , data: {booking_id:booking_id,type:type}, - dataType: "json", + // dataType: "json", success: function(data) { - if(data.status == true && data.type == "cancel") - { - alert('Booking has canceled!'); - }else{ - alert('Booking has completed!'); - } - location.reload(); + } }); } diff --git a/config/routes.rb b/config/routes.rb index 0aaa2cea..698fff68 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -47,8 +47,6 @@ Rails.application.routes.draw do resources :bookings, only: [:index, :show, :create, :update] resources :customers, only: [:index, :show, :create, :update] - post "update_booking" , to: "bookings#update_booking", as: "update_booking" - #Generating Invoice and making payments - output render @sale resources :invoices, only: [:index, :show, :create, :update, :destroy ] do resources :sale_items, only:[:create, :update, :destroy] @@ -89,6 +87,7 @@ Rails.application.routes.draw do resources :customers #membership #bookings + post "update_booking" , to: "bookings#update_booking", as: "update_booking" #queue end From 59e4c72e2fb2757e283d468b6a77dc8921bfc4ff Mon Sep 17 00:00:00 2001 From: Nweni Date: Fri, 2 Jun 2017 13:22:04 +0630 Subject: [PATCH 11/58] get udpate --- Gemfile | 4 ++-- Gemfile.lock | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile b/Gemfile index d42da647..d64ba992 100644 --- a/Gemfile +++ b/Gemfile @@ -9,8 +9,8 @@ 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 'pg' +#gem 'mysql2', '>= 0.3.18', '< 0.5' +gem 'pg' # Use Puma as the app server gem 'puma', '~> 3.0' # Use SCSS for stylesheets diff --git a/Gemfile.lock b/Gemfile.lock index 6916f408..3627d882 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,11 +96,11 @@ GEM mini_portile2 (2.1.0) minitest (5.10.2) multi_json (1.12.1) - mysql2 (0.4.6) nio4r (2.0.0) nokogiri (1.7.2) mini_portile2 (~> 2.1.0) pdf-core (0.7.0) + pg (0.20.0) prawn (2.2.2) pdf-core (~> 0.7.0) ttfunk (~> 1.5) @@ -232,7 +232,7 @@ DEPENDENCIES jbuilder (~> 2.5) jquery-rails listen (~> 3.0.5) - mysql2 (>= 0.3.18, < 0.5) + pg prawn prawn-table puma (~> 3.0) From 17206001c432ab807b8e44ccee39144285b07391 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 13:58:35 +0630 Subject: [PATCH 12/58] updated oqs ui --- app/assets/javascripts/OQS.js | 26 +++++++++++++++++++++----- app/controllers/oqs/home_controller.rb | 9 ++------- app/views/oqs/home/index.html.erb | 6 ++++-- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/app/assets/javascripts/OQS.js b/app/assets/javascripts/OQS.js index 04b81bea..dd8bed28 100644 --- a/app/assets/javascripts/OQS.js +++ b/app/assets/javascripts/OQS.js @@ -36,18 +36,34 @@ $(document).ready(function(){ }); // complete for queue item - $('.order-complete').on('click',function(){ + $('.order-complete').on('click',function(){ + var _self= $(this); var assigned_item_id=$(this).attr('id').substr(15); var params = { 'id':assigned_item_id }; - // $(this).parent().parent(".queue_station").remove(); + var station=$(this).parent().parent(".queue_station").parent().parent().attr('id'); + $.ajax({ type: 'POST', url: '/oqs/update_delivery', data: params, dataType: 'json', - success: function(data){ - $('.order-complete').parent().parent(".queue_station").remove(); - alert('updated!'); + success: function(data){ + var queue_station=_self.parent().parent(".queue_station"); + + // Remove a queue card from current station + queue_station.remove(); + + // Remove a queue card from current station + queue_station.children('.card-footer').remove(); + + // Add removed queue card from station to completed + $("#completed").children('.card-columns').append(queue_station); + + // update queue item count in station + $("#"+station+"_count").text(parseInt($("#"+station+"_count").text())-1); + $("#completed_count").text(parseInt($("#completed_count").text())+1); + + alert("updated!"); } }); }); diff --git a/app/controllers/oqs/home_controller.rb b/app/controllers/oqs/home_controller.rb index e448ff23..bbfb166d 100644 --- a/app/controllers/oqs/home_controller.rb +++ b/app/controllers/oqs/home_controller.rb @@ -28,15 +28,10 @@ class Oqs::HomeController < BaseOqsController # update delivery status when complete click def update_delivery_status - puts "WWWW" + params[:id] assigned_item_id = params[:id] assigned_item=AssignedOrderItem.find(assigned_item_id) assigned_item.delivery_status=true - assigned_item.save - # respond_to do |format| - # format.json { render json: "updated" } - # end - flash[:success] = "updated!" + assigned_item.save end # Query for OQS with status @@ -49,7 +44,7 @@ class Oqs::HomeController < BaseOqsController left join order_items as odt ON odt.item_code = assigned_order_items.item_code left join customers as cus ON cus.id = od.customer_id") .where('assigned_order_items.delivery_status=' + status) - .group('oqs.station_name') + .group('assigned_order_items.id') .order("odt.item_name DESC") end end diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index 7982e00d..69fe3f20 100644 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -6,7 +6,7 @@
    + + + + + + + + + + + + + + + + + + + + + +
    MenuNameAlt nameOrder byParent
    <%= @category.menu.name %><%= @category.name %><%= @category.alt_name %><%= @category.order_by %><%= @category.parent.name rescue "-" %><%= link_to 'Edit', edit_settings_menu_category_path(@category) %>
    +
    +
    +
    +
    +
    +

    Menu Items + + <%= link_to "New Simple Menu Item",new_settings_menu_category_simple_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %> + <%= link_to "New Set Menu Item",new_settings_menu_category_set_menu_item_path(@category),:class => 'btn btn-primary btn-sm' %> + + +

    + + + + + + + + + + + + + + + + + <% @settings_menu_items.each do |settings_menu_item| %> + + + + + + + + + + <% if settings_menu_item.type == "SimpleMenuItem" %> + + + + <% else %> + + + + <% end %> + + <% end %> + +
    Item codeNameAlt nameTypeParent ItemCreated byCreated at
    <%= settings_menu_item.item_code %><%= settings_menu_item.name %><%= settings_menu_item.alt_name %><%= settings_menu_item.type %><%= settings_menu_item.parent.name rescue "-" %><%= settings_menu_item.created_by %><%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
    + +
    + +
    + <%= paginate @settings_menu_items, param_name: :page, :outer_window => 3 %> diff --git a/app/views/settings/menu_item_instances/index.json.jbuilder b/app/views/settings/menu_item_instances/index.json.jbuilder new file mode 100644 index 00000000..9b0a47fa --- /dev/null +++ b/app/views/settings/menu_item_instances/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @settings_menu_items, partial: 'settings_menu_items/settings_menu_item', as: :settings_menu_item diff --git a/app/views/settings/menu_item_instances/new.html.erb b/app/views/settings/menu_item_instances/new.html.erb new file mode 100644 index 00000000..9fae5b34 --- /dev/null +++ b/app/views/settings/menu_item_instances/new.html.erb @@ -0,0 +1,17 @@ + + + +
    + + <%= render 'form', settings_set_menu_instance: @settings_menu_item_instance %> +
    diff --git a/app/views/settings/menu_item_instances/show.html.erb b/app/views/settings/menu_item_instances/show.html.erb new file mode 100644 index 00000000..238fa038 --- /dev/null +++ b/app/views/settings/menu_item_instances/show.html.erb @@ -0,0 +1,96 @@ + + + +
    +
    +

    Menu Item

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Item codeNameAlt nameTypeMenu categoryMenu itemMin qtyMin selectable itemMax selectable itemCreated AtAction
    <%= @settings_menu_item.item_code %><%= @settings_menu_item.name rescue "-" %><%= @settings_menu_item.alt_name %><%= @settings_menu_item.type %><%= @settings_menu_item.menu_category_id %><%= @settings_menu_item.menu_item_id %><%= @settings_menu_item.min_qty %><%= @settings_menu_item.min_selectable_item %><%= @settings_menu_item.max_selectable_item %><%=l @settings_menu_item.created_at, format: :short %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, @settings_menu_item) %>
    +
    +
    +
    +
    +
    +

    Sub Menu Items

    + + + + + + + + + + + + + + + + + <% @sub_menu.each do |settings_menu_item| %> + + + + + + + + + + <% if settings_menu_item.type == "SimpleMenuItem" %> + + + + <% else %> + + + + <% end %> + + <% end %> + +
    Item codeNameAlt nameTypeParent ItemCreated byCreated at
    <%= settings_menu_item.item_code %><%= settings_menu_item.name %><%= settings_menu_item.alt_name %><%= settings_menu_item.type %><%= settings_menu_item.parent.name rescue "-" %><%= settings_menu_item.created_by %><%=l settings_menu_item.created_at, :format => :short %><%= link_to 'Show', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_simple_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_simple_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %><%= link_to 'Show', settings_menu_category_set_menu_item_path(@category, settings_menu_item ) %><%= link_to 'Edit', edit_settings_menu_category_set_menu_item_path(@category, settings_menu_item) %><%= link_to 'Destroy', settings_menu_category_set_menu_item_path(@category, settings_menu_item ), method: :delete, data: { confirm: 'Are you sure?' } %>
    +
    +
    + <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %> +
    diff --git a/app/views/settings/menu_item_instances/show.json.jbuilder b/app/views/settings/menu_item_instances/show.json.jbuilder new file mode 100644 index 00000000..4a11737c --- /dev/null +++ b/app/views/settings/menu_item_instances/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "settings_menu_items/settings_menu_item", settings_menu_item: @settings_menu_item diff --git a/app/views/settings/processing_items/_form.html.erb b/app/views/settings/processing_items/_form.html.erb index 2038b0ea..60e493d8 100644 --- a/app/views/settings/processing_items/_form.html.erb +++ b/app/views/settings/processing_items/_form.html.erb @@ -29,7 +29,9 @@
    <% end %>
    +
    <%= f.button :submit, label: "Add Menu Items to Queue Station" %>
    +
    <% end %> diff --git a/app/views/settings/simple_menu_items/show.html.erb b/app/views/settings/simple_menu_items/show.html.erb index 97e12695..7f68c9aa 100644 --- a/app/views/settings/simple_menu_items/show.html.erb +++ b/app/views/settings/simple_menu_items/show.html.erb @@ -93,4 +93,45 @@
    <%= paginate @sub_menu, param_name: :page, :outer_window => 3 %> + +
    +
    +
    +

    Menu Item Instances + + <%= link_to t('.new', :default => t("helpers.links.new")),new_settings_menu_item_menu_item_instance_path(@settings_menu_item),:class => 'btn btn-primary btn-sm' %> + + +

    + + + + + + + + + + + + + + + + + <% @menu_item_instance.each do |settings_menu_item| %> + + + + + + + + + + <% end %> + +
    Menu Item Iditem_instance_codeitem_attributespriceis_on_promotionpromotion_priceCreated at
    <%= settings_menu_item.menu_item_id %><%= settings_menu_item.item_instance_code %><%= settings_menu_item.item_attributes %><%= settings_menu_item.price %><%= settings_menu_item.is_on_promotion %><%= settings_menu_item.promotion_price %><%=l settings_menu_item.created_at, :format => :short %>
    +
    +
    From 4e36cad3413c33c8f7752612f8cc7bce51f36c9f Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 2 Jun 2017 14:02:54 +0630 Subject: [PATCH 15/58] update booking complete and cancle in crm --- app/views/crm/home/_queue.html.erb | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/app/views/crm/home/_queue.html.erb b/app/views/crm/home/_queue.html.erb index 45ffadda..1633f901 100644 --- a/app/views/crm/home/_queue.html.erb +++ b/app/views/crm/home/_queue.html.erb @@ -16,7 +16,7 @@

    - <% end %> <% end %> + -
    -
    -

    9. Table 4 - Beef Steak [x3]

    -

    Well Done, Fries, Salad

    -

    - Order at 12:23, Kyaw Lwin | - Printed at 12:23 | - Completed at 12:43 -

    -
    -
    From 7d5e5e7129db972bc06856fdab1d51d7ba37c9be Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 14:47:34 +0630 Subject: [PATCH 16/58] update menu item instance --- app/controllers/settings/menu_item_instances_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/settings/menu_item_instances_controller.rb b/app/controllers/settings/menu_item_instances_controller.rb index fecc3cd7..00f980e9 100644 --- a/app/controllers/settings/menu_item_instances_controller.rb +++ b/app/controllers/settings/menu_item_instances_controller.rb @@ -74,6 +74,6 @@ class Settings::MenuItemInstancesController < ApplicationController # Never trust parameters from the scary internet, only allow the white list through. def settings_menu_item_instance_params - params.require(:menu_item_instance).permit(:name, :value) + params.require(:menu_item_instance).permit(:item_instance_code, :item_instance_name, :price, :is_on_promotion, :promotion_price, :is_available) end end From 92a82f6e7fb791612ca4683e75bf60c1e0773bb5 Mon Sep 17 00:00:00 2001 From: Aung Myo Date: Fri, 2 Jun 2017 14:52:14 +0630 Subject: [PATCH 17/58] missing bookings controller adding --- app/controllers/crm/bookings_controller.rb | 18 ++++++++++++++++++ app/helpers/crm/bookings_helper.rb | 2 ++ .../crm/bookings_controller_spec.rb | 5 +++++ spec/helpers/crm/bookings_helper_spec.rb | 15 +++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 app/controllers/crm/bookings_controller.rb create mode 100644 app/helpers/crm/bookings_helper.rb create mode 100644 spec/controllers/crm/bookings_controller_spec.rb create mode 100644 spec/helpers/crm/bookings_helper_spec.rb diff --git a/app/controllers/crm/bookings_controller.rb b/app/controllers/crm/bookings_controller.rb new file mode 100644 index 00000000..eeb19f75 --- /dev/null +++ b/app/controllers/crm/bookings_controller.rb @@ -0,0 +1,18 @@ +class Crm::BookingsController < ApplicationController + + def update_booking + booking = Booking.find(params[:booking_id]) + + + status = booking.update_attributes(booking_status: params[:type]) + + if status == true + render json: JSON.generate({:status => true ,:type => params[:type]}) + + else + render json: JSON.generate({:status => false, :error_message => "Record not found"}) + + end + end + +end diff --git a/app/helpers/crm/bookings_helper.rb b/app/helpers/crm/bookings_helper.rb new file mode 100644 index 00000000..2d775cd1 --- /dev/null +++ b/app/helpers/crm/bookings_helper.rb @@ -0,0 +1,2 @@ +module Crm::BookingsHelper +end diff --git a/spec/controllers/crm/bookings_controller_spec.rb b/spec/controllers/crm/bookings_controller_spec.rb new file mode 100644 index 00000000..9a65a516 --- /dev/null +++ b/spec/controllers/crm/bookings_controller_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe Crm::BookingsController, type: :controller do + +end diff --git a/spec/helpers/crm/bookings_helper_spec.rb b/spec/helpers/crm/bookings_helper_spec.rb new file mode 100644 index 00000000..f5424733 --- /dev/null +++ b/spec/helpers/crm/bookings_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the Crm::BookingsHelper. For example: +# +# describe Crm::BookingsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe Crm::BookingsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end From 98a7c31ffa2ff3c515f82c83653797e87d63ebf7 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 16:21:47 +0630 Subject: [PATCH 18/58] initial setup for print --- config/routes.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index eadc26b0..5af42077 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,7 @@ require 'sidekiq/web' Rails.application.routes.draw do - + root 'home#index' mount Sidekiq::Web => '/kiq' @@ -181,7 +181,8 @@ Rails.application.routes.draw do # end # end - + #----------- Print Setup --------# + resources :print_settings # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end From 022a2e005f4a734dd4481d1589830520d192decb Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 16:22:15 +0630 Subject: [PATCH 19/58] initial print setup --- app/assets/javascripts/print_settings.coffee | 3 + app/assets/stylesheets/print_settings.scss | 3 + app/controllers/print_settings_controller.rb | 74 +++++++++ app/helpers/print_settings_helper.rb | 2 + app/models/print_setting.rb | 2 + app/views/print_settings/_form.html.erb | 22 +++ .../_print_setting.json.jbuilder | 2 + app/views/print_settings/edit.html.erb | 6 + app/views/print_settings/index.html.erb | 49 ++++++ app/views/print_settings/index.json.jbuilder | 1 + app/views/print_settings/new.html.erb | 5 + app/views/print_settings/show.html.erb | 64 ++++++++ app/views/print_settings/show.json.jbuilder | 1 + .../20170602093159_create_print_settings.rb | 20 +++ .../print_settings_controller_spec.rb | 141 ++++++++++++++++++ spec/helpers/print_settings_helper_spec.rb | 15 ++ spec/models/print_setting_spec.rb | 5 + spec/requests/print_settings_spec.rb | 10 ++ spec/routing/print_settings_routing_spec.rb | 39 +++++ .../print_settings/edit.html.erb_spec.rb | 51 +++++++ .../print_settings/index.html.erb_spec.rb | 52 +++++++ .../views/print_settings/new.html.erb_spec.rb | 51 +++++++ .../print_settings/show.html.erb_spec.rb | 36 +++++ test/system/print_settings_test.rb | 9 ++ 24 files changed, 663 insertions(+) create mode 100644 app/assets/javascripts/print_settings.coffee create mode 100644 app/assets/stylesheets/print_settings.scss create mode 100644 app/controllers/print_settings_controller.rb create mode 100644 app/helpers/print_settings_helper.rb create mode 100644 app/models/print_setting.rb create mode 100644 app/views/print_settings/_form.html.erb create mode 100644 app/views/print_settings/_print_setting.json.jbuilder create mode 100644 app/views/print_settings/edit.html.erb create mode 100644 app/views/print_settings/index.html.erb create mode 100644 app/views/print_settings/index.json.jbuilder create mode 100644 app/views/print_settings/new.html.erb create mode 100644 app/views/print_settings/show.html.erb create mode 100644 app/views/print_settings/show.json.jbuilder create mode 100644 db/migrate/20170602093159_create_print_settings.rb create mode 100644 spec/controllers/print_settings_controller_spec.rb create mode 100644 spec/helpers/print_settings_helper_spec.rb create mode 100644 spec/models/print_setting_spec.rb create mode 100644 spec/requests/print_settings_spec.rb create mode 100644 spec/routing/print_settings_routing_spec.rb create mode 100644 spec/views/print_settings/edit.html.erb_spec.rb create mode 100644 spec/views/print_settings/index.html.erb_spec.rb create mode 100644 spec/views/print_settings/new.html.erb_spec.rb create mode 100644 spec/views/print_settings/show.html.erb_spec.rb create mode 100644 test/system/print_settings_test.rb diff --git a/app/assets/javascripts/print_settings.coffee b/app/assets/javascripts/print_settings.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/print_settings.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/print_settings.scss b/app/assets/stylesheets/print_settings.scss new file mode 100644 index 00000000..7dd1ef04 --- /dev/null +++ b/app/assets/stylesheets/print_settings.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the print_settings controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/print_settings_controller.rb b/app/controllers/print_settings_controller.rb new file mode 100644 index 00000000..fa5af7e8 --- /dev/null +++ b/app/controllers/print_settings_controller.rb @@ -0,0 +1,74 @@ +class PrintSettingsController < ApplicationController + before_action :set_print_setting, only: [:show, :edit, :update, :destroy] + + # GET /print_settings + # GET /print_settings.json + def index + @print_settings = PrintSetting.all + end + + # GET /print_settings/1 + # GET /print_settings/1.json + def show + end + + # GET /print_settings/new + def new + @print_setting = PrintSetting.new + end + + # GET /print_settings/1/edit + def edit + end + + # POST /print_settings + # POST /print_settings.json + def create + @print_setting = PrintSetting.new(print_setting_params) + + respond_to do |format| + if @print_setting.save + format.html { redirect_to @print_setting, notice: 'Print setting was successfully created.' } + format.json { render :show, status: :created, location: @print_setting } + else + format.html { render :new } + format.json { render json: @print_setting.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /print_settings/1 + # PATCH/PUT /print_settings/1.json + def update + respond_to do |format| + if @print_setting.update(print_setting_params) + format.html { redirect_to @print_setting, notice: 'Print setting was successfully updated.' } + format.json { render :show, status: :ok, location: @print_setting } + else + format.html { render :edit } + format.json { render json: @print_setting.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /print_settings/1 + # DELETE /print_settings/1.json + def destroy + @print_setting.destroy + respond_to do |format| + format.html { redirect_to print_settings_url, notice: 'Print setting was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_print_setting + @print_setting = PrintSetting.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def print_setting_params + params.require(:print_setting).permit(:name, :unique_code, :template, :db_name, :db_type, :db_username, :db_password, :printer_name, :api_settings, :page_width, :page_height, :print_copies) + end +end diff --git a/app/helpers/print_settings_helper.rb b/app/helpers/print_settings_helper.rb new file mode 100644 index 00000000..3e712d7c --- /dev/null +++ b/app/helpers/print_settings_helper.rb @@ -0,0 +1,2 @@ +module PrintSettingsHelper +end diff --git a/app/models/print_setting.rb b/app/models/print_setting.rb new file mode 100644 index 00000000..b715af52 --- /dev/null +++ b/app/models/print_setting.rb @@ -0,0 +1,2 @@ +class PrintSetting < ApplicationRecord +end diff --git a/app/views/print_settings/_form.html.erb b/app/views/print_settings/_form.html.erb new file mode 100644 index 00000000..e6ed306b --- /dev/null +++ b/app/views/print_settings/_form.html.erb @@ -0,0 +1,22 @@ +<%= simple_form_for(@print_setting) do |f| %> + <%= f.error_notification %> + +
    + <%= f.input :name %> + <%= f.input :unique_code %> + <%= f.input :template %> + <%= f.input :db_name %> + <%= f.input :db_type %> + <%= f.input :db_username %> + <%= f.input :db_password %> + <%= f.input :printer_name %> + <%= f.input :api_settings %> + <%= f.input :page_width %> + <%= f.input :page_height %> + <%= f.input :print_copies %> +
    + +
    + <%= f.button :submit %> +
    +<% end %> diff --git a/app/views/print_settings/_print_setting.json.jbuilder b/app/views/print_settings/_print_setting.json.jbuilder new file mode 100644 index 00000000..b1835de6 --- /dev/null +++ b/app/views/print_settings/_print_setting.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! print_setting, :id, :name,, :unique_code,, :template,, :db_name,, :db_type,, :db_username,, :db_password,, :printer_name,, :api_settings,, :page_width, :page_height, :print_copies, :created_at, :updated_at +json.url print_setting_url(print_setting, format: :json) diff --git a/app/views/print_settings/edit.html.erb b/app/views/print_settings/edit.html.erb new file mode 100644 index 00000000..fdae5f78 --- /dev/null +++ b/app/views/print_settings/edit.html.erb @@ -0,0 +1,6 @@ +

    Editing Print Setting

    + +<%= render 'form', print_setting: @print_setting %> + +<%= link_to 'Show', @print_setting %> | +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/index.html.erb b/app/views/print_settings/index.html.erb new file mode 100644 index 00000000..32d3dead --- /dev/null +++ b/app/views/print_settings/index.html.erb @@ -0,0 +1,49 @@ +

    <%= notice %>

    + +

    Print Settings

    + + + + + + + + + + + + + + + + + + + + + + <% @print_settings.each do |print_setting| %> + + + + + + + + + + + + + + + + + + <% end %> + +
    NameUnique codeTemplateDb nameDb typeDb usernameDb passwordPrinter nameApi settingsPage widthPage heightPrint copies
    <%= print_setting.name %><%= print_setting.unique_code %><%= print_setting.template %><%= print_setting.db_name %><%= print_setting.db_type %><%= print_setting.db_username %><%= print_setting.db_password %><%= print_setting.printer_name %><%= print_setting.api_settings %><%= print_setting.page_width %><%= print_setting.page_height %><%= print_setting.print_copies %><%= link_to 'Show', print_setting %><%= link_to 'Edit', edit_print_setting_path(print_setting) %><%= link_to 'Destroy', print_setting, method: :delete, data: { confirm: 'Are you sure?' } %>
    + +
    + +<%= link_to 'New Print Setting', new_print_setting_path %> diff --git a/app/views/print_settings/index.json.jbuilder b/app/views/print_settings/index.json.jbuilder new file mode 100644 index 00000000..9e448f9f --- /dev/null +++ b/app/views/print_settings/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @print_settings, partial: 'print_settings/print_setting', as: :print_setting diff --git a/app/views/print_settings/new.html.erb b/app/views/print_settings/new.html.erb new file mode 100644 index 00000000..810ad9c9 --- /dev/null +++ b/app/views/print_settings/new.html.erb @@ -0,0 +1,5 @@ +

    New Print Setting

    + +<%= render 'form', print_setting: @print_setting %> + +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/show.html.erb b/app/views/print_settings/show.html.erb new file mode 100644 index 00000000..77e89fb7 --- /dev/null +++ b/app/views/print_settings/show.html.erb @@ -0,0 +1,64 @@ +

    <%= notice %>

    + +

    + Name: + <%= @print_setting.name, %> +

    + +

    + Unique code: + <%= @print_setting.unique_code, %> +

    + +

    + Template: + <%= @print_setting.template, %> +

    + +

    + Db name: + <%= @print_setting.db_name, %> +

    + +

    + Db type: + <%= @print_setting.db_type, %> +

    + +

    + Db username: + <%= @print_setting.db_username, %> +

    + +

    + Db password: + <%= @print_setting.db_password, %> +

    + +

    + Printer name: + <%= @print_setting.printer_name, %> +

    + +

    + Api settings: + <%= @print_setting.api_settings, %> +

    + +

    + Page width: + <%= @print_setting.page_width %> +

    + +

    + Page height: + <%= @print_setting.page_height %> +

    + +

    + Print copies: + <%= @print_setting.print_copies %> +

    + +<%= link_to 'Edit', edit_print_setting_path(@print_setting) %> | +<%= link_to 'Back', print_settings_path %> diff --git a/app/views/print_settings/show.json.jbuilder b/app/views/print_settings/show.json.jbuilder new file mode 100644 index 00000000..10305122 --- /dev/null +++ b/app/views/print_settings/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "print_settings/print_setting", print_setting: @print_setting diff --git a/db/migrate/20170602093159_create_print_settings.rb b/db/migrate/20170602093159_create_print_settings.rb new file mode 100644 index 00000000..a5ce89d6 --- /dev/null +++ b/db/migrate/20170602093159_create_print_settings.rb @@ -0,0 +1,20 @@ +class CreatePrintSettings < ActiveRecord::Migration[5.1] + def change + create_table :print_settings do |t| + t.string :name, :null => false + t.string :unique_code, :null => false + t.string :template, :null => false + t.string :db_name, :null => false + t.string :db_type, :null => false + t.string :db_username, :null => false + t.string :db_password + t.string :printer_name, :null => false + t.string :api_settings + t.decimal :page_width, :null => false, :default => 200 + t.decimal :page_height, :null => false, :default => 800 + t.integer :print_copies, :null => false, :default => 1 + + t.timestamps + end + end +end diff --git a/spec/controllers/print_settings_controller_spec.rb b/spec/controllers/print_settings_controller_spec.rb new file mode 100644 index 00000000..b64bdbb3 --- /dev/null +++ b/spec/controllers/print_settings_controller_spec.rb @@ -0,0 +1,141 @@ +require 'rails_helper' + +# This spec was generated by rspec-rails when you ran the scaffold generator. +# It demonstrates how one might use RSpec to specify the controller code that +# was generated by Rails when you ran the scaffold generator. +# +# It assumes that the implementation code is generated by the rails scaffold +# generator. If you are using any extension libraries to generate different +# controller code, this generated spec may or may not pass. +# +# It only uses APIs available in rails and/or rspec-rails. There are a number +# of tools you can use to make these specs even more expressive, but we're +# sticking to rails and rspec-rails APIs to keep things simple and stable. +# +# Compared to earlier versions of this generator, there is very limited use of +# stubs and message expectations in this spec. Stubs are only used when there +# is no simpler way to get a handle on the object needed for the example. +# Message expectations are only used when there is no simpler way to specify +# that an instance is receiving a specific message. +# +# Also compared to earlier versions of this generator, there are no longer any +# expectations of assigns and templates rendered. These features have been +# removed from Rails core in Rails 5, but can be added back in via the +# `rails-controller-testing` gem. + +RSpec.describe PrintSettingsController, type: :controller do + + # This should return the minimal set of attributes required to create a valid + # PrintSetting. As you add validations to PrintSetting, be sure to + # adjust the attributes here as well. + let(:valid_attributes) { + skip("Add a hash of attributes valid for your model") + } + + let(:invalid_attributes) { + skip("Add a hash of attributes invalid for your model") + } + + # This should return the minimal set of values that should be in the session + # in order to pass any filters (e.g. authentication) defined in + # PrintSettingsController. Be sure to keep this updated too. + let(:valid_session) { {} } + + describe "GET #index" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :index, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #show" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :show, params: {id: print_setting.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #new" do + it "returns a success response" do + get :new, params: {}, session: valid_session + expect(response).to be_success + end + end + + describe "GET #edit" do + it "returns a success response" do + print_setting = PrintSetting.create! valid_attributes + get :edit, params: {id: print_setting.to_param}, session: valid_session + expect(response).to be_success + end + end + + describe "POST #create" do + context "with valid params" do + it "creates a new PrintSetting" do + expect { + post :create, params: {print_setting: valid_attributes}, session: valid_session + }.to change(PrintSetting, :count).by(1) + end + + it "redirects to the created print_setting" do + post :create, params: {print_setting: valid_attributes}, session: valid_session + expect(response).to redirect_to(PrintSetting.last) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'new' template)" do + post :create, params: {print_setting: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "PUT #update" do + context "with valid params" do + let(:new_attributes) { + skip("Add a hash of attributes valid for your model") + } + + it "updates the requested print_setting" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: new_attributes}, session: valid_session + print_setting.reload + skip("Add assertions for updated state") + end + + it "redirects to the print_setting" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: valid_attributes}, session: valid_session + expect(response).to redirect_to(print_setting) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'edit' template)" do + print_setting = PrintSetting.create! valid_attributes + put :update, params: {id: print_setting.to_param, print_setting: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "DELETE #destroy" do + it "destroys the requested print_setting" do + print_setting = PrintSetting.create! valid_attributes + expect { + delete :destroy, params: {id: print_setting.to_param}, session: valid_session + }.to change(PrintSetting, :count).by(-1) + end + + it "redirects to the print_settings list" do + print_setting = PrintSetting.create! valid_attributes + delete :destroy, params: {id: print_setting.to_param}, session: valid_session + expect(response).to redirect_to(print_settings_url) + end + end + +end diff --git a/spec/helpers/print_settings_helper_spec.rb b/spec/helpers/print_settings_helper_spec.rb new file mode 100644 index 00000000..29cb2eec --- /dev/null +++ b/spec/helpers/print_settings_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the PrintSettingsHelper. For example: +# +# describe PrintSettingsHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe PrintSettingsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/print_setting_spec.rb b/spec/models/print_setting_spec.rb new file mode 100644 index 00000000..d2ee515b --- /dev/null +++ b/spec/models/print_setting_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe PrintSetting, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/requests/print_settings_spec.rb b/spec/requests/print_settings_spec.rb new file mode 100644 index 00000000..9c205c7a --- /dev/null +++ b/spec/requests/print_settings_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe "PrintSettings", type: :request do + describe "GET /print_settings" do + it "works! (now write some real specs)" do + get print_settings_path + expect(response).to have_http_status(200) + end + end +end diff --git a/spec/routing/print_settings_routing_spec.rb b/spec/routing/print_settings_routing_spec.rb new file mode 100644 index 00000000..9018c57a --- /dev/null +++ b/spec/routing/print_settings_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe PrintSettingsController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/print_settings").to route_to("print_settings#index") + end + + it "routes to #new" do + expect(:get => "/print_settings/new").to route_to("print_settings#new") + end + + it "routes to #show" do + expect(:get => "/print_settings/1").to route_to("print_settings#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/print_settings/1/edit").to route_to("print_settings#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/print_settings").to route_to("print_settings#create") + end + + it "routes to #update via PUT" do + expect(:put => "/print_settings/1").to route_to("print_settings#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/print_settings/1").to route_to("print_settings#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/print_settings/1").to route_to("print_settings#destroy", :id => "1") + end + + end +end diff --git a/spec/views/print_settings/edit.html.erb_spec.rb b/spec/views/print_settings/edit.html.erb_spec.rb new file mode 100644 index 00000000..4530d45c --- /dev/null +++ b/spec/views/print_settings/edit.html.erb_spec.rb @@ -0,0 +1,51 @@ +require 'rails_helper' + +RSpec.describe "print_settings/edit", type: :view do + before(:each) do + @print_setting = assign(:print_setting, PrintSetting.create!( + :name, => "MyString", + :unique_code, => "MyString", + :template, => "MyString", + :db_name, => "MyString", + :db_type, => "MyString", + :db_username, => "MyString", + :db_password, => "MyString", + :printer_name, => "MyString", + :api_settings, => "MyString", + :page_width => "", + :page_height => "", + :print_copies => 1 + )) + end + + it "renders the edit print_setting form" do + render + + assert_select "form[action=?][method=?]", print_setting_path(@print_setting), "post" do + + assert_select "input[name=?]", "print_setting[name,]" + + assert_select "input[name=?]", "print_setting[unique_code,]" + + assert_select "input[name=?]", "print_setting[template,]" + + assert_select "input[name=?]", "print_setting[db_name,]" + + assert_select "input[name=?]", "print_setting[db_type,]" + + assert_select "input[name=?]", "print_setting[db_username,]" + + assert_select "input[name=?]", "print_setting[db_password,]" + + assert_select "input[name=?]", "print_setting[printer_name,]" + + assert_select "input[name=?]", "print_setting[api_settings,]" + + assert_select "input[name=?]", "print_setting[page_width]" + + assert_select "input[name=?]", "print_setting[page_height]" + + assert_select "input[name=?]", "print_setting[print_copies]" + end + end +end diff --git a/spec/views/print_settings/index.html.erb_spec.rb b/spec/views/print_settings/index.html.erb_spec.rb new file mode 100644 index 00000000..b5e76904 --- /dev/null +++ b/spec/views/print_settings/index.html.erb_spec.rb @@ -0,0 +1,52 @@ +require 'rails_helper' + +RSpec.describe "print_settings/index", type: :view do + before(:each) do + assign(:print_settings, [ + PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + ), + PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + ) + ]) + end + + it "renders a list of print_settings" do + render + assert_select "tr>td", :text => "Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Unique Code,".to_s, :count => 2 + assert_select "tr>td", :text => "Template,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Type,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Username,".to_s, :count => 2 + assert_select "tr>td", :text => "Db Password,".to_s, :count => 2 + assert_select "tr>td", :text => "Printer Name,".to_s, :count => 2 + assert_select "tr>td", :text => "Api Settings,".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + assert_select "tr>td", :text => "".to_s, :count => 2 + assert_select "tr>td", :text => 2.to_s, :count => 2 + end +end diff --git a/spec/views/print_settings/new.html.erb_spec.rb b/spec/views/print_settings/new.html.erb_spec.rb new file mode 100644 index 00000000..a4a79d4f --- /dev/null +++ b/spec/views/print_settings/new.html.erb_spec.rb @@ -0,0 +1,51 @@ +require 'rails_helper' + +RSpec.describe "print_settings/new", type: :view do + before(:each) do + assign(:print_setting, PrintSetting.new( + :name, => "MyString", + :unique_code, => "MyString", + :template, => "MyString", + :db_name, => "MyString", + :db_type, => "MyString", + :db_username, => "MyString", + :db_password, => "MyString", + :printer_name, => "MyString", + :api_settings, => "MyString", + :page_width => "", + :page_height => "", + :print_copies => 1 + )) + end + + it "renders new print_setting form" do + render + + assert_select "form[action=?][method=?]", print_settings_path, "post" do + + assert_select "input[name=?]", "print_setting[name,]" + + assert_select "input[name=?]", "print_setting[unique_code,]" + + assert_select "input[name=?]", "print_setting[template,]" + + assert_select "input[name=?]", "print_setting[db_name,]" + + assert_select "input[name=?]", "print_setting[db_type,]" + + assert_select "input[name=?]", "print_setting[db_username,]" + + assert_select "input[name=?]", "print_setting[db_password,]" + + assert_select "input[name=?]", "print_setting[printer_name,]" + + assert_select "input[name=?]", "print_setting[api_settings,]" + + assert_select "input[name=?]", "print_setting[page_width]" + + assert_select "input[name=?]", "print_setting[page_height]" + + assert_select "input[name=?]", "print_setting[print_copies]" + end + end +end diff --git a/spec/views/print_settings/show.html.erb_spec.rb b/spec/views/print_settings/show.html.erb_spec.rb new file mode 100644 index 00000000..8dd2a3eb --- /dev/null +++ b/spec/views/print_settings/show.html.erb_spec.rb @@ -0,0 +1,36 @@ +require 'rails_helper' + +RSpec.describe "print_settings/show", type: :view do + before(:each) do + @print_setting = assign(:print_setting, PrintSetting.create!( + :name, => "Name,", + :unique_code, => "Unique Code,", + :template, => "Template,", + :db_name, => "Db Name,", + :db_type, => "Db Type,", + :db_username, => "Db Username,", + :db_password, => "Db Password,", + :printer_name, => "Printer Name,", + :api_settings, => "Api Settings,", + :page_width => "", + :page_height => "", + :print_copies => 2 + )) + end + + it "renders attributes in

    " do + render + expect(rendered).to match(/Name,/) + expect(rendered).to match(/Unique Code,/) + expect(rendered).to match(/Template,/) + expect(rendered).to match(/Db Name,/) + expect(rendered).to match(/Db Type,/) + expect(rendered).to match(/Db Username,/) + expect(rendered).to match(/Db Password,/) + expect(rendered).to match(/Printer Name,/) + expect(rendered).to match(/Api Settings,/) + expect(rendered).to match(//) + expect(rendered).to match(//) + expect(rendered).to match(/2/) + end +end diff --git a/test/system/print_settings_test.rb b/test/system/print_settings_test.rb new file mode 100644 index 00000000..a0b4ab23 --- /dev/null +++ b/test/system/print_settings_test.rb @@ -0,0 +1,9 @@ +require "application_system_test_case" + +class PrintSettingsTest < ApplicationSystemTestCase + # test "visiting the index" do + # visit print_settings_url + # + # assert_selector "h1", text: "PrintSetting" + # end +end From 6d705e2860f2b638670be3bb93a98ed8fb5a2d81 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 2 Jun 2017 16:52:58 +0630 Subject: [PATCH 20/58] merge with master --- app/controllers/oqs/print_controller.rb | 5 +++++ app/helpers/oqs/print_helper.rb | 2 ++ app/views/oqs/home/index.html.erb | 2 +- app/views/oqs/print/print.html.erb | 2 ++ config/routes.rb | 2 ++ spec/controllers/oqs/print_controller_spec.rb | 12 ++++++++++++ spec/helpers/oqs/print_helper_spec.rb | 15 +++++++++++++++ spec/views/oqs/print/print.html.erb_spec.rb | 5 +++++ 8 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 app/controllers/oqs/print_controller.rb create mode 100644 app/helpers/oqs/print_helper.rb create mode 100644 app/views/oqs/print/print.html.erb create mode 100644 spec/controllers/oqs/print_controller_spec.rb create mode 100644 spec/helpers/oqs/print_helper_spec.rb create mode 100644 spec/views/oqs/print/print.html.erb_spec.rb diff --git a/app/controllers/oqs/print_controller.rb b/app/controllers/oqs/print_controller.rb new file mode 100644 index 00000000..2b60fc3c --- /dev/null +++ b/app/controllers/oqs/print_controller.rb @@ -0,0 +1,5 @@ +class Oqs::PrintController < ApplicationController + def print + + end +end diff --git a/app/helpers/oqs/print_helper.rb b/app/helpers/oqs/print_helper.rb new file mode 100644 index 00000000..8deee2c2 --- /dev/null +++ b/app/helpers/oqs/print_helper.rb @@ -0,0 +1,2 @@ +module Oqs::PrintHelper +end diff --git a/app/views/oqs/home/index.html.erb b/app/views/oqs/home/index.html.erb index 69fe3f20..5527f530 100644 --- a/app/views/oqs/home/index.html.erb +++ b/app/views/oqs/home/index.html.erb @@ -197,7 +197,7 @@

    diff --git a/app/views/oqs/print/print.html.erb b/app/views/oqs/print/print.html.erb new file mode 100644 index 00000000..857c6622 --- /dev/null +++ b/app/views/oqs/print/print.html.erb @@ -0,0 +1,2 @@ +

    Oqs::Print#print

    +

    Find me in app/views/oqs/print/print.html.erb

    diff --git a/config/routes.rb b/config/routes.rb index eadc26b0..df6e2466 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -99,6 +99,8 @@ Rails.application.routes.draw do root "home#index" post 'update_delivery', to: "home#update_delivery_status" + + get 'print/print' #dashboard # end diff --git a/spec/controllers/oqs/print_controller_spec.rb b/spec/controllers/oqs/print_controller_spec.rb new file mode 100644 index 00000000..4c1ab5fb --- /dev/null +++ b/spec/controllers/oqs/print_controller_spec.rb @@ -0,0 +1,12 @@ +require 'rails_helper' + +RSpec.describe Oqs::PrintController, type: :controller do + + describe "GET #print" do + it "returns http success" do + get :print + expect(response).to have_http_status(:success) + end + end + +end diff --git a/spec/helpers/oqs/print_helper_spec.rb b/spec/helpers/oqs/print_helper_spec.rb new file mode 100644 index 00000000..9bd805c3 --- /dev/null +++ b/spec/helpers/oqs/print_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the Oqs::PrintHelper. For example: +# +# describe Oqs::PrintHelper do +# describe "string concat" do +# it "concats two strings with spaces" do +# expect(helper.concat_strings("this","that")).to eq("this that") +# end +# end +# end +RSpec.describe Oqs::PrintHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/oqs/print/print.html.erb_spec.rb b/spec/views/oqs/print/print.html.erb_spec.rb new file mode 100644 index 00000000..425bd139 --- /dev/null +++ b/spec/views/oqs/print/print.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "print/print.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end From 9afe39b7e280f6d08e426ea8278a4d8e636d3bfd Mon Sep 17 00:00:00 2001 From: Cherry Date: Fri, 2 Jun 2017 17:48:03 +0630 Subject: [PATCH 21/58] commit for sales --- .../javascripts/origami/request_bills.coffee | 3 + .../stylesheets/origami/request_bills.scss | 3 + .../origami/request_bills_controller.rb | 13 ++++ app/helpers/origami/request_bills_helper.rb | 2 + app/models/order.rb | 4 +- app/models/sale.rb | 3 +- app/views/origami/home/index.html.erb | 46 ++++++++----- app/views/origami/request_bills/show.html.erb | 69 +++++++++++++++++++ config/routes.rb | 5 ++ .../request_bills/show.html.erb_spec.rb | 5 ++ 10 files changed, 134 insertions(+), 19 deletions(-) create mode 100644 app/assets/javascripts/origami/request_bills.coffee create mode 100644 app/assets/stylesheets/origami/request_bills.scss create mode 100644 app/controllers/origami/request_bills_controller.rb create mode 100644 app/helpers/origami/request_bills_helper.rb create mode 100644 app/views/origami/request_bills/show.html.erb create mode 100644 spec/views/origami/request_bills/show.html.erb_spec.rb diff --git a/app/assets/javascripts/origami/request_bills.coffee b/app/assets/javascripts/origami/request_bills.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/origami/request_bills.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/origami/request_bills.scss b/app/assets/stylesheets/origami/request_bills.scss new file mode 100644 index 00000000..20719090 --- /dev/null +++ b/app/assets/stylesheets/origami/request_bills.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the origami/RequestBills controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/origami/request_bills_controller.rb b/app/controllers/origami/request_bills_controller.rb new file mode 100644 index 00000000..c202d4dc --- /dev/null +++ b/app/controllers/origami/request_bills_controller.rb @@ -0,0 +1,13 @@ +class Origami::RequestBillsController < BaseOrigamiController + def show + @sale = Sale.new + check_order = Order.find_by_id(params[:id]) + if check_order + @order_details = OrderItem.get_order_items_details(check_order.id) + @order_details = OrderItem.get_order_items_details(check_order.id) + @status, @sale_id = @sale.generate_invoice_from_order(check_order.id, nil,current_login_employee.name) + @sale_data = Sale.find_by_id(@sale_id) + @sale_items = SaleItem.where("sale_id=?",@sale_id) + end + end +end diff --git a/app/helpers/origami/request_bills_helper.rb b/app/helpers/origami/request_bills_helper.rb new file mode 100644 index 00000000..a33f7c3e --- /dev/null +++ b/app/helpers/origami/request_bills_helper.rb @@ -0,0 +1,2 @@ +module Origami::RequestBillsHelper +end diff --git a/app/models/order.rb b/app/models/order.rb index 273cd62c..5011276c 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -226,13 +226,15 @@ class Order < ApplicationRecord end #Origami: Cashier : to view orders def self.get_orders + from = Time.now.beginning_of_day.utc + to = Time.now.end_of_day.utc orders = Order.select("orders.id as order_id,sum(order_items.qty*order_items.price) as total_price, order_items.id as order_items_id,dining_facilities.name as table_or_room_name") .joins("left join booking_orders on booking_orders.order_id = orders.id left join bookings on bookings.id = booking_orders.id left join dining_facilities on dining_facilities.id = bookings.dining_facility_id left join order_items on order_items.order_id = orders.id") - .where("dining_facilities.is_active=?",true) + .where("dining_facilities.is_active=? and orders.date between ? and ?",true,from,to) .group("orders.id") end end diff --git a/app/models/sale.rb b/app/models/sale.rb index 37819c9b..88f0d846 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -188,7 +188,8 @@ class Sale < ApplicationRecord sale_tax.tax_name = tax.name sale_tax.tax_rate = tax.rate #include or execulive - sale_tax.tax_payable_amount = total_taxable * tax.rate + # sale_tax.tax_payable_amount = total_taxable * tax.rate + sale_tax.tax_payable_amount = total_taxable * tax.rate / 100 #new taxable amount total_taxable = total_taxable + sale_tax.tax_payable_amount diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index e79900ab..e0e13ff1 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -1,4 +1,4 @@ -
    +
    @@ -22,15 +22,15 @@
    - - <% @order_table.each do |order_table| %> -
    - -
    -

    <%=order_table.table_name%>

    -

    <%=order_table.total_price%>

    + <% if @order_table %> + <% @order_table.each do |order_table| %> +
    +
    +

    <%=order_table.table_name%>

    +

    <%=order_table.total_price%>

    +
    -
    + <%end %> <%end %>
    @@ -136,32 +136,38 @@ - + + + -