think_feel_do_engine 3.17.2 → 3.18.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/controllers/think_feel_do_engine/navigator_controller.rb +6 -4
  4. data/app/models/concerns/copier.rb +43 -24
  5. data/app/models/emotion.rb +1 -0
  6. data/app/models/group.rb +13 -8
  7. data/app/models/participant.rb +4 -2
  8. data/app/models/think_feel_do_engine/reports/emotional_rating.rb +1 -1
  9. data/app/models/think_feel_do_engine/reports/event.rb +2 -1
  10. data/app/models/think_feel_do_engine/reports/lesson_slide_view.rb +1 -1
  11. data/app/models/think_feel_do_engine/reports/lesson_viewing.rb +2 -2
  12. data/app/models/think_feel_do_engine/reports/login.rb +1 -1
  13. data/app/models/think_feel_do_engine/reports/module_page_view.rb +1 -1
  14. data/app/models/think_feel_do_engine/reports/module_session.rb +1 -1
  15. data/app/models/think_feel_do_engine/reports/patient_activity.rb +1 -1
  16. data/app/models/think_feel_do_engine/reports/patient_thought.rb +2 -1
  17. data/app/models/think_feel_do_engine/reports/phq_assessment.rb +1 -1
  18. data/app/models/think_feel_do_engine/reports/site_session.rb +1 -1
  19. data/app/models/think_feel_do_engine/reports/task_completion.rb +1 -1
  20. data/app/models/think_feel_do_engine/reports/tool_access.rb +1 -1
  21. data/app/models/think_feel_do_engine/reports/user_agent.rb +1 -1
  22. data/app/models/think_feel_do_engine/reports/video_session.rb +1 -1
  23. data/app/models/think_feel_do_engine/reports/wai_assessment.rb +1 -1
  24. data/app/views/think_feel_do_engine/coach/group_dashboard/_activities_future.html.erb +1 -1
  25. data/app/views/think_feel_do_engine/coach/group_dashboard/_activities_past.html.erb +1 -1
  26. data/app/views/think_feel_do_engine/coach/group_dashboard/_comments.html.erb +1 -1
  27. data/app/views/think_feel_do_engine/coach/group_dashboard/_goals.html.erb +1 -1
  28. data/app/views/think_feel_do_engine/coach/group_dashboard/_likes.html.erb +1 -1
  29. data/app/views/think_feel_do_engine/coach/group_dashboard/_logins.html.erb +1 -1
  30. data/app/views/think_feel_do_engine/coach/group_dashboard/_thoughts.html.erb +1 -1
  31. data/app/views/think_feel_do_engine/emotions/_form.html.erb +1 -1
  32. data/lib/think_feel_do_engine/version.rb +1 -1
  33. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e5a174dc3e190c93463eac43b6c0e3421c541cf3
4
- data.tar.gz: 3d945de61e14aa35446c16b30593f1c1fa53f118
3
+ metadata.gz: 248328db1d28d096496e611d71c7d38ca0973c7c
4
+ data.tar.gz: bab9c20b14380eb6a3fdf3ac120ba369b591025e
5
5
  SHA512:
6
- metadata.gz: 0ac05c42703dc7cf0bb411fc6bc09486184e6b2779c1463860b79311d04c55edbce62568d927b448e78afdc3853a2b453c94fba88682f4c99b0f68319c9e4e43
7
- data.tar.gz: e76b60425459ce2f536c49048d4a305aac9932561edc1892aa8647bc51a44c583c1a2706a23348aeefdc9e07200dfb380975d98c820a678a0efe55daef3f7b0f
6
+ metadata.gz: 09d990df0b6015ef3e3c5d7061eff9c0d901f99d43bdd210975fcd4d480f342aa43ac9e9b828faf38894070334f8956f12b392882eec1a0ec9823531d6ca1b28
7
+ data.tar.gz: 1c3c09c80590ccf1966a11f4ab71b2894fcb1922176bf8bbc797c2d08de6da410608546984e2cea89ca7247fd0c6d8827afa511680db1b0c984b32506863b80d
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Think Feel Do Engine
2
2
 
