From 3e0eebfa88f6bd382ca38286a029155afe56f3d6 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 10 Aug 2017 16:24:56 +0630 Subject: [PATCH 01/20] nothing change before --- app/models/order.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/app/models/order.rb b/app/models/order.rb index 398fb0f2..0ef19729 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -65,7 +65,6 @@ class Order < ApplicationRecord end def adding_line_items - if self.items #re-order to ordered_list = re_order_items(self.items) From 99946deea358830c030ad1117900487f1f643020 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 10 Aug 2017 18:01:37 +0630 Subject: [PATCH 02/20] update fix for customer --- db/seeds.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/seeds.rb b/db/seeds.rb index 29834cb8..8bc16f74 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -99,8 +99,8 @@ customer_type = Lookup.create([{lookup_type:'customer_type', name: 'Dinein', val {lookup_type:'customer_type', name: 'Delivery', value: 'Delivery'}]) # Default CUSTOMER -customer = Customer.create({name:"WALK-IN", email: "cus1@customer.com", contact_no:"000000000",card_no:"000", customer_type:"Dinein", tax_profiles:"[\"2\", \"1\"]"}) -customer2 = Customer.create({name:"TAKEAWAY", email: "cus2@customer.com", contact_no:"111111111",card_no:"111", customer_type:"Takeaway", tax_profiles:"[\"1\"]"}) +customer = Customer.create({name:"WALK-IN", email: "cus1@customer.com", contact_no:"000000000",card_no:"000", customer_type:"Dinein", tax_profiles:["2", "1"]}) +customer2 = Customer.create({name:"TAKEAWAY", email: "cus2@customer.com", contact_no:"111111111",card_no:"111", customer_type:"Takeaway", tax_profiles:["1"]}) #Default ZOne # zone = Zone.create({id:1, name: "Normal Zone", is_active:true, created_by: "SYSTEM DEFAULT"}) From 5ffb715bd1c9ede50ad2acb81c4a972112cf53c2 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 10 Aug 2017 18:47:29 +0630 Subject: [PATCH 03/20] add menu_item_set --- db/migrate/20170810121704_menu_item_set.rb | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 db/migrate/20170810121704_menu_item_set.rb diff --git a/db/migrate/20170810121704_menu_item_set.rb b/db/migrate/20170810121704_menu_item_set.rb new file mode 100644 index 00000000..5ab5a546 --- /dev/null +++ b/db/migrate/20170810121704_menu_item_set.rb @@ -0,0 +1,4 @@ +class MenuItemSet < ActiveRecord::Migration[5.1] + def change + end +end From 2000eb2d6c054a47db5acb57e2d49de557285134 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 11:27:53 +0630 Subject: [PATCH 04/20] add pivot table for menu --- db/migrate/20170810121704_menu_item_set.rb | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 db/migrate/20170810121704_menu_item_set.rb diff --git a/db/migrate/20170810121704_menu_item_set.rb b/db/migrate/20170810121704_menu_item_set.rb deleted file mode 100644 index 5ab5a546..00000000 --- a/db/migrate/20170810121704_menu_item_set.rb +++ /dev/null @@ -1,4 +0,0 @@ -class MenuItemSet < ActiveRecord::Migration[5.1] - def change - end -end From b0f2bbe899efef62a875ee77d63c07389be7f6f0 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 11:28:13 +0630 Subject: [PATCH 05/20] add pivot table for menu --- db/migrate/20170810121704_create_item_sets.rb | 9 +++++++++ .../20170811121704_create_menu_instance_item_sets.rb | 8 ++++++++ db/migrate/20170811121704_create_menu_item_sets.rb | 8 ++++++++ 3 files changed, 25 insertions(+) create mode 100644 db/migrate/20170810121704_create_item_sets.rb create mode 100644 db/migrate/20170811121704_create_menu_instance_item_sets.rb create mode 100644 db/migrate/20170811121704_create_menu_item_sets.rb diff --git a/db/migrate/20170810121704_create_item_sets.rb b/db/migrate/20170810121704_create_item_sets.rb new file mode 100644 index 00000000..da7fc570 --- /dev/null +++ b/db/migrate/20170810121704_create_item_sets.rb @@ -0,0 +1,9 @@ +class CreateItemSets < ActiveRecord::Migration[5.1] + def change + create_table :item_sets do |t| + t.string :name, :null => false + t.integer :min_selectable_qty + t.integer :max_selectable_qty + t.timestamps + end +end diff --git a/db/migrate/20170811121704_create_menu_instance_item_sets.rb b/db/migrate/20170811121704_create_menu_instance_item_sets.rb new file mode 100644 index 00000000..1712065b --- /dev/null +++ b/db/migrate/20170811121704_create_menu_instance_item_sets.rb @@ -0,0 +1,8 @@ +class CreateMenuInstanceItemSets < ActiveRecord::Migration[5.1] + def change + create_table :menu_instance_item_sets do |t| + t.references :item_set_id, foreign_key: true + t.references :menu_item_instance_id, foreign_key: true + t.timestamps + end +end diff --git a/db/migrate/20170811121704_create_menu_item_sets.rb b/db/migrate/20170811121704_create_menu_item_sets.rb new file mode 100644 index 00000000..1cacad00 --- /dev/null +++ b/db/migrate/20170811121704_create_menu_item_sets.rb @@ -0,0 +1,8 @@ +class CreateMenuItemSets < ActiveRecord::Migration[5.1] + def change + create_table :menu_item_sets do |t| + t.references :item_set_id, foreign_key: true + t.references :menu_item_id, foreign_key: true + t.timestamps + end +end From b0ad2049c591a89a3a14567a5500654dbc2fb177 Mon Sep 17 00:00:00 2001 From: Nweni Date: Fri, 11 Aug 2017 13:34:30 +0630 Subject: [PATCH 06/20] dining_charges --- app/assets/javascripts/dining_charges.coffee | 3 + app/assets/stylesheets/dining_charges.scss | 3 + app/controllers/dining_charges_controller.rb | 74 +++++++++ app/helpers/dining_charges_helper.rb | 2 + app/models/dining_charge.rb | 2 + .../_dining_charge.json.jbuilder | 2 + app/views/dining_charges/_form.html.erb | 10 ++ app/views/dining_charges/edit.html.erb | 6 + app/views/dining_charges/index.html.erb | 25 ++++ app/views/dining_charges/index.json.jbuilder | 1 + app/views/dining_charges/new.html.erb | 5 + app/views/dining_charges/show.html.erb | 4 + app/views/dining_charges/show.json.jbuilder | 1 + config/routes.rb | 1 + db/migrate/20170622050926_create_customers.rb | 2 +- .../20170811052036_create_dining_charges.rb | 16 ++ .../dining_charges_controller_spec.rb | 141 ++++++++++++++++++ spec/helpers/dining_charges_helper_spec.rb | 15 ++ spec/models/dining_charge_spec.rb | 5 + spec/requests/dining_charges_spec.rb | 10 ++ spec/routing/dining_charges_routing_spec.rb | 39 +++++ .../dining_charges/edit.html.erb_spec.rb | 14 ++ .../dining_charges/index.html.erb_spec.rb | 14 ++ .../views/dining_charges/new.html.erb_spec.rb | 14 ++ .../dining_charges/show.html.erb_spec.rb | 11 ++ test/system/dining_charges_test.rb | 9 ++ 26 files changed, 428 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/dining_charges.coffee create mode 100644 app/assets/stylesheets/dining_charges.scss create mode 100644 app/controllers/dining_charges_controller.rb create mode 100644 app/helpers/dining_charges_helper.rb create mode 100644 app/models/dining_charge.rb create mode 100644 app/views/dining_charges/_dining_charge.json.jbuilder create mode 100644 app/views/dining_charges/_form.html.erb create mode 100644 app/views/dining_charges/edit.html.erb create mode 100644 app/views/dining_charges/index.html.erb create mode 100644 app/views/dining_charges/index.json.jbuilder create mode 100644 app/views/dining_charges/new.html.erb create mode 100644 app/views/dining_charges/show.html.erb create mode 100644 app/views/dining_charges/show.json.jbuilder create mode 100644 db/migrate/20170811052036_create_dining_charges.rb create mode 100644 spec/controllers/dining_charges_controller_spec.rb create mode 100644 spec/helpers/dining_charges_helper_spec.rb create mode 100644 spec/models/dining_charge_spec.rb create mode 100644 spec/requests/dining_charges_spec.rb create mode 100644 spec/routing/dining_charges_routing_spec.rb create mode 100644 spec/views/dining_charges/edit.html.erb_spec.rb create mode 100644 spec/views/dining_charges/index.html.erb_spec.rb create mode 100644 spec/views/dining_charges/new.html.erb_spec.rb create mode 100644 spec/views/dining_charges/show.html.erb_spec.rb create mode 100644 test/system/dining_charges_test.rb diff --git a/app/assets/javascripts/dining_charges.coffee b/app/assets/javascripts/dining_charges.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/dining_charges.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/dining_charges.scss b/app/assets/stylesheets/dining_charges.scss new file mode 100644 index 00000000..b0d4ba51 --- /dev/null +++ b/app/assets/stylesheets/dining_charges.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the dining_charges 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/dining_charges_controller.rb b/app/controllers/dining_charges_controller.rb new file mode 100644 index 00000000..7b95af58 --- /dev/null +++ b/app/controllers/dining_charges_controller.rb @@ -0,0 +1,74 @@ +class DiningChargesController < ApplicationController + before_action :set_dining_charge, only: [:show, :edit, :update, :destroy] + + # GET /dining_charges + # GET /dining_charges.json + def index + @dining_charges = DiningCharge.all + end + + # GET /dining_charges/1 + # GET /dining_charges/1.json + def show + end + + # GET /dining_charges/new + def new + @dining_charge = DiningCharge.new + end + + # GET /dining_charges/1/edit + def edit + end + + # POST /dining_charges + # POST /dining_charges.json + def create + @dining_charge = DiningCharge.new(dining_charge_params) + + respond_to do |format| + if @dining_charge.save + format.html { redirect_to @dining_charge, notice: 'Dining charge was successfully created.' } + format.json { render :show, status: :created, location: @dining_charge } + else + format.html { render :new } + format.json { render json: @dining_charge.errors, status: :unprocessable_entity } + end + end + end + + # PATCH/PUT /dining_charges/1 + # PATCH/PUT /dining_charges/1.json + def update + respond_to do |format| + if @dining_charge.update(dining_charge_params) + format.html { redirect_to @dining_charge, notice: 'Dining charge was successfully updated.' } + format.json { render :show, status: :ok, location: @dining_charge } + else + format.html { render :edit } + format.json { render json: @dining_charge.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /dining_charges/1 + # DELETE /dining_charges/1.json + def destroy + @dining_charge.destroy + respond_to do |format| + format.html { redirect_to dining_charges_url, notice: 'Dining charge was successfully destroyed.' } + format.json { head :no_content } + end + end + + private + # Use callbacks to share common setup or constraints between actions. + def set_dining_charge + @dining_charge = DiningCharge.find(params[:id]) + end + + # Never trust parameters from the scary internet, only allow the white list through. + def dining_charge_params + params.fetch(:dining_charge, {}) + end +end diff --git a/app/helpers/dining_charges_helper.rb b/app/helpers/dining_charges_helper.rb new file mode 100644 index 00000000..972a028c --- /dev/null +++ b/app/helpers/dining_charges_helper.rb @@ -0,0 +1,2 @@ +module DiningChargesHelper +end diff --git a/app/models/dining_charge.rb b/app/models/dining_charge.rb new file mode 100644 index 00000000..9a6c5524 --- /dev/null +++ b/app/models/dining_charge.rb @@ -0,0 +1,2 @@ +class DiningCharge < ApplicationRecord +end diff --git a/app/views/dining_charges/_dining_charge.json.jbuilder b/app/views/dining_charges/_dining_charge.json.jbuilder new file mode 100644 index 00000000..045eb7ae --- /dev/null +++ b/app/views/dining_charges/_dining_charge.json.jbuilder @@ -0,0 +1,2 @@ +json.extract! dining_charge, :id, :created_at, :updated_at +json.url dining_charge_url(dining_charge, format: :json) diff --git a/app/views/dining_charges/_form.html.erb b/app/views/dining_charges/_form.html.erb new file mode 100644 index 00000000..0d4232f9 --- /dev/null +++ b/app/views/dining_charges/_form.html.erb @@ -0,0 +1,10 @@ +<%= 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 new file mode 100644 index 00000000..042b88d2 --- /dev/null +++ b/app/views/dining_charges/edit.html.erb @@ -0,0 +1,6 @@ +

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/index.html.erb b/app/views/dining_charges/index.html.erb new file mode 100644 index 00000000..0b3424ac --- /dev/null +++ b/app/views/dining_charges/index.html.erb @@ -0,0 +1,25 @@ +

