From 2ba6b3ecb832b6cbdc75407ad17d40eab5ea19c3 Mon Sep 17 00:00:00 2001 From: divyajayan Date: Tue, 2 May 2017 20:34:43 +0530 Subject: [PATCH 1/2] support for namespace and fixed unscoped in model --- lib/approval2/controller_additions.rb | 20 ++++++++++---------- lib/approval2/model_additions.rb | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/approval2/controller_additions.rb b/lib/approval2/controller_additions.rb index 19aab35..c327801 100644 --- a/lib/approval2/controller_additions.rb +++ b/lib/approval2/controller_additions.rb @@ -10,21 +10,24 @@ module ControllerAdditions private + + def modelName + self.class.name.sub("Controller", "").underscore.split('/').last.singularize + end + + def modelKlass + moduleName = self.class.name.include?("::") ? self.class.name.split("::").first : "" + "#{moduleName}::#{modelName.classify}".constantize + end def before_index - if (params[:approval_status].present? and params[:approval_status] == 'U') - modelName = self.class.name.sub("Controller", "").underscore.split('/').last.singularize - modelKlass = modelName.classify.constantize - + if (params[:approval_status].present? and params[:approval_status] == 'U') x = modelKlass.unscoped.where("approval_status =?",'U').order("id desc") instance_variable_set("@#{modelName}s", x.paginate(:per_page => 10, :page => params[:page])) end end def before_edit - modelName = self.class.name.sub("Controller", "").underscore.split('/').last.singularize - modelKlass = modelName.classify.constantize - x = modelKlass.unscoped.find_by_id(params[:id]) if x.approval_status == 'A' && x.unapproved_record.nil? params = (x.attributes).merge({:approved_id => x.id,:approved_version => x.lock_version}) @@ -35,9 +38,6 @@ def before_edit end def before_approve - modelName = self.class.name.sub("Controller", "").underscore.split('/').last.singularize - modelKlass = modelName.classify.constantize - x = modelKlass.unscoped.find(params[:id]) modelKlass.transaction do approved_record = x.approve diff --git a/lib/approval2/model_additions.rb b/lib/approval2/model_additions.rb index 4169ab0..4d1a7f2 100644 --- a/lib/approval2/model_additions.rb +++ b/lib/approval2/model_additions.rb @@ -9,8 +9,8 @@ module ModelAdditions has_one :unapproved_record_entry, :as => :approvable, :class_name => '::UnapprovedRecord' # refers to the approved/unapproved record in the model - belongs_to :unapproved_record, :primary_key => 'approved_id', :foreign_key => 'id', :class_name => self.name, :unscoped => true - belongs_to :approved_record, :foreign_key => 'approved_id', :primary_key => 'id', :class_name => self.name, :unscoped => true + belongs_to :unapproved_record, -> { unscoped }, :primary_key => 'approved_id', :foreign_key => 'id', :class_name => self.name + belongs_to :approved_record, -> { unscoped }, :foreign_key => 'approved_id', :primary_key => 'id', :class_name => self.name validates_uniqueness_of :approved_id, :allow_blank => true validate :validate_unapproved_record From ead16de987d5b9cc1c8194825e659dd0944d64b5 Mon Sep 17 00:00:00 2001 From: divyajayan Date: Tue, 2 May 2017 20:35:36 +0530 Subject: [PATCH 2/2] bumped up version --- lib/approval2/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/approval2/version.rb b/lib/approval2/version.rb index 89ba8bb..0e25ed1 100644 --- a/lib/approval2/version.rb +++ b/lib/approval2/version.rb @@ -1,3 +1,3 @@ module Approval2 - VERSION = "0.1.7" + VERSION = "0.1.8" end