Commit Graph

3289 Commits

Author SHA1 Message Date
Maikel
014fb69d4b Merge pull request #10964 from macanudo527/fix_linelength_bundle1
Fix Layout/LineLength - Bundle 1
2023-06-26 12:10:39 +10:00
Maikel
a7915b8089 Merge pull request #10849 from mkllnk/report-cable
Show "loading" screen for background reports and display when ready
2023-06-26 10:25:48 +10:00
Maikel Linke
ff588cec40 Restore line item ordering
The line item sorting by id has been replaced by sorting by completed_at
time: ccb183d60b

While that's a good idea, the query param to order was only defined in
the client Javascript and there was no default ordering. Line items also
get their completed_at date from the order. So it's the same for all
items of the same order and the ordering with that group of line items
was random.

Now we are adding an order in addition. Items are first sorted by date
and then by id if there's any ambiguity.
2023-06-25 19:24:58 +02:00
David Cook
6240baec0d Update app/controllers/admin/enterprises_controller.rb
Co-authored-by: Gaetan Craig-Riou <40413322+rioug@users.noreply.github.com>
2023-06-23 16:18:45 +09:00
Maikel
e065910d2d Merge pull request #10939 from Matt-Yorkley/master-variants
Remove master variants
2023-06-23 13:42:58 +10:00
Neal Chambers
1e4034534c Fix Layout/LineLength 2023-06-23 09:08:04 +09:00
Matt-Yorkley
c6ec13443e Drop next_invoice_number method from Spree::Order 2023-06-18 21:03:13 +02:00
Matt-Yorkley
d3a31bd0bd Rename @invoice_presenter instance variable to @order in invoice templates 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0ed7599267 extract methods related to invoices from the order model to the OrderInvoiceComparator 2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
d86173c509 add feature toggle
seperate the invoice templates that rely on presenters from the old ones.
2023-06-18 21:03:13 +02:00
Mohamed ABDELLANI
0fbf88190e Generate invoice model
There are three main components:
1. The invoice model
2. order serializers: serialize the order for the invoice
3. data presenters: the object that will be use to access the order's serialize data
2023-06-18 21:03:13 +02:00
Matt-Yorkley
ced60d4382 Remove superfluous method from products controller 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1daab8994d Remove is_master and not_master scopes 2023-06-16 21:23:44 +01:00
Matt-Yorkley
8247dce2dc Improve validation feedback on new variant page and add test coverage 2023-06-16 21:23:44 +01:00
Matt-Yorkley
3ef7d2c9ff Remove master variant from product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1b06c20197 Stop using master variant as a potential store for prices 2023-06-16 21:21:40 +01:00
Maikel Linke
c2605b2606 Display loading spinner before quick reports
We had a race condition that could first display the report and then
replace it again with the "loading" spinner. That doesn't seem to happen
now that we changed the order of cable events.
2023-06-14 15:40:52 +10:00
Matt-Yorkley
5487aa19fc Fix missing checkout_state_path 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
c2aaf88e98 remove checkout controller 2023-06-13 14:58:16 +01:00
Gaetan Craig-Riou
41b3ddae08 Merge pull request #10714 from macanudo527/fix_linelength
Fix Style/LineLength
2023-06-12 09:53:23 +10:00
Neal Chambers
449430cabc Indent code to be more Readable 2023-06-09 16:39:29 +09:00
Neal Chambers
252697b782 Rewrite If and Unless Statements to be more Readable 2023-06-09 16:39:26 +09:00
Maikel Linke
d312a5912a Style Layout/MultilineMethodCallIndentation 2023-06-09 14:45:06 +10:00
Maikel Linke
828b2f6f44 Replace too long list of arguments with keywords
Rubocop was complaining about too many arguments. But
`ApplicationJob#perform` needs all arguments handled in one call. While
we could allow the `perform` method generally to have more arguments,
there could be other methods called `perform` which should still be
scrutinised. Instead, it seems acceptable to me to have more arguments
as long as they are clearly named as keyword arguments. Rails uses this
a lot to document all options including their default values, for
example in Active Storage. It's better then bundling several arguments
in an undocumented hash just to reduce the number of given arguments.

