From 37c7550a08dbf3beea48e4e79ebb91cd4e46e207 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Wed, 19 Jul 2017 07:38:39 -0500 Subject: [PATCH] pin back hamlrails --- .../admin/jam_class_monthly_roll_forward.rb | 26 +++++++++++++ admin/app/admin/lesson_booking.rb | 37 +++++++++++++++++-- ruby/lib/jam_ruby/models/jam_class_report.rb | 4 ++ web/Gemfile | 2 +- web/posa_cards.rb | 21 +++++++++++ 5 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 admin/app/admin/jam_class_monthly_roll_forward.rb diff --git a/admin/app/admin/jam_class_monthly_roll_forward.rb b/admin/app/admin/jam_class_monthly_roll_forward.rb new file mode 100644 index 000000000..60fd7c65d --- /dev/null +++ b/admin/app/admin/jam_class_monthly_roll_forward.rb @@ -0,0 +1,26 @@ +ActiveAdmin.register_page "Monthly Roll Forward", as: "JamClass Monthly Roll Forward" do + menu :parent => 'JamClass' + + content :title => "JamClass Monthly Roll Forwards" do + para do + table_for JamClassReport.roll_forward_bookings do + + column "Student" do |r| + r.student.admin_name + end + column "Teacher" do |r| + r.teacher.admin_name + end + column "Booking Active?" do |r| + r.active ? 'Y' : 'N' + end + column "Booking Status" do |r| + link_to r.status, admin_lesson_booking_path(r.id) + end + end + end + + end +end + + diff --git a/admin/app/admin/lesson_booking.rb b/admin/app/admin/lesson_booking.rb index 41be9745f..a3657dc9b 100644 --- a/admin/app/admin/lesson_booking.rb +++ b/admin/app/admin/lesson_booking.rb @@ -8,11 +8,11 @@ ActiveAdmin.register JamRuby::LessonBooking, :as => 'LessonBookings' do config.paginate = true config.filters = false - scope("All", default: true ) { |scope| scope.unscoped.order('created_at desc') } + scope("All", default: true) { |scope| scope.unscoped.order('created_at desc') } scope("Requested") { |scope| scope.unscoped.where(status: LessonBooking::STATUS_REQUESTED).order('created_at desc') } scope("Approved") { |scope| scope.unscoped.approved.order('created_at desc') } - scope("Suspended" ) { |scope| scope.unscoped.suspended.order('created_at desc') } - scope("Canceled" ) { |scope| scope.unscoped.canceled.order('created_at desc') } + scope("Suspended") { |scope| scope.unscoped.suspended.order('created_at desc') } + scope("Canceled") { |scope| scope.unscoped.canceled.order('created_at desc') } index do column "User Link" do |lesson_booking| @@ -41,6 +41,37 @@ ActiveAdmin.register JamRuby::LessonBooking, :as => 'LessonBookings' do end show do + attributes_table do + row "User Link" do |lesson_booking| + span do + link_to "Web URL", "#{Rails.application.config.external_root_url}/client#/jamclass/lesson-booking/#{lesson_booking.id}" + end + end + row "Type" do |lesson_booking| + lesson_booking.display_type + end + row "Status" do |lesson_booking| + lesson_booking.status + end + row "Teacher" do |lesson_booking| + teacher = lesson_booking.teacher + span do + link_to "#{teacher.name} (#{teacher.email})", "#{Rails.application.config.external_root_url}/client#/profile/teacher/#{teacher.id}" + end + end + row "Student" do |lesson_booking| + student = lesson_booking.student + span do + link_to "#{student.name} (#{student.email})", "#{Rails.application.config.external_root_url}/client#/profile/#{student.id}" + end + end + row "Created At" do |lesson_booking| + lesson_booking.created_at + end + row "Booked Price" do |lesson_booking| + lesson_booking.booked_price + end + end end diff --git a/ruby/lib/jam_ruby/models/jam_class_report.rb b/ruby/lib/jam_ruby/models/jam_class_report.rb index 4ba2a6ce6..e0e14fb91 100644 --- a/ruby/lib/jam_ruby/models/jam_class_report.rb +++ b/ruby/lib/jam_ruby/models/jam_class_report.rb @@ -100,5 +100,9 @@ module JamRuby end end + + def self.roll_forward_bookings + LessonBooking.where('remaining_roll_forward_amount_in_cents > 0') + end end end \ No newline at end of file diff --git a/web/Gemfile b/web/Gemfile index c5f4bf004..1e5d61e70 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -77,7 +77,7 @@ gem 'carrierwave', '0.11.2' #, '0.9.0' gem 'carrierwave_direct' gem 'fog' #gem 'jquery-payment-rails', github: 'sethcall/jquery-payment-rails' -gem 'haml-rails' +gem 'haml-rails', '0.9.0' gem 'unf' #optional fog dependency gem 'devise', '3.3.0' #3.4.0 causes uninitialized constant ActionController::Metal (NameError) gem 'postgres-copy' diff --git a/web/posa_cards.rb b/web/posa_cards.rb index c319f99d3..ba8b1db7d 100644 --- a/web/posa_cards.rb +++ b/web/posa_cards.rb @@ -63,4 +63,25 @@ def amazon_gift_cards end +def sample_amazon_gift_cards + CSV.open("test-posa-cards-amazon-test-drive-paid-4.csv", "wb") do |csv| + for i in 1..20 + csv << [generate(), 'amazon-test-drive-paid-4', true, true] + end + end + + CSV.open("test-posa-cards-amazon-test-drive-free-4.csv", "wb") do |csv| + for i in 1..20 + csv << [generate(), 'amazon-test-drive-free-4',true, false] + end + end + + CSV.open("test-posa-cards-amazon-test-drive-free-2.csv", "wb") do |csv| + for i in 1..20 + csv << [generate(), 'amazon-test-drive-free-2',true, false] + end + end +end + +