mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-01 02:03:22 +00:00
Add soft-delete method to variant
This commit is contained in:
@@ -3,11 +3,7 @@ Spree::Api::VariantsController.class_eval do
|
||||
@variant = scope.find(params[:variant_id])
|
||||
authorize! :delete, @variant
|
||||
|
||||
@variant.deleted_at = Time.now()
|
||||
if @variant.save
|
||||
respond_with(@variant, :status => 204)
|
||||
else
|
||||
invalid_resource!(@variant)
|
||||
end
|
||||
@variant.delete
|
||||
respond_with @variant, status: 204
|
||||
end
|
||||
end
|
||||
|
||||
@@ -51,6 +51,11 @@ Spree::Variant.class_eval do
|
||||
end
|
||||
end
|
||||
|
||||
def delete
|
||||
self.update_column(:deleted_at, Time.now)
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def update_weight_from_unit_value
|
||||
|
||||
@@ -276,6 +276,15 @@ module Spree
|
||||
end
|
||||
end
|
||||
|
||||
describe "deletion" do
|
||||
it "marks the variant as deleted" do
|
||||
v = create(:variant)
|
||||
v.deleted_at.should be_nil
|
||||
v.delete
|
||||
v.deleted_at.should_not be_nil
|
||||
end
|
||||
end
|
||||
|
||||
describe "destruction" do
|
||||
it "destroys exchange variants" do
|
||||
v = create(:variant)
|
||||
|
||||
Reference in New Issue
Block a user