The feature toggle will determine which bulk products screen shows. An additional products_old path is also temporarily added for easy reference.
Later, when the old screen is full removed, we'll probably rename the _v3 classes to tidy up.
The generic FeatureToggleConstraint in routing knows about the current
user but not about the enterprise to edit. We could create a new custom
constraint for routing but it's much easier to handle permissions in the
controller. Let's keep routes simple.
(For now at least,) we use one big standard Rails form, and ModelSet to update each record.
Submitting with Reflex allows us to manage the loading state along with the rest of the page (although I would rather use the built in HTTP POST standard).
Aria-label makes it a bit easier for testing (and accessibility software of course!). Technically it should have been aria-labelledby="id_of_column_header" but that would have resulted in more HTML and processing, which seemed silly.
Best viewed with whitespace ignored.
Controller is constrained by FeatureToggle
- new_products_page
- and available on '/new_products'
Add simple view for new products page and a product
Add new products page as a new entry in the menu
- Also add flipper-ui to have a small UI that can be used by each instance admin to manage feature toggle
- Mount on `/admin/feature-toggle` with same restriction as `/admin`
This adds https://github.com/ejschmitt/delayed_job_web to enable async
job management such as retries, removal of failed jobs, etc.
Only superadmins can access this web UI though. Therefore any sysadmin
that needs to use it should have access to the appropriate instance
superadmin credentials in Bitwarden.