Commit Graph

2223 Commits

Author SHA1 Message Date
Luis Ramos
327d6c43d9 Merge pull request #4084 from openfoodfoundation/dependabot/bundler/devise-3.5.10
[Security] Bump devise from 2.2.8 to 3.5.10
2020-08-01 15:55:19 +01:00
Luis Ramos
d052a7b796 Verify the user is confirmed before returning a reset password token
Co-authored-by: Maikel <maikel@email.org.au>
2020-07-31 09:14:07 +01:00
Luis Ramos
7c498a573c Make shopfront redirect work when logging out by storing it outside session data 2020-07-31 09:05:42 +01:00
Luis Ramos
0f29806198 Adapt code to devise 3.2 where the reset_password_token stored in the db is a encrypted version of the token sent in the email
In this particular case, the user confirmations controller is redirecting to the reset password page but it doesnt know what is the raw reset_password_token

So we regenerate the reset password token so that it can know what's the raw value for the redirect

The method User#regenerate_reset_password_token is a proxy to the protected method in Devise::Recoverable
2020-07-31 09:05:42 +01:00
Luis Ramos
9e9e0d0bd8 Remove rescue_from and just add the rescue to the edit action, the update action has a different logic where there is a generic rescue StandardError after the GatewayError rescue 2020-07-29 22:50:25 +01:00
Luis Ramos
da4abf6617 Add a comment to explain the necessity of the first rescue in the update action 2020-07-29 22:50:20 +01:00
Luis Ramos
ad00971ca8 Improve readability and add bugsnag error (now in the checkout_failed method) when checkout_fails while handling stripe redirect 2020-07-29 22:50:18 +01:00
Maikel Linke
fe0c04b650 Complete renaming of AdvanceOrderService to OrderWorkflow 2020-07-29 12:24:18 +10:00
Luis Ramos
07005594ff Move payments persistence code to order workflow service 2020-07-28 23:56:43 +01:00
Luis Ramos
9cbcf14485 Move shipping method id setting code to OrderWorkflow service 2020-07-28 23:50:47 +01:00
Luis Ramos
c3f99050fd Move advance_order_state from checkout_controller to OrderWorkflow service 2020-07-28 23:43:07 +01:00
Luis Ramos
26eee4631f Rename AdvanceOrderService to OrderWorkflow 2020-07-28 23:40:49 +01:00
Luis Ramos
734fce5ce7 Add code to persist payments after failed payments. The state machine
rollbacks the transactions, with this we keep record of what went wrong.
2020-07-28 23:29:49 +01:00
Luis Ramos
ec0d06af54 Reuse update_failed method as the code needed is exactly the same 2020-07-25 19:39:46 +01:00
Luis Ramos
b23b707b5d Notify bugsnag and execute post checkout actions (reset to cart state) whenever there's a payment gateway exceeption raised 2020-07-25 19:39:46 +01:00
Luis Ramos
1bf946d124 Reused code in checkout controller, the reponse for the case when there is a stripe exception anywhere is the same as when the update action fails 2020-07-25 19:39:46 +01:00
Luis Ramos
5266d95910 Move method closer to related/similar methods 2020-07-25 19:39:46 +01:00
Pau Perez
59da07de66 Handle all errors when dealing with payment event
This basically catches ActiveRecord::RecordInvalid caused by an invalid
credit record, for instance, but also other situations we haven't
forseen.
2020-07-23 20:24:31 +02:00
Luis Ramos
6cc91d457e Merge pull request #5796 from coopdevs/remove-conlicting-spree-route
Remove conflicting and duplicate route
2020-07-23 14:29:12 +01:00
Pau Pérez Fabregat
426c536750 Merge pull request #5677 from luisramos0/remove_spree_root_path
Bring ControllerHelpers from Spree and remove spree root path
2020-07-21 16:15:21 +02:00
Pau Perez
9be199a6cc Remove conflicting and duplicate route
This Spree route conflicts with the one we define:

```
get "/login", to: redirect("/#/login")
```

for whatever reason there are 7 users that managed to hit the Spree one
instead of ours when confirming their signup email. It's not clear to me
though when this `/login?validation=confirmed` is really hit. The
confirmation email link passes a token in the query params and this is
not the case.

