Maikel Linke
b19456535d
Isolate report rendering in separate child process
...
Sidekiq doesn't have any features to limit memory usage or execution
time. We need a separate process for this. Forking avoids the boot time
of a fresh process and copy-on-write ensures minimal memory overheads.
2023-01-18 23:12:26 +00:00
Maikel Linke
a177f4c066
Add feature to render reports in the background
...
This is supposed to lower the memory footprint of all Puma workers. The
reports code will occupy needed memory in one Sidekiq worker instead of
in several Puma processes.
The current code doesn't limit the execution time yet. We either need a
way to terminate the report rendering after a while or send an email
with a link to access a rendered report.
2023-01-18 23:12:26 +00:00
Maikel Linke
19c4596b9e
Untie report from request object
...
We want simple report arguments to store it as background job.
2023-01-18 23:12:26 +00:00
Maikel Linke
0c769706aa
Split method for easier reading
2023-01-18 23:12:26 +00:00
Maikel Linke
65843fbd68
Render on-screen report as HTML in renderer
...
So it can be treated like any other format.
2023-01-18 23:12:26 +00:00
Jean-Baptiste Bellet
7320a1714c
Instead of selecting the controller, send an event handled by stripe-cards
...
Using a query selector to find controller in order to call method could be dangerous as the DOM can change. Using an event should be more robust.
2023-01-18 17:40:17 +01:00
Jean-Baptiste Bellet
9b4f9314bc
Make a proper alignement for filtering options
...
I used inline style, because:
- I didn't find any pre-existing CSS for this page
- I think that flex is self-explaining and I think adding class (for what?) won't add any value
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
455c11c289
Put columns selector component on left, and per_page component on right
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
35791034cc
Remove orders/_per_page_controls and use the shared one
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
1a874d6fcf
Introduce pagination for BOM page
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
85a748af99
When selecting an OC, do not pre-fill date range with OC date range
...
+ update specs as well
2023-01-18 17:39:42 +01:00
Jean-Baptiste Bellet
121a4a08af
On filters reseting , set dates to undefined: range is not mandatory
...
+ send flatpickr event to reset the component
+ update specs as well
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
b75b123cba
Don't check date range before refreshing data: they aren't mandatory
...
- Creates a simple formatDates method that handle date formatting before sending it as params instead of creating scoped variable (useless)
- Put key to `undefined` (ie. don't then the params) if no date: already handled by the backend
2023-01-18 17:39:09 +01:00
Jean-Baptiste Bellet
719025f98e
Only set calculator if it's a new record (having an id)
...
Unless we have a ActiveRecord::NotNullViolation
```
ActiveRecord::NotNullViolation:
PG::NotNullViolation: ERROR: null value in column "calculable_id" of relation "spree_calculators" violates not-null constraint
DETAIL: Failing row contains (9370, Calculator::None, null, Spree::ShippingMethod, 2023-01-12 15:09:44.381142, 2023-01-12 15:09:44.381142).
# ------------------
# --- Caused by: ---
# PG::NotNullViolation:
# ERROR: null value in column "calculable_id" of relation "spree_calculators" violates not-null constraint
# DETAIL: Failing row contains (9370, Calculator::None, null, Spree::ShippingMethod, 2023-01-12 15:09:44.381142, 2023-01-12 15:09:44.381142).
```
2023-01-16 09:31:15 +01:00
Jean-Baptiste Bellet
a9097df112
Already defined via CalculatedAdjustments
2023-01-16 09:31:15 +01:00
Jean-Baptiste Bellet
7015cb30c3
Calculator 'None' is the default one for both shipping and payment method
...
+ update specs as well
Update shipping_method.rb
2023-01-16 09:31:15 +01:00
Maikel Linke
1e77b96c2c
Simplify negated feature toggle constraint
2023-01-11 10:10:30 +00:00
Gaetan Craig-Riou
6e76bcac4a
Refactor option_value_value_unit_scaled to use to_d instead of calling BigDecimal
...
As we are now using truncate(2) we don't need to specify the number of significant digits
2023-01-11 15:35:30 +11:00
Gaetan Craig-Riou
91af282ccc
Truncate scaled value unit to maximum of two decimals
...
ie truncate 12.50001234 to 12.5
When using imperial, the scalling calculation rounding results in value unit
having extra decimal when converted back to imperial
+ related spec
2023-01-11 11:04:32 +11:00
Konrad
c4b89e466b
Merge pull request #9804 from jibees/9420-resend-confirmation-email-in-bulk
...
Admin, Orders list: Resend confirmation email in bulk
2023-01-11 00:16:57 +01:00
Filipe
57aeee94f9
Merge pull request #10229 from mkllnk/report-paths
...
Link relative report path instead of absolute URL
2023-01-10 15:35:32 +00:00
Filipe
bd20a8c16f
Merge pull request #10237 from mkllnk/report-rendering
...
Remove report dependency on report controller
2023-01-09 18:49:19 +00:00
Jean-Baptiste Bellet
2258af9cec
Don't display "group by size" if value is actually null or empty
...
+ add spec
2023-01-06 14:39:39 +01:00
Jean-Baptiste Bellet
e403a2c174
Secondary button can actually be disabled
2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
5aca76e520
OC, incoming|outgoing products, have the actions inside the table
2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
73a2b90e1b
On hovering, all the tr should be colored
...
This needs to be respecified with an `!important` keyword
Even if already defined in `app/webpacker/css/admin/openfoodnetwork.scss`
2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
c7d4c4c195
Put action in the flex container for incoming|outgoing products in OC
2023-01-06 14:03:40 +01:00
Jean-Baptiste Bellet
bba1d6c725
Do not specify sizes, let the browser fix the best layout for table
2023-01-06 10:46:01 +01:00
Jean-Baptiste Bellet
52cb6d4eec
Put all actions in the same flex container, aligned to right
2023-01-06 10:45:30 +01:00
Jean-Baptiste Bellet
fc6bd53720
Put some specials rules for listing_orders as generics for all tables
...
- `.actions` is now integrated to the table itself, with the same design
- We have to use `!important` keyword as already defined like this...
2023-01-06 10:33:27 +01:00
Maikel Linke
22a086ebc1
Remove report dependency on report controller
...
The ReportsController was referencing the report and the report was
referencing the controller. It's unlikely that this circular dependency
created a memory leak but it's generally a bad design. And we need to
make the reporting independent of the controller to isolate it in a
background job.
2023-01-05 15:06:41 +11:00
Jean-Baptiste Bellet
972e0b5d0b
Specify color for h4. Same as others titles.
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
927c1c81e5
Border and background for a panel
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
fd87013a63
Colorize and customize tagging componenent
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
274e0d0335
Same color but with variable
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
c5f3d3fa71
Use a darker grey for disabled button
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
26684f7db5
New colors for wizard progress
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
2ccb7de004
Specify cursor: default when button is disabled
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
7c321922ad
Actually, this needs to be white since the body is no more white
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
d7e3e81c8c
Adjust border color when active
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
d7454ecb9f
Adjust border radius when drop is above
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
4c172b5ace
Adjust color and height between input type text and select
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
6529a8d98f
#clear_all_filters button as a secondary one
2023-01-04 10:41:30 +01:00
Jean-Baptiste Bellet
ccfc632149
Whatever the condition, display the td
...
And put the `ng-if` inside the `td`, attached to a new `div`
2023-01-04 10:41:30 +01:00
Maikel Linke
da4069679c
Link relative report path instead of absolute URL
...
You can reach a development server under localhost, 127.0.0.1, 0.0.0.0
or other names you define in your environment. The reports were using
absolute links to localhost though and therefore breaking your session
(login) while navigating.
I'm not sure why this was done though. Sebastian didn't explain this in
the commit message and it may have been accidental.
2023-01-04 15:43:12 +11:00
Jean-Baptiste Bellet
53fa2ef8d5
Change order of the Actions menu: resend, print, cancel
...
It's more close to the Actions menu for a specific order (ie. on page `/admin/orders/[ORDER_ID]/edit`)
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
ab39341192
Add permission management with cancancan
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
7e844ee289
Implement resend email confirmation bulk action
...
- Create a controller that send a reflex action with the order_ids array
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
bcc9d447e1
Create a reflex that handle re-send email confirmation to user
2023-01-03 10:32:11 +01:00
Jean-Baptiste Bellet
9997fe26fc
Small adjustments to make it usable in admin section
2023-01-03 10:32:11 +01:00