Commit Graph

778 Commits

Author SHA1 Message Date
Filipe
448d5ea017 Merge pull request #11135 from Matt-Yorkley/vouchers
Vouchers part 2
2023-07-13 12:50:32 +01:00
David Cook
05a22b80bc Merge pull request #11123 from dacook/buu-products-table
[admin_style_v3] Products table with variants
2023-07-06 09:37:31 +10:00
Matt-Yorkley
75e6ccd580 Simplify voucher controller 2023-07-03 11:03:05 +01:00
Filipe
b175793b91 Merge pull request #10704 from abdellani/hide-customers-with-no-completed-orders
Hide users with no completed orders from a hub's customers list
2023-06-30 10:56:56 +01:00
David Cook
841192fb96 Add new products page
Hidden behind admin_style_v3 feature toggle.
2023-06-28 09:59:57 +10:00
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
Neal Chambers
1e4034534c Fix Layout/LineLength 2023-06-23 09:08:04 +09:00
Matt-Yorkley
7dc1091bc2 Migrate product image from master variant to product 2023-06-16 21:23:44 +01:00
David Cook
d195882645 Use builtin Rails method 2023-06-15 15:26:22 +10:00
Maikel Linke
a655d3d787 Remove unnecessary writes on customer creation
The form only submits enterprise id and email address. We don't need to
assign any other attributes.
2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
298ae8ffc3 set create_manualll flag if the customer already exists 2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
ebc3073604 use Customer#visible on the customers listing endpoints
Update app/models/customer.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

authorize created_manually field to be set on APIv1
2023-06-15 12:02:45 +10: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
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
Neal Chambers
dde775d2b7 Remove Old Code and Comments 2023-06-08 15:20:04 +10: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
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +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
Konrad
fed7c3da51 Merge pull request #10761 from rioug/vouchers-any-amount
[Vouchers] Flat rate of any amount
2023-05-19 17:39:33 +02:00
Maikel
f943b411c5 Merge pull request #10823 from abdellani/fix-file-name-used-as-parameter
[Security] Validate product import file path
2023-05-19 14:28:09 +10:00
Filipe
3d1b0816ed Merge pull request #10512 from abdellani/fix-tax-not-charged-when-tax-category-set-to-inherit-from-product
Prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product'
2023-05-18 13:43:14 +01:00
Mohamed ABDELLANI
fcb8550cb1 extract file path sanitizer to an independent class 2023-05-17 15:09:48 +10:00
Mohamed ABDELLANI
4d5ba6a7e6 add file path validation 2023-05-17 15:09:48 +10:00
Gaetan Craig-Riou
abf2105df7 Admin::VoucherController check enterprise permission 2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
b427e420ce Update admin pages to allow entering an amount 2023-05-16 16:20:04 +10:00
Maikel Linke
299bc253a4 Expire report download links in a month, not 5mins 2023-05-15 19:41:45 +02:00
Mohamed ABDELLANI
7f52684488 add check_calculators_compatibility_with_taxes before running enterprise bulk update 2023-05-15 07:35:52 +01:00
Matt-Yorkley
11f45dc2f8 Give ContentConfig an updated_at attribute and a usable cache_key 2023-05-08 14:07:50 +01:00
Filipe
f206b7ed9e Merge pull request #10661 from mkllnk/report-download
[Hidden] Provide download link for reports generated in the background
2023-04-19 11:53:14 +01:00
Maikel
0b03152f3b Merge pull request #10697 from mkllnk/rubocop-config-update
Update Rubocop config and replace deprecated TimeWithZone#to_s with argument
2023-04-19 11:23:34 +10:00
Konrad
1b536d9265 Merge pull request #10601 from abdellani/fix-v1-customers-endpoint-should-only-return-managed-enterprise-customers
fix: v1/customers endpoint should load customers of managed enterprises only
2023-04-16 16:22:02 +02:00
Maikel Linke
dad4061ff9 Style Rails/ToFormattedS 2023-04-14 16:32:39 +10:00
Maikel Linke
43cbac7d17 Simplify report filename generation 2023-04-14 11:29:36 +10:00
Maikel Linke
98e4f867b4 Provide download link for generated reports 2023-04-14 11:29:35 +10:00
Maikel Linke
ebb15781d5 Store report's filename within the blob
For future downloads outside the ReportsController.
2023-04-14 11:29:35 +10:00
Maikel Linke
028c4f4281 Simplify ReportJob by extracting model for result
This makes the code heaps simpler.
2023-04-14 11:29:35 +10:00
Maikel Linke
ef7dfa3b4f Store reports with Active Storage
This will enable us to offer download links and clean them up
automatically.
2023-04-14 11:29:35 +10:00
Filipe
0971e8d9b5 Merge pull request #10644 from mkllnk/report-timeout-message
[Hidden] Display a friendly message when a background report times out
2023-04-11 19:40:42 +01:00
Mohamed ABDELLANI
03cb14c926 define manage_by scope on customer model 2023-04-11 12:18:15 +01:00
Maikel Linke
30184ac6aa Background reports time out earlier than nginx
This allows us to display a friendly message before nginx displays its
default error.
2023-04-11 16:44:13 +10:00