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 %>
|
<%= page_with_sidebar_aside do %>
|
||||||
<%= render component('ui/panel').new(title: "Publishing") 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(
|
||||||
<%= render component("ui/forms/field").text_field(f, :discontinue_on, hint: t(".discontinue_on_html"), type: :date) %>
|
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">
|
<label class="flex gap-2 items-center">
|
||||||
<%= render component("ui/forms/checkbox").new(
|
<%= render component("ui/forms/checkbox").new(
|
||||||
name: "#{f.object_name}[promotionable]",
|
name: "#{f.object_name}[promotionable]",
|
||||||
|
@ -5,6 +5,7 @@ class SolidusAdmin::Products::Status::Component < SolidusAdmin::BaseComponent
|
|||||||
available: :green,
|
available: :green,
|
||||||
discontinued: :yellow,
|
discontinued: :yellow,
|
||||||
deleted: :red,
|
deleted: :red,
|
||||||
|
unavailable: :yellow
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
def self.from_product(product)
|
def self.from_product(product)
|
||||||
@ -13,8 +14,10 @@ class SolidusAdmin::Products::Status::Component < SolidusAdmin::BaseComponent
|
|||||||
:deleted
|
:deleted
|
||||||
elsif product.discontinued?
|
elsif product.discontinued?
|
||||||
:discontinued
|
:discontinued
|
||||||
else
|
elsif product.available?
|
||||||
:available
|
:available
|
||||||
|
else
|
||||||
|
:unavailable
|
||||||
end
|
end
|
||||||
|
|
||||||
new(status: status)
|
new(status: status)
|
||||||
|
@ -2,3 +2,4 @@ en:
|
|||||||
available: 'Available'
|
available: 'Available'
|
||||||
discontinued: 'Discontinued'
|
discontinued: 'Discontinued'
|
||||||
deleted: 'Deleted'
|
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']")
|
expect(page).to have_css("input[type='number'][name='name'][value='value']")
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user