The idea is that `GET /login` makes the login modal to show up instead
of Devise's default behaviour (through inheritance) of showing a login
form page. OFN was never prepared to handle this as this bug proofs.
2020-07-21 13:27:06 +02:00
Luis Ramos
001d40d691 Move require_login_then_redirect_to to the only place where it is called
This fixes a class loading issue where orders controllers was getting a undefined method require_login_then_redirect_to
2020-07-17 14:35:42 +01:00
Luis Ramos
8fac1bc9ca Move unauthorized view to HomeController only, all other calls to unauthorized will go through Auth which will redirect to the home controller IF the user is logged in or to login if user is not logged in 2020-07-15 14:54:52 +01:00
Luis Ramos
bf3150ddc8 Delete spree_user_signup which is from spree promotions code that we dont use 2020-07-15 14:53:35 +01:00
Luis Ramos
1666ffb191 Remove try_spree_current_user
This can be done because the method is defined in OFN's ApplicationController, so spree_current_user is available in all controllers
2020-07-15 14:53:35 +01:00
Luis Ramos
144811268e Adapt require statements to new undecorated classes 2020-07-15 14:53:35 +01:00
Luis Ramos
4ee30d7cac Remove spree.root route and respective controller. Also move
unauthorized route to main app.

This route is no longer used in OFN
2020-07-15 14:53:08 +01:00
Matt-Yorkley
c009fed6be Update StrongParams for Pin Payments 2020-07-15 14:00:19 +02:00
Matt-Yorkley
1a132924d2 Fix StrongParameters for groups images 2020-07-09 10:00:02 +02:00
Matt-Yorkley
d78db16abe Merge pull request #5718 from Matt-Yorkley/available-locales-bug
Available locales bug
2020-07-08 12:30:18 +02:00
Luis Ramos
ce1114556d Merge pull request #5578 from mbudm/issue/3770-manual-update
Update orders swagger spec and fix api_key access to orders endpoint
2020-07-06 20:32:25 +01:00
Matt-Yorkley
0c2fd4bfd2 Fix ensure_valid_locale_persisted and change public interface of service 2020-07-03 16:39:24 +02:00
Matt-Yorkley
02549d1b0f Extract all locale-setting logic to a service 2020-07-03 13:44:13 +02:00
Matt-Yorkley
7a00a3ba1e Rename method and add explanatory comment 2020-07-03 11:52:21 +02:00
Luis Ramos
7a03f57da0 Merge shipment decorator with class brought from spree_core 2020-07-02 21:24:14 +01:00
Matt-Yorkley
4e08d2049f Ensure a valid locale is persisted during login
This action has to be performed here and not in I18nHelper, as spree_current_user is not initialized yet during the other checks / setting the selected locale value in the app
2020-07-02 15:33:19 +02:00
Luis Ramos
2d4326ded3 Replace empty? with blank? which is equivalent but a bit more resilient, returns false for nil
Present is not blank, so unless blank? becomes if present?
2020-07-01 14:08:07 +01:00
Cillian O'Ruanaidh
a9664e103d Merge latest :master into :drop-blockenspiel branch and resolve conflicts related to Rubocop fixes. 2020-06-29 18:11:08 +01:00
Luis Ramos
2ad2836ac6 Merge pull request #5563 from luchiago/fix-missing-closed-oc-info-i18n
add missing i18n key for closed OC
2020-06-25 20:33:55 +01:00
Steve Roberts
8b79d41b81 Update orders swagger spec and fix api_key access to orders endpoint 2020-06-24 13:21:49 +10:00
Luis Ramos
ab59ab45f5 Use auto correct to fix rubocop issues 2020-06-22 17:39:20 +01:00
Luis Ramos
f54abbd376 Fix rubocop issues 2020-06-22 17:39:20 +01:00
Luis Ramos
730959f85f Fix rubocop issue 2020-06-22 17:39:20 +01:00
Luis Ramos
b879439d58 Use rubocop auto correct to fix Style/SafeNavigation issue 2020-06-22 16:51:46 +01:00
Luis Ramos
f848a89a00 Rename update_attributes to update #rails4 2020-06-22 16:51:43 +01:00
Luis Ramos
8a61257547 Rename all before_filter to before_action, it's the same function with a new name 2020-06-22 13:11:57 +01:00
Luis Ramos
3b91dd9dea Use rubocop auto-correct to fix more issues 2020-06-22 12:51:47 +01:00
Luis Ramos
8a9dae0ee2 Run rubocop autocorrect
This is the result of bundle exec rubocop --auto-correct
2020-06-22 12:23:10 +01:00
Pau Pérez Fabregat
db80992326 Merge branch 'master' into drop-blockenspiel 2020-06-19 12:12:10 +02:00
Luis Ramos
f6e3e01a10 Extract permitted payment_source attributes from checkout to use them in the backoffice payments controller
Add spec to verify payment source attributes are passed
2020-06-18 09:54:34 +01:00