From 740038757d39326632a81f95313a29d2afec511b Mon Sep 17 00:00:00 2001 From: Phyo Date: Fri, 11 Aug 2017 17:53:48 +0630 Subject: [PATCH 1/2] Dining Charges CRUD --- .../dining_charges_controller.rb | 29 +++++++++++++++---- app/models/dining_charge.rb | 2 ++ app/models/dining_facility.rb | 1 + app/views/dining_charges/_form.html.erb | 10 ------- app/views/dining_charges/edit.html.erb | 6 ---- app/views/dining_charges/new.html.erb | 5 ---- .../_dining_charge.json.jbuilder | 0 .../settings/dining_charges/_form.html.erb | 18 ++++++++++++ .../settings/dining_charges/edit.html.erb | 19 ++++++++++++ .../dining_charges/index.html.erb | 0 .../dining_charges/index.json.jbuilder | 0 .../settings/dining_charges/new.html.erb | 18 ++++++++++++ .../dining_charges/show.html.erb | 0 .../dining_charges/show.json.jbuilder | 0 app/views/settings/tables/_form.html.erb | 20 +++++++++++++ config/routes.rb | 10 +++++-- 16 files changed, 108 insertions(+), 30 deletions(-) rename app/controllers/{ => settings}/dining_charges_controller.rb (61%) delete mode 100644 app/views/dining_charges/_form.html.erb delete mode 100644 app/views/dining_charges/edit.html.erb delete mode 100644 app/views/dining_charges/new.html.erb rename app/views/{ => settings}/dining_charges/_dining_charge.json.jbuilder (100%) create mode 100644 app/views/settings/dining_charges/_form.html.erb create mode 100644 app/views/settings/dining_charges/edit.html.erb rename app/views/{ => settings}/dining_charges/index.html.erb (100%) rename app/views/{ => settings}/dining_charges/index.json.jbuilder (100%) create mode 100644 app/views/settings/dining_charges/new.html.erb rename app/views/{ => settings}/dining_charges/show.html.erb (100%) rename app/views/{ => settings}/dining_charges/show.json.jbuilder (100%) diff --git a/app/controllers/dining_charges_controller.rb b/app/controllers/settings/dining_charges_controller.rb similarity index 61% rename from app/controllers/dining_charges_controller.rb rename to app/controllers/settings/dining_charges_controller.rb index 7b95af58..6de504bf 100644 --- a/app/controllers/dining_charges_controller.rb +++ b/app/controllers/settings/dining_charges_controller.rb @@ -1,6 +1,7 @@ -class DiningChargesController < ApplicationController +class Settings::DiningChargesController < ApplicationController before_action :set_dining_charge, only: [:show, :edit, :update, :destroy] - + before_action :set_settings_facility + before_action :set_settings_zone # GET /dining_charges # GET /dining_charges.json def index @@ -25,10 +26,10 @@ class DiningChargesController < ApplicationController # POST /dining_charges.json def create @dining_charge = DiningCharge.new(dining_charge_params) - + @dining_charge.dining_facility_id = @settings_dining_facility.id respond_to do |format| if @dining_charge.save - format.html { redirect_to @dining_charge, notice: 'Dining charge was successfully created.' } + format.html { redirect_to edit_settings_zone_table_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully created.' } format.json { render :show, status: :created, location: @dining_charge } else format.html { render :new } @@ -41,8 +42,9 @@ class DiningChargesController < ApplicationController # PATCH/PUT /dining_charges/1.json def update respond_to do |format| + @dining_charge.dining_facility_id = @settings_dining_facility.id if @dining_charge.update(dining_charge_params) - format.html { redirect_to @dining_charge, notice: 'Dining charge was successfully updated.' } + format.html { redirect_to edit_settings_zone_table_path(@zone,@settings_dining_facility), notice: 'Dining charge was successfully updated.' } format.json { render :show, status: :ok, location: @dining_charge } else format.html { render :edit } @@ -67,8 +69,23 @@ class DiningChargesController < ApplicationController @dining_charge = DiningCharge.find(params[:id]) end + def set_settings_facility + if params[:table_id] + @table = true + @settings_dining_facility = Table.find(params[:table_id]) + elsif params[:room_id] + @room = true + @settings_dining_facility = Room.find(params[:room_id]) + end + end + + def set_settings_zone + @zone = Zone.find(params[:zone_id]) + end + # Never trust parameters from the scary internet, only allow the white list through. def dining_charge_params - params.fetch(:dining_charge, {}) + # params.fetch(:dining_charge, {}) + params.require(:dining_charge).permit(:item_code, :unit_price, :taxable, :charge_type,:minimum_free_time ,:charge_block,:time_rounding,:time_rounding_block, :zone_id) end end diff --git a/app/models/dining_charge.rb b/app/models/dining_charge.rb index 9a6c5524..0c52811f 100644 --- a/app/models/dining_charge.rb +++ b/app/models/dining_charge.rb @@ -1,2 +1,4 @@ class DiningCharge < ApplicationRecord + belongs_to :table + belongs_to :room end diff --git a/app/models/dining_facility.rb b/app/models/dining_facility.rb index 510da53d..f441612a 100644 --- a/app/models/dining_facility.rb +++ b/app/models/dining_facility.rb @@ -1,5 +1,6 @@ class DiningFacility < ApplicationRecord belongs_to :zone + has_many :dining_charges TABLE_TYPE = "Table" ROOM_TYPE = "Room" diff --git a/app/views/dining_charges/_form.html.erb b/app/views/dining_charges/_form.html.erb deleted file mode 100644 index 0d4232f9..00000000 --- a/app/views/dining_charges/_form.html.erb +++ /dev/null @@ -1,10 +0,0 @@ -<%= simple_form_for(@dining_charge) do |f| %> - <%= f.error_notification %> - -
-
- -
- <%= f.button :submit %> -
-<% end %> diff --git a/app/views/dining_charges/edit.html.erb b/app/views/dining_charges/edit.html.erb deleted file mode 100644 index 042b88d2..00000000 --- a/app/views/dining_charges/edit.html.erb +++ /dev/null @@ -1,6 +0,0 @@ -