<%= notice %>

+ +

Dining Charges

+ + + + + + + + + + <% @dining_charges.each do |dining_charge| %> + + + + + + <% end %> + +
<%= link_to 'Show', dining_charge %><%= link_to 'Edit', edit_dining_charge_path(dining_charge) %><%= link_to 'Destroy', dining_charge, method: :delete, data: { confirm: 'Are you sure?' } %>
+ +
+ +<%= link_to 'New Dining Charge', new_dining_charge_path %> diff --git a/app/views/dining_charges/index.json.jbuilder b/app/views/dining_charges/index.json.jbuilder new file mode 100644 index 00000000..0bb9b37d --- /dev/null +++ b/app/views/dining_charges/index.json.jbuilder @@ -0,0 +1 @@ +json.array! @dining_charges, partial: 'dining_charges/dining_charge', as: :dining_charge diff --git a/app/views/dining_charges/new.html.erb b/app/views/dining_charges/new.html.erb new file mode 100644 index 00000000..9f56e5d3 --- /dev/null +++ b/app/views/dining_charges/new.html.erb @@ -0,0 +1,5 @@ +

New Dining Charge

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

<%= notice %>

+ +<%= link_to 'Edit', edit_dining_charge_path(@dining_charge) %> | +<%= link_to 'Back', dining_charges_path %> diff --git a/app/views/dining_charges/show.json.jbuilder b/app/views/dining_charges/show.json.jbuilder new file mode 100644 index 00000000..a91128e1 --- /dev/null +++ b/app/views/dining_charges/show.json.jbuilder @@ -0,0 +1 @@ +json.partial! "dining_charges/dining_charge", dining_charge: @dining_charge diff --git a/config/routes.rb b/config/routes.rb index 0753b64b..12e3f542 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -2,6 +2,7 @@ require 'sidekiq/web' Rails.application.routes.draw do + resources :dining_charges root 'home#index' mount Sidekiq::Web => '/kiq' diff --git a/db/migrate/20170622050926_create_customers.rb b/db/migrate/20170622050926_create_customers.rb index 28f38e15..cb370bc1 100644 --- a/db/migrate/20170622050926_create_customers.rb +++ b/db/migrate/20170622050926_create_customers.rb @@ -16,7 +16,7 @@ class CreateCustomers < ActiveRecord::Migration[5.1] t.string :membership_id t.string :membership_type t.string :membership_authentication_code - t.string :customer_type, default => "Dinein" + t.string :customer_type, :default => "Dinein" t.json :tax_profiles end end diff --git a/db/migrate/20170811052036_create_dining_charges.rb b/db/migrate/20170811052036_create_dining_charges.rb new file mode 100644 index 00000000..3a77ad18 --- /dev/null +++ b/db/migrate/20170811052036_create_dining_charges.rb @@ -0,0 +1,16 @@ +class CreateDiningCharges < ActiveRecord::Migration[5.1] + def change + create_table :dining_charges do |t| + t.references :dining_facility + t.string :item_code, :null => false + t.integer :unit_price, :default => 0 + t.boolean :taxable, :default => true + t.string :charge_type, :default => "hr" + t.time :minimum_free_time + t.time :charge_block + t.string :time_rounding, :default => "down" + t.time :time_rounding_block + t.timestamps + end + end +end diff --git a/spec/controllers/dining_charges_controller_spec.rb b/spec/controllers/dining_charges_controller_spec.rb new file mode 100644 index 00000000..2d92fe46 --- /dev/null +++ b/spec/controllers/dining_charges_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 DiningChargesController, type: :controller do + + # This should return the minimal set of attributes required to create a valid + # DiningCharge. As you add validations to DiningCharge, 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 + # DiningChargesController. Be sure to keep this updated too. + let(:valid_session) { {} } + + describe "GET #index" do + it "returns a success response" do + dining_charge = DiningCharge.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 + dining_charge = DiningCharge.create! valid_attributes + get :show, params: {id: dining_charge.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 + dining_charge = DiningCharge.create! valid_attributes + get :edit, params: {id: dining_charge.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 DiningCharge" do + expect { + post :create, params: {dining_charge: valid_attributes}, session: valid_session + }.to change(DiningCharge, :count).by(1) + end + + it "redirects to the created dining_charge" do + post :create, params: {dining_charge: valid_attributes}, session: valid_session + expect(response).to redirect_to(DiningCharge.last) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'new' template)" do + post :create, params: {dining_charge: 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 dining_charge" do + dining_charge = DiningCharge.create! valid_attributes + put :update, params: {id: dining_charge.to_param, dining_charge: new_attributes}, session: valid_session + dining_charge.reload + skip("Add assertions for updated state") + end + + it "redirects to the dining_charge" do + dining_charge = DiningCharge.create! valid_attributes + put :update, params: {id: dining_charge.to_param, dining_charge: valid_attributes}, session: valid_session + expect(response).to redirect_to(dining_charge) + end + end + + context "with invalid params" do + it "returns a success response (i.e. to display the 'edit' template)" do + dining_charge = DiningCharge.create! valid_attributes + put :update, params: {id: dining_charge.to_param, dining_charge: invalid_attributes}, session: valid_session + expect(response).to be_success + end + end + end + + describe "DELETE #destroy" do + it "destroys the requested dining_charge" do + dining_charge = DiningCharge.create! valid_attributes + expect { + delete :destroy, params: {id: dining_charge.to_param}, session: valid_session + }.to change(DiningCharge, :count).by(-1) + end + + it "redirects to the dining_charges list" do + dining_charge = DiningCharge.create! valid_attributes + delete :destroy, params: {id: dining_charge.to_param}, session: valid_session + expect(response).to redirect_to(dining_charges_url) + end + end + +end diff --git a/spec/helpers/dining_charges_helper_spec.rb b/spec/helpers/dining_charges_helper_spec.rb new file mode 100644 index 00000000..9592fc0b --- /dev/null +++ b/spec/helpers/dining_charges_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the DiningChargesHelper. For example: +# +# describe DiningChargesHelper 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 DiningChargesHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/dining_charge_spec.rb b/spec/models/dining_charge_spec.rb new file mode 100644 index 00000000..bc7b0d21 --- /dev/null +++ b/spec/models/dining_charge_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe DiningCharge, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/requests/dining_charges_spec.rb b/spec/requests/dining_charges_spec.rb new file mode 100644 index 00000000..79ac650c --- /dev/null +++ b/spec/requests/dining_charges_spec.rb @@ -0,0 +1,10 @@ +require 'rails_helper' + +RSpec.describe "DiningCharges", type: :request do + describe "GET /dining_charges" do + it "works! (now write some real specs)" do + get dining_charges_path + expect(response).to have_http_status(200) + end + end +end diff --git a/spec/routing/dining_charges_routing_spec.rb b/spec/routing/dining_charges_routing_spec.rb new file mode 100644 index 00000000..0cf8211b --- /dev/null +++ b/spec/routing/dining_charges_routing_spec.rb @@ -0,0 +1,39 @@ +require "rails_helper" + +RSpec.describe DiningChargesController, type: :routing do + describe "routing" do + + it "routes to #index" do + expect(:get => "/dining_charges").to route_to("dining_charges#index") + end + + it "routes to #new" do + expect(:get => "/dining_charges/new").to route_to("dining_charges#new") + end + + it "routes to #show" do + expect(:get => "/dining_charges/1").to route_to("dining_charges#show", :id => "1") + end + + it "routes to #edit" do + expect(:get => "/dining_charges/1/edit").to route_to("dining_charges#edit", :id => "1") + end + + it "routes to #create" do + expect(:post => "/dining_charges").to route_to("dining_charges#create") + end + + it "routes to #update via PUT" do + expect(:put => "/dining_charges/1").to route_to("dining_charges#update", :id => "1") + end + + it "routes to #update via PATCH" do + expect(:patch => "/dining_charges/1").to route_to("dining_charges#update", :id => "1") + end + + it "routes to #destroy" do + expect(:delete => "/dining_charges/1").to route_to("dining_charges#destroy", :id => "1") + end + + end +end diff --git a/spec/views/dining_charges/edit.html.erb_spec.rb b/spec/views/dining_charges/edit.html.erb_spec.rb new file mode 100644 index 00000000..d91e5fea --- /dev/null +++ b/spec/views/dining_charges/edit.html.erb_spec.rb @@ -0,0 +1,14 @@ +require 'rails_helper' + +RSpec.describe "dining_charges/edit", type: :view do + before(:each) do + @dining_charge = assign(:dining_charge, DiningCharge.create!()) + end + + it "renders the edit dining_charge form" do + render + + assert_select "form[action=?][method=?]", dining_charge_path(@dining_charge), "post" do + end + end +end diff --git a/spec/views/dining_charges/index.html.erb_spec.rb b/spec/views/dining_charges/index.html.erb_spec.rb new file mode 100644 index 00000000..1712a84f --- /dev/null +++ b/spec/views/dining_charges/index.html.erb_spec.rb @@ -0,0 +1,14 @@ +require 'rails_helper' + +RSpec.describe "dining_charges/index", type: :view do + before(:each) do + assign(:dining_charges, [ + DiningCharge.create!(), + DiningCharge.create!() + ]) + end + + it "renders a list of dining_charges" do + render + end +end diff --git a/spec/views/dining_charges/new.html.erb_spec.rb b/spec/views/dining_charges/new.html.erb_spec.rb new file mode 100644 index 00000000..91bb8ac2 --- /dev/null +++ b/spec/views/dining_charges/new.html.erb_spec.rb @@ -0,0 +1,14 @@ +require 'rails_helper' + +RSpec.describe "dining_charges/new", type: :view do + before(:each) do + assign(:dining_charge, DiningCharge.new()) + end + + it "renders new dining_charge form" do + render + + assert_select "form[action=?][method=?]", dining_charges_path, "post" do + end + end +end diff --git a/spec/views/dining_charges/show.html.erb_spec.rb b/spec/views/dining_charges/show.html.erb_spec.rb new file mode 100644 index 00000000..e3674b43 --- /dev/null +++ b/spec/views/dining_charges/show.html.erb_spec.rb @@ -0,0 +1,11 @@ +require 'rails_helper' + +RSpec.describe "dining_charges/show", type: :view do + before(:each) do + @dining_charge = assign(:dining_charge, DiningCharge.create!()) + end + + it "renders attributes in

