diff --git a/.circleci/config.yml b/.circleci/config.yml index 12bb10ef..eb47bec3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,6 +1,9 @@ version: 2.1 orbs: + # Required for feature specs. + browser-tools: circleci/browser-tools@1.1 + # Always take the latest version of the orb, this allows us to # run specs against Solidus supported versions only without the need # to change this configuration every time a Solidus version is released @@ -8,28 +11,63 @@ orbs: solidusio_extensions: solidusio/extensions@volatile jobs: - run-specs-with-postgres: - executor: solidusio_extensions/postgres + run-specs: + parameters: + solidus: + type: string + default: main + db: + type: string + default: "postgres" + ruby: + type: string + default: "3.2" + executor: + name: solidusio_extensions/<< parameters.db >> + ruby_version: << parameters.ruby >> steps: - - solidusio_extensions/run-tests - run-specs-with-mysql: - executor: solidusio_extensions/mysql + - checkout + - browser-tools/install-chrome + - solidusio_extensions/run-tests-solidus-<< parameters.solidus >> + + lint-code: + executor: + name: solidusio_extensions/sqlite + ruby_version: "3.1" steps: - - solidusio_extensions/run-tests + - solidusio_extensions/lint-code workflows: "Run specs on supported Solidus versions": jobs: - - run-specs-with-postgres - - run-specs-with-mysql - "Weekly run specs against master": + - run-specs: + name: &name "run-specs-solidus-<< matrix.solidus >>-ruby-<< matrix.ruby >>-db-<< matrix.db >>" + matrix: + parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] } + - run-specs: + name: *name + matrix: + parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] } + - run-specs: + name: *name + matrix: + parameters: { solidus: ["older"], ruby: ["3.0"], db: ["sqlite"] } + - lint-code + + "Weekly run specs against main": triggers: - schedule: cron: "0 0 * * 4" # every Thursday filters: branches: only: - - master + - main jobs: - - run-specs-with-postgres - - run-specs-with-mysql + - run-specs: + name: *name + matrix: + parameters: { solidus: ["main"], ruby: ["3.2"], db: ["postgres"] } + - run-specs: + name: *name + matrix: + parameters: { solidus: ["current"], ruby: ["3.1"], db: ["mysql"] } diff --git a/.github/stale.yml b/.github/stale.yml index d9f65632..0d0b1c99 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -1,17 +1 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - pinned - - security -# Label to use when marking an issue as stale -staleLabel: wontfix -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false \ No newline at end of file +_extends: .github diff --git a/.github_changelog_generator b/.github_changelog_generator new file mode 100644 index 00000000..eac09621 --- /dev/null +++ b/.github_changelog_generator @@ -0,0 +1,2 @@ +issues=false +exclude-labels=infrastructure diff --git a/.gitignore b/.gitignore index bcd4aea4..1ba20966 100644 --- a/.gitignore +++ b/.gitignore @@ -8,9 +8,14 @@ .sass-cache coverage Gemfile.lock +Gemfile-local tmp nbproject pkg *.swp spec/dummy spec/examples.txt +/sandbox +.rvmrc +.ruby-version +.ruby-gemset diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 481a0327..92aa12ec 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,47 +1,59 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2020-01-21 11:29:49 +0100 using RuboCop version 0.76.0. +# on 2025-01-11 17:52:21 UTC using RuboCop version 1.70.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 3 -# Cop supports --auto-correct. +# Offense count: 9 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: with_first_argument, with_fixed_indentation -Layout/AlignArguments: +Layout/ArgumentAlignment: Exclude: - 'config/initializers/ransack.rb' - 'spec/features/admin/gift_cards_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith, Severity. # SupportedStylesAlignWith: start_of_line, def Layout/DefEndAlignment: Exclude: - 'app/controllers/spree/api/gift_cards_controller.rb' -# Offense count: 4 +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods, AllowedPatterns. Lint/AmbiguousBlockAssociation: Exclude: - - 'spec/models/spree/order_contents_spec.rb' - 'spec/models/spree/virtual_gift_card_spec.rb' # Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). Lint/AmbiguousOperator: Exclude: - 'lib/solidus_virtual_gift_card/engine.rb' # Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. Lint/UselessAssignment: Exclude: - 'spec/models/spree/order_contents_spec.rb' +# Offense count: 3 +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 +Naming/VariableNumber: + Exclude: + - 'spec/models/spree/line_item_spec.rb' + - 'spec/models/spree/order_spec.rb' + # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect. +# This cop supports unsafe autocorrection (--autocorrect-all). Performance/TimesMap: Exclude: - 'app/models/spree/redemption_code_generator.rb' @@ -54,7 +66,7 @@ RSpec/AnyInstance: - 'spec/features/admin/products_card_spec.rb' # Offense count: 45 -# Configuration parameters: Prefixes. +# Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without RSpec/ContextWording: Exclude: @@ -67,6 +79,7 @@ RSpec/ContextWording: - 'spec/models/spree/virtual_gift_card_spec.rb' # Offense count: 1 +# Configuration parameters: IgnoredMetadata. RSpec/DescribeClass: Exclude: - 'spec/lib/tasks/send_gift_card_emails_spec.rb' @@ -98,12 +111,17 @@ RSpec/MessageSpies: EnforcedStyle: receive # Offense count: 17 -# Configuration parameters: AggregateFailuresByDefault. RSpec/MultipleExpectations: Max: 6 +# Offense count: 42 +# Configuration parameters: AllowSubject. +RSpec/MultipleMemoizedHelpers: + Max: 14 + # Offense count: 100 -# Configuration parameters: IgnoreSharedExamples. +# Configuration parameters: EnforcedStyle, IgnoreSharedExamples. +# SupportedStyles: always, named_only RSpec/NamedSubject: Exclude: - 'spec/controllers/spree/admin/gift_cards_controller_spec.rb' @@ -118,14 +136,30 @@ RSpec/NamedSubject: - 'spec/models/spree/virtual_gift_card_spec.rb' # Offense count: 31 +# Configuration parameters: AllowedGroups. RSpec/NestedGroups: Max: 6 +# Offense count: 2 +RSpec/RepeatedExampleGroupBody: + Exclude: + - 'spec/models/spree/virtual_gift_card_spec.rb' + # Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. RSpec/ScatteredLet: Exclude: - 'spec/controllers/spree/api/gift_cards_controller_spec.rb' +# Offense count: 12 +RSpec/StubbedMock: + Exclude: + - 'spec/controllers/spree/admin/gift_cards_controller_spec.rb' + - 'spec/lib/tasks/send_gift_card_emails_spec.rb' + - 'spec/models/spree/order_spec.rb' + - 'spec/models/spree/virtual_gift_card_spec.rb' + # Offense count: 6 # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames. RSpec/VerifiedDoubles: @@ -136,13 +170,14 @@ RSpec/VerifiedDoubles: # Offense count: 1 # Configuration parameters: Include. -# Include: db/migrate/*.rb +# Include: db/**/*.rb Rails/CreateTableWithTimestamps: Exclude: - 'db/migrate/20140623152903_create_virtual_gift_card.rb' # Offense count: 6 -# Configuration parameters: EnforcedStyle. +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowToTime. # SupportedStyles: strict, flexible Rails/Date: Exclude: @@ -152,23 +187,22 @@ Rails/Date: - 'spec/models/spree/order_contents_spec.rb' # Offense count: 1 -# Cop supports --auto-correct. -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/FindBy: - Exclude: - - 'app/models/spree/virtual_gift_card.rb' - -# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Include. # Include: app/**/*.rb, config/**/*.rb, db/**/*.rb, lib/**/*.rb Rails/Output: Exclude: - 'lib/generators/solidus_virtual_gift_card/install/install_generator.rb' +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +Rails/ReflectionClassName: + Exclude: + - 'app/models/spree/virtual_gift_card.rb' + # Offense count: 3 -# Configuration parameters: Blacklist, Whitelist. -# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters +# Configuration parameters: ForbiddenMethods, AllowedMethods. +# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all Rails/SkipsModelValidations: Exclude: - 'db/migrate/20151111211220_backfill_inventory_units_on_gift_card.rb' @@ -176,8 +210,8 @@ Rails/SkipsModelValidations: - 'spec/features/admin/gift_cards_spec.rb' # Offense count: 5 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect, EnforcedStyle. +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. # SupportedStyles: nested, compact Style/ClassAndModuleChildren: Exclude: @@ -188,15 +222,16 @@ Style/ClassAndModuleChildren: - 'app/models/spree/virtual_gift_card.rb' # Offense count: 4 -# Configuration parameters: MinBodyLength. +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. Style/GuardClause: Exclude: - 'app/controllers/spree/admin/gift_cards_controller.rb' - 'app/decorators/models/solidus_virtual_gift_card/spree/order_contents_decorator.rb' -# Offense count: 41 -# Cop supports --auto-correct. -# Configuration parameters: AutoCorrect, AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. +# Offense count: 24 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https -Metrics/LineLength: +Layout/LineLength: Max: 170 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..a5b4323a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +# Changelog + +See https://github.com/solidusio-contrib/solidus_virtual_gift_card/releases or OLD_CHANGELOG.md for older versions. diff --git a/Gemfile b/Gemfile index c7ff389c..d910773f 100644 --- a/Gemfile +++ b/Gemfile @@ -3,38 +3,46 @@ source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } -branch = ENV.fetch('SOLIDUS_BRANCH', 'master') -solidus_git, solidus_frontend_git = if (branch == 'master') || (branch >= 'v3.2') - %w[solidusio/solidus solidusio/solidus_frontend] - else - %w[solidusio/solidus] * 2 - end -gem 'solidus', github: solidus_git, branch: branch -gem 'solidus_frontend', github: solidus_frontend_git, branch: branch +branch = ENV.fetch('SOLIDUS_BRANCH', 'main') +gem 'solidus', github: 'solidusio/solidus', branch: branch + +# The solidus_frontend gem has been pulled out since v3.2 +if branch >= 'v3.2' + gem 'solidus_frontend' +elsif branch == 'main' + gem 'solidus_frontend', github: 'solidusio/solidus_frontend' +else + gem 'solidus_frontend', github: 'solidusio/solidus', branch: branch +end # Needed to help Bundler figure out how to resolve dependencies, # otherwise it takes forever to resolve them. # See https://github.com/bundler/bundler/issues/6677 gem 'rails', '>0.a' -# Provides basic authentication functionality for testing parts of your engine -gem 'solidus_auth_devise' - -case ENV['DB'] +case ENV.fetch('DB', nil) when 'mysql' gem 'mysql2' when 'postgresql' gem 'pg' else - gem 'sqlite3' + gem 'sqlite3', '~> 1.4' end group :test do gem 'rails-controller-testing' end +# While we still support Ruby < 3 we need to workaround a limitation in +# the 'async' gem that relies on the latest ruby, since RubyGems doesn't +# resolve gems based on the required ruby version. +gem 'async', '< 3' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3') + gemspec # Use a local Gemfile to include development dependencies that might not be -# relevant for the project or for other contributors, e.g.: `gem 'pry-debug'`. -send :eval_gemfile, 'Gemfile-local' if File.exist? 'Gemfile-local' +# relevant for the project or for other contributors, e.g. pry-byebug. +# +# We use `send` instead of calling `eval_gemfile` to work around an issue with +# how Dependabot parses projects: https://github.com/dependabot/dependabot-core/issues/1658. +send(:eval_gemfile, 'Gemfile-local') if File.exist? 'Gemfile-local' diff --git a/Rakefile b/Rakefile index c08aa468..a6562a8d 100644 --- a/Rakefile +++ b/Rakefile @@ -1,5 +1,6 @@ # frozen_string_literal: true +require "bundler/gem_tasks" require 'solidus_dev_support/rake_tasks' SolidusDevSupport::RakeTasks.install diff --git a/app/assets/javascripts/spree/backend/solidus_virtual_gift_card.js b/app/assets/javascripts/spree/backend/solidus_virtual_gift_card.js new file mode 100644 index 00000000..103cdc70 --- /dev/null +++ b/app/assets/javascripts/spree/backend/solidus_virtual_gift_card.js @@ -0,0 +1,2 @@ +// Placeholder manifest file. +// the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/backend/all.js' diff --git a/app/assets/javascripts/spree/frontend/solidus_virtual_gift_card.js b/app/assets/javascripts/spree/frontend/solidus_virtual_gift_card.js index e69de29b..9b2fd60c 100644 --- a/app/assets/javascripts/spree/frontend/solidus_virtual_gift_card.js +++ b/app/assets/javascripts/spree/frontend/solidus_virtual_gift_card.js @@ -0,0 +1,2 @@ +// Placeholder manifest file. +// the installer will append this file to the app vendored assets here: vendor/assets/javascripts/spree/frontend/all.js' diff --git a/app/assets/stylesheets/spree/backend/solidus_virtual_gift_card.css b/app/assets/stylesheets/spree/backend/solidus_virtual_gift_card.css index e69de29b..e3c23662 100644 --- a/app/assets/stylesheets/spree/backend/solidus_virtual_gift_card.css +++ b/app/assets/stylesheets/spree/backend/solidus_virtual_gift_card.css @@ -0,0 +1,4 @@ +/* +Placeholder manifest file. +the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/backend/all.css' +*/ diff --git a/app/assets/stylesheets/spree/frontend/solidus_virtual_gift_card.css b/app/assets/stylesheets/spree/frontend/solidus_virtual_gift_card.css index e69de29b..da236237 100644 --- a/app/assets/stylesheets/spree/frontend/solidus_virtual_gift_card.css +++ b/app/assets/stylesheets/spree/frontend/solidus_virtual_gift_card.css @@ -0,0 +1,4 @@ +/* +Placeholder manifest file. +the installer will append this file to the app vendored assets here: 'vendor/assets/stylesheets/spree/frontend/all.css' +*/ diff --git a/app/controllers/spree/admin/gift_cards_controller.rb b/app/controllers/spree/admin/gift_cards_controller.rb index 746031f8..697bcf64 100644 --- a/app/controllers/spree/admin/gift_cards_controller.rb +++ b/app/controllers/spree/admin/gift_cards_controller.rb @@ -50,7 +50,7 @@ def deactivate def send_email @gift_card.send_email - redirect_to :back + redirect_back(fallback_location: admin_orders_path) end private @@ -74,7 +74,7 @@ def load_order end def load_user - @user = Spree::User.find(params[:user_id]) + @user = Spree.user_class.find(params[:user_id]) end def gift_card_params diff --git a/app/decorators/models/solidus_virtual_gift_card/spree/line_item_decorator.rb b/app/decorators/models/solidus_virtual_gift_card/spree/line_item_decorator.rb index 4e278348..01adf4a8 100644 --- a/app/decorators/models/solidus_virtual_gift_card/spree/line_item_decorator.rb +++ b/app/decorators/models/solidus_virtual_gift_card/spree/line_item_decorator.rb @@ -7,8 +7,6 @@ def self.prepended(base) base.class_eval do has_many :gift_cards, class_name: 'Spree::VirtualGiftCard', dependent: :destroy delegate :gift_card?, :gift_card, to: :product - - self.whitelisted_ransackable_associations += %w[order] end end @@ -20,6 +18,10 @@ def gift_card_details gift_cards.map(&:details) end + def self.ransackable_associations(auth_object = nil) + super + %w[order] + end + ::Spree::LineItem.prepend self end end diff --git a/app/decorators/models/solidus_virtual_gift_card/spree/order_decorator.rb b/app/decorators/models/solidus_virtual_gift_card/spree/order_decorator.rb index 4851af88..91730045 100644 --- a/app/decorators/models/solidus_virtual_gift_card/spree/order_decorator.rb +++ b/app/decorators/models/solidus_virtual_gift_card/spree/order_decorator.rb @@ -22,7 +22,7 @@ def gift_card_match(line_item, options) end end - def finalize! + def finalize super inventory_units = self.inventory_units gift_cards.each_with_index do |gift_card, index| @@ -31,6 +31,8 @@ def finalize! end def send_gift_card_emails + return unless SolidusVirtualGiftCard.configuration.send_gift_card_emails + gift_cards.each do |gift_card| if gift_card.send_email_at.nil? || gift_card.send_email_at <= DateTime.now gift_card.send_email diff --git a/app/models/spree/virtual_gift_card.rb b/app/models/spree/virtual_gift_card.rb index 74e598cb..65a66f63 100644 --- a/app/models/spree/virtual_gift_card.rb +++ b/app/models/spree/virtual_gift_card.rb @@ -4,8 +4,8 @@ class Spree::VirtualGiftCard < Spree::Base include ActiveSupport::NumberHelper belongs_to :store_credit, class_name: 'Spree::StoreCredit', optional: true - belongs_to :purchaser, class_name: 'Spree::User', optional: true - belongs_to :redeemer, class_name: 'Spree::User', optional: true + belongs_to :purchaser, class_name: Spree::UserClassHandle.new, optional: true + belongs_to :redeemer, class_name: Spree::UserClassHandle.new, optional: true belongs_to :line_item, class_name: 'Spree::LineItem', optional: true belongs_to :inventory_unit, class_name: 'Spree::InventoryUnit', optional: true has_one :order, through: :line_item @@ -18,8 +18,13 @@ class Spree::VirtualGiftCard < Spree::Base scope :by_redemption_code, ->(redemption_code) { where(redemption_code: redemption_code) } scope :purchased, -> { where(redeemable: true) } - self.whitelisted_ransackable_associations = %w[line_item order] - self.whitelisted_ransackable_attributes = %w[redemption_code recipient_email sent_at send_email_at] + def self.ransackable_associations(_auth_object = nil) + %w[line_item order] + end + + def self.ransackable_attributes(_auth_object = nil) + %w[redemption_code recipient_email sent_at send_email_at] + end ransacker :sent_at do Arel.sql('date(sent_at)') @@ -49,7 +54,7 @@ def redeem(redeemer) end def make_redeemable!(purchaser:, inventory_unit:) - update!(redeemable: true, purchaser: purchaser, inventory_unit: inventory_unit, redemption_code: (redemption_code || generate_unique_redemption_code)) + update!(redeemable: true, purchaser: purchaser, inventory_unit: inventory_unit, redemption_code: redemption_code || generate_unique_redemption_code) end def deactivate diff --git a/app/overrides/admin_gift_card_order_confirmation.rb b/app/overrides/admin_gift_card_order_confirmation.rb deleted file mode 100644 index 55993053..00000000 --- a/app/overrides/admin_gift_card_order_confirmation.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -Deface::Override.new( - virtual_path: 'spree/admin/orders/confirm', - name: 'add_gift_cards_to_admin_order_confirmation', - insert_before: '#order-total', - partial: 'spree/admin/orders/confirmation_gift_card_details' -) diff --git a/app/overrides/admin_item_view_gift_card_codes.rb b/app/overrides/admin_item_view_gift_card_codes.rb deleted file mode 100644 index b249c9d7..00000000 --- a/app/overrides/admin_item_view_gift_card_codes.rb +++ /dev/null @@ -1,22 +0,0 @@ -# frozen_string_literal: true - -Deface::Override.new( - virtual_path: 'spree/admin/orders/confirm/_shipment_manifest', - name: 'add_gift_cards_to_admin_confirm', - insert_bottom: '.item-name', - partial: 'spree/admin/orders/shipments_gift_card_details', -) - -Deface::Override.new( - virtual_path: 'spree/admin/orders/_shipment_manifest', - name: 'admin_item_view_gift_card_codes', - insert_bottom: '.item-name', - partial: 'spree/admin/orders/shipments_gift_card_details', -) - -Deface::Override.new( - virtual_path: 'spree/admin/orders/_carton_manifest', - name: 'admin_item_view_gift_card_codes', - insert_bottom: '.item-name', - partial: 'spree/admin/orders/shipments_gift_card_details', -) diff --git a/app/overrides/admin_user_sidebar_store_credits.rb b/app/overrides/admin_user_sidebar_store_credits.rb deleted file mode 100644 index e2a7d8aa..00000000 --- a/app/overrides/admin_user_sidebar_store_credits.rb +++ /dev/null @@ -1,8 +0,0 @@ -# frozen_string_literal: true - -Deface::Override.new( - virtual_path: 'spree/admin/users/_tabs', - name: 'admin_user_sidebar_store_credits', - insert_bottom: "[data-hook='admin_user_tab_options']", - partial: 'spree/admin/users/gift_card_tabs' -) diff --git a/app/overrides/admin_user_sub_menu.rb b/app/overrides/admin_user_sub_menu.rb deleted file mode 100644 index a987db9c..00000000 --- a/app/overrides/admin_user_sub_menu.rb +++ /dev/null @@ -1,11 +0,0 @@ -# frozen_string_literal: true - -Deface::Override.new( - virtual_path: 'spree/admin/shared/_tabs', - name: 'admin_user_sub_menu_index', - replace: "erb[loud]:contains('BackendConfiguration::USER_TABS')", - text: <<~ERB) - <%= tab *Spree::BackendConfiguration::USER_TABS, url: spree.admin_users_path, icon: 'user' do %> - <%- render "spree/admin/users/sub_menu" %> - <%- end %> - ERB diff --git a/app/overrides/solidus_virtual_gift_card/admin_gift_card_order_confirmation.rb b/app/overrides/solidus_virtual_gift_card/admin_gift_card_order_confirmation.rb new file mode 100644 index 00000000..4db13386 --- /dev/null +++ b/app/overrides/solidus_virtual_gift_card/admin_gift_card_order_confirmation.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module SolidusVirtualGiftCard + module AdminGiftCardOrderConfirmation + Rails.logger.debug("Deface override applied for gift card details.") + Deface::Override.new( + virtual_path: 'spree/admin/orders/_order_details', + name: 'add_gift_cards_to_admin_order_confirmation', + insert_before: "[data-hook='order_details_total']", + partial: 'spree/admin/orders/confirmation_gift_card_details' + ) + end +end diff --git a/app/overrides/solidus_virtual_gift_card/admin_item_view_gift_card_codes.rb b/app/overrides/solidus_virtual_gift_card/admin_item_view_gift_card_codes.rb new file mode 100644 index 00000000..8f2a399f --- /dev/null +++ b/app/overrides/solidus_virtual_gift_card/admin_item_view_gift_card_codes.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module SolidusVirtualGiftCard + module AdminItemViewGiftCardCodes + Deface::Override.new( + virtual_path: 'spree/admin/orders/confirm/_shipment_manifest', + name: 'add_gift_cards_to_admin_confirm', + insert_bottom: '.item-name', + partial: 'spree/admin/orders/shipments_gift_card_details', + ) + + Deface::Override.new( + virtual_path: 'spree/admin/orders/_shipment_manifest', + name: 'admin_item_view_gift_card_codes', + insert_bottom: '.item-name', + partial: 'spree/admin/orders/shipments_gift_card_details', + ) + + Deface::Override.new( + virtual_path: 'spree/admin/orders/_carton_manifest', + name: 'admin_item_view_gift_card_codes', + insert_bottom: '.item-name', + partial: 'spree/admin/orders/shipments_gift_card_details', + ) + end +end diff --git a/app/overrides/solidus_virtual_gift_card/admin_user_sidebar_store_credits.rb b/app/overrides/solidus_virtual_gift_card/admin_user_sidebar_store_credits.rb new file mode 100644 index 00000000..249f5fd0 --- /dev/null +++ b/app/overrides/solidus_virtual_gift_card/admin_user_sidebar_store_credits.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +module SolidusVirtualGiftCard + module AdminUserSidebarStoreCredits + Deface::Override.new( + virtual_path: 'spree/admin/users/_tabs', + name: 'admin_user_sidebar_store_credits', + insert_bottom: "[data-hook='admin_user_tab_options']", + partial: 'spree/admin/users/gift_card_tabs' + ) + end +end diff --git a/app/views/spree/admin/gift_cards/_lookup_form.html.erb b/app/views/spree/admin/gift_cards/_lookup_form.html.erb index 2e18ab69..1bf7aa34 100644 --- a/app/views/spree/admin/gift_cards/_lookup_form.html.erb +++ b/app/views/spree/admin/gift_cards/_lookup_form.html.erb @@ -20,7 +20,7 @@