Editing Dining Charge

- -<%= render 'form', dining_charge: @dining_charge %> - -<%= link_to 'Show', @dining_charge %> | -<%= link_to 'Back', dining_charges_path %> diff --git a/app/views/dining_charges/new.html.erb b/app/views/dining_charges/new.html.erb deleted file mode 100644 index 9f56e5d3..00000000 --- a/app/views/dining_charges/new.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -

New Dining Charge

- -<%= render 'form', dining_charge: @dining_charge %> - -<%= link_to 'Back', dining_charges_path %> diff --git a/app/views/dining_charges/_dining_charge.json.jbuilder b/app/views/settings/dining_charges/_dining_charge.json.jbuilder similarity index 100% rename from app/views/dining_charges/_dining_charge.json.jbuilder rename to app/views/settings/dining_charges/_dining_charge.json.jbuilder diff --git a/app/views/settings/dining_charges/_form.html.erb b/app/views/settings/dining_charges/_form.html.erb new file mode 100644 index 00000000..47801ef6 --- /dev/null +++ b/app/views/settings/dining_charges/_form.html.erb @@ -0,0 +1,18 @@ +<%= simple_form_for([:settings,@zone,@settings_dining_facility,@dining_charge]) do |f| %> + <%= f.error_notification %> + +
+ <%= f.input :item_code %> + <%= f.input :unit_price %> + <%= f.input :taxable %> + <%= f.input :charge_type %> + <%= f.input :minimum_free_time %> + <%= f.input :charge_block %> + <%= f.input :time_rounding %> + <%= f.input :time_rounding_block %> +
+ +
+ <%= f.button :submit %> +
+<% end %> diff --git a/app/views/settings/dining_charges/edit.html.erb b/app/views/settings/dining_charges/edit.html.erb new file mode 100644 index 00000000..1b0eb406 --- /dev/null +++ b/app/views/settings/dining_charges/edit.html.erb @@ -0,0 +1,19 @@ + + +
+ + <%= render 'form', dining_charge: @dining_charge %> +
diff --git a/app/views/dining_charges/index.html.erb b/app/views/settings/dining_charges/index.html.erb similarity index 100% rename from app/views/dining_charges/index.html.erb rename to app/views/settings/dining_charges/index.html.erb diff --git a/app/views/dining_charges/index.json.jbuilder b/app/views/settings/dining_charges/index.json.jbuilder similarity index 100% rename from app/views/dining_charges/index.json.jbuilder rename to app/views/settings/dining_charges/index.json.jbuilder diff --git a/app/views/settings/dining_charges/new.html.erb b/app/views/settings/dining_charges/new.html.erb new file mode 100644 index 00000000..1caba288 --- /dev/null +++ b/app/views/settings/dining_charges/new.html.erb @@ -0,0 +1,18 @@ + +
+ + <%= render 'form', dining_charge: @dining_charge %> +
diff --git a/app/views/dining_charges/show.html.erb b/app/views/settings/dining_charges/show.html.erb similarity index 100% rename from app/views/dining_charges/show.html.erb rename to app/views/settings/dining_charges/show.html.erb diff --git a/app/views/dining_charges/show.json.jbuilder b/app/views/settings/dining_charges/show.json.jbuilder similarity index 100% rename from app/views/dining_charges/show.json.jbuilder rename to app/views/settings/dining_charges/show.json.jbuilder diff --git a/app/views/settings/tables/_form.html.erb b/app/views/settings/tables/_form.html.erb index 169e1601..3d641592 100644 --- a/app/views/settings/tables/_form.html.erb +++ b/app/views/settings/tables/_form.html.erb @@ -7,6 +7,26 @@ <%= f.input :seater %> <%= f.input :order_by %> <%= f.input :is_active %> + <% if @settings_table.dining_charges.length == 0 %> +
+
+ <%= link_to 'Add For Extra Charges', new_settings_zone_table_dining_charge_path(@zone,@settings_table),:class => 'btn btn-primary' %> +
+
+ <% else %> + <% @settings_table.dining_charges.each do |dc| %> +
+
Dining Charge
+
item code : <%= dc.item_code %>
+
Unit price : <%= dc.unit_price %>
+
Charge type : <%= dc.charge_type %>
+
+ <%= link_to 'Edit Charges', edit_settings_zone_table_dining_charge_path(@zone,@settings_table,dc),:class => 'btn btn-primary' %> + +
+
+ <% end %> + <% end %>
diff --git a/config/routes.rb b/config/routes.rb index 12e3f542..b6af8698 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,7 +2,6 @@ require 'sidekiq/web' Rails.application.routes.draw do - resources :dining_charges root 'home#index' mount Sidekiq::Web => '/kiq' @@ -146,6 +145,7 @@ Rails.application.routes.draw do get 'sale/:sale_id/payment/others_payment/Master' => "master#index" get 'sale/:sale_id/payment/others_payment/JCB' => "jcb#index" get 'sale/:sale_id/payment/others_payment/Redeem' => "redeem_payments#index" + get 'sale/:sale_id/payment/others_payment/Voucher' => "voucher#index" #---------Void --------------# post 'sale/:sale_id/void' => 'void#overall_void' @@ -254,9 +254,13 @@ Rails.application.routes.draw do #zones resources :zones do #tables - resources :tables + resources :tables do + resources :dining_charges + end #rooms - resources :rooms + resources :rooms do + resources :dining_charges + end end end From 5c2928166d0bc720303ab88f41b43c3bec00fd6f Mon Sep 17 00:00:00 2001 From: Phyo Date: Fri, 11 Aug 2017 18:10:57 +0630 Subject: [PATCH 2/2] Voucher/Cuopon UI phrase 1 --- app/controllers/origami/voucher_controller.rb | 32 ++++ .../origami/voucher/create.json.jbuilder | 5 + app/views/origami/voucher/index.html.erb | 169 ++++++++++++++++++ lib/tasks/menu_osaka.rake | 1 + 4 files changed, 207 insertions(+) create mode 100644 app/controllers/origami/voucher_controller.rb create mode 100644 app/views/origami/voucher/create.json.jbuilder create mode 100644 app/views/origami/voucher/index.html.erb diff --git a/app/controllers/origami/voucher_controller.rb b/app/controllers/origami/voucher_controller.rb new file mode 100644 index 00000000..a9bdcc2b --- /dev/null +++ b/app/controllers/origami/voucher_controller.rb @@ -0,0 +1,32 @@ +class Origami::VoucherController < BaseOrigamiController + + def index + @sale_id = params[:sale_id] + + # limit voucher_amount + sale_data = Sale.find_by_sale_id(@sale_id) + total = sale_data.grand_total + @vouchercount = 0 + others = 0 + sale_data.sale_payments.each do |sale_payment| + if sale_payment.payment_method == "voucher" + @vouchercount = @vouchercount + sale_payment.payment_amount + else + others = others + sale_payment.payment_amount + end + end + @can_voucher = total - @vouchercount - others + + end + + def create + cash = params[:amount] + sale_id = params[:sale_id] + if(Sale.exists?(sale_id)) + saleObj = Sale.find(sale_id) + sale_payment = SalePayment.new + @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher") + end + end + +end diff --git a/app/views/origami/voucher/create.json.jbuilder b/app/views/origami/voucher/create.json.jbuilder new file mode 100644 index 00000000..9767a7d8 --- /dev/null +++ b/app/views/origami/voucher/create.json.jbuilder @@ -0,0 +1,5 @@ +if(@status) + json.status @status +else + json.status false +end diff --git a/app/views/origami/voucher/index.html.erb b/app/views/origami/voucher/index.html.erb new file mode 100644 index 00000000..809793ce --- /dev/null +++ b/app/views/origami/voucher/index.html.erb @@ -0,0 +1,169 @@ + +
+ +
+
+
+

