Commit Graph

128 Commits

Author SHA1 Message Date
Cillian O'Ruanaidh
899dffec96 When an order is cancelled by a customer send an email to the shop.
Fixes #6435 i.e. If the customer paid for their order by Stripe/Paypal then the Enterprise needs to know that the order was cancelled in order to arrange a refund.  Refunds are not automatically processed when an order is cancelled.

This will send a very basic email to the shop, it only includes a link to view the cancelled order in the admin area initially.

I created a CustomerOrderCancellation object here because orders can be cancelled in two ways (1) by the customer, so an email should be sent to the shop. (2) by the shop, so an email doesn't need to be sent. However the code for cancelling order happens in Order#cancel via the state machine. Rather than passing some sort of parameter into #cancel to indicate whether it is a customer or shop cancelled order it might be clearer to have a CustomerOrderCancellation object, there could be other differences between customer or shop cancelled orders in future maybe.
2021-01-29 11:23:05 +00:00
Andy Brett
d9b27bc556 move controller and mailer outside of spree namespace; use haml in template 2021-01-21 09:18:29 -08:00
Andy Brett
802e49bed3 add PaymentMailer and send email if payment auth is required 2021-01-21 08:24:01 -08:00
Matt-Yorkley
63fb46f440 Delete some dead code
There are some really weird issues in the spec here, and this module is not in use anywhere.
2020-11-27 14:00:29 +00:00
Luis Ramos
399fe2c01b Make code work for relations and arrays 2020-10-30 10:12:56 +00:00
Tsara Sudrajat
66be86cca9 Fix translation on reset password mailer 2020-10-17 17:59:54 +07:00
Steve Roberts
50fd3656ef Fix tests - the move of payments to shared has wider impact than first thought (yay tests) 2020-08-20 17:16:20 +01:00
Steve Roberts
debbf9b361 Modify payment_list partial to be shared
- Partial is used by both the invoice pdf and the order confirmation email
- separate scss file for new payment list table
- extracted outstanding balance logic (also changed in payments view.. admin/orders/RXXX/payments)
- translations in shared.payments_list and lazy loaded
2020-08-20 17:16:20 +01:00
Luis Ramos
f093656c6b Merge pull request #5763 from luisramos0/mailers
Bring Mailers from Spree and make order shipped email translatable
2020-08-05 18:09:12 +01:00
Luis Ramos
6e57e1ad56 Fix conflict between unused Spree::CheckoutHelper in spree_core and the required ::CheckoutHelper in OFN
The OFN checkoutHelper was not being included and instead the Spree::CheckoutHelper, that doesnt have the necessary helpers, was used
2020-08-03 16:25:18 +01:00
Luis Ramos
a2ae78bde9 Replay commit from spree_auth_devise that upgrades to devise 3
fe7941f674
2020-07-31 09:05:42 +01:00
Luis Ramos
26ca374a76 Adpat user mailer to devise v3 2020-07-31 09:05:42 +01:00
Luis Ramos
646f48f0af Add translation keys for test and shipment emails and make them lazy lookups 2020-07-14 14:35:36 +01:00
Luis Ramos
5162964936 Fix easy rubocop issues 2020-07-14 13:46:01 +01:00
Luis Ramos
d12495f3db Merge decorators with original classes brought from spree and merge order_mailer specs 2020-07-14 13:38:11 +01:00
Luis Ramos
c6cd695b3c Bring remaing mailers from spree_core 2020-07-14 13:28:11 +01:00
Luis Ramos
63934b7863 Add space after translation so that translators dont have to guess a space is needed after the translation 2020-07-01 11:56:37 +01:00
Luis Ramos
568e570b4b Move method to more generic helper to use it in mailers 2020-04-23 16:08:10 +10:00
Pau Perez
d8e6d98912 Preload line item's option_values
This fixes an N+1 with the query

```sql
SELECT "spree_option_values".* FROM "spree_option_values"
INNER JOIN "spree_option_types"
  ON "spree_option_types"."id" = "spree_option_values"."option_type_id"
INNER JOIN "spree_option_values_line_items"
  ON "spree_option_values"."id" = "spree_option_values_line_items"."option_value_id"
WHERE "spree_option_values_line_items"."line_item_id" = 1679
ORDER BY spree_option_types.position asc
```
2020-04-17 17:34:53 +02:00
Pau Perez
63eb0980eb Memoize result of line items query
No need to fetch twice what we just loaded from DB.
2020-04-17 17:27:21 +02:00
Pau Perez
06ead827d8 Split long method 2020-04-17 17:27:21 +02:00
Pau Perez
6dd4a866e5 Address some Rubocop violations 2020-04-17 17:25:35 +02:00
Pau Perez
04c962432a Skip deleted default_scope in OC notification
This fixes the RuntimeError we get when accessing deleted variants due
to the variant being nil.

