Commit Graph

49 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
3bb9eb9765 Add endpoint to provide autocomplete tag for variant
It return a list of available tags and number of related rules, based on
the given enterprise and a partial match on the given tag
2025-11-03 14:25:05 +11:00
Gaetan Craig-Riou
7e48007d09 Add new tag group and add rule to tag group 2025-09-24 10:40:43 +10:00
Gaetan Craig-Riou
7087d1b290 Add default tag rule
I tried to leverage turbo as much as possible
2025-09-24 10:38:53 +10:00
Ahmed Ejaz
44cbe55c96 Update product routes and views for consistency and clarity 2025-07-27 05:25:50 +05:00
Ahmed Ejaz
6da1200b64 Refactor product routes to remove feature toggle constraints and simplify access 2025-07-24 02:30:37 +05:00
David Cook
c3b23a9fba Move import to new action
Making way for a review step.
2025-02-06 13:50:26 +11:00
Gaetan Craig-Riou
4756ab47c2 Wire preview link via turbo-stream 2024-09-10 13:29:39 +10:00
Maikel Linke
c31416c536 Separate showing and rendering report 2024-08-16 14:37:57 +10:00
David Cook
5d732d80a6 Add connected apps settings screen
I considered adding a request spec, but figured it still doesnt' test the form, so better to use a full system spec.
2024-08-06 11:26:03 +02:00
Ahmed Ejaz
5a259f1b91 Merge branch 'master' into task/11987-remove-SR-from-clone 2024-06-26 16:18:42 +05:00
Ahmed Ejaz
2ca4febf90 11987: add product clone route 2024-06-17 21:57:19 +05:00
David Cook
d34e7dbf9f Specify accepted format on client side
I don't know why, but even though the client sends http accept header for json, rails is treating it as html. This was being overridden in the route, but I want to support multiple formats next. So, we explicitly choose the format by adding it to the request path.
2024-06-05 09:45:30 +10:00
Ahmed Ejaz
a0f290c09f 12398: add turbo stream to delete variants 2024-05-24 02:41:51 +05:00
Ahmed Ejaz
53fb77eb23 12398: add destroy action with turbo stream 2024-05-24 01:16:14 +05:00
Maikel Linke
45c164d5ae Avoid submitting duplicate connected apps
Simple Rails forms prevent double-clicking on submit already. Converting
the StimulusReflex interaction to a simple form submit to a controller
solves the race condition.

The UX is slightly worse because the whole page is reloaded instead
rendering only the connected app panel. But we can solve that when we
add more apps and want to activate them independently. By then, we may
have good patterns for working with Turbo.