Voucher / Coupon

+
+
+
+
+
+
+ + +
+
+
+ <% if @vouchercount != 0 %> +
+
+ + +
+
+
+ <% end %> +
+
+ + +
+
+
+
+
+ +
0.0
+
+
+
+
+
+
+ +
+ +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
+
0
+
.
+
00
+
+
+
Nett
+
Del
+
Clr
+
+
+
+
+
1000
+
3000
+
+
+
5000
+
10000
+
+
+
Pay
+
+
+
+ +
+ +
+ +
+
+ + diff --git a/lib/tasks/menu_osaka.rake b/lib/tasks/menu_osaka.rake index 0acc4a1e..117fdb5c 100644 --- a/lib/tasks/menu_osaka.rake +++ b/lib/tasks/menu_osaka.rake @@ -1224,6 +1224,7 @@ payment_methods = PaymentMethodSetting.create({payment_method:"VISA",gateway_url payment_methods = PaymentMethodSetting.create({payment_method:"JCB",gateway_url: "http://staging.membership.paypar.ws"}) payment_methods = PaymentMethodSetting.create({payment_method:"Master",gateway_url: "http://staging.membership.paypar.ws"}) payment_methods = PaymentMethodSetting.create({payment_method:"Redeem",gateway_url: "http://staging.membership.paypar.ws",merchant_account_id:"RxzaYyAGzm7VqAZ4hKnv"}) +payment_methods = PaymentMethodSetting.create({payment_method:"Voucher",gateway_url: "http://staging.membership.paypar.ws",merchant_account_id:"RxzaYyAGzm7VqAZ4hKnv"}) #Default Order Queue stations order_queue_station1 = OrderQueueStation.create({station_name: "K1", is_active: true,printer_name: "Cashier", processing_items: JSON.generate(['I0001','I0002','I0003','I0004']), print_copy:false, cut_per_item: false, use_alternate_name: false, created_by: "SYSTEM DEFAULT"})