effective_cpd 0.1.6 → 0.1.11
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/README.md +3 -1
- data/app/assets/javascripts/effective_cpd/activities.js +13 -10
- data/app/assets/stylesheets/effective_cpd/_activities.scss +2 -0
- data/app/controllers/effective/cpd_statements_controller.rb +1 -1
- data/app/models/effective/cpd_rule.rb +4 -4
- data/app/models/effective/cpd_statement.rb +6 -0
- data/app/views/effective/cpd_statement_activities/_cpd_statement_activity.html.haml +3 -2
- data/app/views/effective/cpd_statement_activities/_form.html.haml +2 -2
- data/app/views/effective/cpd_statements/_activities_table.html.haml +1 -1
- data/config/routes.rb +3 -1
- data/lib/effective_cpd/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ae72402afeab6ed8830a9951e48d0bf33494e0f5fc5133049aa652876aa367e
|
4
|
+
data.tar.gz: bbdad22b7cd86165bc476b0c9fc8615e42e4cea2cd6c7b0c9310927bac76b0d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51b58155d16e45298264fd9779a5b0ba3b3432261b4b8fabf88a04754182eef0d85975c3d853099eceb9e871eed13d03d4115d4bd1028f77891ca357b3801956
|
7
|
+
data.tar.gz: d2d7895e77c218b0a677d2601538e2b278b3518b25b0c60b0cfc3ed22a4462fb5e0a1ff634d5ff2d27fc75e1c36d116bcff0f5cfea6f826c061cc05e22fe883a
|
data/README.md
CHANGED
@@ -197,11 +197,13 @@ if user.admin?
|
|
197
197
|
can :manage, Effective::CpdCycle
|
198
198
|
can :manage, Effective::CpdRule
|
199
199
|
|
200
|
+
can([:index, :show], Effective::CpdStatement)
|
201
|
+
can(:unsubmit, Effective::CpdStatement) { |statement| statement.completed? }
|
202
|
+
|
200
203
|
can :manage, Effective::CpdAuditLevel
|
201
204
|
can :manage, Effective::CpdAuditLevelSection
|
202
205
|
can :manage, Effective::CpdAuditLevelQuestion
|
203
206
|
|
204
|
-
can :manage, Effective::CpdStatement
|
205
207
|
can :manage, Effective::CpdAudit
|
206
208
|
can :manage, Effective::CpdAuditReview
|
207
209
|
end
|
@@ -1,14 +1,8 @@
|
|
1
1
|
const initialize_effective_cpd_activities = function() {
|
2
|
-
const $obj = $('
|
2
|
+
const $obj = $('#cpd-statement-activities,.cpd-statement-activities')
|
3
3
|
|
4
4
|
if($obj.length > 0) {
|
5
|
-
$(
|
6
|
-
|
7
|
-
// When we click outside the New Activity or Edit Activity
|
8
|
-
$(document).on('mousedown touchstart', '.activities-new', function(event) { event.stopPropagation() });
|
9
|
-
$(document).on('mousedown touchstart', '.statement-activity', function(event) { event.stopPropagation() });
|
10
|
-
|
11
|
-
$obj.addClass('initialized')
|
5
|
+
$('body').addClass('effective-cpd-statement-activities')
|
12
6
|
}
|
13
7
|
};
|
14
8
|
|
@@ -50,6 +44,15 @@ $(document).on('click', '[data-cpd-collapse]', function(event) {
|
|
50
44
|
collapse_effective_cpd_activities()
|
51
45
|
});
|
52
46
|
|
47
|
+
// Click outside the activities anywehre on body
|
48
|
+
$(document).on('mousedown touchstart', 'body.effective-cpd-statement-activities', function(event) {
|
49
|
+
collapse_effective_cpd_activities()
|
50
|
+
});
|
51
|
+
|
52
|
+
// When we click outside the New Activity or Edit Activity
|
53
|
+
$(document).on('mousedown touchstart', 'body.effective-cpd-statement-activities .activities-new', function(event) { event.stopPropagation() });
|
54
|
+
$(document).on('mousedown touchstart', 'body.effective-cpd-statement-activities .statement-activity', function(event) { event.stopPropagation() });
|
55
|
+
|
53
56
|
// Initializers
|
54
|
-
$(document).ready(
|
55
|
-
$(document).on('turbolinks:load',
|
57
|
+
$(document).ready(initialize_effective_cpd_activities);
|
58
|
+
$(document).on('turbolinks:load', initialize_effective_cpd_activities);
|
@@ -22,7 +22,7 @@ module Effective
|
|
22
22
|
flash[:danger] = "You have already completed a statement for this #{cpd_cycle_label}."
|
23
23
|
redirect_to(root_path)
|
24
24
|
elsif existing.present?
|
25
|
-
flash[:success] = "You have been redirected to the #{resource_wizard_step_title(existing.next_step)} step."
|
25
|
+
flash[:success] = "You have been redirected to the #{resource_wizard_step_title(existing, existing.next_step)} step."
|
26
26
|
redirect_to effective_cpd.cpd_cycle_cpd_statement_build_path(existing.cpd_cycle, existing, existing.next_step)
|
27
27
|
end
|
28
28
|
end
|
@@ -13,8 +13,8 @@ module Effective
|
|
13
13
|
log_changes(to: :cpd_cycle)
|
14
14
|
end
|
15
15
|
|
16
|
-
# Only permit the words amount, amount2 and any charater 0-9 + - / * ( )
|
17
|
-
INVALID_FORMULA_CHARS = /[^0-9
|
16
|
+
# Only permit the words amount, amount2 and any charater 0-9 + - / * . ( )
|
17
|
+
INVALID_FORMULA_CHARS = /[^0-9\+\-\.\/\*\(\)]/
|
18
18
|
|
19
19
|
effective_resource do
|
20
20
|
# A plaintext description of the formula
|
@@ -55,7 +55,7 @@ module Effective
|
|
55
55
|
|
56
56
|
validate(if: -> { formula.present? }) do
|
57
57
|
if formula.gsub('amount2', '').gsub('amount', '').gsub(' ', '').match(INVALID_FORMULA_CHARS).present?
|
58
|
-
self.errors.add(:formula, "may only contain amount, amount2 and 0-9 + - / * ( ) characters")
|
58
|
+
self.errors.add(:formula, "may only contain amount, amount2 and 0-9 + - / * . ( ) characters")
|
59
59
|
else
|
60
60
|
begin
|
61
61
|
eval_equation(amount: 0, amount2: 0)
|
@@ -118,7 +118,7 @@ module Effective
|
|
118
118
|
|
119
119
|
def eval_equation(amount: nil, amount2: nil)
|
120
120
|
equation = formula.gsub('amount2', amount2.to_s).gsub('amount', amount.to_s)
|
121
|
-
eval(equation).to_i
|
121
|
+
eval(equation).round.to_i
|
122
122
|
end
|
123
123
|
|
124
124
|
end
|
@@ -79,6 +79,11 @@ module Effective
|
|
79
79
|
update!(submitted_at: Time.zone.now)
|
80
80
|
end
|
81
81
|
|
82
|
+
# Called by admin only. This is an exceptional action
|
83
|
+
def unsubmit!
|
84
|
+
update!(wizard_steps: {}, submitted_at: nil, confirm_readonly: nil)
|
85
|
+
end
|
86
|
+
|
82
87
|
def in_progress?
|
83
88
|
submitted_at.blank?
|
84
89
|
end
|
@@ -86,6 +91,7 @@ module Effective
|
|
86
91
|
def completed?
|
87
92
|
submitted_at.present?
|
88
93
|
end
|
94
|
+
alias_method :submitted?, :completed?
|
89
95
|
|
90
96
|
def required_score
|
91
97
|
required_by_cycle = cpd_cycle&.required_score
|
@@ -2,6 +2,7 @@
|
|
2
2
|
- cpd_activity = cpd_statement_activity.cpd_activity
|
3
3
|
- rule = cpd_statement_activity.cpd_statement.cpd_cycle.rule_for(cpd_activity)
|
4
4
|
|
5
|
+
.float-right= link_to icon('x', class: 'small-1'), '#', 'data-cpd-collapse': true
|
5
6
|
%p
|
6
7
|
= cpd_statement_activity
|
7
8
|
%br
|
@@ -21,13 +22,13 @@
|
|
21
22
|
.row
|
22
23
|
- if cpd_activity.amount_label.present?
|
23
24
|
.col
|
24
|
-
%strong
|
25
|
+
%strong= cpd_activity.amount_label
|
25
26
|
%br
|
26
27
|
= cpd_statement_activity.amount
|
27
28
|
|
28
29
|
- if cpd_activity.amount2_label.present?
|
29
30
|
.col.text-center
|
30
|
-
%strong
|
31
|
+
%strong= cpd_activity.amount2_label
|
31
32
|
= cpd_statement_activity.amount2
|
32
33
|
|
33
34
|
- if cpd_activity.amount_static?
|
@@ -41,10 +41,10 @@
|
|
41
41
|
.row
|
42
42
|
.col
|
43
43
|
- if activity.amount_label.present?
|
44
|
-
= f.number_field :amount, label: activity.amount_label
|
44
|
+
= f.number_field :amount, label: activity.amount_label, required: true
|
45
45
|
|
46
46
|
- if activity.amount2_label.present?
|
47
|
-
= f.number_field :amount2, label: activity.amount2_label
|
47
|
+
= f.number_field :amount2, label: activity.amount2_label, required: true
|
48
48
|
|
49
49
|
- if activity.amount_static?
|
50
50
|
= f.hidden_field :amount, value: 1
|
data/config/routes.rb
CHANGED
@@ -34,7 +34,9 @@ EffectiveCpd::Engine.routes.draw do
|
|
34
34
|
resources :cpd_rules, only: [:index]
|
35
35
|
resources :cpd_special_rules, except: [:show]
|
36
36
|
|
37
|
-
resources :cpd_statements, only: [:index, :show]
|
37
|
+
resources :cpd_statements, only: [:index, :show] do
|
38
|
+
post :unsubmit, on: :member
|
39
|
+
end
|
38
40
|
|
39
41
|
resources :cpd_audit_levels, except: [:show]
|
40
42
|
resources :cpd_audit_level_questions, except: [:show]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_cpd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|