From dcbdfbb0813cdb0bd7d10e9f961b04d2562f4e94 Mon Sep 17 00:00:00 2001 From: luisramos0 Date: Sun, 7 Jul 2019 22:52:32 +0100 Subject: [PATCH] Fix rubocop issues in multiple files copied from spree_auth_devise, mostly hash rockets --- .../spree/admin/users_controller.rb | 111 +++++++++-------- .../spree/user_passwords_controller.rb | 79 ++++++------ .../spree/user_registrations_controller.rb | 114 +++++++++--------- .../spree/user_sessions_controller.rb | 79 ++++++------ app/controllers/spree/users_controller.rb | 96 ++++++++------- app/mailers/spree/user_mailer.rb | 9 +- app/models/spree/auth_configuration.rb | 4 +- app/models/spree/user.rb | 112 +++++++++-------- app/overrides/admin_tab.rb | 13 +- .../auth_admin_login_navigation_bar.rb | 10 +- app/overrides/auth_shared_login_bar.rb | 12 +- 11 files changed, 333 insertions(+), 306 deletions(-) diff --git a/app/controllers/spree/admin/users_controller.rb b/app/controllers/spree/admin/users_controller.rb index 9ecaff2845..17ab1d041d 100644 --- a/app/controllers/spree/admin/users_controller.rb +++ b/app/controllers/spree/admin/users_controller.rb @@ -1,18 +1,19 @@ module Spree module Admin class UsersController < ResourceController - rescue_from Spree::User::DestroyWithOrdersError, :with => :user_destroy_with_orders_error + rescue_from Spree::User::DestroyWithOrdersError, with: :user_destroy_with_orders_error - after_filter :sign_in_if_change_own_password, :only => :update + after_filter :sign_in_if_change_own_password, only: :update # http://spreecommerce.com/blog/2010/11/02/json-hijacking-vulnerability/ - before_filter :check_json_authenticity, :only => :index - before_filter :load_roles, :only => [:edit, :new, :update, :create, :generate_api_key, :clear_api_key] + before_filter :check_json_authenticity, only: :index + before_filter :load_roles, only: [:edit, :new, :update, :create, + :generate_api_key, :clear_api_key] def index respond_with(@collection) do |format| format.html - format.json { render :json => json_data } + format.json { render json: json_data } end end @@ -25,7 +26,7 @@ module Spree if @user.save if roles - @user.spree_roles = roles.reject(&:blank?).collect{|r| Spree::Role.find(r)} + @user.spree_roles = roles.reject(&:blank?).collect{ |r| Spree::Role.find(r) } end flash.now[:success] = Spree.t(:created_successfully) @@ -42,14 +43,12 @@ module Spree if @user.update_attributes(params[:user]) if roles - @user.spree_roles = roles.reject(&:blank?).collect{|r| Spree::Role.find(r)} + @user.spree_roles = roles.reject(&:blank?).collect{ |r| Spree::Role.find(r) } end flash.now[:success] = Spree.t(:account_updated) - render :edit - else - render :edit end + render :edit end def generate_api_key @@ -68,57 +67,65 @@ module Spree protected - def collection - return @collection if @collection.present? - if request.xhr? && params[:q].present? - #disabling proper nested include here due to rails 3.1 bug - #@collection = User.includes(:bill_address => [:state, :country], :ship_address => [:state, :country]). - @collection = Spree::User.includes(:bill_address, :ship_address) - .where("spree_users.email #{LIKE} :search - OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id) - OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.bill_address_id) - OR (spree_addresses.firstname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id) - OR (spree_addresses.lastname #{LIKE} :search AND spree_addresses.id = spree_users.ship_address_id)", - { :search => "#{params[:q].strip}%" }) - .limit(params[:limit] || 100) - else - @search = Spree::User.registered.ransack(params[:q]) - @collection = @search.result.page(params[:page]).per(Spree::Config[:admin_products_per_page]) - end + def collection + return @collection if @collection.present? + if request.xhr? && params[:q].present? + # Disabling proper nested include here due to rails 3.1 bug + @collection = Spree::User. + includes(:bill_address, :ship_address). + where("spree_users.email #{LIKE} :search + OR (spree_addresses.firstname #{LIKE} :search + AND spree_addresses.id = spree_users.bill_address_id) + OR (spree_addresses.lastname #{LIKE} :search + AND spree_addresses.id = spree_users.bill_address_id) + OR (spree_addresses.firstname #{LIKE} :search + AND spree_addresses.id = spree_users.ship_address_id) + OR (spree_addresses.lastname #{LIKE} :search + AND spree_addresses.id = spree_users.ship_address_id)", + search: "#{params[:q].strip}%"). + limit(params[:limit] || 100) + else + @search = Spree::User.registered.ransack(params[:q]) + @collection = @search. + result. + page(params[:page]). + per(Spree::Config[:admin_products_per_page]) end + end private - # handling raise from Spree::Admin::ResourceController#destroy - def user_destroy_with_orders_error - invoke_callbacks(:destroy, :fails) - render :status => :forbidden, :text => Spree.t(:error_user_destroy_with_orders) - end + # handling raise from Spree::Admin::ResourceController#destroy + def user_destroy_with_orders_error + invoke_callbacks(:destroy, :fails) + render status: :forbidden, text: Spree.t(:error_user_destroy_with_orders) + end - # Allow different formats of json data to suit different ajax calls - def json_data - json_format = params[:json_format] or 'default' - case json_format - when 'basic' - collection.map { |u| { 'id' => u.id, 'name' => u.email } }.to_json - else - address_fields = [:firstname, :lastname, :address1, :address2, :city, :zipcode, :phone, :state_name, :state_id, :country_id] - includes = { :only => address_fields , :include => { :state => { :only => :name }, :country => { :only => :name } } } + # Allow different formats of json data to suit different ajax calls + def json_data + json_format = params[:json_format] || 'default' + case json_format + when 'basic' + collection.map { |u| { 'id' => u.id, 'name' => u.email } }.to_json + else + address_fields = [:firstname, :lastname, :address1, :address2, :city, + :zipcode, :phone, :state_name, :state_id, :country_id] + includes = { only: address_fields, include: { state: { only: :name }, + country: { only: :name } } } - collection.to_json(:only => [:id, :email], :include => - { :bill_address => includes, :ship_address => includes }) - end + collection.to_json(only: [:id, :email], include: + { bill_address: includes, ship_address: includes }) end + end - def sign_in_if_change_own_password - if spree_current_user == @user && @user.password.present? - sign_in(@user, :event => :authentication, :bypass => true) - end - end + def sign_in_if_change_own_password + return unless spree_current_user == @user && @user.password.present? + sign_in(@user, event: :authentication, bypass: true) + end - def load_roles - @roles = Spree::Role.scoped - end + def load_roles + @roles = Spree::Role.scoped + end end end end diff --git a/app/controllers/spree/user_passwords_controller.rb b/app/controllers/spree/user_passwords_controller.rb index 0638fa8d9e..d6858c99f3 100644 --- a/app/controllers/spree/user_passwords_controller.rb +++ b/app/controllers/spree/user_passwords_controller.rb @@ -1,47 +1,48 @@ -class Spree::UserPasswordsController < Devise::PasswordsController - helper 'spree/base', 'spree/store' +module Spree + class UserPasswordsController < Devise::PasswordsController + helper 'spree/base', 'spree/store' - if defined?(Spree::Dash) - helper 'spree/analytics' - end + if defined?(Spree::Dash) + helper 'spree/analytics' + end - include Spree::Core::ControllerHelpers::Auth - include Spree::Core::ControllerHelpers::Common - include Spree::Core::ControllerHelpers::Order - include Spree::Core::ControllerHelpers::SSL + include Spree::Core::ControllerHelpers::Auth + include Spree::Core::ControllerHelpers::Common + include Spree::Core::ControllerHelpers::Order + include Spree::Core::ControllerHelpers::SSL - ssl_required + ssl_required - # Overridden due to bug in Devise. - # respond_with resource, :location => new_session_path(resource_name) - # is generating bad url /session/new.user - # - # overridden to: - # respond_with resource, :location => spree.login_path - # - def create - self.resource = resource_class.send_reset_password_instructions(params[resource_name]) + # Overridden due to bug in Devise. + # respond_with resource, :location => new_session_path(resource_name) + # is generating bad url /session/new.user + # + # overridden to: + # respond_with resource, :location => spree.login_path + # + def create + self.resource = resource_class.send_reset_password_instructions(params[resource_name]) - if resource.errors.empty? - set_flash_message(:notice, :send_instructions) if is_navigational_format? - respond_with resource, :location => spree.login_path - else - respond_with_navigational(resource) { render :new } + if resource.errors.empty? + set_flash_message(:notice, :send_instructions) if is_navigational_format? + respond_with resource, location: spree.login_path + else + respond_with_navigational(resource) { render :new } + end + end + + # Devise::PasswordsController allows for blank passwords. + # Silly Devise::PasswordsController! + # Fixes spree/spree#2190. + def update + if params[:spree_user][:password].blank? + self.resource = resource_class.new + resource.reset_password_token = params[:spree_user][:reset_password_token] + set_flash_message(:error, :cannot_be_blank) + render :edit + else + super + end end end - - # Devise::PasswordsController allows for blank passwords. - # Silly Devise::PasswordsController! - # Fixes spree/spree#2190. - def update - if params[:spree_user][:password].blank? - self.resource = resource_class.new - resource.reset_password_token = params[:spree_user][:reset_password_token] - set_flash_message(:error, :cannot_be_blank) - render :edit - else - super - end - end - end diff --git a/app/controllers/spree/user_registrations_controller.rb b/app/controllers/spree/user_registrations_controller.rb index 4eeacb054c..cd8687856c 100644 --- a/app/controllers/spree/user_registrations_controller.rb +++ b/app/controllers/spree/user_registrations_controller.rb @@ -1,67 +1,69 @@ -class Spree::UserRegistrationsController < Devise::RegistrationsController - helper 'spree/base', 'spree/store' +module Spree + class UserRegistrationsController < Devise::RegistrationsController + helper 'spree/base', 'spree/store' - if defined?(Spree::Dash) - helper 'spree/analytics' - end - - include Spree::Core::ControllerHelpers::Auth - include Spree::Core::ControllerHelpers::Common - include Spree::Core::ControllerHelpers::Order - include Spree::Core::ControllerHelpers::SSL - - ssl_required - before_filter :check_permissions, :only => [:edit, :update] - skip_before_filter :require_no_authentication - - # GET /resource/sign_up - def new - super - @user = resource - end - - # POST /resource/sign_up - def create - @user = build_resource(params[:spree_user]) - if resource.save - set_flash_message(:notice, :signed_up) - sign_in(:spree_user, @user) - session[:spree_user_signup] = true - associate_user - respond_with resource, location: after_sign_up_path_for(resource) - else - clean_up_passwords(resource) - render :new + if defined?(Spree::Dash) + helper 'spree/analytics' end - end - # GET /resource/edit - def edit - super - end + include Spree::Core::ControllerHelpers::Auth + include Spree::Core::ControllerHelpers::Common + include Spree::Core::ControllerHelpers::Order + include Spree::Core::ControllerHelpers::SSL - # PUT /resource - def update - super - end + ssl_required + before_filter :check_permissions, only: [:edit, :update] + skip_before_filter :require_no_authentication - # DELETE /resource - def destroy - super - end + # GET /resource/sign_up + def new + super + @user = resource + end - # GET /resource/cancel - # Forces the session data which is usually expired after sign - # in to be expired now. This is useful if the user wants to - # cancel oauth signing in/up in the middle of the process, - # removing all OAuth session data. - def cancel - super - end + # POST /resource/sign_up + def create + @user = build_resource(params[:spree_user]) + if resource.save + set_flash_message(:notice, :signed_up) + sign_in(:spree_user, @user) + session[:spree_user_signup] = true + associate_user + respond_with resource, location: after_sign_up_path_for(resource) + else + clean_up_passwords(resource) + render :new + end + end + + # GET /resource/edit + def edit + super + end + + # PUT /resource + def update + super + end + + # DELETE /resource + def destroy + super + end + + # GET /resource/cancel + # Forces the session data which is usually expired after sign + # in to be expired now. This is useful if the user wants to + # cancel oauth signing in/up in the middle of the process, + # removing all OAuth session data. + def cancel + super + end + + protected - protected def check_permissions authorize!(:create, resource) end - + end end diff --git a/app/controllers/spree/user_sessions_controller.rb b/app/controllers/spree/user_sessions_controller.rb index 5975f7b159..8e78b59b96 100644 --- a/app/controllers/spree/user_sessions_controller.rb +++ b/app/controllers/spree/user_sessions_controller.rb @@ -1,50 +1,52 @@ -class Spree::UserSessionsController < Devise::SessionsController - helper 'spree/base', 'spree/store' - if defined?(Spree::Dash) - helper 'spree/analytics' - end +module Spree + class UserSessionsController < Devise::SessionsController + helper 'spree/base', 'spree/store' + if defined?(Spree::Dash) + helper 'spree/analytics' + end - include Spree::Core::ControllerHelpers::Auth - include Spree::Core::ControllerHelpers::Common - include Spree::Core::ControllerHelpers::Order - include Spree::Core::ControllerHelpers::SSL + include Spree::Core::ControllerHelpers::Auth + include Spree::Core::ControllerHelpers::Common + include Spree::Core::ControllerHelpers::Order + include Spree::Core::ControllerHelpers::SSL - ssl_required :new, :create, :destroy, :update - ssl_allowed :login_bar + ssl_required :new, :create, :destroy, :update + ssl_allowed :login_bar - before_filter :set_checkout_redirect, only: :create + before_filter :set_checkout_redirect, only: :create - def create - authenticate_spree_user! + def create + authenticate_spree_user! - if spree_user_signed_in? - respond_to do |format| - format.html { - flash[:success] = t('devise.success.logged_in_succesfully') - redirect_back_or_default(after_sign_in_path_for(spree_current_user)) - } - format.js { - render json: { email: spree_current_user.login }, status: :ok - } - end - else - respond_to do |format| - format.html { - flash.now[:error] = t('devise.failure.invalid') - render :new - } - format.js { - render json: { message: t('devise.failure.invalid') }, status: :unauthorized - } + if spree_user_signed_in? + respond_to do |format| + format.html { + flash[:success] = t('devise.success.logged_in_succesfully') + redirect_back_or_default(after_sign_in_path_for(spree_current_user)) + } + format.js { + render json: { email: spree_current_user.login }, status: :ok + } + end + else + respond_to do |format| + format.html { + flash.now[:error] = t('devise.failure.invalid') + render :new + } + format.js { + render json: { message: t('devise.failure.invalid') }, status: :unauthorized + } + end end end - end - def nav_bar - render :partial => 'spree/shared/nav_bar' - end + def nav_bar + render partial: 'spree/shared/nav_bar' + end + + private - private def accurate_title Spree.t(:login) end @@ -53,4 +55,5 @@ class Spree::UserSessionsController < Devise::SessionsController redirect_to(session["spree_user_return_to"] || default) session["spree_user_return_to"] = nil end + end end diff --git a/app/controllers/spree/users_controller.rb b/app/controllers/spree/users_controller.rb index 100005400f..d958e6186b 100644 --- a/app/controllers/spree/users_controller.rb +++ b/app/controllers/spree/users_controller.rb @@ -1,56 +1,59 @@ -class Spree::UsersController < Spree::StoreController - layout 'darkswarm' - ssl_required - skip_before_filter :set_current_order, :only => :show - prepend_before_filter :load_object, :only => [:show, :edit, :update] - prepend_before_filter :authorize_actions, :only => :new +module Spree + class UsersController < Spree::StoreController + layout 'darkswarm' + ssl_required + skip_before_filter :set_current_order, only: :show + prepend_before_filter :load_object, only: [:show, :edit, :update] + prepend_before_filter :authorize_actions, only: :new - include Spree::Core::ControllerHelpers - include I18nHelper + include Spree::Core::ControllerHelpers + include I18nHelper - before_filter :set_locale - before_filter :enable_embedded_shopfront + before_filter :set_locale + before_filter :enable_embedded_shopfront - # Ignores invoice orders, only order where state: 'complete' - def show - @orders = @user.orders.where(state: 'complete').order('completed_at desc') - @unconfirmed_email = spree_current_user.unconfirmed_email - end - - # Endpoint for queries to check if a user is already registered - def registered_email - user = Spree.user_class.find_by_email params[:email] - render json: { registered: user.present? } - end - - def create - @user = Spree::User.new(params[:user]) - if @user.save - - if current_order - session[:guest_token] = nil - end - - redirect_back_or_default(root_url) - else - render :new + # Ignores invoice orders, only order where state: 'complete' + def show + @orders = @user.orders.where(state: 'complete').order('completed_at desc') + @unconfirmed_email = spree_current_user.unconfirmed_email end - end - def update - if @user.update_attributes(params[:user]) - if params[:user][:password].present? - # this logic needed b/c devise wants to log us out after password changes - user = Spree::User.reset_password_by_token(params[:user]) - sign_in(@user, :event => :authentication, :bypass => !AuthConfig[:signout_after_password_change]) - end - redirect_to spree.account_url, :notice => Spree.t(:account_updated) - else - render :edit + # Endpoint for queries to check if a user is already registered + def registered_email + user = Spree.user_class.find_by_email params[:email] + render json: { registered: user.present? } end - end - private + def create + @user = Spree::User.new(params[:user]) + if @user.save + + if current_order + session[:guest_token] = nil + end + + redirect_back_or_default(root_url) + else + render :new + end + end + + def update + if @user.update_attributes(params[:user]) + if params[:user][:password].present? + # this logic needed b/c devise wants to log us out after password changes + Spree::User.reset_password_by_token(params[:user]) + sign_in(@user, event: :authentication, + bypass: !AuthConfig[:signout_after_password_change]) + end + redirect_to spree.account_url, notice: Spree.t(:account_updated) + else + render :edit + end + end + + private + def load_object @user ||= spree_current_user if @user @@ -67,4 +70,5 @@ class Spree::UsersController < Spree::StoreController def accurate_title Spree.t(:my_account) end + end end diff --git a/app/mailers/spree/user_mailer.rb b/app/mailers/spree/user_mailer.rb index be904c3d45..b7aa292b55 100644 --- a/app/mailers/spree/user_mailer.rb +++ b/app/mailers/spree/user_mailer.rb @@ -4,11 +4,12 @@ module Spree def reset_password_instructions(user) recipient = user.respond_to?(:id) ? user : Spree.user_class.find(user) - @edit_password_reset_url = spree.edit_spree_user_password_url(:reset_password_token => recipient.reset_password_token) + @edit_password_reset_url = spree. + edit_spree_user_password_url(reset_password_token: recipient.reset_password_token) - mail(:to => recipient.email, :from => from_address, - :subject => Spree::Config[:site_name] + ' ' + - I18n.t(:subject, :scope => [:devise, :mailer, :reset_password_instructions])) + mail(to: recipient.email, from: from_address, + subject: Spree::Config[:site_name] + ' ' + + I18n.t(:subject, scope: [:devise, :mailer, :reset_password_instructions])) end def signup_confirmation(user) diff --git a/app/models/spree/auth_configuration.rb b/app/models/spree/auth_configuration.rb index f4ccc91fcb..1b9ed7ff7f 100644 --- a/app/models/spree/auth_configuration.rb +++ b/app/models/spree/auth_configuration.rb @@ -1,6 +1,6 @@ module Spree class AuthConfiguration < Preferences::Configuration - preference :registration_step, :boolean, :default => true - preference :signout_after_password_change, :boolean, :default => true + preference :registration_step, :boolean, default: true + preference :signout_after_password_change, :boolean, default: true end end diff --git a/app/models/spree/user.rb b/app/models/spree/user.rb index 8c56863932..cad09a6073 100644 --- a/app/models/spree/user.rb +++ b/app/models/spree/user.rb @@ -3,28 +3,31 @@ module Spree include Core::UserBanners devise :database_authenticatable, :token_authenticatable, :registerable, :recoverable, - :rememberable, :trackable, :validatable, :encryptable, :encryptor => 'authlogic_sha512' + :rememberable, :trackable, :validatable, :encryptable, encryptor: 'authlogic_sha512' has_many :orders - belongs_to :ship_address, :foreign_key => 'ship_address_id', :class_name => 'Spree::Address' - belongs_to :bill_address, :foreign_key => 'bill_address_id', :class_name => 'Spree::Address' + belongs_to :ship_address, foreign_key: 'ship_address_id', class_name: 'Spree::Address' + belongs_to :bill_address, foreign_key: 'bill_address_id', class_name: 'Spree::Address' before_validation :set_login before_destroy :check_completed_orders # Setup accessible (or protected) attributes for your model - attr_accessible :email, :password, :password_confirmation, :remember_me, :persistence_token, :login + attr_accessible :email, :password, :password_confirmation, + :remember_me, :persistence_token, :login users_table_name = User.table_name roles_table_name = Role.table_name scope :admin, lambda { includes(:spree_roles).where("#{roles_table_name}.name" => "admin") } - scope :registered, where("#{users_table_name}.email NOT LIKE ?", "%@example.net") + scope :registered, -> { where("#{users_table_name}.email NOT LIKE ?", "%@example.net") } has_many :enterprise_roles, dependent: :destroy has_many :enterprises, through: :enterprise_roles - has_many :owned_enterprises, class_name: 'Enterprise', foreign_key: :owner_id, inverse_of: :owner - has_many :owned_groups, class_name: 'EnterpriseGroup', foreign_key: :owner_id, inverse_of: :owner + has_many :owned_enterprises, class_name: 'Enterprise', + foreign_key: :owner_id, inverse_of: :owner + has_many :owned_groups, class_name: 'EnterpriseGroup', + foreign_key: :owner_id, inverse_of: :owner has_many :customers has_many :credit_cards @@ -33,7 +36,8 @@ module Spree accepts_nested_attributes_for :bill_address accepts_nested_attributes_for :ship_address - attr_accessible :enterprise_ids, :enterprise_roles_attributes, :enterprise_limit, :locale, :bill_address_attributes, :ship_address_attributes + attr_accessible :enterprise_ids, :enterprise_roles_attributes, :enterprise_limit, + :locale, :bill_address_attributes, :ship_address_attributes after_create :associate_customers validate :limit_owned_enterprises @@ -41,16 +45,20 @@ module Spree # We use the same options as Spree and add :confirmable devise :confirmable, reconfirmable: true # TODO: Later versions of devise have a dedicated after_confirmation callback, so use that - after_update :welcome_after_confirm, if: lambda { confirmation_token_changed? && confirmation_token.nil? } + after_update :welcome_after_confirm, if: lambda { + confirmation_token_changed? && confirmation_token.nil? + } class DestroyWithOrdersError < StandardError; end - # Creates an anonymous user. An anonymous user is basically an auto-generated +User+ account that is created for the customer - # behind the scenes and its completely transparently to the customer. All +Orders+ must have a +User+ so this is necessary - # when adding to the "cart" (which is really an order) and before the customer has a chance to provide an email or to register. + # Creates an anonymous user. An anonymous user is basically an auto-generated +User+ account + # that is created for the customer behind the scenes and it's transparent to the customer. + # All +Orders+ must have a +User+ so this is necessary when adding to the "cart" (an order) + # and before the customer has a chance to provide an email or to register. def self.anonymous! token = User.generate_token(:persistence_token) - User.create(:email => "#{token}@example.net", :password => token, :password_confirmation => token, :persistence_token => token) + User.create(email: "#{token}@example.net", + password: token, password_confirmation: token, persistence_token: token) end def self.admin_created? @@ -67,7 +75,7 @@ module Spree def send_reset_password_instructions generate_reset_password_token! - UserMailer.reset_password_instructions(self.id).deliver + UserMailer.reset_password_instructions(id).deliver end # handle_asynchronously will define send_reset_password_instructions_with_delay. # If handle_asynchronously is called twice, we get an infinite job loop. @@ -79,7 +87,8 @@ module Spree else Spree::User .includes(:enterprises) - .where("enterprises.id IN (SELECT enterprise_id FROM enterprise_roles WHERE user_id = ?)", id) + .where("enterprises.id IN (SELECT enterprise_id FROM enterprise_roles WHERE user_id = ?)", + id) end end @@ -99,9 +108,8 @@ module Spree def welcome_after_confirm # Send welcome email if we are confirming an user's email # Note: this callback only runs on email confirmation - if confirmed? && unconfirmed_email.nil? && !unconfirmed_email_changed? - send_signup_confirmation - end + return unless confirmed? && unconfirmed_email.nil? && !unconfirmed_email_changed? + send_signup_confirmation end def send_signup_confirmation @@ -129,46 +137,48 @@ module Spree end protected - def password_required? - !persisted? || password.present? || password_confirmation.present? - end + + def password_required? + !persisted? || password.present? || password_confirmation.present? + end private - def check_completed_orders - raise DestroyWithOrdersError if orders.complete.present? - end + def check_completed_orders + raise DestroyWithOrdersError if orders.complete.present? + end - def set_login - # for now force login to be same as email, eventually we will make this configurable, etc. - self.login ||= self.email if self.email - end + def set_login + # for now force login to be same as email, eventually we will make this configurable, etc. + self.login ||= email if email + end - # Generate a friendly string randomically to be used as token. - def self.friendly_token - SecureRandom.base64(15).tr('+/=', '-_ ').strip.delete("\n") - end + # Generate a friendly string randomically to be used as token. + def self.friendly_token + SecureRandom.base64(15).tr('+/=', '-_ ').strip.delete("\n") + end - # Generate a token by looping and ensuring does not already exist. - def self.generate_token(column) - loop do - token = friendly_token - break token unless find(:first, :conditions => { column => token }) - end - end - - def limit_owned_enterprises - if owned_enterprises.size > enterprise_limit - errors.add(:owned_enterprises, I18n.t(:spree_user_enterprise_limit_error, email: email, enterprise_limit: enterprise_limit)) - end - end - - def remove_payments_in_checkout(enterprises) - enterprises.each do |enterprise| - enterprise.distributed_orders.each do |order| - order.payments.keep_if { |payment| payment.state != "checkout" } - end + # Generate a token by looping and ensuring does not already exist. + def self.generate_token(column) + loop do + token = friendly_token + break token unless find(:first, conditions: { column => token }) + end + end + + def limit_owned_enterprises + return unless owned_enterprises.size > enterprise_limit + errors.add(:owned_enterprises, I18n.t(:spree_user_enterprise_limit_error, + email: email, + enterprise_limit: enterprise_limit)) + end + + def remove_payments_in_checkout(enterprises) + enterprises.each do |enterprise| + enterprise.distributed_orders.each do |order| + order.payments.keep_if { |payment| payment.state != "checkout" } end end + end end end diff --git a/app/overrides/admin_tab.rb b/app/overrides/admin_tab.rb index d0c3cf33c3..186a7a06f7 100644 --- a/app/overrides/admin_tab.rb +++ b/app/overrides/admin_tab.rb @@ -1,7 +1,6 @@ -Deface::Override.new(:virtual_path => "spree/layouts/admin", - :name => "user_admin_tabs", - :insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]", - :partial => "spree/admin/users_tab", - :disabled => false, - :original => '031652cf5a054796022506622082ab6d2693699f') - +Deface::Override.new(virtual_path: "spree/layouts/admin", + name: "user_admin_tabs", + insert_bottom: "[data-hook='admin_tabs'], #admin_tabs[data-hook]", + partial: "spree/admin/users_tab", + disabled: false, + original: '031652cf5a054796022506622082ab6d2693699f') diff --git a/app/overrides/auth_admin_login_navigation_bar.rb b/app/overrides/auth_admin_login_navigation_bar.rb index cb9aa807c8..8a171041af 100644 --- a/app/overrides/auth_admin_login_navigation_bar.rb +++ b/app/overrides/auth_admin_login_navigation_bar.rb @@ -1,5 +1,5 @@ -Deface::Override.new(:virtual_path => "spree/layouts/admin", - :name => "auth_admin_login_navigation_bar", - :insert_top => "[data-hook='admin_login_navigation_bar'], #admin_login_navigation_bar[data-hook]", - :partial => "spree/layouts/admin/login_nav", - :original => '841227d0aedf7909d62237d8778df99100087715') +Deface::Override.new(virtual_path: "spree/layouts/admin", + name: "auth_admin_login_navigation_bar", + insert_top: "[data-hook='admin_login_navigation_bar'], #admin_login_navigation_bar[data-hook]", + partial: "spree/layouts/admin/login_nav", + original: '841227d0aedf7909d62237d8778df99100087715') diff --git a/app/overrides/auth_shared_login_bar.rb b/app/overrides/auth_shared_login_bar.rb index a833e46d08..734c9f8112 100644 --- a/app/overrides/auth_shared_login_bar.rb +++ b/app/overrides/auth_shared_login_bar.rb @@ -1,6 +1,6 @@ -Deface::Override.new(:virtual_path => "spree/shared/_nav_bar", - :name => "auth_shared_login_bar", - :insert_before => "li#search-bar", - :partial => "spree/shared/login_bar", - :disabled => false, - :original => 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac') +Deface::Override.new(virtual_path: "spree/shared/_nav_bar", + name: "auth_shared_login_bar", + insert_before: "li#search-bar", + partial: "spree/shared/login_bar", + disabled: false, + original: 'eb3fa668cd98b6a1c75c36420ef1b238a1fc55ac')