And once we upgraded to Ruby 3.1, we can clean the method calls up as
well. `call(user: user)` becomes `call(user:)` without repetition.
2023-06-09 14:44:54 +10:00
Maikel Linke
e56c06571c Remove outdated report timeout handling
Since we don't wait for the report any more, a timeout is very unlikely
and we don't need special handling for it.
2023-06-09 14:44:54 +10:00
Matt-Yorkley
524d1f0264 Switch to tighter Channel scoping...
This is not a normal pattern for setting up ActionCable channels, so it might need some notes. It ensures the broadcasts from the ReportJob are unique not just to the user session but also to the specific tab in the user's browser. Otherwise if the user has two different report pages open in separate tabs with the same session, the broadcast would overwrite the #report-table element in both of them.
2023-06-09 14:44:53 +10:00
Matt-Yorkley
a3ef604797 Run reports in background 2023-06-09 14:44:53 +10:00
Matt-Yorkley
f4261b85b8 Merge pull request #10940 from Matt-Yorkley/order-tidyup
Order class tidyup
2023-06-08 15:06:59 +01:00
Filipe
7974e1eaa6 Merge pull request #10936 from abdellani/fix-order-progressing-automatically-on-BOO
fix Viewing an order in state "confirmation" changes the state to "complete"
2023-06-08 14:50:04 +01:00
Neal Chambers
dde775d2b7 Remove Old Code and Comments 2023-06-08 15:20:04 +10:00
Matt-Yorkley
983353e078 Remove dead code
I'm pretty sure this was here because advancing the order was adding order errors in some cases
2023-06-07 13:01:37 +01:00
Matt-Yorkley
f3ee10dd5a Simplify by moving conditional to guard clause 2023-06-07 13:01:37 +01:00
Matt-Yorkley
cf0f148dba Advance order when creating a shipment
This action gets called from the order edit page when adding line items and it's one of the places that needs to advance the order *before* redirecting back to the order edit action
2023-06-07 13:01:37 +01:00
Matt-Yorkley
acc34d1deb Update advance to payment logic 2023-06-07 00:58:43 +01:00
Matt-Yorkley
c7bb24e2a0 Remove dead code and clarify update logic 2023-06-07 00:58:43 +01:00
Matt-Yorkley
67c3e09dba Use RESTful routes for orders controller actions 2023-06-07 00:35:47 +01:00
Mohamed ABDELLANI
77554e21fc move advance_to_payment on order's details page from edit to update 2023-06-06 10:23:01 +01:00
Matt-Yorkley
3dd4e7ef03 Delegate order updater method 2023-06-05 23:54:04 +01:00
Matt-Yorkley
10dbeb32b2 Remove Order #credit_cards method 2023-06-05 21:30:40 +01:00
Jean-Baptiste Bellet
ccb183d60b Sort by order_date desc for line_items in BOM
+ update spec to have different order time
2023-06-05 10:05:09 +02:00
Filipe
12159edaca Merge pull request #10833 from Matt-Yorkley/order-angular
Remove Angular from admin orders index page
2023-06-01 13:57:39 +01:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Matt-Yorkley
e34c2acba8 Move CablecarResponses include to ApplicationController 2023-05-26 10:35:41 +01:00
Jean-Baptiste Bellet
6e677f15ec Can delete custom tab if uncheck the checkbox 2023-05-25 09:19:51 +02:00
Jean-Baptiste Bellet
925b0e0308 Add a form in admin to create/update a custom tab for an enterprise 2023-05-25 09:19:51 +02:00
Maikel Linke
86c35fe2dc Remove dead reference to removed model 2023-05-25 16:13:33 +10:00
Matt-Yorkley
abf00353ea Permit explicit params 2023-05-21 00:15:32 +01:00
Matt-Yorkley
4ddde65a04 Reimplement saving and restoring submitted search filters between page loads 2023-05-21 00:15:32 +01:00
Matt-Yorkley
61849d84e7 Extract order capturing to OrderCaptureService 2023-05-21 00:15:32 +01:00