Commit Graph

14886 Commits

Author SHA1 Message Date
Eduardo
4c3916a93d redirect to shops list when an enterprise is not found 2020-02-26 19:25:38 -03:00
Luis Ramos
677f31ffa8 Make payment source_views/gateway work with nil credit card
This will happen if user deletes a saved credit card used previously. In this case, the admin payment details page will render empty details and the payment amount
2020-02-26 11:55:17 +00:00
Luis Ramos
5848a46149 Add missing template to render stripeSCA payment and add spec to verify it's presence 2020-02-26 11:38:42 +00:00
Luis Ramos
03c91dfac1 Merge pull request #4780 from luisramos0/bulk_prod_errors
Fix javascript logic that parses server errors in the bulk product edit page
2020-02-25 18:49:54 +00:00
Pau Pérez Fabregat
a396a7f0af Merge pull request #4818 from luisramos0/delete_dead_code
Delete dead code after PRs 4512 and 4508
2020-02-25 13:32:23 +01:00
Luis Ramos
6b6cdf07fb Remove inactive confirm
The new version of jquery is picking up a confirm in the ship action that was not being triggered in the previous version

The orders_spec was not expecting this confirm to appear so we are removing here to keep the behaviour and the spec green
2020-02-25 11:56:23 +00:00
Maikel Linke
8432dab142 Remove unused Javascript manifest
It reduces compilation from 25s to 24s.
2020-02-25 11:43:53 +11:00
Maikel Linke
0b0263a605 Remove unused stylesheet manifest
Compiling assets with application.css: 40s
Compiling assets without application.css: 25s
2020-02-25 11:43:39 +11:00
Maikel Linke
17ea2cd510 Clean up JS assets comments 2020-02-24 11:22:47 +11:00
Maikel Linke
325c427219 Remove style from pasted HTML in editor 2020-02-24 11:22:47 +11:00
Maikel Linke
a3e87d893a Remove obsolete angular-sanitize
Our TextAngular module supplies that code.
2020-02-24 11:22:47 +11:00
Luis Ramos
03fac6f285 Avoid subquery with too many columns error by specifying the selected column 2020-02-23 20:05:13 +00:00
Matt-Yorkley
90d1a5e605 Add strong params to admin/column_preferences_controller.rb
Fixes failures such as:

  119) Admin::ColumnPreferencesController bulk_update json where I don't own the preferences submitted prevents me from updating the column preferences
       Failure/Error: raise ActiveModel::ForbiddenAttributesError, params.to_s

       ActiveModel::ForbiddenAttributesError:
         {"action_name"=>"enterprises_index", "column_preferences"=>[{"id"=>1, "user_id"=>2716, "action_name"=>"enterprises_index", "column_name"=>"name", "visible"=>false}, {"id"=>nil, "user_id"=>2716, "action_name"=>"enterprises_index", "column_name"=>"producer", "visible"=>true}, {"id"=>nil, "user_id"=>2716, "action_name"=>"enterprises_index", "column_name"=>"status", "visible"=>true}], "format"=>"json", "controller"=>"admin/column_preferences", "action"=>"bulk_update"}
       # ./app/controllers/application_controller.rb:16:in `print_params'
       # ./spec/controllers/admin/column_preferences_controller_spec.rb:28:in `block (5 levels) in <top (required)>'
       # ------------------
       # --- Caused by: ---
       # ActiveModel::ForbiddenAttributesError:
       #   ActiveModel::ForbiddenAttributesError
       #   ./app/models/model_set.rb:24:in `block in collection_attributes='
2020-02-23 14:52:06 +01:00
Matt-Yorkley
fccc8037f0 Add strong_params to enterprise_relationships_controller.rb
Fixes specs such as:

  31)
  As an Administrator
  I want to manage relationships between enterprises
 as a site administrator creating a relationship
      Failure/Error: raise ActiveModel::ForbiddenAttributesError, params.to_s

      ActiveModel::ForbiddenAttributesError:
        {"enterprise_relationship"=>{"parent_id"=>284, "child_id"=>285, "permissions_list"=>["add_to_order_cycle", "edit_profile", "create_variant_overrides"]}, "action"=>"create", "controller"=>"admin/enterprise_relationships"}
      # ./app/controllers/application_controller.rb:16:in `print_params'
      # ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
      # ------------------
      # --- Caused by: ---
      # ActiveModel::ForbiddenAttributesError:
      #   ActiveModel::ForbiddenAttributesError
      #   ./app/controllers/admin/enterprise_relationships_controller.rb:10:in `create'
2020-02-23 14:26:14 +01:00
Matt-Yorkley
f77194875c Add strong parameters to orders_controller.rb 2020-02-22 16:24:30 +01:00
Matt-Yorkley
bd6b409708 Add strong parameters to user_registrations_controller.rb 2020-02-22 16:24:30 +01:00
Matt-Yorkley
eae7dc7f2e Temporarily add extra debugging to help with strong parameters 2020-02-22 16:24:28 +01:00
Matt-Yorkley
f5bc120fb1 Remove without_protection: true argument from #create calls
Needed for using Strong Parameters in Rails 4
2020-02-22 14:35:10 +01:00
Matt-Yorkley
3896644a04 Remove attr_accessible declarations
Needed for using Strong Parameters in Rails 4
2020-02-22 14:03:16 +01:00
Luis Ramos
1dc7b5793c Fix Enterprise validation and factory so that users are added after the validation 2020-02-22 12:06:33 +00:00
Luis Ramos
26ba37b117 Comment spree_paypal express in all.js temporarily 2020-02-22 11:53:35 +00:00
Matt-Yorkley
8b54281254 Add missing method removed from order model in Spree 2.1
It looks like #price_adjustments was refactored/removed in Spree 2.1, but we still call the method in order_decorator
2020-02-22 11:06:51 +00:00
Matt-Yorkley
b3e7f9a07e Fix deprecated arguments used in #sanitize
Failure/Error: d = sanitize(object.description, tags: "p, b, strong, em, i, a, u", attributes: "href, target")

     ArgumentError:
       You should pass :tags as an Enumerable
     # ./app/serializers/api/product_serializer.rb:26:in `description_html'
     # (eval):10:in `_fast_attributes'
     # ./app/services/products_renderer.rb:24:in `products_json'
     # ./app/controllers/api/order_cycles_controller.rb:14:in `products'
     # ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
2020-02-22 11:06:51 +00:00
Matt-Yorkley
df1299b290 Fix user not yet loaded in prepend_before_filter 2020-02-22 11:06:51 +00:00
Matt-Yorkley
c0ecdb9e3a Fix deprecated #includes in join without reference
DEPRECATION WARNING: It looks like you are eager loading table(s) (one of: variant_overrides, enterprises, enterprise_roles) that are referenced in a string SQL snippet. For example:

    Post.includes(:comments).where("comments.title = 'foo'")

Currently, Active Record recognizes the table in the string, and knows to JOIN the comments table to the query, rather than loading comments in a separate query. However, doing this without writing a full-blown SQL parser is inherently flawed. Since we don't want to write an SQL parser, we are removing this functionality. From now on, you must explicitly tell Active Record when you are referencing a table from a string:

    Post.includes(:comments).where("comments.title = 'foo'").references(:comments)