" do + render + end +end diff --git a/test/system/dining_charges_test.rb b/test/system/dining_charges_test.rb new file mode 100644 index 00000000..3ed188c5 --- /dev/null +++ b/test/system/dining_charges_test.rb @@ -0,0 +1,9 @@ +require "application_system_test_case" + +class DiningChargesTest < ApplicationSystemTestCase + # test "visiting the index" do + # visit dining_charges_url + # + # assert_selector "h1", text: "DiningCharge" + # end +end From b7c49f5f60702e5c03fbee5a310dd6bdb7fde9c1 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 13:34:58 +0630 Subject: [PATCH 07/20] remove item set migrateion --- db/migrate/20170810121704_create_item_sets.rb | 9 --------- .../20170811121704_create_menu_instance_item_sets.rb | 8 -------- db/migrate/20170811121704_create_menu_item_sets.rb | 8 -------- 3 files changed, 25 deletions(-) delete mode 100644 db/migrate/20170810121704_create_item_sets.rb delete mode 100644 db/migrate/20170811121704_create_menu_instance_item_sets.rb delete mode 100644 db/migrate/20170811121704_create_menu_item_sets.rb diff --git a/db/migrate/20170810121704_create_item_sets.rb b/db/migrate/20170810121704_create_item_sets.rb deleted file mode 100644 index da7fc570..00000000 --- a/db/migrate/20170810121704_create_item_sets.rb +++ /dev/null @@ -1,9 +0,0 @@ -class CreateItemSets < ActiveRecord::Migration[5.1] - def change - create_table :item_sets do |t| - t.string :name, :null => false - t.integer :min_selectable_qty - t.integer :max_selectable_qty - t.timestamps - end -end diff --git a/db/migrate/20170811121704_create_menu_instance_item_sets.rb b/db/migrate/20170811121704_create_menu_instance_item_sets.rb deleted file mode 100644 index 1712065b..00000000 --- a/db/migrate/20170811121704_create_menu_instance_item_sets.rb +++ /dev/null @@ -1,8 +0,0 @@ -class CreateMenuInstanceItemSets < ActiveRecord::Migration[5.1] - def change - create_table :menu_instance_item_sets do |t| - t.references :item_set_id, foreign_key: true - t.references :menu_item_instance_id, foreign_key: true - t.timestamps - end -end diff --git a/db/migrate/20170811121704_create_menu_item_sets.rb b/db/migrate/20170811121704_create_menu_item_sets.rb deleted file mode 100644 index 1cacad00..00000000 --- a/db/migrate/20170811121704_create_menu_item_sets.rb +++ /dev/null @@ -1,8 +0,0 @@ -class CreateMenuItemSets < ActiveRecord::Migration[5.1] - def change - create_table :menu_item_sets do |t| - t.references :item_set_id, foreign_key: true - t.references :menu_item_id, foreign_key: true - t.timestamps - end -end From b7cde3125f7c74d5c777238e8954e9e6fa7bb6f3 Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 13:44:25 +0630 Subject: [PATCH 08/20] add item set and relation --- app/models/item_set.rb | 2 ++ app/models/menu_instance_item_set.rb | 2 ++ app/models/menu_item_set.rb | 2 ++ db/migrate/20170811070634_create_item_sets.rb | 11 +++++++++++ db/migrate/20170811071108_create_menu_item_sets.rb | 10 ++++++++++ .../20170811071327_create_menu_instance_item_sets.rb | 10 ++++++++++ spec/models/item_set_spec.rb | 5 +++++ spec/models/menu_instance_item_set_spec.rb | 5 +++++ spec/models/menu_item_set_spec.rb | 5 +++++ 9 files changed, 52 insertions(+) create mode 100644 app/models/item_set.rb create mode 100644 app/models/menu_instance_item_set.rb create mode 100644 app/models/menu_item_set.rb create mode 100644 db/migrate/20170811070634_create_item_sets.rb create mode 100644 db/migrate/20170811071108_create_menu_item_sets.rb create mode 100644 db/migrate/20170811071327_create_menu_instance_item_sets.rb create mode 100644 spec/models/item_set_spec.rb create mode 100644 spec/models/menu_instance_item_set_spec.rb create mode 100644 spec/models/menu_item_set_spec.rb diff --git a/app/models/item_set.rb b/app/models/item_set.rb new file mode 100644 index 00000000..83c32c82 --- /dev/null +++ b/app/models/item_set.rb @@ -0,0 +1,2 @@ +class ItemSet < ApplicationRecord +end diff --git a/app/models/menu_instance_item_set.rb b/app/models/menu_instance_item_set.rb new file mode 100644 index 00000000..6674c0c2 --- /dev/null +++ b/app/models/menu_instance_item_set.rb @@ -0,0 +1,2 @@ +class MenuInstanceItemSet < ApplicationRecord +end diff --git a/app/models/menu_item_set.rb b/app/models/menu_item_set.rb new file mode 100644 index 00000000..407924bd --- /dev/null +++ b/app/models/menu_item_set.rb @@ -0,0 +1,2 @@ +class MenuItemSet < ApplicationRecord +end diff --git a/db/migrate/20170811070634_create_item_sets.rb b/db/migrate/20170811070634_create_item_sets.rb new file mode 100644 index 00000000..d666222c --- /dev/null +++ b/db/migrate/20170811070634_create_item_sets.rb @@ -0,0 +1,11 @@ +class CreateItemSets < ActiveRecord::Migration[5.1] + def change + create_table :item_sets do |t| + t.string :name + t.integer :min_selectable_qty + t.integer :max_selectable_qty + + t.timestamps + end + end +end diff --git a/db/migrate/20170811071108_create_menu_item_sets.rb b/db/migrate/20170811071108_create_menu_item_sets.rb new file mode 100644 index 00000000..f423ea7b --- /dev/null +++ b/db/migrate/20170811071108_create_menu_item_sets.rb @@ -0,0 +1,10 @@ +class CreateMenuItemSets < ActiveRecord::Migration[5.1] + def change + create_table :menu_item_sets do |t| + t.references :item_set_id, foreign_key: true + t.references :menu_item_id, foreign_key: true + + t.timestamps + end + end +end diff --git a/db/migrate/20170811071327_create_menu_instance_item_sets.rb b/db/migrate/20170811071327_create_menu_instance_item_sets.rb new file mode 100644 index 00000000..b25ba8b6 --- /dev/null +++ b/db/migrate/20170811071327_create_menu_instance_item_sets.rb @@ -0,0 +1,10 @@ +class CreateMenuInstanceItemSets < ActiveRecord::Migration[5.1] + def change + create_table :menu_instance_item_sets do |t| + t.references :item_set_id, foreign_key: true + t.references :menu_item_instance_id, foreign_key: true + + t.timestamps + end + end +end diff --git a/spec/models/item_set_spec.rb b/spec/models/item_set_spec.rb new file mode 100644 index 00000000..70c14cff --- /dev/null +++ b/spec/models/item_set_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe ItemSet, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/menu_instance_item_set_spec.rb b/spec/models/menu_instance_item_set_spec.rb new file mode 100644 index 00000000..5711f7e7 --- /dev/null +++ b/spec/models/menu_instance_item_set_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe MenuInstanceItemSet, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/menu_item_set_spec.rb b/spec/models/menu_item_set_spec.rb new file mode 100644 index 00000000..f3c82b26 --- /dev/null +++ b/spec/models/menu_item_set_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe MenuItemSet, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end From 12d3e70b197efb866296bd041a4a264fc26db7ed Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 14:23:33 +0630 Subject: [PATCH 09/20] update model for menu --- app/models/item_set.rb | 5 +++++ app/models/menu_instance_item_set.rb | 2 ++ app/models/menu_item.rb | 3 +++ app/models/menu_item_set.rb | 2 ++ 4 files changed, 12 insertions(+) diff --git a/app/models/item_set.rb b/app/models/item_set.rb index 83c32c82..379347a3 100644 --- a/app/models/item_set.rb +++ b/app/models/item_set.rb @@ -1,2 +1,7 @@ class ItemSet < ApplicationRecord + has_many :menu_item_sets + has_many :menu_items, through: :menu_item_sets + + has_many :menu_instance_item_sets + has_many :menu_item_instances, through: :menu_item_sets end diff --git a/app/models/menu_instance_item_set.rb b/app/models/menu_instance_item_set.rb index 6674c0c2..bc1d7aaf 100644 --- a/app/models/menu_instance_item_set.rb +++ b/app/models/menu_instance_item_set.rb @@ -1,2 +1,4 @@ class MenuInstanceItemSet < ApplicationRecord + belongs_to :item_set + belongs_to :menu_item_instance end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 1f1afbe4..0db0cda4 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -8,6 +8,9 @@ class MenuItem < ApplicationRecord has_many :children, :class_name => "MenuItem", foreign_key: "menu_item_id" belongs_to :account + has_many :menu_item_sets + has_many :item_sets, through: :menu_item_sets + validates_presence_of :name, :type, :min_qty, :taxable, :min_selectable_item, :max_selectable_item default_scope { order('item_code asc') } diff --git a/app/models/menu_item_set.rb b/app/models/menu_item_set.rb index 407924bd..a39b8522 100644 --- a/app/models/menu_item_set.rb +++ b/app/models/menu_item_set.rb @@ -1,2 +1,4 @@ class MenuItemSet < ApplicationRecord + belongs_to :item_set + belongs_to :menu_item end From 3e6ea657f31807021ed60f7fb80e8ea9cab036e5 Mon Sep 17 00:00:00 2001 From: yamin Date: Fri, 11 Aug 2017 14:42:44 +0630 Subject: [PATCH 10/20] Set Footer in Dashboard --- app/views/home/dashboard.html.erb | 44 ++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/app/views/home/dashboard.html.erb b/app/views/home/dashboard.html.erb index 6b49c880..c2074720 100644 --- a/app/views/home/dashboard.html.erb +++ b/app/views/home/dashboard.html.erb @@ -1,12 +1,12 @@ - -

