Maikel
0c182c4606
Merge pull request #7259 from jibees/7193-implements-feature-toggle-with-flipper
...
Implements feature toggle with flipper
2021-04-15 11:33:12 +10:00
Matt-Yorkley
e323d016a2
Simplify arguments of #create_adjustment method
2021-04-14 12:01:21 +01:00
Maikel Linke
5775051e35
Simplify FeatureToggle module
...
This saves ten lines of code and makes the simplicity of the
FeatureToggle interface clearer.
2021-04-12 18:26:18 +02:00
Maikel Linke
7a0912d5a4
Use Flipper within the OFN FeatureToggle interface
...
This ensures that we keep the same interface as before and can migrate
to Flipper in a backwards-compatible way.
2021-04-12 18:26:18 +02:00
Maikel Linke
b045a59685
Consider feature toggles without user as well
...
This is running the same feature toggle logic when a user is given or no
user is given. This allows features to define what to do with guests.
2021-04-12 18:26:18 +02:00
Matt-Yorkley
05b8b8e9db
Fix outstanding balance sum in payment report
2021-04-07 10:56:20 +01:00
Matt-Yorkley
a26880a3a1
Update shipment tax fetching in Xero Invoices report
2021-04-04 19:19:06 +01:00
Matt-Yorkley
1d1b842e08
Delete dead code
2021-04-04 19:19:06 +01:00
Pau Pérez Fabregat
7d5726b6c7
Merge pull request #7150 from coopdevs/use-order-balance-object
...
Feature-toggle all remaining parts of the app where the order balance is shown
2021-03-30 15:58:12 +02:00
Luis Ramos
d66a78ecce
Add magic comment
2021-03-26 23:42:07 +00:00
Luis Ramos
34771c89f9
Fix rspec syntax
2021-03-26 22:34:16 +00:00
Matt-Yorkley
f1e4612c05
Update deprecated uses of #uniq
...
Enumerable#uniq is fine (eg calling #uniq on an Array object), but now using #uniq on an ActiveRecord::Relation is deprecated in favour of #distinct (which modifies the query itself, as opposed to iterating over the results of the query).
2021-03-24 11:42:24 +00:00
Pau Perez
c7b85a3591
Sum balances in Payments report implementing #+
...
This avoids consumers of `OrderBalance` having to couple with the inner
details of this abstraction, which makes the code more changeable.
2021-03-23 09:28:40 +01:00
Pau Perez
5082b6dc99
Make BalanceCalculator use old balance calculation
...
This class is currently used and it gets skipped when the
:customer_balance toggle is enabled, so there's no point on abstracting
the balance with `OrderBalance`. It'll never go through its
`#new_outstanding_balance` branch and it'll be removed once we active
that toggle to everyone.
2021-03-22 11:45:12 +01:00
Pau Perez
5815d1a4a4
Make #outstanding_balance return an OrderBalance
...
This will let us branch by abstraction. All existing calls to
`#outstanding_balance` will go through `OrderBalance` hence, will
check the feature toggle.
Note that by default, `OrderBalance` will end up calling
`#old_outstanding_balance`. As the name states, that's exactly what
`#outstanding_balance` was so far. This means no consumers will see any
change in behavior. We just added on item in the call stack (sort of).
2021-03-22 11:45:12 +01:00
Matt-Yorkley
a768cb2510
Set adjustment "target" (adjustable) to be the line item when adding enterprise fees on line items
2021-03-18 13:18:20 +00:00
Matt-Yorkley
064f7582cc
Update line_item included taxes
...
Drops use of the `spree_adjustments.included_tax` database field (when summing line item tax), which we are slowly deprecating before eventual removal
2021-03-17 22:23:04 +00:00
Pau Pérez Fabregat
51f63060a4
Merge pull request #6879 from coopdevs/customer-balance-bulk-coop-report
...
Customer balance bulk coop report
2021-03-17 12:08:44 +01:00
Pau Perez
16647006c6
Feature-test payments report
...
This report displays order balances and we'll need this basic
feature-test coverage to ensure it keeps working once we refactor them.
2021-03-16 17:05:31 +01:00
Matt-Yorkley
c5feb19e5b
Fix use of ActiveRecord::Type::Boolean#type_cast_from_database
...
This method longer exists.
2021-03-11 12:06:00 +00:00
Matt-Yorkley
b1bf2487e2
Update adjustment scope use in Xero Invoices report
2021-03-04 14:27:02 +00:00
Matt-Yorkley
e33950721c
Change misleading method name in Xero Invoices code
2021-03-04 14:27:02 +00:00
Matt-Yorkley
55db911334
Update sales tax report
2021-03-04 14:27:02 +00:00
Pau Perez
f67b45a580
Reuse query object in Reports::LineItems
...
This almost removes the responsibility of fetching orders from this
class, that has too many. Ideally, I'd go on and leave this up to the
caller of this class making `Reports::LineItems` rely completely on the
passed in `orders_relation`. Not today.
2021-03-03 18:21:43 +01:00
Pau Perez
72597ea3f9
Optionally inject orders relation
...
So we can fetch them differently if we need to. Spoiler: we do in the
bulk coop report.
2021-03-03 18:21:07 +01:00
Pau Perez
fce98da88d
Reject line items in a more succinct way
...
Thanks for the suggestion @mkllnk!
2021-03-03 18:19:26 +01:00
Pau Perez
d00a35e12c
Split long statement
2021-03-03 18:19:26 +01:00
Pau Perez
a3b2a25ccf
Refactor and reuse :not_state scope
2021-03-03 18:19:26 +01:00
Matt-Yorkley
9852470ef6
Merge pull request #6913 from Matt-Yorkley/rails-5-backports
...
Rails 5 backports
2021-02-23 11:55:31 +01:00
Matt-Yorkley
0e3429dc35
Merge pull request #6758 from Matt-Yorkley/enterprise-fees-refactor
...
Enterprise fees refactor
2021-02-22 17:59:18 +01:00
Matt-Yorkley
c8824ec59f
Fix undefined method #push on ActiveRecord::Relation
2021-02-18 11:00:24 +00:00
Pau Pérez Fabregat
8068c6015f
Merge pull request #6836 from coopdevs/customer-balance-reports
...
Customer balance reports
2021-02-17 17:34:37 +01:00
Pau Perez
36ce39a217
Sort OC report orders by completed_at
...
This is then consistent with the ordering we use to list orders in
/admin, which is more useful. As a result, the test is also more robust.
2021-02-16 13:25:21 +01:00
Pau Perez
cbfea1ba97
Hide new report's balance under toggle
2021-02-08 19:43:45 +01:00
Pau Perez
e4319b06e6
Take into account other finalized order states
...
This makes it consistent with other places where we show order balances.
Here though, we purposefully skip canceled ones.
2021-02-08 19:34:42 +01:00
Pau Perez
a66d1b7299
Compute order balance chaining with query object
2021-02-08 19:34:42 +01:00
Pau Perez
106dcbae01
Add test coverage to the two distinct output rows
2021-02-08 19:34:42 +01:00
Pau Perez
412bb24e42
Ensure report rows are always in the same order
...
I saw the row were returned not respecting any ordering when refreshing
the page locally. It made it hard to debug whether or not the customer
balance was right.
It's less than ideal to use `allow_any_instance_of` but with this legacy
and very coupled code, it's the best we can do.
2021-02-08 19:34:42 +01:00
Pau Perez
d6350c3d0b
Remove deprecated Feature class implementation
...
This became dead code now.
2021-02-04 10:20:54 +01:00
Pau Perez
14cee0e45d
Add new Feature class to toggle based on a closure
...
This enables toggling features as best fits us in each case. With this
new approach we can then toggle :customer_balance to an entire instance,
which is what we want in France.
2021-02-04 10:20:54 +01:00
Matt-Yorkley
e7866db7b1
Improve efficiency in applying enterprise fees in Order#update_distribution_charge!
2021-01-29 18:32:26 +00:00
Pau Perez
33c72ecab0
Defend from nil BETA_TESTERS var
2021-01-11 15:55:34 +01:00
Pau Perez
398467e7ed
Hide new balance impl. under feature toggle
...
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.
It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
182f0f66b6
Refactor FeatureToggle to toggle depending on user
...
This enables showing features to individual users only, which enables us
to deploy features that are not yet released to gather feedback from
product and testing, while no users have access to it.
2020-12-11 09:13:07 +01:00
Luis Ramos
bfd4adbcee
Adapt code to work with frozen strings
2020-12-03 06:38:24 -08:00
Matt-Yorkley
b04a76e8bf
Update payments_report totals
2020-11-27 14:00:29 +00:00
Matt-Yorkley
1ceb6ac916
Update orders_and_fulfilment report totals
2020-11-27 14:00:29 +00:00
Matt-Yorkley
d2998f1190
Remove spaces in payments report
2020-11-27 14:00:29 +00:00
Matt-Yorkley
60aaf8100a
Fix some Rubocop offences
2020-11-27 14:00:29 +00:00
Matt-Yorkley
54ad90e071
Replace deprecated ActiveRecord::ConnectionAdapters::Column#value_to_boolean
...
This method has been removed in Rails 4.2
2020-11-27 14:00:29 +00:00