3
- [![Build Status](https://travis-ci.org/cbitstech/think_feel_do_engine.svg)](https://travis-ci.org/cbitstech/think_feel_do_engine)
4
- [![security](https://hakiri.io/github/cbitstech/think_feel_do_engine/master.svg)](https://hakiri.io/github/cbitstech/think_feel_do_engine/master)
3
+ [![Build Status](https://travis-ci.org/NU-CBITS/think_feel_do_engine.svg)](https://travis-ci.org/NU-CBITS/think_feel_do_engine)
4
+ [![security](https://hakiri.io/github/NU-CBITS/think_feel_do_engine/master.svg)](https://hakiri.io/github/NU-CBITS/think_feel_do_engine/master)
5
5
 
6
6
  Provides the tools and administrative interface for Think Feel Do.
7
7
 
@@ -81,7 +81,7 @@ module ThinkFeelDoEngine
81
81
 
82
82
  private
83
83
 
84
- def last_engagment
84
+ def last_engagement
85
85
  current_participant
86
86
  .active_membership
87
87
  .task_statuses
@@ -116,12 +116,14 @@ module ThinkFeelDoEngine
116
116
  .order(:position)
117
117
  .first
118
118
  provider_id == first_content_provider.id.to_s &&
119
- content_id == FIRST_CONTENT_POSITION
119
+ content_id == FIRST_CONTENT_POSITION.to_s
120
120
  end
121
121
 
122
122
  def mark_engagement_completed
123
- if navigator_content_module && last_engagment
124
- last_engagment.update_attributes(completed_at: DateTime.current)
123
+ if navigator_content_module && last_engagement &&
124
+ !@navigator.current_content_provider.exists?(
125
+ @navigator.content_position + 1)
126
+ last_engagement.update_attributes(completed_at: DateTime.current)
125
127
  end
126
128
  end
127
129
 
@@ -3,10 +3,26 @@ module Concerns
3
3
  # Copies lesson content from one arm's learning tool
4
4
  # (i.e., LEARN tool) to another arm's learning tool
5
5
  module Copier
6
- LEARN_TOOL = "Tools::Learn"
6
+ LESSON_MODULE = ContentModules::LessonModule.to_s
7
+ LEARN_TOOL = Tools::Learn.to_s
7
8
  TOOL_TITLE = "LEARN"
8
9
 
9
10
  Arm.class_eval do
11
+ def copy_all_to(new_arm)
12
+ new_tools = new_arm.bit_core_tools
13
+
14
+ bit_core_tools.each do |tool|
15
+ new_tool = new_tools
16
+ .create!(
17
+ position: new_tools.count,
18
+ title: tool.title,
19
+ type: tool.type)
20
+
21
+ tool.copy_all_to(
22
+ new_tool: new_tool)
23
+ end
24
+ end
25
+
10
26
  def copy_lessons_to(new_arm)
11
27
  new_tools = new_arm.bit_core_tools
12
28
  new_tool = new_tools.find_by(type: LEARN_TOOL) ||
@@ -20,7 +36,6 @@ module Concerns
20
36
  bit_core_tools
21
37
  .find_by(type: LEARN_TOOL)
22
38
  .copy_content_modules_to(
23
- new_arm: new_arm,
24
39
  new_tool: new_tool)
25
40
  end
26
41
  end
@@ -29,13 +44,19 @@ module Concerns
29
44
  # rubocop:disable ClassAndModuleChildren
30
45
  module ::BitCore
31
46
  Tool.class_eval do
32
- LESSON_MODULE = "ContentModules::LessonModule"
47
+ def copy_all_to(new_tool:)
48
+ ContentModule.transaction do
49
+ content_modules.each do |content_module|
50
+ content_module.copy_content_providers_to(
51
+ new_tool: new_tool)
52
+ end
53
+ end
54
+ end
33
55
 
34
- def copy_content_modules_to(new_arm:, new_tool:)
56
+ def copy_content_modules_to(new_tool:)
35
57
  ContentModule.transaction do
36
58
  content_modules.where(type: LESSON_MODULE).each do |content_module|
37
59
  content_module.copy_content_providers_to(
38
- new_arm: new_arm,
39
60
  new_tool: new_tool)
40
61
  end
41
62
  end
@@ -43,7 +64,7 @@ module Concerns
43
64
  end
44
65
 
45
66
  ContentModule.class_eval do
46
- def copy_content_providers_to(new_arm:, new_tool:)
67
+ def copy_content_providers_to(new_tool:)
47
68
  ContentModule.transaction do
48
69
  new_content_module =
49
70
  ContentModule.create!(
@@ -57,7 +78,7 @@ module Concerns
57
78
  content_providers.each do |content_provider|
58
79
  content_provider
59
80
  .copy_source_content_to!(
60
- new_arm: new_arm,
81
+ new_arm: new_tool.arm,
61
82
  new_content_module: new_content_module)
62
83
  end
63
84
 
@@ -69,14 +90,12 @@ module Concerns
69
90
  ContentProvider.class_eval do
70
91
  def copy_source_content_to!(new_arm:, new_content_module:)
71
92
  ContentProvider.transaction do
72
- # rubocop:disable DoubleNegation
73
93
  ContentProvider.create!(
74
94
  content_module: new_content_module,
75
95
  position: position,
76
- show_next_nav: !!show_next_nav,
96
+ show_next_nav: show_next_nav,
77
97
  type: type,
78
98
  source_content: source_content.try(:copy_to, new_arm))
79
- # rubocop:enable DoubleNegation
80
99
  end
81
100
  end
82
101
  end
@@ -84,35 +103,35 @@ module Concerns
84
103
  Slideshow.class_eval do
85
104
  def copy_to(new_arm)
86
105
  Slideshow.transaction do
87
- slideshow = Slideshow.create!(arm: new_arm, title: title)
88
-
89
- copy_slides_to!(slideshow)
90
-
91
- slideshow
106
+ slideshow = Slideshow
107
+ .find_or_create_by!(arm_id: new_arm.id, title: title)
108
+ copy_slides_to(slideshow)
92
109
  end
93
110
  end
94
111
 
95
112
  private
96
113
 
97
- def copy_slides_to!(slideshow)
114
+ def copy_slides_to(slideshow)
98
115
  Slide.transaction do
99
116
  slides.each do |slide|
100
117
  slide.copy_to!(slideshow)
101
118
  end
102
119
  end
120
+
121
+ slideshow
103
122
  end
104
123
  end
105
124
 
106
125
  Slide.class_eval do
107
126
  def copy_to!(slideshow)
108
- Slide.create!(
109
- body: body,
110
- is_title_visible: is_title_visible,
111
- options: options,
112
- position: position,
113
- slideshow: slideshow,
114
- title: title,
115
- type: type)
127
+ slideshow.slides
128
+ .find_or_create_by!(
129
+ body: body,
130
+ is_title_visible: is_title_visible,
131
+ position: position,
132
+ title: title,
133
+ type: type)
134
+ .update_attributes!(options: options)
116
135
  end
117
136
  end
118
137
  end
@@ -6,6 +6,7 @@ class Emotion < ActiveRecord::Base
6
6
  validates :creator, presence: true
7
7
  validates :name, presence: true
8
8
  validates :name, uniqueness: { scope: :creator_id }
9
+ validates :name, length: { maximum: 255 }
9
10
 
10
11
  before_validation :normalize_name
11
12
 
data/app/models/group.rb CHANGED
@@ -29,7 +29,7 @@ class Group < ActiveRecord::Base
29
29
  end
30
30
 
31
31
  def logins_by_week(week_number)
32
- memberships.map do |membership|
32
+ non_moderator_memberships.map do |membership|
33
33
  membership
34
34
  .logins_by_week(week_number)
35
35
  end.inject(:+)
@@ -38,7 +38,7 @@ class Group < ActiveRecord::Base
38
38
  def thoughts_by_week(week_number)
39
39
  thoughts = Arel::Table.new(:thoughts)
40
40
 
41
- memberships.map do |membership|
41
+ non_moderator_memberships.map do |membership|
42
42
  membership
43
43
  .participant
44
44
  .thoughts
@@ -52,7 +52,7 @@ class Group < ActiveRecord::Base
52
52
  def activities_past_by_week(week_number)
53
53
  activities = Arel::Table.new(:activities)
54
54
 
55
- memberships.map do |membership|
55
+ non_moderator_memberships.map do |membership|
56
56
  membership
57
57
  .participant
58
58
  .activities
@@ -65,7 +65,7 @@ class Group < ActiveRecord::Base
65
65
  def activities_future_by_week(week_number)
66
66
  activities = Arel::Table.new(:activities)
67
67
 
68
- memberships.map do |membership|
68
+ non_moderator_memberships.map do |membership|
69
69
  membership
70
70
  .participant
71
71
  .activities
@@ -78,7 +78,7 @@ class Group < ActiveRecord::Base
78
78
  def goals_by_week(week_number)
79
79
  social_networking_goals = Arel::Table.new(:social_networking_goals)
80
80
 
81
- memberships.map do |membership|
81
+ non_moderator_memberships.map do |membership|
82
82
  SocialNetworking::Goal
83
83
  .where(participant: membership.participant)
84
84
  .where(social_networking_goals[:created_at]
@@ -91,7 +91,7 @@ class Group < ActiveRecord::Base
91
91
  def comments_by_week(week_number)
92
92
  social_networking_comments = Arel::Table.new(:social_networking_comments)
93
93
 
94
- memberships.map do |membership|
94
+ non_moderator_memberships.map do |membership|
95
95
  SocialNetworking::Comment
96
96
  .where(participant: membership.participant)
97
97
  .where(social_networking_comments[:created_at]
@@ -105,7 +105,7 @@ class Group < ActiveRecord::Base
105
105
  social_networking_on_the_mind_statements =
106
106
  Arel::Table.new(:social_networking_on_the_mind_statements)
107
107
 
108
- memberships.map do |membership|
108
+ non_moderator_memberships.map do |membership|
109
109
  SocialNetworking::OnTheMindStatement
110
110
  .where(participant: membership.participant)
111
111
  .where(social_networking_on_the_mind_statements[:created_at]
@@ -119,7 +119,7 @@ class Group < ActiveRecord::Base
119
119
  social_networking_likes =
120
120
  Arel::Table.new(:social_networking_likes)
121
121
 
122
- memberships.map do |membership|
122
+ non_moderator_memberships.map do |membership|
123
123
  SocialNetworking::Like
124
124
  .where(participant: membership.participant)
125
125
  .where(social_networking_likes[:created_at]
@@ -128,4 +128,9 @@ class Group < ActiveRecord::Base
128
128
  .lt(membership.week_end_day(week_number)))
129
129
  end.map(&:count).sum
130
130
  end
131
+
132
+ def non_moderator_memberships
133
+ memberships.joins(:participant)
134
+ .merge(Participant.not_moderator)
135
+ end
131
136
  end
@@ -61,8 +61,6 @@ class Participant < ActiveRecord::Base
61
61
  -> { where(kind: "click") },
62
62
  class_name: "EventCapture::Event",
63
63
  foreign_key: :participant_id
64
- has_many :experiences, dependent: :destroy
65
- has_many :gratitude_recordings, dependent: :destroy
66
64
 
67
65
  delegate :end_date, to: :active_membership, prefix: true, allow_nil: true
68
66
 
@@ -92,6 +90,10 @@ class Participant < ActiveRecord::Base
92
90
  )
93
91
  }
94
92
 
93
+ scope :not_moderator, lambda {
94
+ where(is_admin: false)
95
+ }
96
+
95
97
  def is_not_allowed_in_site
96
98
  # participant not set to is_complete (hence withdrawal or termination)
97
99
  # and who have no active memberships
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id).map do |participant|
10
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
11
11
  participant.emotional_ratings.map do |emotional_rating|
12
12
  {
13
13
  participant_id: participant.study_id,
@@ -8,7 +8,8 @@ module ThinkFeelDoEngine
8
8
  end
9
9
 
10
10
  def self.all
11
- Participant.select(:id, :study_id, :is_admin).map do |participant|
11
+ Participant.not_moderator
12
+ .select(:id, :study_id, :is_admin).map do |participant|
12
13
  EventCapture::Event.where(participant_id: participant.id)
13
14
  .map do |event|
14
15
  {
@@ -38,7 +38,7 @@ module ThinkFeelDoEngine
38
38
  def self.all_slide_interactions
39
39
  lessons = lessons_map
40
40
 
41
- Participant.select(:id, :study_id).map do |participant|
41
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
42
42
  slide_view_events(lessons, participant.id).map do |lesson_event|
43
43
  e = lesson_event[1]
44
44
  lesson_id = lesson_event[0]
@@ -12,14 +12,14 @@ module ThinkFeelDoEngine
12
12
  end
13
13
 
14
14
  def self.participant_ids(ids)
15
- ids.empty? ? Participant.ids : ids
15
+ ids.empty? ? Participant.not_moderator.ids : ids
16
16
  end
17
17
 
18
18
  def self.all(*ids)
19
19
  lessons = lesson_entries_map
20
20
  lessons_default = lessons_with_default_urls
21
21
 
22
- Participant.select(:id, :study_id)
22
+ Participant.not_moderator.select(:id, :study_id)
23
23
  .where(id: participant_ids(ids)).map do |participant|
24
24
  lesson_select_events =
25
25
  EventCapture::Event
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id).map do |participant|
10
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
11
11
  ParticipantLoginEvent
12
12
  .where(participant_id: participant.id).map do |event|
13
13
  {
@@ -12,7 +12,7 @@ module ThinkFeelDoEngine
12
12
  def self.all
13
13
  modules = modules_map
14
14
 
15
- Participant.select(:id, :study_id).map do |participant|
15
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
16
16
  slide_render_events_for(participant, modules).map do |module_event|
17
17
  e = module_event[1]
18
18
  mod = module_event[0]
@@ -50,7 +50,7 @@ module ThinkFeelDoEngine
50
50
  end
51
51
  end
52
52
 
53
- Participant.select(:id, :study_id).map do |participant|
53
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
54
54
  events = time_sorted_render_events_for(participant)
55
55
 
56
56
  events.map do |e|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id).map do |participant|
10
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
11
11
  participant.activities.map do |activity|
12
12
  {
13
13
  participant_id: participant.study_id,
@@ -7,7 +7,8 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id).map.map do |participant|
10
+ Participant.not_moderator
11
+ .select(:id, :study_id).map.map do |participant|
11
12
  participant.thoughts.map do |thought|
12
13
  {
13
14
  participant_id: participant.study_id,
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
8
8
  end
9
9
 
10
10
  def self.all
11
- Participant.select(:id, :study_id).map do |participant|
11
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
12
12
  participant.phq_assessments.map do |assessment|
13
13
  {
14
14
  participant_id: participant.study_id,
@@ -9,7 +9,7 @@ module ThinkFeelDoEngine
9
9
  end
10
10
 
11
11
  def self.all
12
- Participant.select(:id, :study_id).map do |participant|
12
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
13
13
  earliest_click_time = latest_click_time = nil
14
14
  times = click_times(participant.id)
15
15
  times.map do |click_time|
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id)
10
+ Participant.not_moderator.select(:id, :study_id)
11
11
  .includes(:memberships).map do |participant|
12
12
  next unless participant.active_membership
13
13
 
@@ -7,7 +7,7 @@ module ThinkFeelDoEngine
7
7
  end
8
8
 
9
9
  def self.all
10
- Participant.select(:id, :study_id).map do |participant|
10
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
11
11
  tool_access_events(participant).map do |tool_access|
12
12
  {
13
13
  participant_id: participant.study_id,
@@ -9,7 +9,7 @@ module ThinkFeelDoEngine
9
9
  end
10
10
 
11
11
  def self.all
12
- Participant.select(:id, :study_id).map do |participant|
12
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
13
13
  user_agents = EventCapture::Event
14
14
  .where(participant_id: participant.id)
15
15
  .map { |event| event.payload[:ua] }
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
8
8
  end
9
9
 
10
10
  def self.all
11
- Participant.select(:id, :study_id).map do |participant|
11
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
12
12
  video_play_events(participant.id).map do |e|
13
13
  m = e.current_url.match(/.*\/providers\/(\d+)\/(\d+)$/)
14
14
  provider_id = m ? m[1] : -1
@@ -8,7 +8,7 @@ module ThinkFeelDoEngine
8
8
  end
9
9
 
10
10
  def self.all
11
- Participant.select(:id, :study_id).map do |participant|
11
+ Participant.not_moderator.select(:id, :study_id).map do |participant|
12
12
  participant.wai_assessments.map do |assessment|
13
13
  {
14
14
  participant_id: participant.study_id,
@@ -26,7 +26,7 @@
26
26
  </thead>
27
27
  <tbody>
28
28
 
29
- <% group.memberships.each do |membership| %>
29
+ <% group.non_moderator_memberships.each do |membership| %>
30
30
  <% membership.participant.activities.unscheduled_or_in_the_future.each do |activity| %>
31
31
  <tr>
32
32
  <td class="not-displayed">
@@ -29,7 +29,7 @@
29
29
  </thead>
30
30
  <tbody>
31
31
 
32
- <% group.memberships.each do |membership| %>
32
+ <% group.non_moderator_memberships.each do |membership| %>
33
33
  <% membership.participant.activities.in_the_past.each do |activity| %>
34
34
  <tr>
35
35
  <td class="not-displayed">
@@ -23,7 +23,7 @@
23
23
  </thead>
24
24
  <tbody>
25
25
 
26
- <% group.memberships.each do |membership| %>
26
+ <% group.non_moderator_memberships.each do |membership| %>
27
27
  <% membership_comments(membership).each do |comment| %>
28
28
  <tr>
29
29
  <td class="not-displayed">
@@ -27,7 +27,7 @@
27
27
  </thead>
28
28
  <tbody>
29
29
 
30
- <% group.memberships.each do |membership| %>
30
+ <% group.non_moderator_memberships.each do |membership| %>
31
31
  <% membership_goals(membership).each do |goal| %>
32
32
  <tr>
33
33
  <td class="not-displayed">
@@ -23,7 +23,7 @@
23
23
  </thead>
24
24
  <tbody>
25
25
 
26
- <% group.memberships.includes(:participant).each do |membership| %>
26
+ <% group.non_moderator_memberships.includes(:participant).each do |membership| %>
27
27
  <% membership_likes(membership).each do |like| %>
28
28
  <tr>
29
29
  <td class="not-displayed">
@@ -11,7 +11,7 @@
11
11
  <th>week <%= current_week %></th>
12
12
  <% end %>
13
13
  </tr>
14
- <% group.memberships.each do | membership | %>
14
+ <% group.non_moderator_memberships.each do | membership | %>
15
15
  <tr>
16
16
  <td><%= membership.participant.display_name %></td>
17
17
  <% (1..study_length_in_weeks).each do |current_week| %>
@@ -25,7 +25,7 @@
25
25
  </tr>
26
26
  </thead>
27
27
  <tbody>
28
- <% group.memberships.each do |membership| %>
28
+ <% group.non_moderator_memberships.each do |membership| %>
29
29
  <% membership.participant.thoughts.each do |thought| %>
30
30
  <tr>
31
31
  <td class="not-displayed">
@@ -6,7 +6,7 @@
6
6
  </div>
7
7
  <div class="emotion-name-group form-group written-option">
8
8
  <%= f.label :name, "Emotion" %>
9
- <input class="form-control" id="emotional_rating_name" name="emotional_rating[name]" type="text">
9
+ <input class="form-control" id="emotional_rating_name" name="emotional_rating[name]" type="text", maxlength: 255 >
10
10
  </div>
11
11
  <div class="form-group">
12
12
  <%= f.label("Emotion Type") %>
@@ -1,4 +1,4 @@
1
1
  # nodoc
2
2
  module ThinkFeelDoEngine
3
- VERSION = "3.17.2"
3
+ VERSION = "3.18.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: think_feel_do_engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.17.2
4
+ version: 3.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Carty-Fickes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-16 00:00:00.000000000 Z
11
+ date: 2016-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -955,7 +955,7 @@ files:
955
955
  - vendor/assets/stylesheets/bootstrap-timepicker.min.css
956
956
  - vendor/assets/stylesheets/jplayer.blue.monday.css.scss
957
957
  - vendor/assets/stylesheets/snap.css.scss
958
- homepage: https://github.com/cbitstech/think_feel_do_engine
958
+ homepage: https://github.com/NU-CBITS/think_feel_do_engine
959
959
  licenses:
960
960
  - MIT
961
961
  metadata: {}