* student page
This commit is contained in:
parent
5c14d283ab
commit
2e3f47e9b2
|
|
@ -14,6 +14,7 @@ ActiveAdmin.register JamRuby::JamTrack, :as => 'JamTracks' do
|
|||
scope("Onboarding TODO") { |scope| scope.where('onboarding_exceptions is not null') }
|
||||
scope("Tency Only") { |scope| scope.joins('INNER JOIN jam_track_licensors as licensors ON jam_tracks.licensor_id = licensors.id').where("licensors.name = 'Tency Music'") }
|
||||
scope("TimTracks Only") { |scope| scope.joins('INNER JOIN jam_track_licensors as licensors ON jam_tracks.licensor_id = licensors.id').where("licensors.name = 'Tim Waurick'") }
|
||||
scope("Drumma Boy Only") { |scope| scope.joins('INNER JOIN jam_track_licensors as licensors ON jam_tracks.licensor_id = licensors.id').where("licensors.name = 'Drumma Boy'") }
|
||||
# scope("Onboarding TODO w/ Tency Only") { |scope| scope.joins('INNER JOIN jam_track_licensors as licensors ON jam_tracks.licensor_id = licensors.id').where("licensors.name = 'Tency Music'").where('onboarding_exceptions is not null') }
|
||||
|
||||
form :partial => 'form'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,245 @@
|
|||
=begin
|
||||
ActiveAdmin.register JamRuby::User, :as => 'Students' do
|
||||
|
||||
menu :label => 'Students', :parent => 'JamClass'
|
||||
|
||||
config.sort_order = 'created_at desc'
|
||||
config.batch_actions = false
|
||||
config.per_page = 100
|
||||
config.paginate = true
|
||||
|
||||
def booked_anything(scope)
|
||||
scope.joins(lesson_booking)
|
||||
end
|
||||
scope("Default", default: true) { |scope| booked_anything(scope) }
|
||||
|
||||
index do
|
||||
column "Name" do |teacher|
|
||||
link_to teacher.user.name, "#{Rails.application.config.external_root_url}/client#/profile/teacher/#{teacher.user.id}"
|
||||
end
|
||||
column "Email" do |teacher|
|
||||
teacher.user.email
|
||||
end
|
||||
column "Location" do |teacher|
|
||||
teacher.user.location(country = true)
|
||||
end
|
||||
column "Profile %" do |teacher|
|
||||
div do
|
||||
span do
|
||||
"#{teacher.pct_complete[:pct]}%"
|
||||
end
|
||||
br
|
||||
span do
|
||||
link_to "Detail", admin_teacher_path(teacher.id)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
column "Background Check" do |teacher|
|
||||
div do
|
||||
if teacher.background_check_at
|
||||
span do
|
||||
teacher.background_check_at.to_date
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to(mark_background_check_admin_teacher_path(teacher.id), {confirm: "Mark as background checked?"}) do
|
||||
"mark as checked"
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
span do
|
||||
'NOT DONE'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as checked", mark_background_check_admin_teacher_path(teacher.id), {confirm: "Mark as background checked?"})
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
column "Session Ready" do |teacher|
|
||||
div do
|
||||
if teacher.ready_for_session
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
else
|
||||
span do
|
||||
'NO'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as checked", mark_session_ready_admin_teacher_path(teacher.id), {confirm: "Mark as ready for session?"})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
column "Top Teacher" do |teacher|
|
||||
div do
|
||||
if teacher.top_rated
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark not top", mark_not_top_admin_teacher_path(teacher.id), {confirm: "Mark as not top rated?"})
|
||||
end
|
||||
else
|
||||
span do
|
||||
'NO'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as top", mark_top_admin_teacher_path(teacher.id), {confirm: "Mark as top rated?"})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
show do
|
||||
attributes_table do
|
||||
row "Name" do |teacher|
|
||||
link_to teacher.user.name, "#{Rails.application.config.external_root_url}/client#/profile/teacher/#{teacher.user.id}"
|
||||
end
|
||||
row "Email" do |teacher|
|
||||
teacher.user.email
|
||||
end
|
||||
row "Location" do |teacher|
|
||||
teacher.user.location(country = true)
|
||||
end
|
||||
row "Profile %" do |teacher|
|
||||
div do
|
||||
span do
|
||||
"#{teacher.pct_complete[:pct]}%"
|
||||
end
|
||||
br
|
||||
br
|
||||
div do
|
||||
h5 do "Completed Sections" end
|
||||
teacher.pct_complete.each do |k, v|
|
||||
if k != :pct && v
|
||||
div do
|
||||
k
|
||||
end
|
||||
end
|
||||
end
|
||||
br
|
||||
br
|
||||
h5 do "Uncompleted Sections" end
|
||||
teacher.pct_complete.each do |k, v|
|
||||
if k != :pct && !v
|
||||
div do
|
||||
k
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
row "Background Check" do |teacher|
|
||||
div do
|
||||
if teacher.background_check_at
|
||||
span do
|
||||
teacher.background_check_at.to_date
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to(mark_background_check_admin_teacher_path(teacher.id), {confirm: "Mark as background checked?"}) do
|
||||
"mark as checked"
|
||||
end
|
||||
end
|
||||
|
||||
else
|
||||
span do
|
||||
'NOT DONE'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as checked", mark_background_check_admin_teacher_path(teacher.id), {confirm: "Mark as background checked?"})
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
row "Session Ready" do |teacher|
|
||||
div do
|
||||
if teacher.ready_for_session
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
else
|
||||
span do
|
||||
'NO'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as checked", mark_session_ready_admin_teacher_path(teacher.id), {confirm: "Mark as ready for session?"})
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
row "Top Teacher" do |teacher|
|
||||
div do
|
||||
if teacher.top_rated
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark not top", mark_not_top_admin_teacher_path(teacher.id), {confirm: "Mark as not top rated?"})
|
||||
end
|
||||
else
|
||||
span do
|
||||
'NO'
|
||||
end
|
||||
span do
|
||||
br
|
||||
end
|
||||
span do
|
||||
link_to("mark as top", mark_top_admin_teacher_path(teacher.id), {confirm: "Mark as top rated?"})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
member_action :mark_session_ready, :method => :get do
|
||||
resource.mark_session_ready
|
||||
redirect_to :back
|
||||
end
|
||||
|
||||
end
|
||||
=end
|
||||
|
|
@ -63,7 +63,7 @@ ActiveAdmin.register JamRuby::Teacher, :as => 'Teachers' do
|
|||
|
||||
column "Session Ready" do |teacher|
|
||||
div do
|
||||
if teacher.ready_for_session
|
||||
if teacher.ready_for_session_at
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
|
|
@ -183,7 +183,7 @@ ActiveAdmin.register JamRuby::Teacher, :as => 'Teachers' do
|
|||
|
||||
row "Session Ready" do |teacher|
|
||||
div do
|
||||
if teacher.ready_for_session
|
||||
if teacher.ready_for_session_at
|
||||
span do
|
||||
'YES'
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
ALTER TABLE teachers ADD COLUMN background_check_at TIMESTAMP WITHOUT TIME ZONE;
|
||||
ALTER TABLE teachers ADD COLUMN ready_for_session BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
ALTER TABLE teachers ADD COLUMN ready_for_session_at TIMESTAMP WITHOUT TIME ZONE;
|
||||
ALTER TABLE users ADD COLUMN ready_for_session_at TIMESTAMP WITHOUT TIME ZONE;
|
||||
ALTER TABLE teachers ADD COLUMN top_rated BOOLEAN NOT NULL DEFAULT FALSE;
|
||||
|
|
@ -23,7 +23,6 @@ module JamRuby
|
|||
validates :years_playing, :presence => true, :if => :validate_introduction
|
||||
validates :teaches_test_drive, inclusion: {in: [true, false]}, :if => :validate_pricing
|
||||
validates :top_rated, inclusion: {in: [true, false]}
|
||||
validates :ready_for_session, inclusion: {in: [true, false]}
|
||||
validates :test_drives_per_week, numericality: {only_integer: true, minimum: 2, maximum: 10}, :if => :validate_pricing
|
||||
validates :instruments, :length => {minimum: 1, message: "At least one instrument or subject is required"}, if: :validate_basics, unless: ->(teacher) { teacher.subjects.length>0 }
|
||||
validates :subjects, :length => {minimum: 1, message: "At least one instrument or subject is required"}, if: :validate_basics, unless: ->(teacher) { teacher.instruments.length>0 }
|
||||
|
|
@ -263,7 +262,7 @@ module JamRuby
|
|||
end
|
||||
|
||||
def mark_session_ready
|
||||
self.ready_for_session = true
|
||||
self.ready_for_session_at = Time.now
|
||||
self.save!
|
||||
end
|
||||
|
||||
|
|
@ -359,7 +358,7 @@ module JamRuby
|
|||
end
|
||||
end
|
||||
|
||||
complete = 100.0 * done.to_f / parts.length.to_f
|
||||
complete = 100.0 * done.to_f / @part_complete.length.to_f
|
||||
|
||||
@part_complete[:pct] = complete.round
|
||||
@part_complete
|
||||
|
|
|
|||
|
|
@ -1816,6 +1816,11 @@ module JamRuby
|
|||
using_free_credit
|
||||
end
|
||||
|
||||
def mark_session_ready
|
||||
self.ready_for_session_at = Time.now
|
||||
self.save!
|
||||
end
|
||||
|
||||
private
|
||||
def create_remember_token
|
||||
self.remember_token = SecureRandom.urlsafe_base64
|
||||
|
|
|
|||
Loading…
Reference in New Issue