Store whether learners were manually invited to a programming group
This commit is contained in:
@ -50,6 +50,7 @@ class ProgrammingGroupsController < ApplicationController
|
|||||||
action: 'invited',
|
action: 'invited',
|
||||||
user: user.to_page_context,
|
user: user.to_page_context,
|
||||||
}
|
}
|
||||||
|
user.pair_programming_waiting_users&.find_by(exercise: @exercise)&.update(status: :invited_to_pg, programming_group: @programming_group)
|
||||||
ActionCable.server.broadcast("pg_matching_channel_exercise_#{@exercise.id}", message)
|
ActionCable.server.broadcast("pg_matching_channel_exercise_#{@exercise.id}", message)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -12,10 +12,11 @@ class PairProgrammingWaitingUser < ApplicationRecord
|
|||||||
disconnected: 2,
|
disconnected: 2,
|
||||||
worked_alone: 3,
|
worked_alone: 3,
|
||||||
created_pg: 4,
|
created_pg: 4,
|
||||||
|
invited_to_pg: 5,
|
||||||
}, _prefix: true
|
}, _prefix: true
|
||||||
|
|
||||||
validates :user_id, uniqueness: {scope: %i[exercise_id user_type]}
|
validates :user_id, uniqueness: {scope: %i[exercise_id user_type]}
|
||||||
validates :programming_group_id, presence: true, if: -> { status_joined_pg? || status_created_pg? }
|
validates :programming_group_id, presence: true, if: -> { status_joined_pg? || status_created_pg? || status_invited_to_pg? }
|
||||||
|
|
||||||
after_save :capture_event
|
after_save :capture_event
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user