Neal Chambers
69e7419a45
Safely autocorrect Style/NegatedIfElseCondition
...
Inspecting 1509 files
....................................................................................................................................................................................................................C........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................
Offenses:
app/mailers/spree/shipment_mailer.rb:15:25: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the ternary branches.
default_subject = !@delivery ? t('.picked_up_subject') : default_i18n_subject
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
spec/support/matchers/table_matchers.rb:34:5: C: [Corrected] Style/NegatedIfElseCondition: Invert the negated condition and swap the if-else branches.
if rows.count != expected_table.count ...
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1509 files inspected, 2 offenses detected, 2 offenses corrected
2023-11-10 09:13:57 +09:00
David Cook
f05d27b58b
Show error message summary at top of form
2023-11-03 14:32:58 +11:00
David Cook
a0b64cb58a
Remove unnecessary set_locale calls
...
The locale is now set in ApplicationReflex
2023-10-13 15:54:24 +02:00
David Cook
2915048afa
Always set locale for reflexes
...
I considered using I18nHelper like we do in controllers, but that is for choosing a locale, which we don't need to do for reflexes.
2023-10-13 15:54:24 +02:00
Mohamed ABDELLANI
614c8a5060
update order mailer to check if invoices feature is enabled for the current user
2023-10-08 21:47:17 +02:00
Mohamed ABDELLANI
adecf64cf3
update bulk invoice job to check if the invoices feature is enabled for the current user
2023-10-08 21:47:17 +02:00
Neal Chambers
ed06edda3f
Fix Style/HashSyntax
2023-09-13 16:45:00 +09:00
David Cook
ef63c520c0
Aggregate errors
2023-08-22 11:40:58 +10:00
David Cook
a70f392654
Show error messages
...
It's kinda hard to test reflexes..
2023-08-22 11:40:58 +10:00
David Cook
71c36585bc
Retain order when saving.
...
Perhaps this should be tested in the system spec too ("I can rename a product and still see it after saving"). But I'd like to find the compromise to avoid bulking up system specs too much. I think it's covered well enough by the reflex spec?
2023-08-22 11:40:58 +10:00
David Cook
ae3cd6f7e0
Add bulk_update product form for product name
...
(For now at least,) we use one big standard Rails form, and ModelSet to update each record.
Submitting with Reflex allows us to manage the loading state along with the rest of the page (although I would rather use the built in HTTP POST standard).
Aria-label makes it a bit easier for testing (and accessibility software of course!). Technically it should have been aria-labelledby="id_of_column_header" but that would have resulted in more HTML and processing, which seemed silly.
Best viewed with whitespace ignored.
2023-08-22 11:40:58 +10:00
Jean-Baptiste Bellet
1a8a4ee72b
Change size of pagination
...
"it becomes extremely long for big catalogues"
2023-08-17 09:26:10 +02:00
David Cook
e816228959
Sort products by name in ascending order
...
The order is specified above in fetch_products. I'm guessing this line was unintentional?
Original requirment doesn't say ascending but I think it's safe to assume (issue#10694).
2023-08-15 08:36:22 +02:00
Jean-Baptiste Bellet
3b68674896
Remove new_products_page and all associated controller/components/
...
new_products_page` is dead, long live `admin_style_v3` !
2023-08-10 10:02:45 +02:00
Mohamed ABDELLANI
7daa4d3a63
simplify filtering condition to select only invoiceable orders on OrdersReflex
2023-08-03 14:52:45 +01:00
Neal Chambers
60cd84d565
Safely autocorrect Naming/BlockForwarding
...
Inspecting 1480 files
...................................................................................................................................................................C.......C..........C...............................................................................................................................................................................................................C...........................................................................................................C.........C...............................................................................................................................................................................................................................................................C........................................CC...C............................................................................................................................................................................................................................................................................................................................C.....................................................................................................................................................................................................C..............C.........C..CC.......C.....................................................................................................C...............
Offenses:
app/helpers/application_helper.rb:41:32: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def ng_form_for(name, *args, &block)
^^^^^^
app/helpers/application_helper.rb:44:75: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
form_for(name, *(args << options.merge(builder: AngularFormBuilder)), &block)
^^^^^^
app/helpers/application_helper.rb:49:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def method_missing(method, *args, &block)
^^^^^^
app/helpers/link_helper.rb:4:57: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def link_to_service(baseurl, name, html_options = {}, &block)
^^^^^^
app/helpers/link_helper.rb:8:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
link_to ext_url(baseurl, name), html_options, &block
^^^^^^
app/helpers/spree/admin/base_helper.rb:6:56: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def field_container(model, method, options = {}, &block)
^^^^^^
app/helpers/spree/admin/base_helper.rb:13:29: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
capture(&block),
^^^^^^
app/reflexes/application_reflex.rb:29:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def with_locale(&block)
^^^^^^
app/reflexes/application_reflex.rb:30:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
I18n.with_locale(current_user.locale, &block)
^^^^^^
app/services/cache_service.rb:8:43: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.cache(cache_key, options = {}, &block)
^^^^^^
app/services/cache_service.rb:9:48: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
Rails.cache.fetch cache_key.to_s, options, &block
^^^^^^
app/services/cache_service.rb:14:58: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.cached_data_by_class(cache_key, cached_class, &block)
^^^^^^
app/services/cache_service.rb:16:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
&block
^^^^^^
app/services/cache_service.rb:25:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.home_stats(statistic, &block)
^^^^^^
app/services/cache_service.rb:28:47: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
race_condition_ttl: 10, &block)
^^^^^^
app/services/current_order_locker.rb:12:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def self.around(controller, &block)
^^^^^^
app/services/current_order_locker.rb:13:55: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
lock_order_and_variants(controller.current_order, &block)
^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:392:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def chain_to_scope(&block)
^^^^^^
lib/reporting/reports/enterprise_fee_summary/scope.rb:393:41: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
@scope = @scope.instance_eval(&block)
^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:7:34: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def respond_with(*resources, &block)
^^^^^^
lib/spree/core/controller_helpers/respond_with.rb:13:64: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
return unless (collector = retrieve_collector_from_mimes(&block))
^^^^^^
lib/spree/core/delegate_belongs_to.rb:80:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def class_def(name, method = nil, &blk)
^^^^
lib/spree/core/delegate_belongs_to.rb:81:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
class_eval { method.nil? ? define_method(name, &blk) : define_method(name, method) }
^^^^
lib/spree/core/environment_extension.rb:22:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def create_method(name, &block)
^^^^^^
lib/spree/core/environment_extension.rb:23:51: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
self.class.__send__(:define_method, name, &block)
^^^^^^
spec/models/enterprise_caching_spec.rb:144:13: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def later(&block)
^^^^^^
spec/models/enterprise_caching_spec.rb:145:36: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
Timecop.travel(1.day.from_now, &block)
^^^^^^
spec/support/embedded_pages_helper.rb:5:26: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def on_embedded_page(&block)
^^^^^^
spec/support/embedded_pages_helper.rb:6:28: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within_frame :frame, &block
^^^^^^
spec/support/preferences_helper.rb:11:31: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def reset_spree_preferences(&config_block)
^^^^^^^^^^^^^
spec/support/preferences_helper.rb:16:33: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
configure_spree_preferences(&config_block) if block_given?
^^^^^^^^^^^^^
spec/support/request/shop_workflow.rb:87:37: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def within_variant(variant = nil, &block)
^^^^^^
spec/support/request/shop_workflow.rb:90:22: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within(selector, &block)
^^^^^^
spec/support/request/ui_component_helper.rb:4:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def browse_as_small(&block)
^^^^^^
spec/support/request/ui_component_helper.rb:5:39: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
browse_with_window_size(640, 480, &block)
^^^^^^
spec/support/request/ui_component_helper.rb:8:24: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def browse_as_medium(&block)
^^^^^^
spec/support/request/ui_component_helper.rb:9:40: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
browse_with_window_size(1024, 768, &block)
^^^^^^
spec/support/request/web_helper.rb:52:23: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def within_row(num, &block)
^^^^^^
spec/support/request/web_helper.rb:53:54: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
within("table.index tbody tr:nth-child(#{num})", &block)
^^^^^^
spec/swagger_helper.rb:77:19: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def param(args, &block)
^^^^^^
spec/swagger_helper.rb:78:45: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
public_send(:let, args) { instance_eval(&block) }
^^^^^^
spec/system/support/capybara_setup.rb:20:27: C: [Corrected] Naming/BlockForwarding: Use anonymous block forwarding.
def using_session(name, &block)
^^^^^^
1480 files inspected, 42 offenses detected, 42 offenses corrected
2023-07-30 21:29:19 +09:00
Jean-Baptiste Bellet
3fab9714f5
Use a constant as the search_key
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
2697a637a9
Use the OpenFoodNetwork::Permissions helper
...
To retrieve only primary producers
2023-07-19 14:58:40 +02:00
jibees
3245f7ff99
Update app/reflexes/products_reflex.rb
...
Co-authored-by: David Cook <david@redcliffs.net >
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
90c6398197
Simplify and call methods directly via before_reflex
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
b3bdba3a9b
Better use merge! instead of q = q.merge
2023-07-19 14:58:40 +02:00
Jean-Baptiste Bellet
fac02c794c
Search through more attributes than only name
...
Copy/paste from `app/assets/javascripts/darkswarm/controllers/products_controller.js.coffee`
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5a8a187f54
Add clear search button and action
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
333dc11fc1
Manage form params vs. URL params. And replace state with params.
...
"One needs to understand what the source of the params in a reflex is. And there are two sources:
the closest form
the url of the currently displayed page"
Source: https://github.com/stimulusreflex/stimulus_reflex/issues/290#issuecomment-683334963
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
bfe1884ab5
Can filter by categories
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
f58cf2d3b2
Can filter by producer
...
Not sur the request nor the `producers` in the reflex should be like this. This is a proof of concept, and should probably be reviewed
Fix linter issues
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
643897abb2
Add search functionnality
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
c786f300ca
Have a tiny url state management by using replace_state of cable_ready
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
3da6e02192
Call pagination via perPage param: no state to manage, use param
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
61d1f30e04
Rename productsV3 to products: avoid upper|lower case issues
...
This is causing some issues, misunderstandings around case.
Therefore, directly use the Reflex, and lifecycle methods `beforeFetch` and `afterFetch` are called, even if we use the Reflex (and not the js controller methods). This is pretty handy.
+ adds some id to pagination element (https://docs.stimulusreflex.com/guide/reflexes.html#declaring-a-reflex-in-html-with-data-attributes )
Global documentation: https://docs.stimulusreflex.com/guide/reflexes.html
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
574adb88d2
Add a per page component
...
This is still a WIP.
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
5aebbe4102
use beforeFetch and afterFetch lifecycle methods
...
+ Move outside `Admin` module the reflex
Therefore, this reflex should be _equivalent_ to its javascript controller: `ProductsV3` (relation is made through names)
Remove unwanted line
Actually call StimulusJS controller instead of calling the reflex itself
In order to have this "showLoading", "hideLoading" behavior.
It seems to be possible to directly use the Reflex itself (use `data-reflex` instead of `data-action`) but I can't make it work: the `stimulus-controller:after` event is never broadcasted/catched (but `stimulus-controller:before` yes...)
Documentation:
https://docs.stimulusreflex.com/guide/reflexes.html#understanding-stimulusreflex-controllers
https://docs.stimulusreflex.com/guide/lifecycle.html#generic-life-cycle-methods
Maybe @dacook if you want to have a look...
2023-07-19 14:58:39 +02:00
Jean-Baptiste Bellet
47f21cb59e
Add pagination with pagy
...
For `admin_style_v3` use `<` and `>` for next and previous link
instead of `next` and `previous` string
Extract a mixin for a default box-shadow
Maybe this needs to be redefined. Let's see how next things goes.
When a table is followed by a pagination, remove its margin-bottom + border
Finally, design the pagination component
Add sorting/pagination module, on top of table
We use `cablea_ready.replace`, so need to add `#products-content` id
Use a `pagy` partial with reflex action, instead of the legacy one
- revert the legacy one to its previous state
- in reflex, fetch product with page attribute, 1 by default
Move `pagy` into `admin/shared/v3/` to be reusable
+ use fontawesome icons for next and previous page
Remove useless line
2023-07-19 14:58:39 +02:00
David Cook
6a2025b271
Add products table
...
With ellipsis clipping for long lines.
2023-06-28 09:59:57 +10:00
David Cook
809c15b197
Load products page with reflex
...
We will add the products in the next commit.
2023-06-28 09:59:57 +10:00
Maikel Linke
15ef826ac1
Style Style/ClassAndModuleChildren
2023-05-26 13:27:34 +10:00
Matt-Yorkley
95f1643cec
Combine related reflex actions
2023-05-21 00:15:32 +01:00
Matt-Yorkley
5930d0c1f5
Make bulk actions more generic
2023-05-21 00:15:32 +01:00
Matt-Yorkley
55d9deb5bd
Update order cancelling bulk action
2023-05-21 00:15:32 +01:00
Matt-Yorkley
134f1ab151
Replace angular bulkInvoiceCtrl
2023-05-21 00:15:32 +01:00
Matt-Yorkley
25aecfa5b9
Add reflex for shipping orders
2023-05-21 00:15:32 +01:00
Matt-Yorkley
e58a37f65b
Add reflex for capturing orders
2023-05-21 00:15:32 +01:00
Matt-Yorkley
73b41154cc
Update admin flashes
2023-05-21 00:15:32 +01:00
Matt-Yorkley
e1b0a03819
Scope orders before bulk actions
2023-05-17 12:03:40 +02:00
Jean-Baptiste Bellet
679fcc0114
When removing the logo, also delete white_label_logo_link preference
...
since it has no sense without the logo
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
6fdf9fa038
Add/Remove white label logo in enterprise preferences panel
2023-04-20 08:45:03 +02:00
Jean-Baptiste Bellet
bbec01a9cb
Create a concern for reflexes that handle Enterprise update
2023-04-20 08:45:03 +02:00
Filipe
1673a18eb6
Merge pull request #9729 from binarygit/remove-angular-from-users
...
Admin, Enterprise Settings, Users tabs: remove tooltips directives + use reflex to invite user to be managers
2023-03-23 11:52:18 +00:00
Jean-Baptiste Bellet
29cdadd563
Avoid using exception but simply errors attribute contained in object
...
Co-Authored-By: Maikel <maikel@email.org.au >
2023-03-23 11:21:15 +01:00
binarygit
ecd5033efa
Replace angular for when adding a new unregistered manager to an enterprise
...
Co-Authored-By: David Cook <david@redcliffs.net >
2023-03-23 11:21:05 +01:00