effective_cpd 0.1.6 → 0.1.11

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: 5b6ad81c90e8ba68f14d6975f449c71ebb20076f7b261f13548cd78eb57cab5b
4
- data.tar.gz: 42bddd331a47d453bcad32a2fa904d7b5691040f4fb10790996b28c5a93ea73f
3
+ metadata.gz: 7ae72402afeab6ed8830a9951e48d0bf33494e0f5fc5133049aa652876aa367e
4
+ data.tar.gz: bbdad22b7cd86165bc476b0c9fc8615e42e4cea2cd6c7b0c9310927bac76b0d1
5
5
  SHA512:
6
- metadata.gz: 0e9a580dc39ed60934e761b3b9103168307db5e90f1b3143cb90b89ffc3d945a81f993f090837a1153dcbc053c6ad71d342fe24549e684cf659a08dd4ed259d5
7
- data.tar.gz: d92f8ab5424cc5b1c4ef7ee9c341707742985876324d0f0c88766b62acec2c83b61cf717d4a87105a34a352d2bfdd8c8de6385aaaabb14fb8266794ad6b074c1
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 = $('.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
@@ -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 #{cpd_activity.amount_label.titleize.pluralize}
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 #{cpd_activity.amount2_label.to_s.titleize.pluralize} Articles written
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.titleize.pluralize, required: true
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.titleize.pluralize, required: true
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
@@ -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.6'
2
+ VERSION = '0.1.11'
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.6
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-24 00:00:00.000000000 Z
11
+ date: 2021-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails