diff --git a/app/controllers/origami/sale_edit_controller.rb b/app/controllers/origami/sale_edit_controller.rb index 88cdf315..575cc008 100644 --- a/app/controllers/origami/sale_edit_controller.rb +++ b/app/controllers/origami/sale_edit_controller.rb @@ -1,11 +1,13 @@ class Origami::SaleEditController < BaseOrigamiController + # Index for sale item void OR edit def edit sale_id = params[:sale_id] @table_id = params[:table_id] @saleobj = Sale.find(sale_id) end + # create item void. make duplicate old record and update qty and price def item_void saleitemId = params[:sale_item_id] saleitemObj = SaleItem.find(saleitemId) @@ -19,4 +21,36 @@ class Origami::SaleEditController < BaseOrigamiController @newsaleitem.product_name = saleitemObj.product_name + " - void" @newsaleitem.save end + + # make cancel void item + def item_void_cancel + saleitemId = params[:sale_item_id] + saleitemObj = SaleItem.find(saleitemId) + both = SaleItem.where('product_code=?',saleitemObj.product_code) + both.each do |item| + if item.qty.to_i > 0 + item.remark = nil + item.save + end + end + saleitemObj.destroy + end + + # remove all void items + def cancel_all_void + sale_id = params[:sale_id] + saleobj = Sale.find(sale_id) + saleobj.sale_items.each do |item| + if item.qty.to_i < 0 + item.destroy + else + item.remark = nil + end + item.save + end + end + + def apply_void + + end end diff --git a/app/views/origami/sale_edit/cancel_all_void.json.jbuilder b/app/views/origami/sale_edit/cancel_all_void.json.jbuilder new file mode 100644 index 00000000..08bf292c --- /dev/null +++ b/app/views/origami/sale_edit/cancel_all_void.json.jbuilder @@ -0,0 +1 @@ +json.status true diff --git a/app/views/origami/sale_edit/edit.html.erb b/app/views/origami/sale_edit/edit.html.erb index c5317c4c..76bbeb08 100644 --- a/app/views/origami/sale_edit/edit.html.erb +++ b/app/views/origami/sale_edit/edit.html.erb @@ -1,6 +1,6 @@
-
+
INVOICE DETAILS
@@ -13,7 +13,7 @@

-

Date: <%= @saleobj.created_at.utc.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%>

+

Date: <%= @saleobj.created_at.utc.getlocal.strftime("%d/%m/%Y - %I:%M %p") rescue '-'%>

@@ -23,7 +23,7 @@
- +
@@ -49,13 +49,23 @@ + <% if sale_item.remark != 'void' %> - <% if sale_item.remark != 'void' || sale_item.qty.to_i > 0 %> + <% elsif sale_item.qty.to_i < 0 %> + + + + <% else %> + + + <% end %> <% @@ -70,18 +80,6 @@ - - - - - - - - - - - -
#
<%= count %> <%= sale_item.product_name %> + +
Sub Total: <%= sub_total %>
Discount:(<%= @saleobj.total_discount rescue 0%>)
Tax:<%= @saleobj.total_tax rescue 0%>
Grand Total:<%= @saleobj.grand_total rescue 0%>
@@ -91,9 +89,11 @@
-
+
+ +
diff --git a/app/views/origami/sale_edit/item_void_cancel.json.jbuilder b/app/views/origami/sale_edit/item_void_cancel.json.jbuilder new file mode 100644 index 00000000..08bf292c --- /dev/null +++ b/app/views/origami/sale_edit/item_void_cancel.json.jbuilder @@ -0,0 +1 @@ +json.status true diff --git a/config/routes.rb b/config/routes.rb index bf5d6483..c295f6be 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -78,6 +78,10 @@ Rails.application.routes.draw do post 'moving' => "movetable#moving" get "/table/:table_id/sale/:sale_id/edit" => "sale_edit#edit" post 'item_void' => "sale_edit#item_void" + post 'item_void_cancel' => "sale_edit#item_void_cancel" + post 'cancel_all_void' => 'sale_edit#cancel_all_void' + post 'apply_void' => 'sale_edit#apply_void' + get 'table/:dining_id/movetable' => "movetable#move_dining" get 'table/:dining_id/moveroom' => "moveroom#move_dining" get 'sale/:sale_id' => 'sales#show'