+
- + <% if current_login_employee.role = "admin" %> + <% elsif current_login_employee.role = "cashier" %> <%= link_to "Cashier Station", origami_path %> - <% elsif current_login_employee = "waiter" %> + <% elsif current_login_employee = "account" %> <%= link_to "Cashier Station", oishi_path %> <% else %> @@ -18,18 +18,30 @@ -
- -
- <%= shop.address %> -
-
- <%= shop.phone_no %> -
- -
+
+
+ + From be71d187b0f1f83536051c972c6b985cc493aa1b Mon Sep 17 00:00:00 2001 From: Yan Date: Fri, 11 Aug 2017 15:00:24 +0630 Subject: [PATCH 11/20] update menu --- app/models/menu_category.rb | 8 ++++---- app/models/menu_item.rb | 11 +++++------ app/models/menu_item_instance.rb | 10 +++++----- app/views/settings/menu_categories/show.html.erb | 2 +- db/migrate/20170811071108_create_menu_item_sets.rb | 4 ++-- .../20170811071327_create_menu_instance_item_sets.rb | 4 ++-- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/app/models/menu_category.rb b/app/models/menu_category.rb index 71ad42c8..29484bcc 100644 --- a/app/models/menu_category.rb +++ b/app/models/menu_category.rb @@ -1,5 +1,5 @@ class MenuCategory < ApplicationRecord - before_create :generate_menu_category_code + # before_create :generate_menu_category_code belongs_to :menu has_many :children, :class_name => "MenuCategory", foreign_key: "menu_category_id" @@ -37,7 +37,7 @@ class MenuCategory < ApplicationRecord private - def generate_menu_category_code - self.code = SeedGenerator.generate_code(self.class.name, "C") - end + # def generate_menu_category_code + # self.code = SeedGenerator.generate_code(self.class.name, "C") + # end end diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb index 0db0cda4..4a661c14 100644 --- a/app/models/menu_item.rb +++ b/app/models/menu_item.rb @@ -1,6 +1,5 @@ class MenuItem < ApplicationRecord - - before_create :generate_menu_item_code + # before_create :generate_menu_item_code belongs_to :menu_category, :optional => true has_many :menu_item_instances @@ -73,10 +72,10 @@ class MenuItem < ApplicationRecord end - private + # private - def generate_menu_item_code - self.item_code = SeedGenerator.generate_code(self.class.name, "I") - end + # def generate_menu_item_code + # self.item_code = SeedGenerator.generate_code(self.class.name, "I") + # end end diff --git a/app/models/menu_item_instance.rb b/app/models/menu_item_instance.rb index f39c29a2..579b7a5a 100644 --- a/app/models/menu_item_instance.rb +++ b/app/models/menu_item_instance.rb @@ -1,6 +1,6 @@ class MenuItemInstance < ApplicationRecord belongs_to :menu_item - before_create :generate_menu_item_instance_code + # before_create :generate_menu_item_instance_code def self.findParentCategory(item) if item.menu_category_id @@ -11,9 +11,9 @@ class MenuItemInstance < ApplicationRecord end end - private + # private - def generate_menu_item_instance_code - self.item_instance_code = SeedGenerator.generate_code(self.class.name, "II") - end + # def generate_menu_item_instance_code + # self.item_instance_code = SeedGenerator.generate_code(self.class.name, "II") + # end end diff --git a/app/views/settings/menu_categories/show.html.erb b/app/views/settings/menu_categories/show.html.erb index 25c3c9ba..7e1f44af 100644 --- a/app/views/settings/menu_categories/show.html.erb +++ b/app/views/settings/menu_categories/show.html.erb @@ -1,6 +1,6 @@
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 14/20] 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"}) From f8c7630b97150d79e39855f28a0da15770c42c83 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 14 Aug 2017 10:28:23 +0630 Subject: [PATCH 15/20] updating item_set --- app/models/settings/item_set.rb | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 app/models/settings/item_set.rb diff --git a/app/models/settings/item_set.rb b/app/models/settings/item_set.rb deleted file mode 100644 index dcedbbca..00000000 --- a/app/models/settings/item_set.rb +++ /dev/null @@ -1,2 +0,0 @@ -class Settings::ItemSet < ApplicationRecord -end From 6f39a024cae8ddd88a83ce9a3739a54b03a0f435 Mon Sep 17 00:00:00 2001 From: Nweni Date: Mon, 14 Aug 2017 11:30:58 +0630 Subject: [PATCH 16/20] dining charge --- app/models/dining_charge.rb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/app/models/dining_charge.rb b/app/models/dining_charge.rb index 9a6c5524..4aa47c6d 100644 --- a/app/models/dining_charge.rb +++ b/app/models/dining_charge.rb @@ -1,2 +1,39 @@ class DiningCharge < ApplicationRecord + + def amount_calculate(dining_charges_obj, checkin , checkout) + + if !checkin.nil? && !checkout.nil? && !dining_charges_obj.nil? + + minutes = ((checkin - checkout) * 24 * 60).to_i # stay minutes + dining_minutes = minutes - dining_charges_obj.minimum_free_time # stayminutes - free minutes + charge_type = dining_charges_obj.charge_type + if charge_type == 'hr' + + elsif charge_type == 'day' + price = charge_by_day + end + end + + end + + def charge_by_hour + + end + + def charge_by_day(chargesObj, dining_minutes) + minues_per_day = 12 * 60 + result = dining_minutes / minues_per_day + if result < 1 + return chargesObj.unit_price + elsif result > 1 + solid_price = result * chargesObj.unit_price + + remain_value = dining_minutes % minues_per_day + roundingblock = remain_value / chargesObj.time_rounding_block + if roundingblock > 1 + + end + end + end + end From 25ab7c9701eef0b883d9e46dc30a45dbbb026979 Mon Sep 17 00:00:00 2001 From: Phyo Date: Mon, 14 Aug 2017 13:41:18 +0630 Subject: [PATCH 17/20] Payment Voucher UI fix --- app/controllers/origami/voucher_controller.rb | 46 +++++++++++++++++-- app/views/origami/voucher/index.html.erb | 36 +++++++++------ config/routes.rb | 1 + 3 files changed, 67 insertions(+), 16 deletions(-) diff --git a/app/controllers/origami/voucher_controller.rb b/app/controllers/origami/voucher_controller.rb index a9bdcc2b..7eda6084 100644 --- a/app/controllers/origami/voucher_controller.rb +++ b/app/controllers/origami/voucher_controller.rb @@ -22,10 +22,50 @@ class Origami::VoucherController < BaseOrigamiController def create cash = params[:amount] sale_id = params[:sale_id] + sale_id = params[:refnumber] if(Sale.exists?(sale_id)) - saleObj = Sale.find(sale_id) - sale_payment = SalePayment.new - @status, @sale = sale_payment.process_payment(saleObj, @user, cash, "voucher") + customer_data= Customer.find_by_customer_id(sale_data.customer_id) + if customer_data + membership_id = customer_data.membership_id + membership_setting = MembershipSetting.find_by_membership_type("paypar_url") + if membership_setting.gateway_url + member_actions =MembershipAction.find_by_membership_type("get_account_balance") #need to modify here + if member_actions.gateway_url + campaign_type_id = member_actions.additional_parameter["campaign_type_id"] + url = membership_setting.gateway_url.to_s + member_actions.gateway_url.to_s + merchant_uid= member_actions.merchant_account_id + auth_token = member_actions.auth_token.to_s + # membership_data = SalePayment.get_paypar_account(url,membership_setting.auth_token,@membership_id,@campaign_type_id,merchant_uid,auth_token) + # if membership_data["status"]==true + begin + response = HTTParty.get(url, + :body => { app_token: token,membership_id:membership_id, + campaign_type_id:campaign_type_id,merchant_uid:merchant_uid, + auth_token:auth_token + }.to_json, + :headers => { + 'Content-Type' => 'application/json', + 'Accept' => 'application/json' + }, :timeout => 10 + ) + rescue Net::OpenTimeout + response = { status: false } + + rescue OpenURI::HTTPError + response = { status: false} + + rescue SocketError + response = { status: false} + end + # end + end + end + end + if( response["status"]==true ) + 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/index.html.erb b/app/views/origami/voucher/index.html.erb index 809793ce..db4de245 100644 --- a/app/views/origami/voucher/index.html.erb +++ b/app/views/origami/voucher/index.html.erb @@ -28,14 +28,15 @@
- +

