From 210f11284586404f19acda565d64334f9f7e4b05 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Sun, 14 Jan 2018 21:50:26 -0600 Subject: [PATCH] searchers on admin --- admin/Gemfile | 7 +- admin/Gemfile.lock | 450 +++++++++--------- admin/README.md | 6 +- admin/app/admin/lesson_session.rb | 28 +- admin/app/admin/teachers.rb | 18 +- admin/app/assets/javascripts/active_admin.js | 9 +- .../assets/stylesheets/active_admin.css.scss | 1 + admin/config/initializers/active_admin.rb | 2 +- admin/config/initializers/bugsnag.rb | 2 +- .../initializers/jam_ruby_lesson_session.rb | 27 ++ admin/config/initializers/jam_ruby_teacher.rb | 7 +- admin/config/initializers/jam_ruby_user.rb | 6 + ruby/lib/jam_ruby/models/teacher.rb | 2 +- ruby/lib/jam_ruby/models/user.rb | 2 +- 14 files changed, 328 insertions(+), 239 deletions(-) create mode 100644 admin/config/initializers/jam_ruby_lesson_session.rb diff --git a/admin/Gemfile b/admin/Gemfile index b7f97c03d..f12413723 100644 --- a/admin/Gemfile +++ b/admin/Gemfile @@ -14,6 +14,7 @@ else ENV['NOKOGIRI_USE_SYSTEM_LIBRARIES'] ||= "true" end +gem 'activeadmin_addons' gem 'json', '1.8.6' gem 'rails', '> 4.2' gem 'protected_attributes' @@ -40,10 +41,10 @@ gem 'bootstrap-will_paginate', '0.0.6' gem 'carrierwave', '0.11.2' #, '0.9.0' gem 'carrierwave_direct' gem 'uuidtools', '2.1.2' -gem 'jquery-ui-rails', '5.0.5' #, '4.2.1' -gem 'jquery-rails', '4.1.1' # both this and jquery-ui-rails are pinned; if you unpin, jquery/autocomplete is missing during precomplie +gem 'jquery-ui-rails'# , '5.0.5' #, '4.2.1' +gem 'jquery-rails'# , '4.1.1' # both this and jquery-ui-rails are pinned; if you unpin, jquery/autocomplete is missing during precomplie gem 'rails-jquery-autocomplete' # This is the maintained version of rails3-jquery-autocomplete -gem 'activeadmin' , '1.0.0.pre4'# github: 'activeadmin', branch: 'master' +gem 'activeadmin' #, '1.0.0.pre4'# github: 'activeadmin', branch: 'master' gem 'mime-types', '1.25' #gem 'meta_search' gem 'fog', "~> 1.32.0" diff --git a/admin/Gemfile.lock b/admin/Gemfile.lock index 2cac39099..ec7d8fc45 100644 --- a/admin/Gemfile.lock +++ b/admin/Gemfile.lock @@ -18,93 +18,93 @@ GEM remote: http://rubygems.org/ remote: https://jamjam:blueberryjam@int.jamkazam.com/gems/ specs: - CFPropertyList (2.3.4) - aasm (4.11.1) - actionmailer (4.2.7.1) - actionpack (= 4.2.7.1) - actionview (= 4.2.7.1) - activejob (= 4.2.7.1) + CFPropertyList (2.3.6) + aasm (4.12.3) + concurrent-ruby (~> 1.0) + actionmailer (4.2.10) + actionpack (= 4.2.10) + actionview (= 4.2.10) + activejob (= 4.2.10) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 1.0, >= 1.0.5) - actionpack (4.2.7.1) - actionview (= 4.2.7.1) - activesupport (= 4.2.7.1) + actionpack (4.2.10) + actionview (= 4.2.10) + activesupport (= 4.2.10) rack (~> 1.6) rack-test (~> 0.6.2) rails-dom-testing (~> 1.0, >= 1.0.5) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (4.2.7.1) - activesupport (= 4.2.7.1) + actionview (4.2.10) + activesupport (= 4.2.10) builder (~> 3.1) erubis (~> 2.7.0) rails-dom-testing (~> 1.0, >= 1.0.5) - rails-html-sanitizer (~> 1.0, >= 1.0.2) - activeadmin (1.0.0.pre4) - arbre (~> 1.0, >= 1.0.2) - bourbon + rails-html-sanitizer (~> 1.0, >= 1.0.3) + activeadmin (1.2.1) + arbre (>= 1.1.1) coffee-rails formtastic (~> 3.1) formtastic_i18n - inherited_resources (~> 1.6) - jquery-rails - jquery-ui-rails - kaminari (~> 0.15) - rails (>= 3.2, < 5.1) + inherited_resources (~> 1.7) + jquery-rails (>= 4.2.0) + kaminari (>= 0.15, < 2.0) + railties (>= 4.2, < 5.2) ransack (~> 1.3) - sass-rails - sprockets (< 4) - activejob (4.2.7.1) - activesupport (= 4.2.7.1) + sass (~> 3.1) + sprockets (< 4.1) + activeadmin_addons (1.1.2) + railties + require_all + select2-rails (~> 4.0) + xdan-datetimepicker-rails (~> 2.5.1) + activejob (4.2.10) + activesupport (= 4.2.10) globalid (>= 0.3.0) - activemodel (4.2.7.1) - activesupport (= 4.2.7.1) + activemodel (4.2.10) + activesupport (= 4.2.10) builder (~> 3.1) - activerecord (4.2.7.1) - activemodel (= 4.2.7.1) - activesupport (= 4.2.7.1) + activerecord (4.2.10) + activemodel (= 4.2.10) + activesupport (= 4.2.10) arel (~> 6.0) - activesupport (4.2.7.1) + activesupport (4.2.10) i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.5.0) - public_suffix (~> 2.0, >= 2.0.2) + addressable (2.5.2) + public_suffix (>= 2.0.2, < 4.0) amq-client (0.9.12) amq-protocol (>= 1.2.0) eventmachine - amq-protocol (2.0.1) + amq-protocol (2.3.0) amqp (0.9.8) amq-client (~> 0.9.5) amq-protocol (>= 0.9.4) eventmachine arbre (1.1.1) activesupport (>= 3.0.0) - archive-tar-minitar (0.5.2) - arel (6.0.3) + arel (6.0.4) arr-pm (0.0.10) cabin (> 0) - aws-sdk (1.66.0) - aws-sdk-v1 (= 1.66.0) - aws-sdk-v1 (1.66.0) + aws-sdk (1.67.0) + aws-sdk-v1 (= 1.67.0) + aws-sdk-v1 (1.67.0) json (~> 1.4) - nokogiri (>= 1.4.4) - backports (3.6.8) + nokogiri (~> 1) + backports (3.11.0) bcrypt (3.1.11) bcrypt-ruby (3.0.1) - binding_of_caller (0.7.2) + binding_of_caller (0.8.0) debug_inspector (>= 0.0.1) bootstrap-sass (2.0.4.0) bootstrap-will_paginate (0.0.6) will_paginate - bourbon (4.2.7) - sass (~> 3.4) - thor (~> 0.19) - bugsnag (5.0.1) - builder (3.2.2) + bugsnag (6.6.1) + concurrent-ruby (~> 1.0) + builder (3.2.3) cabin (0.9.0) - capybara (2.7.1) + capybara (2.13.0) addressable mime-types (>= 1.16) nokogiri (>= 1.3.3) @@ -115,8 +115,8 @@ GEM capybara (>= 1.0, < 3) colored launchy - capybara-webkit (1.11.1) - capybara (>= 2.3.0, < 2.8.0) + capybara-webkit (1.14.0) + capybara (>= 2.3.0, < 2.14.0) json carrierwave (0.11.2) activemodel (>= 3.2.0) @@ -128,53 +128,54 @@ GEM carrierwave fog uuidtools - cause (0.1) - childprocess (0.5.9) + childprocess (0.8.0) ffi (~> 1.0, >= 1.0.11) clamp (1.0.1) cliver (0.3.2) - cocoon (1.2.9) - coderay (1.1.1) - coffee-rails (4.2.1) + cocoon (1.2.11) + coderay (1.1.2) + coffee-rails (4.2.2) coffee-script (>= 2.2.0) - railties (>= 4.0.0, < 5.2.x) + railties (>= 4.0.0) coffee-script (2.4.1) coffee-script-source execjs - coffee-script-source (1.11.1) + coffee-script-source (1.12.2) colored (1.2) - concurrent-ruby (1.0.2) + concurrent-ruby (1.0.5) country-select (1.1.1) - crass (1.0.2) - database_cleaner (1.5.3) - debug_inspector (0.0.2) - devise (4.2.0) + crass (1.0.3) + database_cleaner (1.6.2) + debug_inspector (0.0.3) + devise (4.4.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) - railties (>= 4.1.0, < 5.1) + railties (>= 4.1.0, < 5.2) responders warden (~> 1.2.3) - diff-lcs (1.2.5) - domain_name (0.5.20161129) + diff-lcs (1.3) + domain_name (0.5.20170404) unf (>= 0.0.5, < 1.0.0) - dotenv (2.1.1) + dotenv (2.2.1) email_validator (1.6.0) activemodel erubis (2.7.0) + et-orbi (1.0.8) + tzinfo eventmachine (1.2.3) - excon (0.54.0) + excon (0.60.0) execjs (1.4.0) multi_json (~> 1.0) - factory_girl (4.7.0) + factory_girl (4.9.0) activesupport (>= 3.0.0) - factory_girl_rails (4.7.0) - factory_girl (~> 4.7.0) + factory_girl_rails (4.9.0) + factory_girl (~> 4.9.0) railties (>= 3.0.0) faker (1.3.0) i18n (~> 0.5) - faraday (0.10.0) + faraday (0.13.1) multipart-post (>= 1.2, < 3) - ffi (1.9.14) + ffi (1.9.18) fission (0.5.0) CFPropertyList (~> 2.2) fog (1.32.0) @@ -203,36 +204,36 @@ GEM fog-atmos (0.1.0) fog-core fog-xml - fog-aws (0.13.0) + fog-aws (2.0.0) fog-core (~> 1.38) fog-json (~> 1.0) fog-xml (~> 0.1) ipaddress (~> 0.8) - fog-brightbox (0.11.0) + fog-brightbox (0.14.0) fog-core (~> 1.22) fog-json inflecto (~> 0.0.2) - fog-core (1.43.0) + fog-core (1.45.0) builder - excon (~> 0.49) + excon (~> 0.58) formatador (~> 0.2) fog-ecloud (0.1.1) fog-core fog-xml - fog-google (0.4.2) + fog-google (0.6.0) fog-core fog-json fog-xml fog-json (1.0.2) fog-core (~> 1.0) multi_json (~> 1.10) - fog-local (0.3.1) + fog-local (0.4.0) fog-core (~> 1.27) fog-powerdns (0.1.1) fog-core (~> 1.27) fog-json (~> 1.0) fog-xml (~> 0.1) - fog-profitbricks (3.0.0) + fog-profitbricks (4.1.1) fog-core (~> 1.42) fog-json (~> 1.0) fog-radosgw (0.0.5) @@ -264,15 +265,14 @@ GEM fog-voxel (0.1.0) fog-core fog-xml - fog-xml (0.1.2) + fog-xml (0.1.3) fog-core - nokogiri (~> 1.5, >= 1.5.11) + nokogiri (>= 1.5.11, < 2.0.0) formatador (0.2.5) - formtastic (3.1.4) + formtastic (3.1.5) actionpack (>= 3.2.13) formtastic_i18n (0.6.0) - fpm (1.7.0) - archive-tar-minitar + fpm (1.9.3) arr-pm (~> 0.0.10) backports (>= 2.6.2) cabin (>= 0.6.0) @@ -280,51 +280,51 @@ GEM clamp (~> 1.0.0) ffi json (>= 1.7.7, < 2.0) - pleaserun (~> 0.0.24) + pleaserun (~> 0.0.29) ruby-xz - geokit (1.10.0) - geokit-rails (2.2.0) + stud + geokit (1.11.0) + geokit-rails (2.3.0) geokit (~> 1.5) rails (>= 3.0) - globalid (0.3.7) - activesupport (>= 4.1.0) - gon (6.1.0) + globalid (0.4.1) + activesupport (>= 4.2.0) + gon (6.2.0) actionpack (>= 3.0) - json multi_json request_store (>= 1.0) - haml (4.0.7) + haml (5.0.4) + temple (>= 0.8.0) tilt - haml-rails (0.9.0) + haml-rails (1.0.0) actionpack (>= 4.0.1) activesupport (>= 4.0.1) - haml (>= 4.0.6, < 5.0) + haml (>= 4.0.6, < 6.0) html2haml (>= 1.0.1) railties (>= 4.0.1) - has_scope (0.6.0) - actionpack (>= 3.2, < 5) - activesupport (>= 3.2, < 5) - html2haml (2.0.0) + has_scope (0.7.1) + actionpack (>= 4.1, < 5.2) + activesupport (>= 4.1, < 5.2) + html2haml (2.2.0) erubis (~> 2.7.0) - haml (~> 4.0.0) - nokogiri (~> 1.6.0) + haml (>= 4.0, < 6) + nokogiri (>= 1.6.0) ruby_parser (~> 3.5) http-cookie (1.0.3) domain_name (~> 0.5) - httparty (0.14.0) + httparty (0.15.6) multi_xml (>= 0.5.2) - i18n (0.7.0) + i18n (0.9.1) + concurrent-ruby (~> 1.0) inflecto (0.0.2) - influxdb (0.3.13) - cause - json - influxdb-rails (0.1.11) - influxdb (~> 0.3.0) - railties - inherited_resources (1.6.0) - actionpack (>= 3.2, < 5) - has_scope (~> 0.6.0.rc) - railties (>= 3.2, < 5) + influxdb (0.5.2) + influxdb-rails (0.4.3) + influxdb (~> 0.5.0) + railties (> 3) + inherited_resources (1.8.0) + actionpack (>= 4.2, <= 5.2) + has_scope (~> 0.6) + railties (>= 4.2, <= 5.2) responders insist (1.0.0) io-like (0.3.0) @@ -336,44 +336,55 @@ GEM rspec (>= 1.3.1) selenium-webdriver (>= 0.1.3) jasmine-core (1.3.1) - jquery-rails (4.1.1) + jquery-rails (4.3.1) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (5.0.5) + jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (1.8.6) - kaminari (0.17.0) - actionpack (>= 3.0.0) - activesupport (>= 3.0.0) - kgio (2.10.0) - kickbox (2.0.2) + kaminari (1.1.1) + activesupport (>= 4.1.0) + kaminari-actionview (= 1.1.1) + kaminari-activerecord (= 1.1.1) + kaminari-core (= 1.1.1) + kaminari-actionview (1.1.1) + actionview + kaminari-core (= 1.1.1) + kaminari-activerecord (1.1.1) + activerecord + kaminari-core (= 1.1.1) + kaminari-core (1.1.1) + kgio (2.11.1) + kickbox (2.0.3) faraday (~> 0.9) - json (~> 1.8) + json (>= 1.8) launchy (2.4.3) addressable (~> 2.3) little-plugger (1.1.4) logging (1.7.2) little-plugger (>= 1.1.3) - loofah (2.0.3) + loofah (2.1.1) + crass (~> 1.0.2) nokogiri (>= 1.5.9) - mail (2.6.4) - mime-types (>= 1.16, < 4) - method_source (0.8.2) + mail (2.7.0) + mini_mime (>= 0.1.1) + method_source (0.9.0) mime-types (1.25) mimemagic (0.3.2) - mini_portile2 (2.1.0) - minitest (5.10.1) + mini_mime (1.0.0) + mini_portile2 (2.3.0) + minitest (5.11.1) mono_logger (1.1.0) - multi_json (1.12.1) - multi_xml (0.5.5) + multi_json (1.13.1) + multi_xml (0.6.0) multipart-post (2.0.0) mustache (0.99.8) - net-ssh (3.2.0) + net-ssh (4.2.0) netrc (0.11.0) - nokogiri (1.6.8.1) - mini_portile2 (~> 2.1.0) - nokogumbo (1.4.10) + nokogiri (1.8.1) + mini_portile2 (~> 2.3.0) + nokogumbo (1.4.13) nokogiri orm_adapter (0.5.0) pg (0.17.1) @@ -382,18 +393,18 @@ GEM logging (= 1.7.2) pg (= 0.17.1) thor - pleaserun (0.0.27) + pleaserun (0.0.30) cabin (> 0) clamp dotenv insist mustache (= 0.99.8) stud - poltergeist (1.11.0) + poltergeist (1.17.0) capybara (~> 2.1) cliver (~> 0.3.1) websocket-driver (>= 0.2.0) - polyamorous (1.3.1) + polyamorous (1.3.2) activerecord (>= 3.0) postgres-copy (0.6.0) activerecord (>= 3.0.0) @@ -404,71 +415,75 @@ GEM activerecord (>= 4.0.0) arel (>= 4.0.1) pg_array_parser (~> 0.0.9) - power_assert (0.4.1) - protected_attributes (1.1.3) + power_assert (1.1.1) + protected_attributes (1.1.4) activemodel (>= 4.0.1, < 5.0) - pry (0.10.4) + pry (0.11.3) coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) + method_source (~> 0.9.0) pry-remote (0.1.8) pry (~> 0.9) slop (~> 3.0) pry-stack_explorer (0.4.9.2) binding_of_caller (>= 0.7) pry (>= 0.9.11) - public_suffix (2.0.4) - puma (3.6.2) - rack (1.6.5) + public_suffix (3.0.1) + puma (3.11.0) + rack (1.6.8) rack-protection (1.5.3) rack rack-test (0.6.3) rack (>= 1.0) - rails (4.2.7.1) - actionmailer (= 4.2.7.1) - actionpack (= 4.2.7.1) - actionview (= 4.2.7.1) - activejob (= 4.2.7.1) - activemodel (= 4.2.7.1) - activerecord (= 4.2.7.1) - activesupport (= 4.2.7.1) + rails (4.2.10) + actionmailer (= 4.2.10) + actionpack (= 4.2.10) + actionview (= 4.2.10) + activejob (= 4.2.10) + activemodel (= 4.2.10) + activerecord (= 4.2.10) + activesupport (= 4.2.10) bundler (>= 1.3.0, < 2.0) - railties (= 4.2.7.1) + railties (= 4.2.10) sprockets-rails rails-deprecated_sanitizer (1.0.3) activesupport (>= 4.2.0.alpha) - rails-dom-testing (1.0.7) - activesupport (>= 4.2.0.beta, < 5.0) - nokogiri (~> 1.6.0) + rails-dom-testing (1.0.9) + activesupport (>= 4.2.0, < 5.0) + nokogiri (~> 1.6) rails-deprecated_sanitizer (>= 1.0.1) rails-html-sanitizer (1.0.3) loofah (~> 2.0) rails-jquery-autocomplete (1.0.3) rails (>= 3.2) - rails-observers (0.1.2) - activemodel (~> 4.0) - railties (4.2.7.1) - actionpack (= 4.2.7.1) - activesupport (= 4.2.7.1) + rails-observers (0.1.5) + activemodel (>= 4.0) + railties (4.2.10) + actionpack (= 4.2.10) + activesupport (= 4.2.10) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - raindrops (0.17.0) - rake (11.3.0) - ransack (1.8.2) + raindrops (0.19.0) + rake (12.3.0) + ransack (1.8.4) actionpack (>= 3.0) activerecord (>= 3.0) activesupport (>= 3.0) i18n polyamorous (~> 1.3) - recurly (2.7.5) - nokogiri (~> 1.6.0) - redis (3.3.2) - redis-namespace (1.5.2) - redis (~> 3.0, >= 3.0.4) - request_store (1.3.1) - responders (2.3.0) - railties (>= 4.2.0, < 5.1) - resque (1.26.0) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) + recurly (2.12.0) + redis (4.0.1) + redis-namespace (1.6.0) + redis (>= 3.0.4) + request_store (1.4.0) + rack (>= 1.4) + require_all (1.5.0) + responders (2.4.0) + actionpack (>= 4.2.0, < 5.3) + railties (>= 4.2.0, < 5.3) + resque (1.27.4) mono_logger (~> 1.0) multi_json (~> 1.0) redis-namespace (~> 1.3) @@ -480,14 +495,15 @@ GEM resque-retry (1.5.0) resque (~> 1.25) resque-scheduler (~> 4.0) - resque-scheduler (4.3.0) + resque-scheduler (4.3.1) mono_logger (~> 1.0) - redis (~> 3.3) + redis (>= 3.3, < 5) resque (~> 1.26) rufus-scheduler (~> 3.2) - resque_mailer (2.4.0) + resque_mailer (2.4.3) actionmailer (>= 3.0) - rest-client (2.0.0) + activesupport (>= 3.0) + rest-client (2.0.2) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) @@ -511,82 +527,89 @@ GEM ruby-xz (0.2.3) ffi (~> 1.9) io-like (~> 0.3) - ruby_parser (3.8.3) - sexp_processor (~> 4.1) - rubyzip (1.2.0) - rufus-scheduler (3.3.1) - tzinfo - sanitize (4.4.0) + ruby_parser (3.10.1) + sexp_processor (~> 4.9) + rubyzip (1.2.1) + rufus-scheduler (3.4.2) + et-orbi (~> 1.0) + sanitize (4.5.0) crass (~> 1.0.2) nokogiri (>= 1.4.4) nokogumbo (~> 1.4.1) - sass (3.4.22) - sass-rails (5.0.6) + sass (3.5.5) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sass-rails (5.0.7) railties (>= 4.0.0, < 6) sass (~> 3.1) sprockets (>= 2.8, < 4.0) sprockets-rails (>= 2.0, < 4.0) tilt (>= 1.1, < 3) - selenium-webdriver (3.0.3) + select2-rails (4.0.3) + thor (~> 0.14) + selenium-webdriver (3.8.0) childprocess (~> 0.5) rubyzip (~> 1.0) - websocket (~> 1.0) sendgrid (1.2.0) json sendgrid_toolkit (1.4.0) httparty (>= 0.7.6) - sexp_processor (4.7.0) + sexp_processor (4.10.0) simplecov (0.7.1) multi_json (~> 1.0) simplecov-html (~> 0.7.1) simplecov-html (0.7.1) simplecov-rcov (0.2.3) simplecov (>= 0.4.1) - sinatra (1.4.7) + sinatra (1.4.8) rack (~> 1.5) rack-protection (~> 1.4) tilt (>= 1.3, < 3) - slim (3.0.7) - temple (~> 0.7.6) + slim (3.0.9) + temple (>= 0.7.6, < 0.9) tilt (>= 1.3.3, < 2.1) slop (3.6.0) - sprockets (3.7.0) + sprockets (3.7.1) concurrent-ruby (~> 1.0) rack (> 1, < 3) - sprockets-rails (3.2.0) + sprockets-rails (3.2.1) actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - stripe (1.57.1) - rest-client (>= 1.4, < 4.0) - stud (0.0.22) - temple (0.7.7) - test-unit (3.2.3) + stripe (3.9.1) + faraday (~> 0.10) + stud (0.0.23) + temple (0.8.0) + test-unit (3.2.7) power_assert - thor (0.19.4) - thread_safe (0.3.5) - tilt (2.0.5) - tzinfo (1.2.2) + thor (0.20.0) + thread_safe (0.3.6) + tilt (2.0.8) + tzinfo (1.2.4) thread_safe (~> 0.1) - uglifier (3.0.4) + uglifier (4.1.3) execjs (>= 0.3.0, < 3) unf (0.1.3) unf_ext - unf_ext (0.0.7.2) - unicorn (5.2.0) + unf_ext (0.0.7.4) + unicorn (5.4.0) kgio (~> 2.6) raindrops (~> 0.7) uuidtools (2.1.2) vegas (0.1.11) rack (>= 1.0.0) - warden (1.2.6) + warden (1.2.7) rack (>= 1.0) - websocket (1.2.3) - websocket-driver (0.6.4) + websocket-driver (0.7.0) websocket-extensions (>= 0.1.0) - websocket-extensions (0.1.2) - will_paginate (3.1.5) - xpath (2.0.0) + websocket-extensions (0.1.3) + will_paginate (3.1.6) + xdan-datetimepicker-rails (2.5.4) + jquery-rails + rails (>= 3.2.16) + xpath (2.1.0) nokogiri (~> 1.3) zip-codes (0.2.1) @@ -595,7 +618,8 @@ PLATFORMS DEPENDENCIES aasm - activeadmin (= 1.0.0.pre4) + activeadmin + activeadmin_addons amqp (= 0.9.8) aws-sdk (~> 1) bcrypt-ruby (= 3.0.1) @@ -629,8 +653,8 @@ DEPENDENCIES jam_ruby! jampb! jasmine (= 1.3.1) - jquery-rails (= 4.1.1) - jquery-ui-rails (= 5.0.5) + jquery-rails + jquery-ui-rails json (= 1.8.6) kickbox launchy diff --git a/admin/README.md b/admin/README.md index 4054c1390..503c08107 100644 --- a/admin/README.md +++ b/admin/README.md @@ -11,4 +11,8 @@ Overtime we can add more administrative functions and views, but initially this Examples of: -Button on Show Page of Item: 'Send Client Update Notice' in jam_ruby_artifact_updates.rb \ No newline at end of file +Button on Show Page of Item: 'Send Client Update Notice' in jam_ruby_artifact_updates.rb + + +Stuff that is probably breaky: +activeadmin_addons https://github.com/platanus/activeadmin_addons \ No newline at end of file diff --git a/admin/app/admin/lesson_session.rb b/admin/app/admin/lesson_session.rb index 376c0cc98..6cce40624 100644 --- a/admin/app/admin/lesson_session.rb +++ b/admin/app/admin/lesson_session.rb @@ -6,15 +6,27 @@ ActiveAdmin.register JamRuby::LessonSession, :as => 'LessonSessions' do config.batch_actions = false config.per_page = 100 config.paginate = true - config.filters = false + config.filters = true - 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("Missed") { |scope| scope.unscoped.missed.order('created_at desc') } - scope("Completed") { |scope| scope.unscoped.completed.order('created_at desc') } + scope("All", default: true) { |scope| scope.order('created_at desc') } + scope("Requested") { |scope| scope.where(status: LessonBooking::STATUS_REQUESTED).order('created_at desc') } + scope("Approved") { |scope| scope.approved.order('created_at desc') } + scope("Suspended") { |scope| scope.suspended.order('created_at desc') } + scope("Canceled") { |scope| scope.canceled.order('created_at desc') } + scope("Missed") { |scope| scope.missed.order('created_at desc') } + scope("Completed") { |scope| scope.completed.order('created_at desc') } + + #filter :jamuser_full_name_or_user_email_cont, label: 'Student Name', as: :string + + #filter :teacher_user_email_cont, label: 'Student Name', as: :string + + filter :student_full_name_or_user_email_cont, label: 'Student Name Or Email', as: :string + + filter :by_search_teacher_in, label: 'Teacher Name Or Email', as: :string + + controller do + active_admin_config.includes.push :teacher, :music_session + end action_item :only => [:show] do link_to('Mark As Success', mark_success_admin_lesson_session_path(resource.id)) diff --git a/admin/app/admin/teachers.rb b/admin/app/admin/teachers.rb index 86817f171..ef4d10fbe 100644 --- a/admin/app/admin/teachers.rb +++ b/admin/app/admin/teachers.rb @@ -6,12 +6,20 @@ ActiveAdmin.register JamRuby::Teacher, :as => 'Teachers' do config.batch_actions = false config.per_page = 100 config.paginate = true - config.filters = false + config.filters = true - scope("All", default: true) { |scope| scope.unscoped.order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, ready_for_session_at IS NULL DESC") } - scope("All Sorted By Sign Up") { |scope| scope.unscoped.order("teachers.created_at DESC, background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, ready_for_session_at IS NULL DESC") } - scope("50% and Session Ready") { |scope| scope.unscoped.where('profile_pct >= ?', 50.0).where('ready_for_session_at IS NOT NULL').order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, ready_for_session_at IS NULL DESC") } - scope("50% and Not Session Ready") { |scope| scope.unscoped.where('profile_pct > ?', 50.0).where('ready_for_session_at IS NULL').order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, ready_for_session_at IS NULL DESC") } + scope("All", default: true) { |scope| scope.order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, teachers.ready_for_session_at IS NULL DESC") } + scope("All Sorted By Sign Up") { |scope| scope.order("teachers.created_at DESC, background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, teachers.ready_for_session_at IS NULL DESC") } + scope("50% and Session Ready") { |scope| scope.where('profile_pct >= ?', 50.0).where('teachers.ready_for_session_at IS NOT NULL').order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, teachers.ready_for_session_at IS NULL DESC") } + scope("50% and Not Session Ready") { |scope| scope.where('profile_pct > ?', 50.0).where('teachers.ready_for_session_at IS NULL').order("background_check_at > '#{(Date.today - 365).to_s}}' NULLS FIRST, teachers.ready_for_session_at IS NULL DESC") } + + controller do + active_admin_config.includes.push :user + end + + filter :teacher_full_name_or_user_email_cont, label: 'Name', as: :string + + #filter :by_search_user_name, label: "Name", as: :string index do column "Name" do |teacher| diff --git a/admin/app/assets/javascripts/active_admin.js b/admin/app/assets/javascripts/active_admin.js index cfb97b69c..889722595 100644 --- a/admin/app/assets/javascripts/active_admin.js +++ b/admin/app/assets/javascripts/active_admin.js @@ -1,7 +1,9 @@ -// //= require active_admin/base -//= require jquery +//= require active_admin/base +//= require jquery3 //= require jquery_ujs -//= require jquery-ui + +//= require activeadmin_addons/all +// //= require jquery-ui // require jquery.ui.core // require jquery.ui.widget // require jquery.ui.datepicker @@ -9,7 +11,6 @@ // require jquery.ui.autocomplete //= require cocoon //= require active_admin/base -//= require jquery-ui/autocomplete // //= require autocomplete-rails //= require base //= require_tree . diff --git a/admin/app/assets/stylesheets/active_admin.css.scss b/admin/app/assets/stylesheets/active_admin.css.scss index e1f8ecf34..f5bb8a9c2 100644 --- a/admin/app/assets/stylesheets/active_admin.css.scss +++ b/admin/app/assets/stylesheets/active_admin.css.scss @@ -1,3 +1,4 @@ +//= require activeadmin_addons/all // SASS variable overrides must be declared before loading up Active Admin's styles. // // To view the variables that Active Admin provides, take a look at diff --git a/admin/config/initializers/active_admin.rb b/admin/config/initializers/active_admin.rb index da63deb48..01b5ed0b0 100644 --- a/admin/config/initializers/active_admin.rb +++ b/admin/config/initializers/active_admin.rb @@ -1,5 +1,5 @@ class Footer < ActiveAdmin::Component - def build + def build(namespace) super(id: "footer") para "version info: web=#{::JamAdmin::VERSION} lib=#{JamRuby::VERSION} db=#{JamDb::VERSION}" render :inline => include_gon diff --git a/admin/config/initializers/bugsnag.rb b/admin/config/initializers/bugsnag.rb index a007f6d0b..c948c2b01 100644 --- a/admin/config/initializers/bugsnag.rb +++ b/admin/config/initializers/bugsnag.rb @@ -1,6 +1,6 @@ Bugsnag.configure do |config| config.api_key = "7e24985b93dd922a731daca26fc2aa13" - config.use_ssl = false + #config.use_ssl = false config.notify_release_stages = ["production"] # add 'development' if you want to test a feature locally config.auto_notify = true config.app_version = JamAdmin::VERSION diff --git a/admin/config/initializers/jam_ruby_lesson_session.rb b/admin/config/initializers/jam_ruby_lesson_session.rb new file mode 100644 index 000000000..b458b4d1b --- /dev/null +++ b/admin/config/initializers/jam_ruby_lesson_session.rb @@ -0,0 +1,27 @@ +class JamRuby::LessonSession + ransacker :student_full_name, formatter: proc { |v| v.mb_chars.downcase.to_s } do |parent| + Arel::Nodes::NamedFunction.new('LOWER', + [Arel::Nodes::NamedFunction.new('concat_ws', + [Arel::Nodes::SqlLiteral.new("' '"), User.arel_table[:first_name], User.arel_table[:last_name]])]) + end + + ransacker :teacher_full_name, formatter: proc { |v| v.mb_chars.downcase.to_s } do |parent| + Arel::Nodes::NamedFunction.new('LOWER', + [Arel::Nodes::NamedFunction.new('concat_ws', + [Arel::Nodes::SqlLiteral.new("' '"), 'teachers.first_name', 'teachers.last_name'])]) + end + + ransacker :by_search_teacher, + formatter: proc { |teacher_name| + puts "TEACHER NAME #{teacher_name}" + ilikey = "%#{teacher_name}%" + results = LessonSession.joins(:teacher).where('(users.email ilike ?) OR (LOWER(concat_ws(\' \', "users"."first_name", "users"."last_name")) ilike ?)', ilikey, ilikey).map(&:id) + #results = LessonSession.search(teacher_full_name_or_user_email_cont: teacher_name).result.map(&:id) + results = results.present? ? results : nil + }, splat_params: true do |parent| + puts "PARENT #{parent}" + parent.table[:id] + #Teacher.arel_table[:id] + end +end + diff --git a/admin/config/initializers/jam_ruby_teacher.rb b/admin/config/initializers/jam_ruby_teacher.rb index 5a9cf3442..f01b9ae71 100644 --- a/admin/config/initializers/jam_ruby_teacher.rb +++ b/admin/config/initializers/jam_ruby_teacher.rb @@ -1,5 +1,10 @@ - class JamRuby::Teacher +class JamRuby::Teacher attr_accessible :short_bio, :background_check_at, as: :admin + ransacker :teacher_full_name, formatter: proc { |v| v.mb_chars.downcase.to_s } do |parent| + Arel::Nodes::NamedFunction.new('LOWER', + [Arel::Nodes::NamedFunction.new('concat_ws', + [Arel::Nodes::SqlLiteral.new("' '"), User.arel_table[:first_name], User.arel_table[:last_name]])]) + end end diff --git a/admin/config/initializers/jam_ruby_user.rb b/admin/config/initializers/jam_ruby_user.rb index 5effb5420..8b27e88a8 100644 --- a/admin/config/initializers/jam_ruby_user.rb +++ b/admin/config/initializers/jam_ruby_user.rb @@ -4,6 +4,12 @@ accepts_nested_attributes_for :teacher, allow_destroy: true + ransacker :jamuser_full_name, formatter: proc { |v| v.mb_chars.downcase.to_s } do |parent| + Arel::Nodes::NamedFunction.new('LOWER', + [Arel::Nodes::NamedFunction.new('concat_ws', + [Arel::Nodes::SqlLiteral.new("' '"), User.arel_table[:first_name], User.arel_table[:last_name]])]) + end + def raw_password '' end diff --git a/ruby/lib/jam_ruby/models/teacher.rb b/ruby/lib/jam_ruby/models/teacher.rb index 91a8b0532..9061dc5a0 100644 --- a/ruby/lib/jam_ruby/models/teacher.rb +++ b/ruby/lib/jam_ruby/models/teacher.rb @@ -20,7 +20,7 @@ module JamRuby has_many :lesson_sessions, :class_name => "JamRuby::LessonSession" has_many :lesson_package_purchases, :class_name => "JamRuby::LessonPackagePurchase" has_one :review_summary, :class_name => "JamRuby::ReviewSummary", as: :target - has_one :user, :class_name => 'JamRuby::User', foreign_key: :teacher_id + has_one :user, :class_name => 'JamRuby::User', foreign_key: :teacher_id, inverse_of: :teacher belongs_to :school, :class_name => "JamRuby::School", inverse_of: :teachers belongs_to :retailer, :class_name => "JamRuby::Retailer", inverse_of: :teachers diff --git a/ruby/lib/jam_ruby/models/user.rb b/ruby/lib/jam_ruby/models/user.rb index 600cfd550..d626dfdcc 100644 --- a/ruby/lib/jam_ruby/models/user.rb +++ b/ruby/lib/jam_ruby/models/user.rb @@ -69,7 +69,7 @@ module JamRuby # bands has_many :band_musicians, :class_name => "JamRuby::BandMusician" has_many :bands, :through => :band_musicians, :class_name => "JamRuby::Band" - belongs_to :teacher, :class_name => "JamRuby::Teacher", foreign_key: :teacher_id + belongs_to :teacher, :class_name => "JamRuby::Teacher", foreign_key: :teacher_id, inverse_of: :user # genres has_many :genre_players, as: :player, class_name: "JamRuby::GenrePlayer", dependent: :destroy