Commit Graph

3873 Commits

Author SHA1 Message Date
Matt-Yorkley
113e1344f2 Include tax adjustments in serializer and presenter 2023-06-18 21:03:13 +02:00
Matt-Yorkley
72e537b598 Update *_amount_with_adjustments methods on LineItem presenter
These methods are slightly different and they're both needed in the template for invoice4
2023-06-18 21:03:13 +02:00
Matt-Yorkley
a44f24ad43 Remove prefixes from invoice data representation so it conforms to the same interface as order 2023-06-18 21:03:13 +02:00
Matt-Yorkley
c3d6b2280f Update reference to removed method 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
61d58df56f fix linter issues 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
d9efd10ac0 update attributes relevant for the comparaison 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
ae24b2d688 Update ScopeVariantsForSearch logic to match both product and variant SKUs 2023-06-16 21:26:28 +01:00
Matt-Yorkley
733dd3c428 Disable variant is_master column 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
85059bfb26 Remove master variant validation conditionals 2023-06-16 21:23:44 +01:00
Matt-Yorkley
1922598d2d Reorganise associations, validations, scopes and callbacks for clarity 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
d8649fc9fb Migrate master variant :sku to product 2023-06-16 21:21:40 +01:00
Matt-Yorkley
6b9b5ea347 Stop storing unit_value and unit_description on master variant 2023-06-16 21:21:40 +01:00
Matt-Yorkley
8c0b8dad85 Stop using master variant for storing :display_as value 2023-06-16 21:21:40 +01:00
Matt-Yorkley
1b06c20197 Stop using master variant as a potential store for prices 2023-06-16 21:21:40 +01:00
Matt-Yorkley
d4188da7c1 Simplify product images delegation mess 2023-06-16 21:21:40 +01:00
Matt-Yorkley
42a5a48816 Remove dead code 2023-06-16 21:21:40 +01:00
Matt-Yorkley
7068df5d4b Merge pull request #10804 from Matt-Yorkley/public-images
Update ActiveStorage image processing
2023-06-15 15:49:11 +01:00
David Cook
d195882645 Use builtin Rails method 2023-06-15 15:26:22 +10:00
Maikel Linke
75cce8bc19 Simplify customer code
The API endpoint merges the created_manually flag in the params already.
No need to write it separately.
2023-06-15 12:02:45 +10:00
Maikel Linke
ebebcf7a13 Remove useless code 2023-06-15 12:02:45 +10:00
Maikel Linke
22a6861f6f Place class methods above instance methods 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
Matt-Yorkley
395cf7fb8d Use direct image URLs for enterprise logos 2023-06-14 12:53:20 +01:00
Matt-Yorkley
5ad37ce6a5 Return default image url on ActiveStorage errors in image loading 2023-06-14 12:53:20 +01:00
Matt-Yorkley
b510668ecf Render direct URLs for s3 images 2023-06-14 10:56:10 +01:00
Matt-Yorkley
551d0d3a93 Simplify calling #url_for in models 2023-06-14 10:56:10 +01:00
Matt-Yorkley
a898915724 Use named image variants 2023-06-14 10:56:10 +01:00
Matt-Yorkley
e54cff2274 Set images to public-read
Defining an alternate s3 configuration set to `public: true` means we can use it selectively. It sets the objects to `acl: "public-read"` by default (read-only) and means any image tags for those assets can use direct public links in the src attribute (without hitting the ActiveStorage::Representation endpoint). The default non-public service will still be used by default for any other files on instances using s3.
2023-06-14 10:56:10 +01:00
Matt-Yorkley
93df70c0a7 Use order total excluding discounts in voucher calculations 2023-06-14 10:19:30 +01:00
Matt-Yorkley
06c9697d0d Don't try to cancel shipments that might already be cancelled 2023-06-14 10:19:30 +01:00
Matt-Yorkley
c5dfecbb69 Reapply taxes at model level if order address changes
This should be done at the model level
2023-06-14 10:19:30 +01:00
Matt-Yorkley
a0f23fc510 Extract before_payment_state? method 2023-06-14 10:19:30 +01:00
Matt-Yorkley
13a22c56f4 Move taxing of admin adjustments out of customer details controller 2023-06-14 10:19:30 +01:00
Matt-Yorkley
65b6a75c9b Reorder callback definitions 2023-06-14 10:19:30 +01:00
Maikel Linke
91d0dabc1d Require associations on DistributorShippingMethod 2023-06-14 15:09:12 +10:00
Maikel Linke
bd11475fe1 Require associations on DistributorPaymentMethod 2023-06-14 15:08:22 +10:00
Maikel Linke
ed231ec512 Update belongs_to default in Customer model 2023-06-14 15:08:05 +10:00
Maikel Linke
fc00a48d67 Require associations of CoordinatorFee 2023-06-14 15:08:05 +10:00
Maikel Linke
c02c90317f Require user of column preference record
It doesn't make sense to have a preference without a user. And it was
already enforced in the database.
2023-06-14 15:07:43 +10:00
Maikel Linke
2d4cfd7548 Validate and enforce AdjustmentMetadata associations 2023-06-14 15:07:43 +10:00
Maikel Linke
d88781a083 Start to adopt new default to require belongs_to
Newer version of Rails have this option as default. We can slowly
transition to opt in gradually, model by model. Once all models are
covered, we can change the default and remove the setting from the
models again.

The style violation was added to the todo file because it's temporary.

We have 60 models using `belongs_to`. And changing them all at once
breaks some specs. So let's do it gradually.
2023-06-14 15:06:59 +10:00
Matt-Yorkley
074eb4b592 Move tax charge logic out of checkout controller and update payment transition 2023-06-13 17:53:46 +01:00
Matt-Yorkley
4e7fab6914 Delete dead code Checkout#find_transition
This method is only called from tests and nowhere else in the codebase. We may as well remove it.
2023-06-13 14:58:16 +01:00