Technically, the new buttons are a form within a form which is invalid
HTML, but it works.
2024-05-15 17:14:52 +10:00
David Cook
8696e05e66 Move index and bulk_update actions to good ol' HTTP requests
We've found that we just can't rely in StimulusReflex (and the underlying WebSockets stack) to guarantee a response to a request.
Because of this, there was intermittent issues when the server was overloaded with large requests, and the response never arrived, leaving an infinite loader, and a poor user wondering if anything was still happening.
2024-04-10 15:17:56 +01:00
Maikel Linke
96ccea3691 Add controller to handle import of DFC products
It's not doing anything yet, but this is the basic setup.
2024-03-15 11:40:10 +11:00
Maikel Linke
a89b22e397 Allow user to disconnect OIDC account
This makes testing much easier. But probably also good for users to
revoke any access via OIDC apps. It also enables users to then connect
to a different account, or just renew the current connection.
2024-02-22 10:15:07 +11:00
David Cook
655c16cca0 New bulk products screen shares path with old
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.
2023-10-13 10:39:45 +11:00
Maikel Linke
02edd829b9 Allow to admin vouchers if you know the URL
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.
2023-08-25 10:19:17 +10:00
David Cook
ae3cd6f7e0 Add bulk_update product form for product name
(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.
2023-08-22 11:40:58 +10:00
David Cook
8949f1dc2e Convert route to resource
I don't know why the route helper now has "index" in the name.
2023-08-15 08:36:21 +02:00
Jean-Baptiste Bellet
3b68674896 Remove new_products_page and all associated controller/components/
new_products_page` is dead, long live `admin_style_v3` !
2023-08-10 10:02:45 +02:00
David Cook
841192fb96 Add new products page
Hidden behind admin_style_v3 feature toggle.
2023-06-28 09:59:57 +10:00
Gaetan Craig-Riou
0c43d0f16a Put vouchers admin screen behind 'vouchers' feature toggle 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
f9f6793d10 Add template and basic controller for backoffice voucher pages 2023-03-28 13:39:29 +11:00
Jean-Baptiste Bellet
465a295dfa Delete manager invitation controller 2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
d7d29e3654 Create a new controller for new products page
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
2022-12-07 15:08:52 +01:00
Matt-Yorkley
617164684c Configure OIDC 2022-10-18 11:32:14 +11:00
Cillian O'Ruanaidh
855ec1a708 Add new 'Checkout options' step to the edit order cycle form so people can attach shipping methods 2022-09-30 13:13:39 +01:00
Sebastian Castro
452a3fa933 Reports Refactor 2: Merge Spree::reports into Admin::Reports 2022-05-12 16:54:13 +02:00
Matt-Yorkley
817f0942dd Pull in reports POC work replacing Packing reports 2021-11-04 14:55:23 +00:00
Maikel Linke
007b8cd888 Add new admin page for TOS files
Just the basic Rails setup without any functionality yet.
2021-06-09 14:06:53 +10:00
Matt-Yorkley
2b6a72ffb4 Remove DelayedJob web UI 2021-05-31 10:10:36 +01:00
Matt-Yorkley
0d95d83ef9 Add sidekiq-scheduler to web UI 2021-05-29 13:12:33 +01:00
Matt-Yorkley
11da025247 Add Sidekiq web interface 2021-05-29 13:11:59 +01:00
Jean-Baptiste Bellet
7cf96d1484 Add flipper to manage our feature toggle
- 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`
2021-04-12 18:26:18 +02:00
Luis Ramos
f28241cc5e Merge duplicate Spree::User#superadmin? into existing Spree::admin? 2020-09-02 22:41:42 +01:00
Luis Ramos
48985bbcd1 Use patch instead of put, because it's rails 4
Extend the registration process spec to cover package selection
2020-06-01 13:41:37 +01:00
luisramos0
5f1360e226 Move incoming and outgoing parts of the (not simple) OC new and edit pages to separate routes and views to make this page a multi step page 2019-11-12 12:00:48 +00:00
Matt-Yorkley
ab330e882e Remove product cache 2019-10-18 21:15:11 +01:00
luisramos0
3d420d5727 Merge branch 'master' into 2-0-stable-Apr15 2019-04-16 21:14:11 +01:00
Pau Perez
aa3f0ac577 Reuse #superadmin? in Delayed Job Web route
This moves #superadmin? to the user decorator so it can be reused
outside FeatureFlags.
2019-04-04 16:00:27 +02:00
Pau Perez
bf20376667 Add Delayed Job Web for superadmins only
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.
2019-04-04 16:00:27 +02:00
luisramos0
77655bfffb Rename resource content to contents so that it matches the name of the controller ContentsController. This makes the is_active logic work on the configuration menu
See the menu is_active code here: f55722b38d/backend/app/helpers/spree/admin/navigation_helper.rb (L145)
2019-03-12 19:11:37 +00:00
luisramos0
36e2786a1e Delete Accounts and Billing dead feature code 2019-02-25 14:37:16 +00:00
Hugo Daniel
7b33712f7a Add an API endpoint for EnterpriseFeesController#destroy 2018-11-15 14:05:08 +01:00
luisramos0
3b1bd53d3a Added basic integration with Matomo
Added matomo script and added a new matomo settings menu entry under configuration. Improved organization of en.yml by grouping configuration screens.
2018-08-10 16:12:58 +10:00
Kristina Lim
72036a4993 Move admin routes from main file 2018-08-06 09:57:24 +08:00