Commit Graph

3173 Commits

Author SHA1 Message Date
Maikel Linke
00a3976905 Display a friendly message when a report times out
Once we get a download link for a report, we can display this message
sooner. But for now we just use the existing request timeout.
2023-04-04 11:08:20 +10:00
Jean-Baptiste Bellet
89036db666 Do not use a preference, but create a new column for hide_ofn_navigation 2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
dd9fec58a4 Instead of parsing URLs pass order through method for Orders Ctrl
Use methods for before_actions

Maybe we should for hide_of_navigation too, but a name 'hide_ofn_navigation_for_order_distributor' seemed unhelpful..
2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
4fa44e6c64 Put the white label behind a feature toggle white_label
+ update specs as well

+ for admin section also
2023-03-30 09:19:17 +11:00
Jean-Baptiste Bellet
4ad2a1a723 Prefer a concern that set a variable instead of a global helper
Therefor, for the right controllers, simply implements:

```
include WhiteLabel

before_action :hide_ofn_navigation, only: [:show, :edit]
```

This is mort robust, since we're working in a controller level, not parsing URLs...
2023-03-30 09:17:57 +11:00
Filipe
62cdda2ce2 Merge pull request #10523 from rioug/10431-voucher-minimum-backend
Voucher bare minimum backoffice
2023-03-29 20:21:57 +01:00
Filipe
e6123969d2 Merge pull request #10607 from mkllnk/zone-spec
Sort zones by name again, in the admin panel
2023-03-29 17:57:50 +01:00
Gaetan Craig-Riou
4085aa22dc Add create voucher action and system test 2023-03-28 13:39:29 +11:00
Gaetan Craig-Riou
a4add889a8 Add form on the new voucher page 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
Maikel Linke
4461b33491 Sort zones by name again
Zones were intended to be sorted by name. But I guess that the syntax of
Ransack changed one day and we didn't notice because the spec was
creating entries in the right order already (which often reflects the
query result order without parameters). So the spec is fixed to fail if
the sorting doesn't happen and Ransack is configured to sort correctly.
The previous sort value was ignored.
2023-03-27 16:36:04 +11:00
Maikel Linke
78fea7c7f2 Run background reports with Sidekiq, not fork
Forking worked in theory but crashed the browser in system specs. It
also came with many other hurdles and isn't well known solution in the
Rails community. Sidekiq can give us better control over execution
limits as well.
2023-03-27 13:27:49 +11:00
Jean-Baptiste Bellet
465a295dfa Delete manager invitation controller 2023-03-23 11:21:05 +01:00
Jean-Baptiste Bellet
9c84a6936a Create a concern for manager invitations
Can be used elsewhere

Update manager_invitations.rb
2023-03-23 11:21:05 +01:00
Maikel
512cb44df5 Merge pull request #10330 from mickenorlen/8909-add-balance-to-api-v1-customer-endpoint
Add balance to api v1 customers endpoint
2023-03-20 15:47:41 +11:00
David Cook
788457618f Check ship address required based on all available methods
This check was implemented based on 'allowed' shipping methods, but we need to revert that logic. So for now, we can check all 'available' shipping methods.

This could potentially result in the same query being run twice, because load_shipping_methods also loads it. I opted to keep things simple and not try to optimise here.
2023-03-17 13:06:45 +11:00
David Cook
ef607da2c1 Revert "Fix: Customers can checkout with non-matching shipping and product categories" 2023-03-17 10:40:53 +11:00
Filipe
9ea6fa5c44 Merge pull request #9687 from dacook/9616-order-cycle-open-webhook
Add webhook triggered on Order Cycle Open
2023-03-16 17:24:22 +00:00
Konrad
125bc3d14b Merge pull request #10514 from jibees/9292-changes-to-incomingoutgoing-products-lists-triggering-failed-to-update-order-cycle-error
Do not update `estimate_price` of a variant that is not available for the shop on OrderCycle update
2023-03-08 15:45:11 +01:00
Gaetan Craig-Riou
23c4298519 Fix bug when in specific scenario user couldn't proceed to payment step
When using a "pick up" shipping method, with a user who doesn't have a shipping address it was impossible to proceed to the payment step because shipping address was invalid.

To fix this, we ensure that "ship_address_same_as_billing" parameter is set to true when using a "pick up" shipping method.

use distributor address when shipping method doesn't require a ship address ; in doing this we follow the same logic as the legacy checkout
2023-03-08 10:49:37 +01:00
David Cook
00a823b2fc 6. Add webhook endpoints to user developer settings screen
Allowing creation and deleting via the user association.
It probably won't be much effort to allow editing and multiple records, but I cut it down to the minimum needed to avoid any further delays.