-
0.0
+ +

@@ -103,12 +104,17 @@ $(document).ready(function() { } }); // number key pad +var float_value = "" +var total = 0 + +$(document).on('focusout', '.float-value', function(event){ + float_value = $(this).attr("data-value"); $(document).on('click', '.cashier_number', function(event){ event.stopPropagation(); event.preventDefault(); if(event.handled !== true) { var original_value; - original_value = $('#amount').text(); + original_value = $('#'+float_value).val(); var input_value = $(this).attr("data-value"); @@ -116,28 +122,28 @@ $(document).on('click', '.cashier_number', function(event){ switch (input_type) { case 'num': if (original_value == "0.0"){ - $('#amount').text(input_value); + $('#'+float_value).val(input_value); }else{ - $('#amount').append(input_value); + $('#'+float_value).val(original_value+input_value); } break; case 'add': var input_value = $(this).attr("data-value"); amount = parseInt(input_value) + parseInt(original_value); - $('#amount').html(amount); + $('#'+float_value).val(amount); break; case 'clr': - $('#amount').html("0.0"); + $('#'+float_value).val("0.0"); break; case 'del' : - var cash=$('#amount').text(); - $('#amount').text(cash.substr(0,cash.length-1)); + var cash=$('#'+float_value).val(); + $('#'+float_value).val(cash.substr(0,cash.length-1)); break; case 'nett': var remain_amount = $('#validamount').val(); - $('#amount').text(remain_amount); + $('#'+float_value).val(remain_amount); break; } @@ -146,15 +152,19 @@ $(document).on('click', '.cashier_number', function(event){ return false; } }); +}) $('#voucher_pay').on('click',function(){ - var amount = $('#amount').text(); + var amount = $('#amount').val(); + var refnumber = $("#<%=@sale_id %>").val(); var sale_id = "<%= @sale_id %>"; if(parseFloat(amount) <= parseFloat($("#validamount").attr("value")) ){ + // alert(amount); + // alert(refnumber); $.ajax({type: "POST", - url: "<%= origami_payment_jcb_path %>", - data: "amount="+ amount + "&sale_id="+ sale_id, + url: "<%= origami_payment_voucher_path %>", + data: "amount="+ amount + "&sale_id="+ sale_id+ "&refnumber="+ refnumber, success:function(result){ if(result){ alert("Payment success") diff --git a/config/routes.rb b/config/routes.rb index b6af8698..9e62023c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -137,6 +137,7 @@ Rails.application.routes.draw do post 'payment/visa' => "visa#create" post 'payment/paypar' => 'paypar_payments#create' post 'payment/credit' => 'credit_payments#create' + post 'payment/voucher' => 'voucher_payments#create' get 'sale/:sale_id/payment/credit_payment' => "credit_payments#index" get 'sale/:sale_id/payment/others_payment' => "others_payments#index" From 497a1b60f713fa1dd5022b85f31dc68d74bad657 Mon Sep 17 00:00:00 2001 From: Phyo Date: Mon, 14 Aug 2017 14:04:39 +0630 Subject: [PATCH 18/20] add Updated_at to Employee Listing --- app/views/settings/employees/index.html.erb | 2 ++ app/views/settings/employees/show.html.erb | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/views/settings/employees/index.html.erb b/app/views/settings/employees/index.html.erb index b44a2dcd..7c1f2eb7 100644 --- a/app/views/settings/employees/index.html.erb +++ b/app/views/settings/employees/index.html.erb @@ -16,6 +16,7 @@ Name Role Created At + Updated At Action @@ -26,6 +27,7 @@ <%= link_to employee.name,settings_employee_path(employee) %> <%= employee.role %> <%= employee.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> + <%= employee.updated_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> <%= link_to 'Edit', edit_settings_employee_path(employee) %> <%if employee.role != "administrator"%> diff --git a/app/views/settings/employees/show.html.erb b/app/views/settings/employees/show.html.erb index cad7a6ad..1869fcde 100644 --- a/app/views/settings/employees/show.html.erb +++ b/app/views/settings/employees/show.html.erb @@ -2,7 +2,7 @@ @@ -15,7 +15,8 @@ Name Role - + Created At + Updated At Action @@ -24,6 +25,8 @@ <%= @employee.name %> <%= @employee.role %> + <%= @employee.created_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> + <%= @employee.updated_at.utc.getlocal.strftime("%Y-%m-%d/%I:%M %p") %> <%= link_to 'Edit', edit_settings_employee_path(@employee) %> @@ -34,4 +37,3 @@
- From 74d7adbaef3f19df278c4588fd6ad2fa15057e54 Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 14 Aug 2017 14:27:37 +0630 Subject: [PATCH 19/20] deving item sets --- app/controllers/settings/item_sets_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/settings/item_sets_controller.rb b/app/controllers/settings/item_sets_controller.rb index 226071ef..ace39027 100644 --- a/app/controllers/settings/item_sets_controller.rb +++ b/app/controllers/settings/item_sets_controller.rb @@ -14,7 +14,7 @@ class Settings::ItemSetsController < ApplicationController # GET /settings/item_sets/new def new - @settings_item_set = ItemSet.new + @settings_item_set = ItemSet.new end # GET /settings/item_sets/1/edit From 5a5e654dbcb78db75e995e06683e940d5894371b Mon Sep 17 00:00:00 2001 From: Yan Date: Mon, 14 Aug 2017 15:26:04 +0630 Subject: [PATCH 20/20] move css to css file --- app/assets/stylesheets/settings.scss | 17 ++++++++++++++++- app/views/home/dashboard.html.erb | 5 ----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/assets/stylesheets/settings.scss b/app/assets/stylesheets/settings.scss index 37064f07..ba6ba39d 100644 --- a/app/assets/stylesheets/settings.scss +++ b/app/assets/stylesheets/settings.scss @@ -26,7 +26,22 @@ ul.dropdown-menu li a{ background-color: transparent !important; margin-bottom: 0px !important; } + .page-header{ border-bottom :0px solid #000 !important; margin :0px !important; -} \ No newline at end of file +} + +.card-block { + text-align:center; + background-color:#ddd; +} + +.footer { + position: fixed; + bottom: 0; + left: 0; + height: auto; + background-color: #ef404a; + width: 100%; + } \ No newline at end of file diff --git a/app/views/home/dashboard.html.erb b/app/views/home/dashboard.html.erb index c2074720..82b99cf0 100644 --- a/app/views/home/dashboard.html.erb +++ b/app/views/home/dashboard.html.erb @@ -14,11 +14,6 @@ <% end %> <% shop = Shop.first %> - - - - -