diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 4d3242d5..34b4f3b1 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,16 +2,7 @@ - - - - - - - - - @@ -27,21 +18,111 @@ - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -50,33 +131,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -85,8 +141,18 @@ - - + + + + + + + + + + + + @@ -97,6 +163,8 @@ origami + table_invoice + sale_id @@ -105,11 +173,17 @@ @@ -168,6 +242,264 @@ - @@ -672,38 +1026,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -712,22 +1034,6 @@ - - - - - - - - - - - - - - - - @@ -760,16 +1066,27 @@ - + - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -781,34 +1098,162 @@ - + - - + + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/javascripts/cash_mgmt.coffee b/app/assets/javascripts/cash_mgmt.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/cash_mgmt.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/javascripts/origami/shifts.coffee b/app/assets/javascripts/origami/shifts.coffee new file mode 100644 index 00000000..24f83d18 --- /dev/null +++ b/app/assets/javascripts/origami/shifts.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/cash_mgmt.scss b/app/assets/stylesheets/cash_mgmt.scss new file mode 100644 index 00000000..dfec4c04 --- /dev/null +++ b/app/assets/stylesheets/cash_mgmt.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the cash_mgmt controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/origami/shifts.scss b/app/assets/stylesheets/origami/shifts.scss new file mode 100644 index 00000000..ee1b2c4e --- /dev/null +++ b/app/assets/stylesheets/origami/shifts.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the origami/shifts 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/api/bill_controller.rb b/app/controllers/api/bill_controller.rb index ab9c56f8..dc208a6d 100644 --- a/app/controllers/api/bill_controller.rb +++ b/app/controllers/api/bill_controller.rb @@ -19,7 +19,7 @@ class Api::BillController < Api::ApiController @sale_id = booking.sale_id end end - + elsif (params[:order_id]) @sale = Sale.new @status, @sale_id = @sale.generate_invoice_from_order(params[:order_id], current_login_employee, get_cashier) @@ -29,6 +29,7 @@ class Api::BillController < Api::ApiController @sale_items = SaleItem.where("sale_id=?",@sale_id) unique_code = "ReceiptBillPdf" + #shop detail shop_details = Shop.find(1) diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb index 1f93e6aa..0700ce0b 100644 --- a/app/controllers/home_controller.rb +++ b/app/controllers/home_controller.rb @@ -2,7 +2,7 @@ class HomeController < ApplicationController skip_before_action :authenticate, only: [:index, :show, :create, :update, :destroy] def index - @employees = Employee.all.order("name asc") + @employees = Employee.all_emp_except_waiter.order("name asc") @login_form = LoginForm.new() end @@ -19,7 +19,7 @@ class HomeController < ApplicationController if @employee != nil session[:session_token] = @employee.token_session - redirect_to origami_root_path + route_by_role(@employee) else render :show, flash[:notice] => "Invalid PIN for Employee. Please try again!" end @@ -37,7 +37,7 @@ class HomeController < ApplicationController redirect_to dashboard_path elsif @employee.role == "cashier" session[:session_token] = @employee.token_session - redirect_to origami_root_path + route_by_role(@employee) elsif @employee.role == "manager" session[:session_token] = @employee.token_session redirect_to dashboard_path @@ -74,4 +74,25 @@ class HomeController < ApplicationController def settings_home_params params.require(:login_form).permit(:emp_id, :password) end + + def route_by_role(employee) + if employee.role == "administrator" + redirect_to dashboard_path + elsif employee.role == "cashier" + #check if cashier has existing open cashier + shift = ShiftSale.current_open_shift(employee) + if !shift.nil? + redirect_to origami_root_path + else + redirect_to new_origami_shift_path + end + elsif employee.role == "manager" + redirect_to oqs_root_path + elsif employee.role == "waiter" + redirect_to oqs_root_path + elsif employee.role == "crm" + redirect_to crm_root_path + + end + end end diff --git a/app/controllers/origami/cash_mgmt_controller.rb b/app/controllers/origami/cash_mgmt_controller.rb new file mode 100644 index 00000000..aaf55c1f --- /dev/null +++ b/app/controllers/origami/cash_mgmt_controller.rb @@ -0,0 +1,10 @@ +class Origami::CashMgmtController < ApplicationController + def index + end + + def new + end + + def create + end +end diff --git a/app/controllers/origami/home_controller_bk.rb b/app/controllers/origami/home_controller_bk.rb index 1aca9b2d..5496cca5 100644 --- a/app/controllers/origami/home_controller_bk.rb +++ b/app/controllers/origami/home_controller_bk.rb @@ -19,9 +19,9 @@ class Origami::HomeController < BaseOrigamiController @orders = Order.get_orders() end - def item_show - selection(params[:booking_id],1) - end + # def item_show + # selection(params[:booking_id],1) + # end def selection(selected_id, is_ajax) str = [] @@ -37,8 +37,8 @@ class Origami::HomeController < BaseOrigamiController @order_details = OrderItem.get_order_items_details(params[:booking_id]) @order_details.each do |ord_detail| str.push(ord_detail) - end - end + end + end if is_ajax == 1 render :json => str.to_json diff --git a/app/controllers/origami/shifts_controller.rb b/app/controllers/origami/shifts_controller.rb new file mode 100644 index 00000000..b20c4d7b --- /dev/null +++ b/app/controllers/origami/shifts_controller.rb @@ -0,0 +1,21 @@ +class Origami::ShiftsController < BaseOrigamiController + + def index + end + + def show + end + + def new + @float = Lookup.where('lookup_type=?','float') + end + + def create + opening_balance = params[:opening_balance] + @shift = ShiftSale.new + @shift.create(opening_balance,current_user) + end + + def edit + end +end diff --git a/app/controllers/origami/table_invoices_controller.rb b/app/controllers/origami/table_invoices_controller.rb index 32e0ef7f..4571ba87 100644 --- a/app/controllers/origami/table_invoices_controller.rb +++ b/app/controllers/origami/table_invoices_controller.rb @@ -25,7 +25,7 @@ class Origami::TableInvoicesController < BaseOrigamiController else sale = Sale.find(booking.sale_id) - if sale.sale_status != "completed" + if sale.sale_status != "completed" && sale.sale_status != 'void' @sale_array.push(sale) end end diff --git a/app/controllers/origami/void_controller.rb b/app/controllers/origami/void_controller.rb index bea37a21..3515b010 100644 --- a/app/controllers/origami/void_controller.rb +++ b/app/controllers/origami/void_controller.rb @@ -9,6 +9,14 @@ class Origami::VoidController < BaseOrigamiController sale.sale_status = 'void' sale.save + bookings = sale.bookings + bookings.each do |booking| + orders = booking.orders + orders.each do |order| + # order.status = 'void' + end + end + table_avaliable = true table = sale.bookings[0].dining_facility table.bookings.each do |booking| diff --git a/app/forms/open_shift_form.rb b/app/forms/open_shift_form.rb new file mode 100644 index 00000000..019e6f3e --- /dev/null +++ b/app/forms/open_shift_form.rb @@ -0,0 +1,16 @@ +class LoginForm + include ActiveModel::Model + include ActiveModel::Validations + + attr_accessor :float_amount + validates_presence_of :float_amount + + def persisted? + false + end + + def initialize(attributes={}) + super + end + +end diff --git a/app/helpers/cash_mgmt_helper.rb b/app/helpers/cash_mgmt_helper.rb new file mode 100644 index 00000000..5c1ad77b --- /dev/null +++ b/app/helpers/cash_mgmt_helper.rb @@ -0,0 +1,2 @@ +module CashMgmtHelper +end diff --git a/app/helpers/origami/shifts_helper.rb b/app/helpers/origami/shifts_helper.rb new file mode 100644 index 00000000..ae63824e --- /dev/null +++ b/app/helpers/origami/shifts_helper.rb @@ -0,0 +1,2 @@ +module Origami::ShiftsHelper +end diff --git a/app/models/employee.rb b/app/models/employee.rb index 69eb3fae..1816c2e3 100644 --- a/app/models/employee.rb +++ b/app/models/employee.rb @@ -6,6 +6,10 @@ class Employee < ApplicationRecord validates :emp_id, uniqueness: true, numericality: true, length: {in: 1..4}, allow_blank: true validates :password, numericality: true, length: {in: 3..9}, allow_blank: true + def self.all_emp_except_waiter + Employee.where('role!=?','waiter') + end + def self.collection Employee.select("id, name").map { |e| [e.name, e.id] } end diff --git a/app/models/payment_journal.rb b/app/models/payment_journal.rb new file mode 100644 index 00000000..237f9cd4 --- /dev/null +++ b/app/models/payment_journal.rb @@ -0,0 +1,2 @@ +class PaymentJournal < ApplicationRecord +end diff --git a/app/models/sale.rb b/app/models/sale.rb index 677dabe4..bf3bc216 100644 --- a/app/models/sale.rb +++ b/app/models/sale.rb @@ -270,7 +270,6 @@ class Sale < ApplicationRecord end - private def product_get_unit_price(item_code) diff --git a/app/models/sale_payment.rb b/app/models/sale_payment.rb index 8b28c946..7f39aa18 100644 --- a/app/models/sale_payment.rb +++ b/app/models/sale_payment.rb @@ -247,6 +247,10 @@ class SalePayment < ApplicationRecord end self.sale.sale_status = "completed" self.sale.save! + shift = ShiftSale.current_open_shift(self.sale.cashier_id) + if shift + shift.update(self.sale) + end table_update_status(sObj) rebat(sObj) end diff --git a/app/models/shift_sale.rb b/app/models/shift_sale.rb new file mode 100644 index 00000000..ea7f1132 --- /dev/null +++ b/app/models/shift_sale.rb @@ -0,0 +1,51 @@ + +#Description +#total_revenue = sum of all sub-total from sales table +#total_discounts = sum of all discount (overall) from sales tables +#total_taxes = sum of all taxes from sales table (Service + Goverment Tax (commercial_taxes)) +#grand_total = total_revenue - total_discounts + total_taxes +#nett_sales = grand_total - commercial_taxes +#cash_sales = cash payment total revenue +#credit_sales = credit payment total revenue +#others_sales = [Sum of each of other payment type --- mpu, jcb, visa,master, rebate, vochure] +#commercial_taxes = Total Goverment tax due +#cash_in = Payment receive +#Cash_out = Payment issues for misc payments + +class ShiftSale < ApplicationRecord + belongs_to :cashier_terminal + belongs_to :employee + + def self.current_open_shift(current_user) + #if current_user + #find open shift where is open today and is not closed and login by current cashier + today_date = DateTime.now.strftime("%Y-%m-%d") + shift = ShiftSale.where("TO_CHAR(shift_started_at, 'YYYY-MM-DD')=? and shift_started_at is not null and shift_closed_at is null and employee_id = #{current_user.id}",today_date).take + + return shift + #end + end + + def create(opening_balance,current_user) + self.cashier_terminal_id = CashierTerminal.first.id + self.shift_started_at = DateTime.now + self.employee_id = current_user.id + self.opening_balance = opening_balance + self.save + end + + def update(sale) + saleobj = Sale.find(sale) + self.total_revenue = self.total_revenue + saleobj.total_amount + self.total_discounts = self.total_discounts + saleobj.total_discount + self.total_taxes = self.total_taxes + saleobj.total_tax + self.grand_total = self.grand_total + saleobj.grand_total + # self.nett_sales = + # self.cash_sales = + # self.credit_sales = + # self.other_sales = + # self.commercial_taxes = + self.save + + end +end diff --git a/app/views/home/show.html.erb b/app/views/home/show.html.erb index 84b6f199..b9418d22 100644 --- a/app/views/home/show.html.erb +++ b/app/views/home/show.html.erb @@ -1,14 +1,24 @@ @@ -23,21 +33,29 @@ <%= f.input :password, label: "Access PIN", required: false, class: "form-control" %> -
- - - - - - - - - - - - - +
+
+
+
1
+
2
+
3
+
+
+
4
+
5
+
6
+
+
+
7
+
8
+
9
+
+
CLR
+
0
+
ENT
+
+
diff --git a/app/views/origami/cash_mgmt/create.html.erb b/app/views/origami/cash_mgmt/create.html.erb new file mode 100644 index 00000000..1b4805a2 --- /dev/null +++ b/app/views/origami/cash_mgmt/create.html.erb @@ -0,0 +1,2 @@ +

