effective_cpd 0.1.8 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a651ba3de27d409e1953f20172e2af0326299702a92f4a872b07294e9373c1d9
4
- data.tar.gz: b5c398cdf6ec7d900739f6e3ca408b71c41b8adaad5adc4ee9b54484cacff264
3
+ metadata.gz: 8c335edc7659457d3058974272e93a686c2e5d05ff0337ea8bc2e404381d5af9
4
+ data.tar.gz: 03e586c16cae18269d1a647ef29c1b182e4cd4fd06e8de9afbc830e242fabc00
5
5
  SHA512:
6
- metadata.gz: ebe54bfda1f2c4ca428b1de44b5da5f694f7056927c08f7bcb453e73e1773c17b0715949f33b83de75c04a2e68b60049348b1cd6c1950db4a2dd7d435b6cab9c
7
- data.tar.gz: 39a6a14de5f3babc4961c8412eae3cbeff7b4e8a64acf3f0975135d953aa513e3dbb7e02a67a14eee279f82bad9d9a482263fbf4114ec7823f6258ba44a0e91b
6
+ metadata.gz: 74d157eb8b58e02abd48dd24fdc31ca0f400626a2cb82b3b73d573ce389d2f16074f9b7c4deb11d5789adcc7b95445f383316bffa797ed19b0e88ff450d7ef30
7
+ data.tar.gz: 5143e74d60f6bca193c7d9e8107da9428857bd5408f6845eaa966e15e03cd061acbcf52ce153b8b8542f8906a2df9e3eead20294227065d443c0589aafe818e0
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 = $('.cpd-statement-activities:not(.initialized)')
2
+ const $obj = $('#cpd-statement-activities,.cpd-statement-activities')
3
3
 
4
4
  if($obj.length > 0) {
5
- $(document).on('mousedown touchstart', function(event) { collapse_effective_cpd_activities() })
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(function() { initialize_effective_cpd_activities() });
55
- $(document).on('turbolinks:load', function() { initialize_effective_cpd_activities() });
57
+ $(document).ready(initialize_effective_cpd_activities);
58
+ $(document).on('turbolinks:load', initialize_effective_cpd_activities);
@@ -3,6 +3,8 @@
3
3
  .progress { height: 3px; }
4
4
  }
5
5
 
6
+ .cpd-statement-activity { padding: 0.5rem; }
7
+
6
8
  .statement-activity-content {
7
9
  a { color: inherit; }
8
10
  }
@@ -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
@@ -39,7 +39,7 @@ module Admin
39
39
  col :status
40
40
  col :determination
41
41
 
42
- col(:auditee_cpd_statements, label: 'Auditee Statements') do |cpd_audit|
42
+ col(:auditee_cpd_statements, label: 'Auditee Statements', visible: false) do |cpd_audit|
43
43
  cpd_audit.user.cpd_statements.map do |cpd_statement|
44
44
  content_tag(:div, class: 'col-resource_item') do
45
45
  link_to(cpd_statement.to_s, effective_cpd.admin_cpd_statement_path(cpd_statement))
@@ -94,7 +94,7 @@ module Effective
94
94
  started_at :datetime
95
95
  submitted_at :datetime
96
96
  reviewed_at :datetime
97
- audited_at :datetime # TODO: CHange to closed_at
97
+ closed_at :datetime
98
98
 
99
99
  # Acts as tokened
100
100
  token :string
@@ -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
@@ -10,7 +10,7 @@
10
10
  %tbody
11
11
  %tr
12
12
  %td Opened
13
- %td= cpd_audit.opened_at.strftime('%F') || '-'
13
+ %td= cpd_audit.opened_at&.strftime('%F') || '-'
14
14
  %td #{icon('check', class: 'small-1')} Done
15
15
  %td
16
16
 
@@ -38,7 +38,7 @@
38
38
  - if cpd_audit.completed?
39
39
  %tr
40
40
  %th Submitted on
41
- %td= cpd_audit.submitted_at.strftime('%F')
41
+ %td= cpd_audit.submitted_at&.strftime('%F') || '-'
42
42
 
43
43
  %tr
44
44
  %th Status
@@ -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
@@ -1,5 +1,5 @@
1
1
  .cpd-statement-activities
2
- .row{style: 'margin-top: -2rem'}
2
+ .row
3
3
  .col-8
4
4
  .col-2.score
5
5
  %strong= cpd_credits_label.titleize
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]
@@ -1,3 +1,3 @@
1
1
  module EffectiveCpd
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.13'
3
3
  end
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.8
4
+ version: 0.1.13
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-26 00:00:00.000000000 Z
11
+ date: 2021-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails