effective_cpd 1.2.4 → 1.3.0
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/app/controllers/admin/cpd_audits_controller.rb +4 -4
- data/app/controllers/admin/cpd_statement_activities_controller.rb +3 -5
- data/app/controllers/admin/cpd_statements_controller.rb +0 -2
- data/app/controllers/effective/cpd_audits_controller.rb +1 -1
- data/app/datatables/admin/effective_cpd_audit_reviews_datatable.rb +6 -6
- data/app/datatables/admin/effective_cpd_audits_datatable.rb +10 -10
- data/app/datatables/admin/effective_cpd_bulk_audits_datatable.rb +3 -4
- data/app/datatables/admin/effective_cpd_rules_datatable.rb +4 -4
- data/app/datatables/admin/effective_cpd_special_rules_datatable.rb +2 -2
- data/app/datatables/admin/effective_cpd_statement_activities_datatable.rb +3 -3
- data/app/datatables/admin/effective_cpd_statements_datatable.rb +1 -1
- data/app/datatables/effective_cpd_available_audit_reviews_datatable.rb +2 -2
- data/app/datatables/effective_cpd_available_audits_datatable.rb +1 -1
- data/app/datatables/effective_cpd_available_cycles_datatable.rb +1 -1
- data/app/datatables/effective_cpd_completed_audit_reviews_datatable.rb +3 -3
- data/app/datatables/effective_cpd_completed_audits_datatable.rb +2 -2
- data/app/datatables/effective_cpd_completed_statements_datatable.rb +3 -3
- data/app/helpers/effective_cpd_audits_helper.rb +1 -2
- data/app/helpers/effective_cpd_helper.rb +58 -6
- data/app/models/concerns/effective_cpd_audit.rb +21 -16
- data/app/models/concerns/effective_cpd_audit_level.rb +1 -1
- data/app/models/concerns/effective_cpd_audit_review.rb +1 -1
- data/app/models/concerns/effective_cpd_bulk_audit.rb +1 -1
- data/app/models/concerns/effective_cpd_statement.rb +1 -1
- data/app/models/effective/cpd_activity.rb +1 -1
- data/app/models/effective/cpd_audit_level_question.rb +1 -1
- data/app/models/effective/cpd_audit_level_question_option.rb +1 -1
- data/app/models/effective/cpd_audit_level_section.rb +1 -1
- data/app/models/effective/cpd_audit_response.rb +1 -1
- data/app/models/effective/cpd_audit_review_item.rb +1 -1
- data/app/models/effective/cpd_category.rb +1 -1
- data/app/models/effective/cpd_cycle.rb +1 -1
- data/app/models/effective/cpd_special_rule.rb +1 -1
- data/app/models/effective/cpd_statement_activity.rb +1 -1
- data/app/views/admin/cpd_activities/_form.html.haml +1 -1
- data/app/views/admin/cpd_audit_level_questions/_form.html.haml +1 -1
- data/app/views/admin/cpd_audit_levels/_form.html.haml +4 -4
- data/app/views/admin/cpd_audit_levels/_form_content_audit.html.haml +1 -1
- data/app/views/admin/cpd_audit_levels/_form_content_audit_review.html.haml +1 -1
- data/app/views/admin/cpd_audit_levels/_form_cpd_audit_level.html.haml +25 -18
- data/app/views/admin/cpd_audit_levels/_form_cpd_audit_level_section.html.haml +1 -1
- data/app/views/admin/cpd_audit_reviews/_form.html.haml +2 -2
- data/app/views/admin/cpd_audits/_audit_reviewer_fields.html.haml +1 -1
- data/app/views/admin/cpd_audits/_auditee_fields.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_chat.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_close.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_complete.html.haml +4 -4
- data/app/views/admin/cpd_audits/_form_conflict.html.haml +5 -5
- data/app/views/admin/cpd_audits/_form_cpd_audit.html.haml +6 -6
- data/app/views/admin/cpd_audits/_form_deadlines.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_exemption.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_extension.html.haml +2 -2
- data/app/views/admin/cpd_audits/_form_files.html.haml +1 -1
- data/app/views/admin/cpd_audits/_form_missing_info.html.haml +1 -1
- data/app/views/admin/cpd_audits/_form_new.html.haml +10 -12
- data/app/views/admin/cpd_audits/_form_process.html.haml +1 -1
- data/app/views/admin/cpd_audits/_status.html.haml +7 -10
- data/app/views/admin/cpd_bulk_audits/_form_cpd_bulk_audit.html.haml +6 -6
- data/app/views/admin/cpd_categories/_form.html.haml +2 -2
- data/app/views/admin/cpd_cycles/_form_cpd_cycle.html.haml +5 -5
- data/app/views/admin/cpd_special_rules/_form.html.haml +2 -2
- data/app/views/admin/cpd_statements/_cpd_statement.html.haml +2 -2
- data/app/views/admin/users/_form_cpd.html.haml +2 -2
- data/app/views/admin/users/_form_cpd_audits.html.haml +4 -4
- data/app/views/effective/cpd/_dashboard.html.haml +10 -10
- data/app/views/effective/cpd_audit_reviews/_cpd_audit_level_section.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/_summary.html.haml +3 -3
- data/app/views/effective/cpd_audit_reviews/conflict.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/cpd_audit_level_section.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/cpd_statement.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/feedback.html.haml +3 -3
- data/app/views/effective/cpd_audit_reviews/files.html.haml +2 -2
- data/app/views/effective/cpd_audit_reviews/instructions.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/questionnaire.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/recommendation.html.haml +3 -3
- data/app/views/effective/cpd_audit_reviews/start.html.haml +4 -4
- data/app/views/effective/cpd_audit_reviews/statements.html.haml +6 -6
- data/app/views/effective/cpd_audit_reviews/submit.html.haml +1 -1
- data/app/views/effective/cpd_audit_reviews/submitted.html.haml +3 -3
- data/app/views/effective/cpd_audit_reviews/waiting.html.haml +1 -1
- data/app/views/effective/cpd_audits/_missing_info.html.haml +3 -3
- data/app/views/effective/cpd_audits/_summary.html.haml +2 -2
- data/app/views/effective/cpd_audits/conflict.html.haml +2 -2
- data/app/views/effective/cpd_audits/start.html.haml +2 -2
- data/app/views/effective/cpd_audits/submit.html.haml +3 -3
- data/app/views/effective/cpd_audits/submitted.haml +4 -4
- data/app/views/effective/cpd_audits/waiting.html.haml +1 -1
- data/app/views/effective/cpd_statements/_activities_new.html.haml +1 -1
- data/app/views/effective/cpd_statements/_activities_table.html.haml +2 -2
- data/app/views/effective/cpd_statements/_summary.html.haml +1 -1
- data/app/views/effective/cpd_statements/agreements.html.haml +1 -1
- data/app/views/effective/cpd_statements/submit.html.haml +1 -1
- data/config/effective_cpd.rb +0 -5
- data/config/locales/effective_cpd.en.yml +28 -0
- data/config/routes.rb +1 -1
- data/lib/effective_cpd/version.rb +1 -1
- data/lib/effective_cpd.rb +1 -1
- data/lib/generators/effective_cpd/install_generator.rb +4 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 68280b10b19be0a77c79173eb4428f429b8905cfeb252ceac7e1d72279da36a0
|
|
4
|
+
data.tar.gz: ca76a95fadc2e71549f943069e8403d6d3f70c349f5c22847ee48396e371e48d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ca2c3fa8c4af2d901fedbcb5859dc2b09be5f99783cbaaf18d4bf2b858830116fe91e9caf51f741b4597283212685125237b6f10b62278d6103498908d3bb50
|
|
7
|
+
data.tar.gz: 21b70b0f7f7e22169059c0df7e3b8cd098e4ac117e7580c42329b2cd2c7c4b04c0c4c6dda76f0e9762a9510318e17f19671a94c1f87d6171f93799d7019af81b
|
|
@@ -15,7 +15,7 @@ module Admin
|
|
|
15
15
|
].compact.join(' ')
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
submit :close, 'Close
|
|
18
|
+
submit :close, 'Close', success: -> {
|
|
19
19
|
[
|
|
20
20
|
"Successfully closed #{resource}",
|
|
21
21
|
("and sent #{resource.user.email} a notification" unless resource.email_form_skip?)
|
|
@@ -36,17 +36,17 @@ module Admin
|
|
|
36
36
|
].compact.join(' ')
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
submit :complete, 'Complete
|
|
39
|
+
submit :complete, 'Complete', success: -> {
|
|
40
40
|
[
|
|
41
41
|
"Successfully completed #{resource}",
|
|
42
|
-
("and sent
|
|
42
|
+
("and sent notifications" unless resource.email_form_skip)
|
|
43
43
|
].compact.join(' ')
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
submit :complete, 'Ready to Review', success: -> {
|
|
47
47
|
[
|
|
48
48
|
"Successfully completed #{resource}",
|
|
49
|
-
("and sent
|
|
49
|
+
("and sent notifications" unless resource.email_form_skip)
|
|
50
50
|
].compact.join(' ')
|
|
51
51
|
}
|
|
52
52
|
|
|
@@ -5,11 +5,9 @@ module Admin
|
|
|
5
5
|
|
|
6
6
|
include Effective::CrudController
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
# params.require(:effective_cpd_statement).permit!
|
|
12
|
-
# end
|
|
8
|
+
def permitted_params
|
|
9
|
+
params.require(:effective_cpd_statement_activity).permit!
|
|
10
|
+
end
|
|
13
11
|
|
|
14
12
|
end
|
|
15
13
|
end
|
|
@@ -8,8 +8,6 @@ module Admin
|
|
|
8
8
|
resource_scope -> { EffectiveCpd.CpdStatement.deep.all }
|
|
9
9
|
datatable -> { EffectiveResources.best('Admin::EffectiveCpdStatementsDatatable').new }
|
|
10
10
|
|
|
11
|
-
page_title(only: :index) { "#{EffectiveCpd.program_label} Statements" }
|
|
12
|
-
|
|
13
11
|
private
|
|
14
12
|
|
|
15
13
|
def permitted_params
|
|
@@ -2,8 +2,8 @@ module Admin
|
|
|
2
2
|
class EffectiveCpdAuditReviewsDatatable < Effective::Datatable
|
|
3
3
|
filters do
|
|
4
4
|
scope :all
|
|
5
|
-
scope :completed
|
|
6
5
|
scope :available, label: 'In Progress'
|
|
6
|
+
scope :completed
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
datatable do
|
|
@@ -11,22 +11,22 @@ module Admin
|
|
|
11
11
|
col :updated_at, visible: false
|
|
12
12
|
col :id, visible: false
|
|
13
13
|
|
|
14
|
-
col :cpd_audit
|
|
15
|
-
col :cpd_audit_level, search: EffectiveCpd.CpdAuditLevel.all.sorted
|
|
14
|
+
col :cpd_audit, label: cpd_audit_label
|
|
15
|
+
col :cpd_audit_level, label: cpd_audit_level_label, search: EffectiveCpd.CpdAuditLevel.all.sorted
|
|
16
16
|
|
|
17
|
-
col :auditee do |cpd_audit_review|
|
|
17
|
+
col :auditee, label: cpd_auditee_label do |cpd_audit_review|
|
|
18
18
|
user = cpd_audit_review.cpd_audit.user
|
|
19
19
|
url = "/admin/users/#{user.to_param}/edit"
|
|
20
20
|
link_to(user, url)
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
col :user, label:
|
|
23
|
+
col :user, label: cpd_reviewer_label
|
|
24
24
|
|
|
25
25
|
col :due_date
|
|
26
26
|
col :submitted_at, as: :date, label: 'Submitted'
|
|
27
27
|
col :conflict_of_interest
|
|
28
28
|
col :recommendation
|
|
29
|
-
col :comments
|
|
29
|
+
col :comments
|
|
30
30
|
|
|
31
31
|
actions_col(edit: false)
|
|
32
32
|
end
|
|
@@ -6,8 +6,8 @@ module Admin
|
|
|
6
6
|
scope :available, label: 'In Progress'
|
|
7
7
|
scope :done
|
|
8
8
|
scope :waiting_on_admin
|
|
9
|
-
scope :waiting_on_auditee
|
|
10
|
-
scope :waiting_on_reviewers
|
|
9
|
+
scope :waiting_on_auditee, label: "Waiting on #{cpd_auditee_label}"
|
|
10
|
+
scope :waiting_on_reviewers, label: "Waiting on #{cpd_reviewers_label}"
|
|
11
11
|
end
|
|
12
12
|
|
|
13
13
|
datatable do
|
|
@@ -19,11 +19,11 @@ module Admin
|
|
|
19
19
|
|
|
20
20
|
col :token, visible: false
|
|
21
21
|
|
|
22
|
-
col :cpd_audit_level, label:
|
|
22
|
+
col :cpd_audit_level, label: cpd_audit_level_label, search: EffectiveCpd.CpdAuditLevel.sorted.all
|
|
23
23
|
|
|
24
|
-
col :user, search: :string
|
|
24
|
+
col :user, search: :string
|
|
25
25
|
|
|
26
|
-
col(:cpd_audit_reviews,
|
|
26
|
+
col(:cpd_audit_reviews, search: :string) do |cpd_audit|
|
|
27
27
|
cpd_audit.cpd_audit_reviews.map(&:user).map do |user|
|
|
28
28
|
content_tag(:div, class: 'col-resource_item') do
|
|
29
29
|
url = view.respond_to?(:edit_admin_user_path) ? edit_admin_user_path(user) : "/admin/users/#{user.to_param}/edit"
|
|
@@ -42,8 +42,8 @@ module Admin
|
|
|
42
42
|
end
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
col :notification_date
|
|
46
|
-
col :extension_date,
|
|
45
|
+
col :notification_date
|
|
46
|
+
col :extension_date, visible: false
|
|
47
47
|
col :due_date
|
|
48
48
|
|
|
49
49
|
col :status
|
|
@@ -54,7 +54,7 @@ module Admin
|
|
|
54
54
|
end.join.html_safe
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
col(:
|
|
57
|
+
col(:cpd_audit_review_item_recommendations, label: 'Item Recommendations', search: :string, visible: false) do |cpd_audit|
|
|
58
58
|
recommendations = cpd_audit.cpd_audit_reviews.map(&:recommendation)
|
|
59
59
|
item_recommendations = cpd_audit.cpd_audit_reviews.flat_map { |r| r.cpd_audit_review_items.map(&:recommendation) }
|
|
60
60
|
|
|
@@ -62,7 +62,7 @@ module Admin
|
|
|
62
62
|
reviews.to_sentence
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
col(:cpd_audit_comments,
|
|
65
|
+
col(:cpd_audit_comments, search: :string, visible: false) do |cpd_audit|
|
|
66
66
|
item_comments = cpd_audit.cpd_audit_reviews.flat_map { |r| r.cpd_audit_review_items.map(&:comments) }.join
|
|
67
67
|
|
|
68
68
|
cpd_audit.cpd_audit_reviews.map(&:comments).map do |comments|
|
|
@@ -72,7 +72,7 @@ module Admin
|
|
|
72
72
|
|
|
73
73
|
col :determination
|
|
74
74
|
|
|
75
|
-
col(:auditee_cpd_statements,
|
|
75
|
+
col(:auditee_cpd_statements, visible: false) do |cpd_audit|
|
|
76
76
|
cpd_audit.user.cpd_statements.map do |cpd_statement|
|
|
77
77
|
content_tag(:div, class: 'col-resource_item') do
|
|
78
78
|
link_to(cpd_statement.to_s, effective_cpd.admin_cpd_statement_path(cpd_statement))
|
|
@@ -8,11 +8,10 @@ module Admin
|
|
|
8
8
|
col :updated_at, label: 'Updated', visible: false
|
|
9
9
|
col :created_at, label: 'Created'
|
|
10
10
|
|
|
11
|
-
col :cpd_audit_level
|
|
12
|
-
col :audits
|
|
13
|
-
col :audit_reviewers_per_audit
|
|
11
|
+
col :cpd_audit_level, label: cpd_audit_level_label
|
|
12
|
+
col :audits, label: cpd_audits_label
|
|
13
|
+
col :audit_reviewers_per_audit, label: "#{cpd_reviewers_label} per #{cpd_audit_label}"
|
|
14
14
|
col :notification_date
|
|
15
|
-
col :email_form_skip
|
|
16
15
|
|
|
17
16
|
actions_col
|
|
18
17
|
end
|
|
@@ -12,7 +12,7 @@ module Admin
|
|
|
12
12
|
col :created_at, visible: false
|
|
13
13
|
col :updated_at, visible: false
|
|
14
14
|
|
|
15
|
-
col :cpd_cycle
|
|
15
|
+
col :cpd_cycle
|
|
16
16
|
|
|
17
17
|
col :ruleable, label: 'Category or Activity', search: {
|
|
18
18
|
collection: {
|
|
@@ -26,10 +26,10 @@ module Admin
|
|
|
26
26
|
content_tag(:div, cpd_activity.formula, style: 'white-space: nowrap;')
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
col :credit_description
|
|
29
|
+
col :credit_description, label: "#{cpd_credit_label} Description"
|
|
30
30
|
|
|
31
|
-
col :max_credits_per_cycle, label: 'Max ' + cpd_credits_label
|
|
32
|
-
col :max_cycles_can_carry_forward, label: 'Max ' + cpd_cycles_label
|
|
31
|
+
col :max_credits_per_cycle, label: 'Max ' + cpd_credits_label
|
|
32
|
+
col :max_cycles_can_carry_forward, label: 'Max ' + cpd_cycles_label
|
|
33
33
|
|
|
34
34
|
col :unavailable
|
|
35
35
|
|
|
@@ -5,12 +5,12 @@ module Admin
|
|
|
5
5
|
col :created_at, visible: false
|
|
6
6
|
col :updated_at, visible: false
|
|
7
7
|
|
|
8
|
-
col :cpd_cycle
|
|
8
|
+
col :cpd_cycle
|
|
9
9
|
|
|
10
10
|
col :cpd_rules
|
|
11
11
|
|
|
12
12
|
col :category
|
|
13
|
-
col :max_credits_per_cycle, label: 'Max ' + cpd_credits_label
|
|
13
|
+
col :max_credits_per_cycle, label: 'Max ' + cpd_credits_label
|
|
14
14
|
|
|
15
15
|
actions_col
|
|
16
16
|
end
|
|
@@ -13,15 +13,15 @@ module Admin
|
|
|
13
13
|
col :created_at, visible: false
|
|
14
14
|
col :updated_at, visible: false
|
|
15
15
|
|
|
16
|
-
col :cpd_cycle,
|
|
17
|
-
col :cpd_statement, visible: false
|
|
16
|
+
col :cpd_cycle, search: Effective::CpdCycle.sorted
|
|
17
|
+
col :cpd_statement, label: cpd_statement_label, visible: false
|
|
18
18
|
|
|
19
19
|
col :user
|
|
20
20
|
|
|
21
21
|
col :date
|
|
22
22
|
col :description
|
|
23
23
|
|
|
24
|
-
col :score, label: cpd_credits_label
|
|
24
|
+
col :score, label: cpd_credits_label do |csa|
|
|
25
25
|
cpd_score(csa.score)
|
|
26
26
|
end
|
|
27
27
|
|
|
@@ -14,7 +14,7 @@ module Admin
|
|
|
14
14
|
col :created_at, visible: false
|
|
15
15
|
col :updated_at, visible: false
|
|
16
16
|
|
|
17
|
-
col :cpd_cycle,
|
|
17
|
+
col :cpd_cycle, search: Effective::CpdCycle.sorted
|
|
18
18
|
col :user
|
|
19
19
|
col :submitted_at, as: :date, label: 'Submitted on'
|
|
20
20
|
|
|
@@ -6,9 +6,9 @@ class EffectiveCpdAvailableAuditReviewsDatatable < Effective::Datatable
|
|
|
6
6
|
|
|
7
7
|
col :token, visible: false
|
|
8
8
|
|
|
9
|
-
col :cpd_audit_level, label:
|
|
9
|
+
col :cpd_audit_level, label: cpd_audit_level_label
|
|
10
10
|
col :due_date
|
|
11
|
-
col :name, label:
|
|
11
|
+
col :name, label: cpd_auditee_label, action: false
|
|
12
12
|
|
|
13
13
|
col :ready_to_review do |cpd_audit|
|
|
14
14
|
cpd_audit.ready_to_review? ? 'Yes' : 'No'
|
|
@@ -6,7 +6,7 @@ class EffectiveCpdAvailableCyclesDatatable < Effective::Datatable
|
|
|
6
6
|
|
|
7
7
|
col :start_at, visible: false
|
|
8
8
|
|
|
9
|
-
col(:title, label: cpd_cycle_label
|
|
9
|
+
col(:title, label: cpd_cycle_label)
|
|
10
10
|
col :available_date, label: 'Available'
|
|
11
11
|
|
|
12
12
|
col :required_score, label: 'Required' do |cpd_cycle|
|
|
@@ -6,9 +6,9 @@ class EffectiveCpdCompletedAuditReviewsDatatable < Effective::Datatable
|
|
|
6
6
|
|
|
7
7
|
col :token, visible: false
|
|
8
8
|
|
|
9
|
-
col :cpd_audit_level, label:
|
|
10
|
-
col :notification_date
|
|
11
|
-
col :name, label:
|
|
9
|
+
col :cpd_audit_level, label: cpd_audit_level_label
|
|
10
|
+
col :notification_date
|
|
11
|
+
col :name, label: cpd_auditee_label, action: false
|
|
12
12
|
|
|
13
13
|
col :recommendation do |cpd_audit|
|
|
14
14
|
cpd_audit.cpd_audit_reviews.find { |r| r.user_id == current_user.id }.recommendation
|
|
@@ -6,8 +6,8 @@ class EffectiveCpdCompletedAuditsDatatable < Effective::Datatable
|
|
|
6
6
|
|
|
7
7
|
col :token, visible: false
|
|
8
8
|
|
|
9
|
-
col :cpd_audit_level, label:
|
|
10
|
-
col :notification_date
|
|
9
|
+
col :cpd_audit_level, label: cpd_audit_level_label
|
|
10
|
+
col :notification_date
|
|
11
11
|
col :status
|
|
12
12
|
col :determination
|
|
13
13
|
|
|
@@ -4,12 +4,12 @@ class EffectiveCpdCompletedStatementsDatatable < Effective::Datatable
|
|
|
4
4
|
datatable do
|
|
5
5
|
order :cpd_cycle_id
|
|
6
6
|
|
|
7
|
-
col(:cpd_cycle_id, label:
|
|
7
|
+
col(:cpd_cycle_id, label: cpd_statement_label) do |statement|
|
|
8
8
|
statement.cpd_cycle.to_s
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
col :submitted_at
|
|
12
|
-
col :score, label: cpd_credits_label
|
|
11
|
+
col :submitted_at
|
|
12
|
+
col :score, label: cpd_credits_label
|
|
13
13
|
|
|
14
14
|
col :required_score, label: 'Required' do |cpd_statement|
|
|
15
15
|
cpd_score(cpd_statement.required_score || cpd_statement.targeted_score)
|
|
@@ -21,8 +21,7 @@ module EffectiveCpdAuditsHelper
|
|
|
21
21
|
|
|
22
22
|
users.map do |user|
|
|
23
23
|
in_progress = content_tag(:span, class: 'badge badge-info') do
|
|
24
|
-
|
|
25
|
-
"#{pluralize(reviews, 'review')} in progress"
|
|
24
|
+
user.cpd_audit_reviews.count { |review| review.in_progress? }.to_s + ' in progress'
|
|
26
25
|
end
|
|
27
26
|
|
|
28
27
|
html = content_tag(:div, "#{user} #{in_progress}")
|
|
@@ -1,19 +1,71 @@
|
|
|
1
1
|
module EffectiveCpdHelper
|
|
2
2
|
|
|
3
|
+
def cpd_name_label
|
|
4
|
+
et('effective_cpd.name')
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def cpd_credit_label
|
|
8
|
+
et('effective_cpd.credit')
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def cpd_credits_label
|
|
12
|
+
ets('effective_cpd.credit')
|
|
13
|
+
end
|
|
14
|
+
|
|
3
15
|
def cpd_cycle_label
|
|
4
|
-
(
|
|
16
|
+
et(Effective::CpdCycle)
|
|
5
17
|
end
|
|
6
18
|
|
|
7
19
|
def cpd_cycles_label
|
|
8
|
-
(
|
|
20
|
+
ets(Effective::CpdCycle)
|
|
9
21
|
end
|
|
10
22
|
|
|
11
|
-
def
|
|
12
|
-
(EffectiveCpd.
|
|
23
|
+
def cpd_statement_label
|
|
24
|
+
et(EffectiveCpd.CpdStatement)
|
|
13
25
|
end
|
|
14
26
|
|
|
15
|
-
def
|
|
16
|
-
(EffectiveCpd.
|
|
27
|
+
def cpd_statements_label
|
|
28
|
+
ets(EffectiveCpd.CpdStatement)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def cpd_audit_label
|
|
32
|
+
et(EffectiveCpd.CpdAudit)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def cpd_audits_label
|
|
36
|
+
ets(EffectiveCpd.CpdAudit)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def cpd_audit_review_label
|
|
40
|
+
et(EffectiveCpd.CpdAuditReview)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def cpd_audit_reviews_label
|
|
44
|
+
ets(EffectiveCpd.CpdAuditReview)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def cpd_auditee_label
|
|
48
|
+
et(EffectiveCpd.CpdAudit, :user)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def cpd_auditees_label
|
|
52
|
+
ets(EffectiveCpd.CpdAudit, :user)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def cpd_reviewer_label
|
|
56
|
+
et(EffectiveCpd.CpdAuditReview, :user)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def cpd_reviewers_label
|
|
60
|
+
ets(EffectiveCpd.CpdAuditReview, :user)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def cpd_audit_level_label
|
|
64
|
+
et(EffectiveCpd.CpdAuditLevel)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def cpd_audit_levels_label
|
|
68
|
+
ets(EffectiveCpd.CpdAuditLevel)
|
|
17
69
|
end
|
|
18
70
|
|
|
19
71
|
def cpd_rule_formula_hint(cpd_activity)
|
|
@@ -226,7 +226,7 @@ module EffectiveCpdAudit
|
|
|
226
226
|
|
|
227
227
|
validate(if: -> { determination.present? }) do
|
|
228
228
|
unless cpd_audit_level.determinations.include?(determination)
|
|
229
|
-
self.errors.add(:determination, '
|
|
229
|
+
self.errors.add(:determination, 'is not included')
|
|
230
230
|
end
|
|
231
231
|
end
|
|
232
232
|
|
|
@@ -312,7 +312,7 @@ module EffectiveCpdAudit
|
|
|
312
312
|
end
|
|
313
313
|
|
|
314
314
|
def to_s
|
|
315
|
-
(cpd_audit_level.present? && name.present?) ? "#{cpd_audit_level}
|
|
315
|
+
(cpd_audit_level.present? && name.present?) ? "#{cpd_audit_level} #{model_name.human} of #{name}" : model_name.human
|
|
316
316
|
end
|
|
317
317
|
|
|
318
318
|
def name
|
|
@@ -360,41 +360,46 @@ module EffectiveCpdAudit
|
|
|
360
360
|
end
|
|
361
361
|
|
|
362
362
|
def summary
|
|
363
|
+
audit = model_name.human
|
|
364
|
+
auditee = EffectiveCpd.CpdAudit.human_attribute_name(:user)
|
|
365
|
+
reviewer = EffectiveCpd.CpdAuditReview.human_attribute_name(:user)
|
|
366
|
+
reviewers = EffectiveCpd.CpdAuditReview.human_attribute_name(:user).pluralize
|
|
367
|
+
|
|
363
368
|
case status_was
|
|
364
369
|
when 'opened'
|
|
365
|
-
"The audit has been opened. The auditee and
|
|
370
|
+
"The #{audit} has been opened. The #{auditee} and #{reviewers} have been notified. Waiting for the #{auditee} to submit."
|
|
366
371
|
when 'started'
|
|
367
|
-
"The auditee has
|
|
372
|
+
"The #{auditee} has started their #{audit}. Waiting for the #{auditee} to submit."
|
|
368
373
|
when 'conflicted'
|
|
369
|
-
"The auditee has declared a conflict of interest. A new reviewer will be assigned."
|
|
374
|
+
"The #{auditee} has declared a conflict of interest. A new #{reviewer} will be assigned."
|
|
370
375
|
when 'conflicted_resolved'
|
|
371
|
-
"The auditee had declared a conflict of interest. This has been resolved. Waiting for the auditee to submit
|
|
376
|
+
"The #{auditee} had declared a conflict of interest. This has been resolved. Waiting for the #{auditee} to submit."
|
|
372
377
|
when 'exemption_requested'
|
|
373
|
-
"The auditee has requested an exemption. Waiting for request to be granted or denied."
|
|
378
|
+
"The #{auditee} has requested an exemption. Waiting for request to be granted or denied."
|
|
374
379
|
when 'exemption_granted'
|
|
375
|
-
"The exemption request has been granted. This audit may now be closed."
|
|
380
|
+
"The exemption request has been granted. This #{audit} may now be closed."
|
|
376
381
|
when 'exemption_denied'
|
|
377
|
-
"The exemption request has been denied. The audit will continue. Waiting for the auditee to submit
|
|
382
|
+
"The exemption request has been denied. The #{audit} will continue. Waiting for the #{auditee} to submit."
|
|
378
383
|
when 'extension_requested'
|
|
379
|
-
"The auditee has requested an extension. Waiting for request to be granted or denied."
|
|
384
|
+
"The #{auditee} has requested an extension. Waiting for request to be granted or denied."
|
|
380
385
|
when 'extension_granted'
|
|
381
|
-
"The extension request has been granted. There is a new deadline. Waiting for the auditee to submit
|
|
386
|
+
"The extension request has been granted. There is a new deadline. Waiting for the #{auditee} to submit."
|
|
382
387
|
when 'extension_denied'
|
|
383
|
-
"The extension request has been denied. The deadline remains. Waiting for the auditee to submit
|
|
388
|
+
"The extension request has been denied. The deadline remains. Waiting for the #{auditee} to submit."
|
|
384
389
|
when 'submitted'
|
|
385
|
-
summary = "
|
|
390
|
+
summary = "#{auditee} has submitted their #{audit} wizard."
|
|
386
391
|
tasks = "The following tasks remain before it can be completed:"
|
|
387
392
|
approval = "Waiting on completeness check, review and determination."
|
|
388
393
|
items = completed_requirements.map { |item, done| "<li>#{item}: #{done ? 'Complete' : 'Incomplete'}</li>" }.join
|
|
389
394
|
completed_requirements.present? ? "<p>#{summary} #{tasks}</p><ul>#{items}</ul>" : "#{summary} #{approval}"
|
|
390
395
|
when 'completed'
|
|
391
|
-
"All required materials have been provided. Ready to review. This audit will transition to 'reviewed' after all reviewers have
|
|
396
|
+
"All required materials have been provided. Ready to review. This #{audit} will transition to 'reviewed' after all #{reviewers} have submitted."
|
|
392
397
|
when 'missing_info'
|
|
393
398
|
"Missing the following information: <ul><li>#{missing_info_reason}</li></ul>"
|
|
394
399
|
when 'reviewed'
|
|
395
|
-
"The audit has been reviewed and is ready for the final determination to be made."
|
|
400
|
+
"The #{audit} has been reviewed and is ready for the final determination to be made."
|
|
396
401
|
when 'closed'
|
|
397
|
-
"This audit has been closed with a final determination #{determination}. All done."
|
|
402
|
+
"This #{audit} has been closed with a final determination #{determination}. All done."
|
|
398
403
|
else
|
|
399
404
|
raise("unexpected status #{status}")
|
|
400
405
|
end.html_safe
|