Option delete items added to check_availability page
This commit is contained in:
5
back-office/app/constraints/check_items_constraint.rb
Normal file
5
back-office/app/constraints/check_items_constraint.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class CheckItemsConstraint
|
||||
def self.matches?(request)
|
||||
request.params[:commit] == 'Check'
|
||||
end
|
||||
end
|
||||
5
back-office/app/constraints/delete_items_constraint.rb
Normal file
5
back-office/app/constraints/delete_items_constraint.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
class DeleteItemsConstraint
|
||||
def self.matches?(request)
|
||||
request.params[:commit] == 'Delete Items'
|
||||
end
|
||||
end
|
||||
@@ -15,4 +15,20 @@ class ItemsController < ApplicationController
|
||||
@missing_from_database = (@codes_to_check_array - items_to_check) || []
|
||||
@missing_from_codes = (items_to_check - @codes_to_check_array) || []
|
||||
end
|
||||
|
||||
def delete_items
|
||||
@suppliers = Supplier.order(:name).all
|
||||
@selected_supplier = Supplier.find_by_id(params[:supplier_id])
|
||||
@items = @selected_supplier.try(:items) || []
|
||||
@codes_to_check = params[:codes] || ""
|
||||
@codes_to_check_array = @codes_to_check.split("\n").reject { |code| code.strip.blank? }.map(&:strip)
|
||||
items_to_check = @items.map { |i| i.code.strip }
|
||||
|
||||
@items_for_delete = items_to_check & @codes_to_check_array
|
||||
Item.where(:code => @items_for_delete).destroy_all
|
||||
|
||||
@not_deleted_items = (@codes_to_check_array - @items_for_delete) || []
|
||||
|
||||
render :template => "items/check_availability"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,33 +2,48 @@
|
||||
<p><label for="supplier_id">Supplier: </label>
|
||||
<%= select_tag "supplier_id", options_from_collection_for_select(@suppliers, "id", "name", @selected_supplier.try(:id)) %></p>
|
||||
|
||||
<p><label for="codes">
|
||||
<p><label for="codes">
|
||||
Codes to check:
|
||||
</label><br />
|
||||
<%= text_area_tag "codes", @codes_to_check, rows: 20, columns: 50 %></p>
|
||||
|
||||
<p><%= submit_tag "Check" %></p>
|
||||
<p><%= submit_tag "Delete Items" %></p>
|
||||
<% end %>
|
||||
|
||||
<div>
|
||||
<h2> In database: <%= @items.length %>, in file: <%= @codes_to_check_array.length %> </h2>
|
||||
</div>
|
||||
<% if controller.action_name == 'delete_items' %>
|
||||
|
||||
<h2> Delete successful </h2>
|
||||
|
||||
<% if @not_deleted_items.length > 0 %>
|
||||
<p>Not deleted items</p>
|
||||
<% @not_deleted_items.each do |code| %>
|
||||
<%= code %><br />
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<% else %>
|
||||
|
||||
<div>
|
||||
<h2> In database: <%= @items.length %>, in file: <%= @codes_to_check_array.length %> </h2>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Not in database (<%= @missing_from_database.length %>): </h2>
|
||||
<br />
|
||||
<% @missing_from_database.each do |code| %>
|
||||
<%= code %><br />
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Not in file (<%= @missing_from_codes.length %>): </h2>
|
||||
<br />
|
||||
<% @missing_from_codes.each do |code| %>
|
||||
<%= code %><br />
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Not in database (<%= @missing_from_database.length %>): </h2>
|
||||
<br />
|
||||
<% @missing_from_database.each do |code| %>
|
||||
<%= code %><br />
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>Not in file (<%= @missing_from_codes.length %>): </h2>
|
||||
<br />
|
||||
<% @missing_from_codes.each do |code| %>
|
||||
<%= code %><br />
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@@ -15,12 +15,13 @@ Rails.application.routes.draw do
|
||||
resources :multi_media_descriptions do as_routes end
|
||||
resources :sections do as_routes end
|
||||
resources :media_types do as_routes end
|
||||
resources :items do
|
||||
collection do
|
||||
resources :items do
|
||||
collection do
|
||||
get 'check_availability'
|
||||
post 'check_availability'
|
||||
post 'check_availability' => 'items#check_availability', constraints: CheckItemsConstraint
|
||||
post 'check_availability' => 'items#delete_items', constraints: DeleteItemsConstraint
|
||||
end
|
||||
as_routes
|
||||
as_routes
|
||||
end
|
||||
resources :units do as_routes end
|
||||
resources :sub_categories do as_routes end
|
||||
|
||||
Reference in New Issue
Block a user