Commit Graph

124 Commits

Author SHA1 Message Date
Ahmed Ejaz
6e055ddbdf Remove icon parameters from admin navigation tabs for simplification 2025-07-27 06:32:44 +05:00
Ahmed Ejaz
a37e08c2fd Refactor order management permissions for producers
Introduces granular permissions control for producers editing orders:

- Adds new :edit_as_producer_only permission for suppliers
- Refactors ability checks to clearly separate producer vs admin/distributor access
- Updates order views to properly restrict actions based on user role
- Prevents admins from being restricted by producer-only edit mode
2025-06-21 16:16:58 +05:00
Ahmed Ejaz
87c957541d refactor: fix rubocop lint issues 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
213209b460 hide customer info on bulk orders page 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
a4f1f542be rename distributor_allows_order_editing to filter_by_supplier 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
bc3917ebc1 incorporate show_customer_names_to_suppliers setting 2025-04-13 21:35:55 +05:00
Ahmed Ejaz
19c5fec9a9 add ability update supplier line_items in orders 2025-04-13 21:35:55 +05:00
Carlos Chitty
ecb303fef5 Correct Style/SlicingWithRange rubocop offenses 2025-03-26 11:16:24 -04:00
Manuel Gonçalves
3199118bae Removed the :selected attribute when the tax category is not required (like original version) 2024-12-03 08:54:35 +00:00
Manuel Gonçalves
980f86ce89 Fixed the lint errors 2024-12-02 21:22:12 +00:00
Manuel Gonçalves
d95bb7736a Fixed the logic and moved the code to a helper file 2024-12-01 20:43:31 +00:00
wandji20
a85cfab506 Remove awesome nested set gem and dependencies [OFN-11636] 2024-08-12 18:47:16 +01:00
zanetagebka
a2a670c848 Fix cops StringConcatenation 2024-06-11 15:17:32 +10:00
cyrillefr
ba68f4b252 Fix 'Ship Order': requested changes
- deletes local variables in view
- factor logic in helper
2024-05-07 19:15:00 +02:00
Konrad
b3dd51d6ac Merge pull request #12324 from chahmedejaz/task/12314-fix-rubocop-rails-helper-instance-variable
Fix Rubocop Rails/HelperInstanceVariable
2024-04-10 20:17:06 +02:00
Ana Nunes da Silva
eaf32226a4 Fix duplicate branches in Spree::Admin::BaseHelper
:string case already handled by the else case
2024-04-02 10:20:17 +01:00
Ahmed Ejaz
05f373f541 12314 - add order parameter in OrdersHelper methods 2024-04-01 06:41:41 +05:00
Ahmed Ejaz
3bb44cfe6d 12314 - fix order helper rubocop errors
- remove the direct access of @order instance variable
- add an attr_reader for order and use it instead
2024-03-31 17:07:00 +05:00
David Cook
864b95612a Show error message on variant_unit_name
Now passing options through to the error tag
2024-03-06 13:41:22 +11:00
Cillian O'Ruanaidh
f960dec0eb Display a warning when clicking the generate invoice button if an ABN is required but not present 2024-01-26 14:28:42 +00:00
binarygit
75ca1dddf1 Fix tests and rubocop warnings 2024-01-14 15:06:02 +05:45
binarygit
267e749369 Show same dialog box when shipping order through the actions dropdown 2024-01-14 15:06:02 +05:45
Gaetan Craig-Riou
4a32df7ef5 Remove seemingly useless method
Left over from Spree, it looks like a weird way to cast somehing to a
string
2023-12-18 14:38:16 +11:00
David Cook
f99b0b19e7 Disable another OutputSafety warning
This one is a little more concerning: what if a model error message includes the user-submitted value? But this is for the admin interface only, and I'm not sure if we have model error messages that do that. So it's probably fine (it's certainly been like this a long time already).
2023-12-13 14:21:27 +11:00
David Cook
0e95b3211b Disable most OutputSafety warnings
These all seem to require html_safe/raw, so we'll permit it.
Some of the spree code is a bit strange and could probably be improved, but I think it's ok for now.
2023-12-13 14:19:19 +11:00
David Cook
dc9fd669a2 Remove unnecessary html_safe calls
The tag generator methods should already be returning html_safe strings.
2023-12-13 14:11:02 +11:00
Mohamed ABDELLANI
e10d441153 load GeneralSettingsHelper#all_units from WeightsAndMeasures::UNITS 2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
fb24678654 update units list on Spree::Admin::GeneralSettingsHelper#all_units
added a test to make sure that all units on WeightsAndMeasures::UNITS are list on all_units
2023-11-13 09:29:31 +01:00
Mohamed ABDELLANI
13b366e7ff list send invoice and print invoice under actions even when the invoice feature is enabled 2023-10-08 21:47:17 +02:00
David Cook
836f5a1fb3 Remove unused withError class
It added specificity but had no use.
I reviewed a couple of screens to make sure:
  - /admin/orders/Rx/customer
  - /admin/properties/new

I have to confess I don't know how Spree::Admin::BaseHelper is included, or where it's used.

Best viewed with whitespace ignored.
2023-10-06 14:15:07 +02:00
Neal Chambers
416d6e538a Fix Style/HashSyntax 2023-09-09 09:00:38 +09:00
drummer83
a7ddf99ee4 Fix typo 2023-09-06 23:20:12 +02: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
Maikel
e065910d2d Merge pull request #10939 from Matt-Yorkley/master-variants
Remove master variants
2023-06-23 13:42:58 +10:00
Mohamed ABDELLANI
d86173c509 add feature toggle
seperate the invoice templates that rely on presenters from the old ones.
2023-06-18 21:03:13 +02:00
Matt-Yorkley
1daab8994d Remove is_master and not_master scopes 2023-06-16 21:23:44 +01:00
David Cook
e2ba18f828 Set sentence case tab names in Ruby instead of CSS
I chose .capitalize instead of .humanize, because the latter has extra features which may not be desired.
2023-06-08 11:24:44 +02:00
Jean-Baptiste Bellet
e34f4a9971 AdminV3: Remove icon from icon from primary navigation menu
Co-Authored-By: Maikel <maikel@email.org.au>
2023-06-08 11:24:43 +02:00
Matt-Yorkley
005d95e882 Fix "Resend Confirmation" link and add missing test coverage 2023-05-21 13:33:29 +01:00
David Cook
3ec659d82b Revert pull #10025
[WIP 🚧 ] Admin, behind feature toggle admin_style_v2: adjust some colors

This reverts commits 60f0a58508ce77666fa96c73d76dc0620f23daaf~1..09bcc772ff089f911a56bb
2023-05-09 21:26:47 +10:00
David Cook
0ff540e1e3 Revert pull #10080
[WIP 🚧 ] Admin - Order edition, behind feature toggle admin_style_v2: adjust colors

This reverts commits faf106b2824f248812f523c10b688bd9b254dc14..74b618230ff736ac7929246e2c83ed95067a4dd0
2023-05-09 21:25:29 +10:00
Konrad
b60a6fbd05 Merge pull request #10329 from thejwuscript/9861-improve-input-validation
Improve input validation on new and edit Payment Method pages
2023-05-03 16:11:21 +02:00
basilawwad
fa373518fb applied modal function
Update variant_autocomplete.js.erb

Applied modal function

refactored function

fix indentation and removed old function
2023-04-20 11:46:02 +02:00
David Cook
6570891349 Fix linter issues
Although I don't think the size was an issue here, small hashes can easily fit on one line.
2023-04-18 09:50:08 +10:00
David Cook
0f3e2ae572 Use browser validation for calculator values
They're all numbers, so we can reliably validate in the browser, removing the need for additional validation logic.
They will still be validated server-side, and in the unlikely even that there is an error, the generic 'Calculator is invalid' message will appear, with the relevant fields highlighted red. I think that's fine.
2023-04-18 09:50:08 +10:00
Ana Nunes da Silva
bb71b281d6 Remove print ticket links 2023-02-14 08:08:20 +00:00
Jean-Baptiste Bellet
20596b9441 Mark as icon-remove and then considered as secondary 2022-12-16 15:49:38 +01:00
Jean-Baptiste Bellet
9dd81604e9 Put navigation menu into span even if no icon next to it 2022-11-21 09:48:35 +01:00
Jean-Baptiste Bellet
bb6298d06d Check for enterprise_number_required_on_invoices boolean
if true, then can edit invoice ;

if false, then print a confirm alert popup to specify that a enterprise number must be set for this enterprise
2022-06-28 09:53:46 +02:00
Sebastian Castro
452a3fa933 Reports Refactor 2: Merge Spree::reports into Admin::Reports 2022-05-12 16:54:13 +02:00