If you don't rely on implicit join references you can disable the feature entirely by setting `config.active_record.disable_implicit_join_references = true`. (called from collection at /home/user/Github/openfoodnetwork/app/controllers/admin/variant_overrides_controller.rb:77)
2020-02-22 11:06:51 +00:00
Matt-Yorkley
6c22d655c8 Temporarily remove additional email validation on Spree::Order
A new custom email validator class was added to Spree::Order, and currently it fails every time (breaking lots of specs). This ugly hack disables it for now.
2020-02-22 11:06:51 +00:00
Matt-Yorkley
49bc3308be Fix broken references to url_helpers 2020-02-22 11:06:51 +00:00
Matt-Yorkley
fd11d4fa5b Fix broken html encoding of injected json in admin views 2020-02-22 11:06:51 +00:00
Matt-Yorkley
98fdbb8621 Update deprecated #scoped calls
Model#scoped is now deprecated. Model#where(nil) in Rails 4 returns the same result as Model#scoped in Rails 3
2020-02-22 11:06:51 +00:00
Matt-Yorkley
241e9221b4 Replace deprecated :restrict option in address_decorator.rb
DEPRECATION WARNING: The :restrict option is deprecated. Please use :restrict_with_exception instead, which provides the same functionality. (called from block in <top (required)> at /home/user/Github/openfoodnetwork/app/models/spree/address_decorator.rb:4)
2020-02-22 11:06:51 +00:00
Matt-Yorkley
6541b55872 Fix default_association deprecated syntax in OrderCycle and Schedule 2020-02-22 11:06:51 +00:00
Matt-Yorkley
0a9d63dd2f Fix deprecated syntax on associations 2020-02-22 11:06:51 +00:00
Matt-Yorkley
a8b8269a02 Update deprecated #find_or_initialize_by_* methods 2020-02-22 11:06:51 +00:00
Matt-Yorkley
53645517af Update deprecated #find_by_* methods 2020-02-22 11:06:51 +00:00
Matt-Yorkley
30558485de Update deprecated #find_or_create_by_* methods 2020-02-22 11:06:51 +00:00
Matt-Yorkley
5603b70379 Fix html escaping of characters in AMS rendering causing fatal javascript errors 2020-02-22 11:06:51 +00:00
Matt-Yorkley
5b8552f541 Fix ActiveRecord::Relation issue
Rails 4 now returns an Activerecord::Relation when using `SomeModel.all`. To get all the objects (as in Rails 3) we need to use `SomeModel.all.to_a`. See: https://stackoverflow.com/a/22417170
2020-02-22 11:05:24 +00:00
Matt-Yorkley
6f62c2cf27 Fix SCSS import file error 2020-02-22 11:05:24 +00:00
luisramos0
4ca9a19d8a Temporarily remove broken fontawesome and spree_paypal_express assets 2020-02-22 11:05:24 +00:00
luisramos0
9c369caae2 Temporarily comment part of Enterprise.relate_to_owners_enterprises so that most specs pass for now 2020-02-22 11:05:24 +00:00
luisramos0
18ca9980c9 Temporarily comment Enterprise.ensure_owner_is_manager otherwise all specs erroring out with 'Enterprise roles invalid' 2020-02-22 11:05:24 +00:00
luisramos0
8dbe4accaf Upgrade to the spree branch 2-1-0-stable and rails 4.0.0 2020-02-22 11:05:24 +00:00
Luis Ramos
a3a61967a8 Merge pull request #4621 from luisramos0/spree_backend_js
OFN without spree_backend 🎉
2020-02-22 10:24:50 +00:00
Luis Ramos
1bdeda4a21 Delete dead code after PRs 4512 and 4508 2020-02-21 12:25:07 +00:00
Luis Ramos
ccb4c77d1f Adapt credit card cloner to not clone card if it's a card to be used only once
Adapt stripe_sca specs to new cloner logic
2020-02-21 10:56:32 +00:00
luisramos0
5ef1510fc7 Adapt CreditCard cloner to clone not 'cards of the platform account to payment_methods of the connected accounts' but instead 'cards or payment_methods of the platform account to payment_methods of the connected accounts'
This process mimicks the existing process of generating a token on the connected account from a card on the platform account. In the Payment Intents API we need to create a payment method in the connected account, a token is not enough
2020-02-21 10:56:32 +00:00
luisramos0
1afd712ff4 Make StripeSCA store cards (and delete them) on the Stripe platform account and not the Stripe Connected account (the sellers accounts)
This is important so that cards can be re-used across sellers in OFN
2020-02-21 10:56:32 +00:00
luisramos0
3fb1df9bb3 Rename CardCloner to CreditCardCloner because it's dependent on Spree:CreditCard attributes 2020-02-21 10:56:32 +00:00
luisramos0
14c03ead31 Extract CardCloner to separate class 2020-02-21 10:56:32 +00:00
luisramos0
4480c2f0f0 Add logic to stripe_sca gateway to handle cards stored in the platform account with the stripe Charges API: card_* 2020-02-21 10:56:32 +00:00