CashMgmt#create

+

Find me in app/views/cash_mgmt/create.html.erb

diff --git a/app/views/origami/cash_mgmt/index.html.erb b/app/views/origami/cash_mgmt/index.html.erb new file mode 100644 index 00000000..1f64a3df --- /dev/null +++ b/app/views/origami/cash_mgmt/index.html.erb @@ -0,0 +1,2 @@ +

CashMgmt#index

+

Find me in app/views/cash_mgmt/index.html.erb

diff --git a/app/views/origami/cash_mgmt/new.html.erb b/app/views/origami/cash_mgmt/new.html.erb new file mode 100644 index 00000000..9f22e0c3 --- /dev/null +++ b/app/views/origami/cash_mgmt/new.html.erb @@ -0,0 +1,2 @@ +

CashMgmt#new

+

Find me in app/views/cash_mgmt/new.html.erb

diff --git a/app/views/origami/home/index.html.erb b/app/views/origami/home/index.html.erb index 5888bb3e..cd451e68 100644 --- a/app/views/origami/home/index.html.erb +++ b/app/views/origami/home/index.html.erb @@ -27,6 +27,7 @@
<%= sale.receipt_no %> + <%= sale.sale_status %>
<% end %> diff --git a/app/views/origami/home/show.html.erb b/app/views/origami/home/show.html.erb index be13b58c..b979a181 100644 --- a/app/views/origami/home/show.html.erb +++ b/app/views/origami/home/show.html.erb @@ -27,6 +27,7 @@
<%= sale.receipt_no %> + <%= sale.sale_status %>
<% end %> @@ -289,7 +290,7 @@ - + <% else %> @@ -490,9 +491,9 @@ $('#edit').on('click',function(){ }) } else { - } + } - }) +}) diff --git a/app/views/origami/orders/show.html.erb b/app/views/origami/orders/show.html.erb index 5ecb56d1..3a34c1df 100644 --- a/app/views/origami/orders/show.html.erb +++ b/app/views/origami/orders/show.html.erb @@ -26,7 +26,7 @@ <% @complete.each do |sale| %>
- <%= sale.receipt_no %> + <%= sale.receipt_no %><%= sale.sale_status %>
<% end %> diff --git a/app/views/origami/payments/show.html.erb b/app/views/origami/payments/show.html.erb index 24ff3844..4004e9cf 100644 --- a/app/views/origami/payments/show.html.erb +++ b/app/views/origami/payments/show.html.erb @@ -11,7 +11,7 @@ Table No <% if @sale_data%>- <%=@sale_data.receipt_no%><% end %> - Sale Id <% if @sale_data %><%=@sale_data.sale_id %><% end %> + Sale Id <% if @sale_data %><%=@sale_data.sale_id %><% end %> Customer : <%= @sale_data.customer.name%> @@ -244,7 +244,7 @@ - +
@@ -354,6 +354,23 @@ $( document ).ready(function() { } }); +$('#void').on('click',function () { + var sure = confirm("Are you sure want to Void"); + if (sure == true) { + var sale_id = $('#sale_id').text(); + var ajax_url = "/origami/sale/" + sale_id + '/void'; + $.ajax({ + type: 'POST', + url: ajax_url, + success: function () { + window.location.href = '/origami/'; + } + }) + } else { + + } +}); + }); function update_balance(){ @@ -369,4 +386,5 @@ function update_balance(){ var result = amount_due - total; $('#balance').text(result.toFixed(2)); } + diff --git a/app/views/origami/rooms/show.html.erb b/app/views/origami/rooms/show.html.erb index a3f52cec..d8c05393 100644 --- a/app/views/origami/rooms/show.html.erb +++ b/app/views/origami/rooms/show.html.erb @@ -26,7 +26,7 @@ <% @complete.each do |sale| %>
- <%= sale.receipt_no %> + <%= sale.receipt_no %><%= sale.sale_status %>
<% end %> diff --git a/app/views/origami/sales/show.html.erb b/app/views/origami/sales/show.html.erb index cd716052..8e660261 100644 --- a/app/views/origami/sales/show.html.erb +++ b/app/views/origami/sales/show.html.erb @@ -26,7 +26,7 @@ <% @complete.each do |sale| %>
- <%= sale.receipt_no %> + <%= sale.receipt_no %><%= sale.sale_status %>
<% end %> @@ -185,7 +185,9 @@
- + <% if @sale.sale_status != 'void' %> + + <% end %>
diff --git a/app/views/origami/shifts/create.json.jbuilder b/app/views/origami/shifts/create.json.jbuilder new file mode 100644 index 00000000..08bf292c --- /dev/null +++ b/app/views/origami/shifts/create.json.jbuilder @@ -0,0 +1 @@ +json.status true diff --git a/app/views/origami/shifts/edit.html.erb b/app/views/origami/shifts/edit.html.erb new file mode 100644 index 00000000..26d96cb5 --- /dev/null +++ b/app/views/origami/shifts/edit.html.erb @@ -0,0 +1,2 @@ +

Origami::Shifts#edit

+

Find me in app/views/origami/shifts/edit.html.erb

diff --git a/app/views/origami/shifts/index.html.erb b/app/views/origami/shifts/index.html.erb new file mode 100644 index 00000000..ebec0301 --- /dev/null +++ b/app/views/origami/shifts/index.html.erb @@ -0,0 +1,2 @@ +

Origami::Shifts#index

+

Find me in app/views/origami/shifts/index.html.erb

diff --git a/app/views/origami/shifts/new.html.erb b/app/views/origami/shifts/new.html.erb new file mode 100644 index 00000000..16c2aa10 --- /dev/null +++ b/app/views/origami/shifts/new.html.erb @@ -0,0 +1,46 @@ +

Open Cashier

+
+
+
+ + <% @float.each do |float| %> + + + + + <% end %> + + + + +
<%= float.name %>
Total
+
+
+
+ +
+
+
+
+ diff --git a/app/views/origami/shifts/show.html.erb b/app/views/origami/shifts/show.html.erb new file mode 100644 index 00000000..189c3d62 --- /dev/null +++ b/app/views/origami/shifts/show.html.erb @@ -0,0 +1,2 @@ +

Origami::Shifts#show

+

Find me in app/views/origami/shifts/show.html.erb

diff --git a/app/views/origami/table_invoices/show.html.erb b/app/views/origami/table_invoices/show.html.erb index ee66f9a3..ade1f021 100644 --- a/app/views/origami/table_invoices/show.html.erb +++ b/app/views/origami/table_invoices/show.html.erb @@ -128,6 +128,7 @@
+
diff --git a/config/routes.rb b/config/routes.rb index 8ca49ba7..adb8d8c4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -89,7 +89,7 @@ Rails.application.routes.draw do get 'room/:room_id' => 'rooms#show' get 'order/:order_id' => "orders#show" - post '/:booking_id' => 'home#item_show' + # post '/:booking_id' => 'home#item_show' get "/:id/discount" => "discounts#index" post "/:id/discount" => "discounts#create" @@ -98,6 +98,19 @@ Rails.application.routes.draw do post "/:id/request_bills" => "request_bills#print",:as => "request_bill" ,:defaults => { :format => 'json' } get '/:sale_id/reprint' => 'payments#reprint' ,:defaults => { :format => 'json' } + + #---------Shift ---------------# + resources :shifts, only: [:index, :show, :new, :create, :edit, :update] + #shift - index (open/close shift landing page) + #shift - show (sales summary display) + #shift - new (open shift) + #shift - edit (close shift) + + resources :cash_mgmt, only: [:new, :create] + #payment - accepting or expending money from cashier - [Cash Journal] + #payment - Incoming payments - [accept all payment types (cash, other payments (except rebate)) + #payment - Outing payments - Cash only [ *Misc expeness tracking] + #--------- Payment ------------# get 'sale/:sale_id/payment' => 'payments#show' diff --git a/db/migrate/20170626191519_create_shift_sales.rb b/db/migrate/20170626191519_create_shift_sales.rb new file mode 100644 index 00000000..762b4fc3 --- /dev/null +++ b/db/migrate/20170626191519_create_shift_sales.rb @@ -0,0 +1,25 @@ +class CreateShiftSales < ActiveRecord::Migration[5.1] + def change + create_table :shift_sales do |t| + t.references :cashier_terminal, foreign_key: true, :null => false + t.datetime :shift_started_at + t.datetime :shift_closed_at + t.references :employee, foreign_key: true #cashier + t.decimal :opening_balance, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :closing_balance, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :total_revenue, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :total_discounts, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :total_taxes, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :grand_total, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :nett_sales, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :cash_sales, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :credit_sales, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.json :other_sales + t.decimal :commercial_taxes, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :cash_in, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :cash_out, :precision => 10, :scale => 2, :null => false, :default => 0.00 + + t.timestamps + end + end +end diff --git a/db/migrate/20170627035218_create_payment_journals.rb b/db/migrate/20170627035218_create_payment_journals.rb new file mode 100644 index 00000000..e7f4c903 --- /dev/null +++ b/db/migrate/20170627035218_create_payment_journals.rb @@ -0,0 +1,15 @@ +class CreatePaymentJournals < ActiveRecord::Migration[5.1] + def change + create_table :payment_journals do |t| + t.string :payment_references,:null => false + t.string :remark + t.decimal :credit_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.decimal :debit_amount, :precision => 10, :scale => 2, :null => false, :default => 0.00 + t.string :payment_method,:null => false, :default => "CASH" + t.string :payment_status,:null => false, :default => "NEW" + t.string :payment_method_references + + t.timestamps + end + end +end diff --git a/db/scaffold_structure b/db/scaffold_structure index 064f62d4..cd8a52c0 100644 --- a/db/scaffold_structure +++ b/db/scaffold_structure @@ -22,3 +22,5 @@ rails generate scaffold_controller Setup/CashierTerminal name:string is_active:b rails generate scaffold_controller Settings/OrderQueueStation station_name:string is_active:boolean processing_items:json print_copy:boolean printer_name:string font_size:integer cut_per_item:boolean use_alternate_name:boolean created_by:string --no-migration rails generate scaffold_controller transactions/Sale cashier:references cashier_name:string requested_by:string requested_at:datetime receipt_no:string receipt_date:datetime customer:references payment_status:string sale_status:string total_amount:decimal total_discount:decimal total_tax:decimal tax_type:string grand_total:decimal rounding_adjustment:decimal amount_received:decimal amount_changed:decimal --no-migration + +rails g model shift_sale cashier_terminal:references shift_started_at:datetime shift_closed_at:datetime employee:references opening_balance:decimal closing_balance:decimal total_revenue:decimal total_discounts:decimal total_taxes:decimal grand_total:decimal nett_sales:decimal cash_sales:decimal credit_sales:decimal other_sales:decimal commercial_taxes:decimal cash_in:decimal cash_out:decimal diff --git a/dump.rdb b/dump.rdb index acef6aa7..309652eb 100644 Binary files a/dump.rdb and b/dump.rdb differ diff --git a/spec/controllers/cash_mgmt_controller_spec.rb b/spec/controllers/cash_mgmt_controller_spec.rb new file mode 100644 index 00000000..0772e07e --- /dev/null +++ b/spec/controllers/cash_mgmt_controller_spec.rb @@ -0,0 +1,26 @@ +require 'rails_helper' + +RSpec.describe CashMgmtController, type: :controller do + + describe "GET #index" do + it "returns http success" do + get :index + expect(response).to have_http_status(:success) + end + end + + describe "GET #new" do + it "returns http success" do + get :new + expect(response).to have_http_status(:success) + end + end + + describe "GET #create" do + it "returns http success" do + get :create + expect(response).to have_http_status(:success) + end + end + +end diff --git a/spec/controllers/origami/shifts_controller_spec.rb b/spec/controllers/origami/shifts_controller_spec.rb new file mode 100644 index 00000000..6bc402b9 --- /dev/null +++ b/spec/controllers/origami/shifts_controller_spec.rb @@ -0,0 +1,33 @@ +require 'rails_helper' + +RSpec.describe Origami::ShiftsController, type: :controller do + + describe "GET #index" do + it "returns http success" do + get :index + expect(response).to have_http_status(:success) + end + end + + describe "GET #show" do + it "returns http success" do + get :show + expect(response).to have_http_status(:success) + end + end + + describe "GET #new" do + it "returns http success" do + get :new + expect(response).to have_http_status(:success) + end + end + + describe "GET #edit" do + it "returns http success" do + get :edit + expect(response).to have_http_status(:success) + end + end + +end diff --git a/spec/helpers/cash_mgmt_helper_spec.rb b/spec/helpers/cash_mgmt_helper_spec.rb new file mode 100644 index 00000000..c1b99e8f --- /dev/null +++ b/spec/helpers/cash_mgmt_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the CashMgmtHelper. For example: +# +# describe CashMgmtHelper 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 CashMgmtHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/helpers/origami/shifts_helper_spec.rb b/spec/helpers/origami/shifts_helper_spec.rb new file mode 100644 index 00000000..52cd53cc --- /dev/null +++ b/spec/helpers/origami/shifts_helper_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +# Specs in this file have access to a helper object that includes +# the Origami::ShiftsHelper. For example: +# +# describe Origami::ShiftsHelper 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 Origami::ShiftsHelper, type: :helper do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/payment_journal_spec.rb b/spec/models/payment_journal_spec.rb new file mode 100644 index 00000000..1d69ec1b --- /dev/null +++ b/spec/models/payment_journal_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe PaymentJournal, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/models/shift_sale_spec.rb b/spec/models/shift_sale_spec.rb new file mode 100644 index 00000000..18b726dc --- /dev/null +++ b/spec/models/shift_sale_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe ShiftSale, type: :model do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/cash_mgmt/create.html.erb_spec.rb b/spec/views/cash_mgmt/create.html.erb_spec.rb new file mode 100644 index 00000000..99f19970 --- /dev/null +++ b/spec/views/cash_mgmt/create.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "cash_mgmt/create.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/cash_mgmt/index.html.erb_spec.rb b/spec/views/cash_mgmt/index.html.erb_spec.rb new file mode 100644 index 00000000..47aac0d1 --- /dev/null +++ b/spec/views/cash_mgmt/index.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "cash_mgmt/index.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/cash_mgmt/new.html.erb_spec.rb b/spec/views/cash_mgmt/new.html.erb_spec.rb new file mode 100644 index 00000000..75ceeb52 --- /dev/null +++ b/spec/views/cash_mgmt/new.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "cash_mgmt/new.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/origami/shifts/edit.html.erb_spec.rb b/spec/views/origami/shifts/edit.html.erb_spec.rb new file mode 100644 index 00000000..3e38121f --- /dev/null +++ b/spec/views/origami/shifts/edit.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "shifts/edit.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/origami/shifts/index.html.erb_spec.rb b/spec/views/origami/shifts/index.html.erb_spec.rb new file mode 100644 index 00000000..6a148d25 --- /dev/null +++ b/spec/views/origami/shifts/index.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "shifts/index.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/origami/shifts/new.html.erb_spec.rb b/spec/views/origami/shifts/new.html.erb_spec.rb new file mode 100644 index 00000000..60e9a23c --- /dev/null +++ b/spec/views/origami/shifts/new.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "shifts/new.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end diff --git a/spec/views/origami/shifts/show.html.erb_spec.rb b/spec/views/origami/shifts/show.html.erb_spec.rb new file mode 100644 index 00000000..372203e3 --- /dev/null +++ b/spec/views/origami/shifts/show.html.erb_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe "shifts/show.html.erb", type: :view do + pending "add some examples to (or delete) #{__FILE__}" +end