Commit Graph

390 Commits

Author SHA1 Message Date
Pau Perez
915b5cf09e Inline also the active product properties query
This makes it easier to spot what are the differences and similarities
between active and non-active, which in turn, it'll help remove the N+1
the "active" branch causes.

Make it look `#distributed_producer_properties` with which seems to
share a lot.
2019-02-26 11:39:43 +01:00
Pau Perez
19cbda4128 Fix Rubocop violation 2019-02-26 11:39:43 +01:00
Pau Perez
24c031b3cd Extract #distributed_product_properties method 2019-02-26 11:39:43 +01:00
Pau Perez
d4635bd7cb Fetch Property instead of ProducerProps from query
By not having to treat producer properties differently we can filter and
fetch all properties from DB without having to process it with Ruby and
with a single query.
2019-02-26 11:36:36 +01:00
Pau Perez
8eb35e491d Don't fetch rows by ids of DISTINCT records
There's no point on fetching the same records again by the resulting ids
of the previous query (nasty way of removing duplicates), when that
query has a DISTINCT.
2019-02-26 11:36:36 +01:00
Pau Perez
328cda66f5 Stop using PropertyMerge in serializer 2019-02-26 11:36:36 +01:00
Pau Perez
64fb230297 Make it more obvious we talk about an enterprise 2019-02-26 11:36:36 +01:00
Pau Perez
a5f890cf36 Fix styling on method 2019-02-26 11:36:36 +01:00
Kristina Lim
b691d727a7 Move OFN::SubscriptionService to SubscriptionVariantsService 2019-01-26 02:03:55 +08:00
Kristina Lim
c23002102c Add warning for unavailable subscription items 2019-01-26 02:03:55 +08:00
Pau Perez
96202ab00d Fix Rubocop violations 2018-11-28 16:23:56 +01:00
Pau Perez
e0f43191e2 Make helper methods private
Otherwise next dev might think these are attributes of the resulting
JSON serialized object.

They just made the refactoring a bit easier.
2018-11-28 16:21:40 +01:00
Pau Perez
c330d931ce Eager load product properties to avoid N+1
This totally removes the following N+1 query from the GET /shops request

```sql
SELECT "spree_properties".* FROM "spree_properties"
  INNER JOIN "spree_product_properties"
    ON "spree_product_properties"."property_id" = "spree_properties"."id"
  INNER JOIN "spree_products"
    ON "spree_products"."id" = "spree_product_properties"."product_id"
  INNER JOIN "enterprises"
    ON "enterprises"."id" = "spree_products"."supplier_id"
  WHERE "spree_products"."supplier_id" = 24;
```

