Merge pull request #5734 from SuperGoodSoft/feature/solidus_admin/show-unavailable-status-products
Show "Unavailable" status for products with a future `Available On` date
This commit is contained in:
commit
5b65373270
@ -100,9 +100,20 @@
|
||||
|
||||
<%= page_with_sidebar_aside do %>
|
||||
<%= render component('ui/panel').new(title: "Publishing") do %>
|
||||
<%= render component("ui/forms/field").text_field(f, :available_on, hint: t(".available_on_html"), type: :date) %>
|
||||
<%= render component("ui/forms/field").text_field(f, :discontinue_on, hint: t(".discontinue_on_html"), type: :date) %>
|
||||
|
||||
<%= render component("ui/forms/field").text_field(
|
||||
f,
|
||||
:available_on,
|
||||
hint: t(".available_on_html"),
|
||||
type: :date,
|
||||
value: f.object.available_on&.to_date
|
||||
) %>
|
||||
<%= render component("ui/forms/field").text_field(
|
||||
f,
|
||||
:discontinue_on,
|
||||
hint: t(".discontinue_on_html"),
|
||||
type: :date,
|
||||
value: f.object.discontinue_on&.to_date
|
||||
) %>
|
||||
<label class="flex gap-2 items-center">
|
||||
<%= render component("ui/forms/checkbox").new(
|
||||
name: "#{f.object_name}[promotionable]",
|
||||
|
@ -5,6 +5,7 @@ class SolidusAdmin::Products::Status::Component < SolidusAdmin::BaseComponent
|
||||
available: :green,
|
||||
discontinued: :yellow,
|
||||
deleted: :red,
|
||||
unavailable: :yellow
|
||||
}.freeze
|
||||
|
||||
def self.from_product(product)
|
||||
@ -13,8 +14,10 @@ class SolidusAdmin::Products::Status::Component < SolidusAdmin::BaseComponent
|
||||
:deleted
|
||||
elsif product.discontinued?
|
||||
:discontinued
|
||||
else
|
||||
elsif product.available?
|
||||
:available
|
||||
else
|
||||
:unavailable
|
||||
end
|
||||
|
||||
new(status: status)
|
||||
|
@ -2,3 +2,4 @@ en:
|
||||
available: 'Available'
|
||||
discontinued: 'Discontinued'
|
||||
deleted: 'Deleted'
|
||||
unavailable: 'Unavailable'
|
||||
|
@ -34,5 +34,11 @@ RSpec.describe SolidusAdmin::UI::Forms::Input::Component, type: :component do
|
||||
|
||||
expect(page).to have_css("input[type='number'][name='name'][value='value']")
|
||||
end
|
||||
|
||||
it "renders a date input" do
|
||||
render_inline(described_class.new(type: :date, name: "name", value: "2020-01-01"))
|
||||
|
||||
expect(page).to have_css("input[type='date'][name='name'][value='2020-01-01']")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user