https://github.com/rails/rails/issues/11036 is still an open Rails bug,
as some people mention in https://github.com/rails/rails/pull/21550.

The issue is that `includes` doesn't respect `unscoped`. I found
a potential solution for the entire app in
https://github.com/rails/rails/issues/11036#issuecomment-302133116 but
our friend @markets has a gem,
https://github.com/markets/unscoped_associations, that solves that too.
2020-04-17 17:25:34 +02:00
luisramos0
55bb328d48 Prefix all calls to root_url with main_app 2019-12-28 18:46:50 +00:00
Matt-Yorkley
d30192207b Eager-load option_values in ProducerMailer 2019-11-23 10:58:18 +01:00
luisramos0
9404aacfb2 run rubocop --auto-correct 2019-11-10 18:42:43 +00:00
luisramos0
942824cd74 Improve comments in UserMailer 2019-07-11 16:37:30 +01:00
luisramos0
dcbdfbb081 Fix rubocop issues in multiple files copied from spree_auth_devise, mostly hash rockets 2019-07-08 11:22:56 +01:00
luisramos0
893952f46b Merge user_mailer_decorator into user_mailer 2019-07-05 22:31:06 +01:00
luisramos0
061e3cd722 Add user mailer from spree_auth_devise 2019-07-05 22:29:51 +01:00
luisramos0
642d3cbfbd Fix translation key namespace in subs order confirm email subject 2019-06-17 15:48:52 +01:00
luisramos0
86b0d71c7e Result of rubocop auto-correct and rebuilding rubocop_manual_todo 2019-05-28 12:57:29 +01:00
luisramos0
cf3b2308e1 Fix translation problem in the subject of order confirmation emails 2019-04-04 12:55:36 +01:00
luisramos0
6e49cf9f87 Bring cancel email from spree so it gets the normal ofn style 2019-04-04 12:31:12 +01:00
luisramos0
134a51ab1d Fix merge typo in the cancel email method of the order mailer decorator 2019-01-08 15:31:28 +00:00
luisramos0
e28f9a7c84 Merge branch 'master' into 2-0-stable-jan-8th 2019-01-08 14:29:50 +00:00
luisramos0
b9b91231ae Fix rubocop issues in mailers 2018-12-06 14:18:24 +00:00
luisramos0
0f442a911e Improve I18nHelper.valid_locale to handle empty objects 2018-12-06 12:48:48 +00:00
luisramos0
feea499298 Make all mailers use appropriate locale when sending emails 2018-12-06 11:45:44 +00:00
luisramos0
87cd73ddba Merge branch 'master' into 2-0-stable-oct 2018-10-15 17:09:26 +01:00
Matt-Yorkley
8f5fd41c8b Update email confirmation address 2018-10-08 21:38:47 +01:00
luisramos0
89d51d75ae Merge branch 'master' into 2-0-stable-sept 2018-09-04 17:43:20 +01:00
Maikel
1b6bb72966 Merge pull request #2587 from luisramos0/spree2_order_mailer_decorator_bug
Spree 2 Upgrade - MailMethod - Fixed bug on order_mailer_decorator (only visible in spree 2)
2018-09-04 11:29:51 +10:00
luisramos0
921c8dfdf4 Removed unnecessary cancel_email from order_email_decorator (spree one is equivalent after ofn PR#2589). Also refactored remaining order_mailer_decorator methods by extracting duplicated code. 2018-09-03 10:03:02 +01:00
Kristina Lim
ad8b120e48 Extract format for order cycle closing in emails
Using a helper for this, but this can be changed to look up a
translation key.
2018-09-01 23:46:08 +08:00
luisramos0
0de691b821 Delete outdated base_mailer_decorator.from_address (it used old MailMethod). This way we rely on the correct spree base_mailer.from_address (that gets it from Spree::Config 2018-08-25 13:47:05 +01:00
luisramos0
27f5e6db8a Fixed bug on order_mailer_decorator. When cancel_email is called with order id in paramater order, order.number will fail. This is only seen in spree 2 because only spree 2 calls this method with order id. Bug introduced here: 32d2adc8a2 (diff-aa82d768109073ea8ad7858146630be4R9). Spree change introduced here: 8d90ae15f8 (diff-1e2ba31309f1f1abd2a4b626036d316fR94) 2018-08-25 12:50:36 +01:00
luisramos0
8246893652 Added notice for unexpected mail in confirmation instructions mail (HugsDaniel) 2018-07-19 09:26:29 +10:00
Maikel Linke
fbe2f7ab4c Remove unused variable from mailer
The second variable passed by Devise is actually a hash, not a token.
2018-07-13 09:04:41 +10:00
Pau Pérez Fabregat
dadc02fb11 Merge pull request #2030 from lin-d-hop/uk/1663variant-order-emails
Uk/1663variant order emails
2018-03-23 15:29:05 +01:00