dcidev_approval 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/dcidev_approval.rb +9 -9
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a68030ef24f3a7e3ef969c1aad28d6f73eb5d3ee51ae483cd6278524b89c5c6b
|
4
|
+
data.tar.gz: 191f42224f68dcb99f5ae3efae7f2ed2967b9405feeba9dee4335367884342d0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 571a57ad5daa96bcb61f36db973c8f35126c70ca6c229128a329273f8aeb3985000de6efeb588bbe4075b3d4a41b3fd118bfca5042bf78b896c651d3ed4c191b
|
7
|
+
data.tar.gz: 889b71359e05516fe125ea4422424e07026ac0df5c5ae5ff1adff09a525c078ea98c3053fd30c7d5f1b900db2cfcbf385b3f9df76c1c952131a9362bd7e1a44a
|
data/lib/dcidev_approval.rb
CHANGED
@@ -44,7 +44,7 @@ module DcidevApproval
|
|
44
44
|
log = self.activity_logs.where("activity LIKE '%edit%'").limit(1).order(created_at: :desc).try(:first)
|
45
45
|
end
|
46
46
|
{
|
47
|
-
modified_by: log.present? ? log.try(:agent).try(:name).to_s + " (#{log.try(:agent).try(:username).to_s}[#{log.try(:agent).try(:roles).try(:first).try(:name)}])" :
|
47
|
+
modified_by: log.present? ? log.try(:agent).try(:name).to_s + " (#{log.try(:agent).try(:username).to_s}[#{log.try(:agent).try(:roles).try(:first).try(:name)}])" : "System",
|
48
48
|
modified_at: log.present? ? log.try(:created_at) || self.try(:updated_at) || self.try(:created_at) : nil
|
49
49
|
}
|
50
50
|
end
|
@@ -66,7 +66,7 @@ module DcidevApproval
|
|
66
66
|
}
|
67
67
|
end
|
68
68
|
|
69
|
-
def approve_changes
|
69
|
+
def approve_changes
|
70
70
|
|
71
71
|
if self.change_status.nil? && %w[waiting rejected].include?(self.status)
|
72
72
|
raise self.errors.full_messages.join(", ") unless self.update(status: :approved, data_changes: nil, change_status: nil)
|
@@ -89,13 +89,13 @@ module DcidevApproval
|
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
|
-
def delete_changes
|
92
|
+
def delete_changes
|
93
93
|
# return unless %w[pending_update pending_delete].include? self.change_status
|
94
94
|
raise self.errors.full_messages.join(", ") unless self.update(data_changes: nil, change_status: nil, status: self.status == "waiting" ? :rejected : :approved)
|
95
95
|
# ActivityLog.write("Reject changes to #{self.class.to_s}", request, agent, menu, self) if params.log
|
96
96
|
end
|
97
97
|
|
98
|
-
def edit_data(params, agent,
|
98
|
+
def edit_data(params, agent, bypass = true)
|
99
99
|
raise "data still waiting for approval" if self.waiting_approval?
|
100
100
|
if bypass
|
101
101
|
raise self.errors.full_messages.join(", ") unless self.update_by_params(params, false)
|
@@ -112,16 +112,16 @@ module DcidevApproval
|
|
112
112
|
yield true
|
113
113
|
end
|
114
114
|
|
115
|
-
def approval(params
|
115
|
+
def approval(params)
|
116
116
|
if params.status == "approved"
|
117
|
-
self.approve_changes
|
117
|
+
self.approve_changes
|
118
118
|
elsif params.status == "rejected"
|
119
|
-
self.delete_changes
|
119
|
+
self.delete_changes
|
120
120
|
end
|
121
121
|
yield true
|
122
122
|
end
|
123
123
|
|
124
|
-
def delete_data(
|
124
|
+
def delete_data(agent, bypass = true)
|
125
125
|
raise "data still waiting for approval" if self.waiting_approval?
|
126
126
|
if bypass || agent.is_admin?
|
127
127
|
ActiveRecord::Base.transaction do
|
@@ -137,7 +137,7 @@ module DcidevApproval
|
|
137
137
|
end
|
138
138
|
|
139
139
|
module ClassMethods
|
140
|
-
def create_data(params, agent,
|
140
|
+
def create_data(params, agent, bypass = true)
|
141
141
|
if bypass
|
142
142
|
ActiveRecord::Base.transaction do
|
143
143
|
data = params.merge!({ status: :approved })
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dcidev_approval
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Punto Damar P
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dcidev_active_record
|
@@ -51,7 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: '0'
|
53
53
|
requirements: []
|
54
|
-
rubygems_version: 3.
|
54
|
+
rubygems_version: 3.2.3
|
55
55
|
signing_key:
|
56
56
|
specification_version: 4
|
57
57
|
summary: Logic for implementing record changes approval
|