The product properties of the corresponding enterprises are now loaded
in a single query fired from the controller.
2018-11-28 16:21:40 +01:00
Pau Perez
149fc1ac6f Inline PropertyMerge's #merge into serializer
Now that it has become a plain Ruby #uniq, there's no point on having
the abstraction and indirection.
2018-11-28 16:21:40 +01:00
Pau Perez
8e1f9a1ba3 Refactor #product_properties not to fetch ids 2018-11-28 16:21:40 +01:00
Pau Perez
bc7258d43b Test #supplied_properties helper methods 2018-11-28 16:21:40 +01:00
Pau Perez
23f629cfd6 Autofix all Rubocop violations in serializer 2018-11-28 13:54:42 +01:00
Pau Perez
c6ab5feb81 Move cached & uncached serializers to their files 2018-11-28 13:54:42 +01:00
Luis Ramos
0c02e8c15f Merge pull request #2981 from coopdevs/remove-commented-out-code
Remove old commented out code
2018-11-06 16:06:59 +00:00
Pau Perez
51155bb368 Remove old commented out code
You know, git already keeps old code for us.
2018-11-06 14:23:15 +00:00
Pau Perez
26d95b7250 Fix long lines 2018-11-06 13:59:51 +00:00
Pau Pérez Fabregat
58a99a7f89 Merge pull request #2692 from Matt-Yorkley/bi/angular_orders
Angularise orders page
2018-10-04 21:10:48 +02:00
Matt-Yorkley
55d7d5d1e4 Rename #capture_path to #payment_capture_path 2018-10-02 11:10:51 +01:00
Matt-Yorkley
54b17ac701 Use Spree::Order.pending_payments and remove service 2018-09-27 13:04:56 +01:00
Matt-Yorkley
1d9243af19 DRY and clarify serializer and service 2018-09-24 16:58:43 +01:00
Pau Pérez Fabregat
20077c99b5 Merge pull request #2618 from coopdevs/enable-style-send-cop
Favor #public_send over #send using Rubocop's cop
2018-09-20 19:03:40 +02:00
Matt-Yorkley
3cbb576b4f Move payment object logic out of order serializer and delete code 2018-09-19 13:00:30 +01:00
Matt-Yorkley
93d273f94a Convert orders index table to use angular ng-repeat 2018-09-19 09:33:25 +01:00
Matt-Yorkley
e577bcb46f Prepare angular controller and serialized data 2018-09-17 14:18:23 +01:00
Pau Perez
b23cb55525 Fix current violations of Style/Send cop 2018-09-05 12:05:05 +02:00
Kristina Lim
f30032eee7 Include image URLs in serialized enterprise for admin 2018-09-04 01:18:45 +08:00
Maikel Linke
f0be8ff290 Style proxy order serializer 2018-08-03 15:07:22 +10:00
Rob Harrington
cead905d05 Use estimated subscription total for proxy orders if order has not been initialized 2018-08-03 12:14:25 +10:00
Maikel Linke
459057a7db Revert accidental copy and paste 2018-07-10 10:31:51 +10:00
Maikel Linke
f9a3338755 Simplify serialiser with delegate 2018-07-10 10:01:18 +10:00
Maikel Linke
b478ef9fd0 Make admin serialiser specs runnable on their own 2018-07-10 09:59:00 +10:00
Rob Harrington
4fd333bbaf Remove obsolete reference to credit_card from subscription serializer 2018-07-05 19:26:12 +10:00
Rob Harrington
e0d46aa105 Add new serializer to allow search for customer addresses 2018-07-05 19:26:12 +10:00
Rob Harrington
a03dd1e10c Serialize default card auth and presence for Customers 2018-07-05 19:26:11 +10:00
Rob Harrington
ffa8a8c7d6 Create Api::BaseController to allow use of ActiveModelSerializers
Also add index action to Api::CustomersController
2018-06-22 15:39:47 +10:00
Rob Harrington
7af11da901 Use a SubscriptionsCount query object to provide counts to IndexOrderCycleSerializer 2018-06-20 13:06:06 +10:00
Rob Harrington
d5b1041481 Preload subscription counts for serialization in order cycle collection actions 2018-06-20 13:06:06 +10:00
Rob Harrington
86d7453d26 Ask user to confirm oc date change for open order cycles with subsciptions 2018-06-20 13:06:05 +10:00
Rob Harrington
dabef16606 Use ofn-select2 directive for country and state selectors on enterprise forms 2018-06-19 10:34:02 +10:00
luisramos0
d1019fcc5e changed the country and state selectors to angular on enterprises admin (new and edit screens) so that states are dynamically updated when country is changed 2018-06-19 10:34:02 +10:00
Pau Pérez Fabregat
b77091f87d Merge pull request #1969 from coopdevs/feature/do-not-upcase-state-abbr
Do not upcase State abbreviation
2018-06-08 08:36:55 +02:00
Rob Harrington
1327b9dc2c Add update method to CreditCardsController 2018-06-08 15:30:07 +10:00
Matt-Yorkley
4e97445655 PI inventories timestamps 2018-05-26 19:34:19 +01:00
Matt-Yorkley
e362c2d867 PI timestamps 2018-05-26 19:34:19 +01:00
Pau Perez
6593dea4f6 Auto correct Rubocop's Layout/EmptyLinesAroundMethodBody cop 2018-04-09 18:47:17 +02:00