I couldn't find a way to test a failure in the destroy method, but decided to keep the condition because I thought it was worth having.
2023-03-07 15:38:50 +11:00
Jean-Baptiste Bellet
131772f7b2 Variant can be "not available": next and don't update its estimate price 2023-03-03 15:07:10 +01:00
Jean-Baptiste Bellet
440e776e3a fee_calculator can be retrieved outside subscription_line_items iteration 2023-03-03 15:05:07 +01:00
Mohamed ABDELLANI
348f806bbe remove load_shipping_methods 2023-03-01 10:53:03 +01:00
Mohamed ABDELLANI
89037e160c Update app/controllers/concerns/checkout_callbacks.rb
Co-authored-by: Maikel <maikel@email.org.au>
2023-03-01 10:51:27 +01:00
Mohamed ABDELLANI
eab8e2be6c load exclusively the shipping methods that support all the shipping categories of the line items 2023-03-01 10:51:27 +01:00
Konrad
f7f49377b4 Merge pull request #10297 from cyrillefr/convert-admin-order-cancellation-workflow-to-stimulus-reflex
Convert admin order cancellation workflow to stimulus reflex
2023-02-20 21:38:33 +01:00
Filipe
10d8e80c45 Merge pull request #10420 from anansilva/9311-remove-code-generating-receipts
Remove code generating receipts
2023-02-20 12:44:13 +00:00
Filipe
f6c9246e20 Merge pull request #10343 from jibees/9538-track-404-errors-in-bugsnag
Notify bugsnag on 404 errors
2023-02-16 17:45:41 +00:00
Jean-Baptiste Bellet
2eec3d625a Notify bugsnag on 404 errors 2023-02-16 13:45:42 +00:00
Mikael Norlén
e95d08cae8 Add balance to api v1 customers endpoint
- customers#show: Add balance (data_type: double) to customer attributes.
- customers#index: Add balance only if specified in extra_fields
query parameter: extra_fields[customer]=balance
2023-02-15 11:14:27 +01:00
Mikael Norlén
22b1dd3232 Add support for extra_fields query parameter
Api now supports optional fields.
These are included with the extra_fields query param.

Syntax: extra_fields[type]=field1,field2
2023-02-15 11:14:27 +01:00
Mikael Norlén
96c0057b03 Use Customers as argument for CustomersWithBalance
Change argument for CustomersWithBalance from
enterprise_id to Customers collection.

We have the need to calculate balance for customers in general,
not just for customers in a given enterprise.
2023-02-15 11:14:27 +01:00
Jean-Baptiste Bellet
08fb496f55 Don't need to show any ship_address errors if no ship selected nor
if the ship_address is the same than the billing one
2023-02-15 09:52:24 +01:00
Jean-Baptiste Bellet
a39598d049 Reorder error messages to improve readability
tbs;
2023-02-15 09:52:10 +01:00
Jean-Baptiste Bellet
9a03023b6b Replace bill_address phone by Customer phone to improve readability
TBS;
2023-02-15 09:44:26 +01:00
Ana Nunes da Silva
3e03988d93 Remove receipt printing settings 2023-02-14 08:08:20 +00:00
Ana Nunes da Silva
8dc50caaa8 Remove print ticket action 2023-02-14 08:08:20 +00:00
Jean-Baptiste Bellet
32fc1eae61 Remove ship_address errors if shipping method isn't selected 2023-02-13 21:06:41 +01:00
Maikel Linke
a08c7f7823 Sort customers by id on API v1 2023-02-10 15:52:35 +11:00
Konrad
73d98bd1b4 Merge pull request #10322 from jibees/8027-performance-improvement-on-adminenterprises
For super admin, add pagination on `/admin/enterprises`
2023-02-08 09:04:41 +01:00
cyrillefr
1682f6788d Delete unused code
Delete now unused code for Angular style bulk orders cancelling
  - the Angular controller file
  - the bulk_cancel method from controller
  - the corresponding entry in route
2023-02-07 15:40:40 +01:00
Jean-Baptiste Bellet
9b2ed8846c load_enterprise_set_on_index is used only in one action
so let's call it inside the action.
2023-02-03 09:15:07 +01:00
Jean-Baptiste Bellet
e18454c55a Add pagination on enterprises page for super admin
Enterprises are stored in `@enterprise_set` variables, and we iterate over to show the list of enterprises to super admin.

Previously, we used to use `Sets::EnterpriseSet.new(collection)` instead of creating set based on `@collection`: this leads to call the `collection` method twice, which was probably very time consuming. This commit fix also that.

+ use paginated enterprises loading on bulk update but without testing if the current user is an admin
2023-02-03 09:15:07 +01:00
Maikel Linke
0fc108a8e6 Remove useless option to allow SSL
It's an outdated Spree setting. We always enforce SSL in production and
staging while development and test environments are running without SSL.
This setting didn't have any effect.
2023-01-30 14:19:37 +11:00
Maikel Linke
882d7a1215 Simplify method according to style rules 2023-01-25 15:49:44 +11:00
Maikel Linke
ab7e1ac39f Display error messages to user for convencience
It will also help us to debug the application if the error is not
obvious.
2023-01-25 14:50:28 +11:00
Maikel Linke
b19456535d Isolate report rendering in separate child process
Sidekiq doesn't have any features to limit memory usage or execution
time. We need a separate process for this. Forking avoids the boot time
of a fresh process and copy-on-write ensures minimal memory overheads.
2023-01-18 23:12:26 +00:00
Maikel Linke
a177f4c066 Add feature to render reports in the background
This is supposed to lower the memory footprint of all Puma workers. The
reports code will occupy needed memory in one Sidekiq worker instead of
in several Puma processes.

The current code doesn't limit the execution time yet. We either need a
way to terminate the report rendering after a while or send an email
with a link to access a rendered report.
2023-01-18 23:12:26 +00:00
Maikel Linke
19c4596b9e Untie report from request object
We want simple report arguments to store it as background job.
2023-01-18 23:12:26 +00:00