lcms-engine 0.1.2 → 0.3.1

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 (564) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -1
  3. data/.env.docker +5 -0
  4. data/.env.template +34 -0
  5. data/.gitignore +0 -1
  6. data/.rubocop.yml +8 -7
  7. data/.ruby-version +1 -1
  8. data/CHANGELOG.md +56 -1
  9. data/Dockerfile +2 -1
  10. data/Gemfile +0 -1
  11. data/Gemfile.lock +721 -0
  12. data/README.md +10 -6
  13. data/app/assets/javascripts/lcms/engine/admin/application.js +2 -15
  14. data/app/assets/javascripts/lcms/engine/application.js +1 -44
  15. data/app/assets/javascripts/lcms/engine/application_lti.js +1 -29
  16. data/app/assets/javascripts/lcms/engine/initializers/foundation.js +5 -0
  17. data/app/assets/stylesheets/lcms/engine/admin.scss +1 -2
  18. data/app/assets/stylesheets/lcms/engine/application.scss +6 -60
  19. data/app/assets/stylesheets/lcms/engine/base/_colors.scss +2 -2
  20. data/app/assets/stylesheets/lcms/engine/components/lesson/_icons.scss +0 -25
  21. data/app/assets/stylesheets/lcms/engine/layout/_footer.scss +2 -0
  22. data/app/assets/stylesheets/lcms/engine/layout/_header.scss +1 -210
  23. data/app/assets/stylesheets/lcms/engine/pdf.scss +4 -28
  24. data/app/assets/stylesheets/lcms/engine/pdf_plain.scss +3 -11
  25. data/app/assets/stylesheets/lcms/engine/print/_typography.scss +0 -5
  26. data/app/assets/stylesheets/lcms/engine/themes/_settings.scss +419 -116
  27. data/app/assets/stylesheets/lcms/engine/utils/_mixins.scss +2 -2
  28. data/app/assets/stylesheets/lcms/engine/utils/_variables.scss +4 -4
  29. data/app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides-pdf.scss +0 -1
  30. data/app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides.scss +13 -2
  31. data/app/controllers/concerns/lcms/engine/reimportable.rb +20 -1
  32. data/app/controllers/lcms/engine/admin/admin_controller.rb +2 -0
  33. data/app/controllers/lcms/engine/admin/association_picker_controller.rb +10 -9
  34. data/app/controllers/lcms/engine/admin/documents_controller.rb +27 -22
  35. data/app/controllers/lcms/engine/admin/materials_controller.rb +28 -22
  36. data/app/controllers/lcms/engine/admin/resource_picker_controller.rb +2 -2
  37. data/app/controllers/lcms/engine/admin/resources_controller.rb +81 -43
  38. data/app/controllers/lcms/engine/admin/sketch_compilers_controller.rb +2 -2
  39. data/app/controllers/lcms/engine/admin/standards_controller.rb +6 -1
  40. data/app/controllers/lcms/engine/admin/users_controller.rb +6 -1
  41. data/app/controllers/lcms/engine/application_controller.rb +0 -15
  42. data/app/controllers/lcms/engine/surveys_controller.rb +3 -14
  43. data/app/entities/lcms/engine/grades.rb +17 -6
  44. data/app/entities/lcms/engine/media_embed.rb +1 -1
  45. data/app/entities/lcms/engine/pagination.rb +14 -5
  46. data/app/entities/lcms/engine/roman_numerals.rb +1 -1
  47. data/app/forms/lcms/engine/document_form.rb +19 -14
  48. data/app/forms/lcms/engine/material_form.rb +4 -2
  49. data/app/helpers/admin/components_helper.rb +2 -2
  50. data/app/helpers/lcms/engine/application_helper.rb +6 -2
  51. data/app/helpers/lcms/engine/resource_helper.rb +0 -17
  52. data/app/helpers/lcms/engine/view_helper.rb +2 -4
  53. data/app/interactors/lcms/engine/explore_curriculum_interactor.rb +2 -2
  54. data/app/javascript/components/admin/ImportStatus.jsx +8 -4
  55. data/app/javascript/components/admin/MultiSelectedOperation.jsx +1 -0
  56. data/app/javascript/components/admin/association-picker/AssociationPicker.jsx +1 -0
  57. data/app/javascript/components/admin/association-picker/AssociationPickerResults.jsx +2 -1
  58. data/app/javascript/components/admin/association-picker/AssociationPickerWindow.jsx +1 -0
  59. data/app/javascript/components/admin/curriculum/CurriculumEditor.jsx +1 -0
  60. data/app/javascript/components/admin/picker/pickerWindowWrapper.jsx +0 -1
  61. data/app/javascript/components/admin/resource-picker/ResourcePicker.jsx +1 -0
  62. data/app/jobs/concerns/lcms/engine/nested_resque_job.rb +1 -4
  63. data/app/jobs/lcms/engine/document_generate_gdoc_job.rb +2 -2
  64. data/app/jobs/lcms/engine/document_generate_job.rb +1 -1
  65. data/app/jobs/lcms/engine/document_parse_job.rb +1 -1
  66. data/app/models/lcms/engine/access_code.rb +1 -1
  67. data/app/models/lcms/engine/application_record.rb +9 -0
  68. data/app/models/lcms/engine/author.rb +1 -1
  69. data/app/models/lcms/engine/component.rb +3 -3
  70. data/app/models/lcms/engine/copyright_attribution.rb +1 -1
  71. data/app/models/lcms/engine/curriculum.rb +1 -1
  72. data/app/models/lcms/engine/document.rb +3 -3
  73. data/app/models/lcms/engine/document_bundle.rb +2 -2
  74. data/app/models/lcms/engine/document_part.rb +1 -1
  75. data/app/models/lcms/engine/download.rb +4 -4
  76. data/app/models/lcms/engine/download_category.rb +1 -1
  77. data/app/models/lcms/engine/leadership_post.rb +1 -1
  78. data/app/models/lcms/engine/material.rb +2 -2
  79. data/app/models/lcms/engine/material_part.rb +1 -1
  80. data/app/models/lcms/engine/reading_assignment_author.rb +1 -1
  81. data/app/models/lcms/engine/reading_assignment_text.rb +1 -1
  82. data/app/models/lcms/engine/resource.rb +4 -12
  83. data/app/models/lcms/engine/resource_additional_resource.rb +1 -1
  84. data/app/models/lcms/engine/resource_download.rb +1 -1
  85. data/app/models/lcms/engine/resource_reading_assignment.rb +1 -1
  86. data/app/models/lcms/engine/resource_related_resource.rb +1 -1
  87. data/app/models/lcms/engine/resource_standard.rb +1 -1
  88. data/app/models/lcms/engine/search/document.rb +4 -3
  89. data/app/models/lcms/engine/search/elastic_search_document.rb +1 -1
  90. data/app/models/lcms/engine/settings.rb +1 -1
  91. data/app/models/lcms/engine/social_thumbnail.rb +1 -1
  92. data/app/models/lcms/engine/staff_member.rb +1 -1
  93. data/app/models/lcms/engine/standard.rb +1 -1
  94. data/app/models/lcms/engine/standard_link.rb +1 -1
  95. data/app/models/lcms/engine/user.rb +3 -3
  96. data/app/presenters/lcms/engine/content_presenter.rb +1 -1
  97. data/app/presenters/lcms/engine/document_presenter.rb +5 -7
  98. data/app/queries/lcms/engine/admin_documents_query.rb +2 -2
  99. data/app/queries/lcms/engine/admin_materials_query.rb +1 -1
  100. data/app/serializers/lcms/engine/association_item_serializer.rb +0 -1
  101. data/app/serializers/lcms/engine/curriculum_resource_serializer.rb +0 -2
  102. data/app/serializers/lcms/engine/document_material_serializer.rb +0 -1
  103. data/app/serializers/lcms/engine/material_serializer.rb +0 -1
  104. data/app/serializers/lcms/engine/previews_material_serializer.rb +1 -1
  105. data/app/serializers/lcms/engine/resource_details_serializer.rb +0 -2
  106. data/app/serializers/lcms/engine/resource_instruction_serializer.rb +0 -2
  107. data/app/serializers/lcms/engine/resource_picker_serializer.rb +0 -2
  108. data/app/serializers/lcms/engine/resource_serializer.rb +0 -2
  109. data/app/serializers/lcms/engine/search_document_serializer.rb +0 -2
  110. data/app/services/lcms/engine/document_build_service.rb +5 -0
  111. data/app/services/lcms/engine/html_sanitizer.rb +5 -5
  112. data/app/services/lcms/engine/lessons_gdoc_bundler.rb +1 -1
  113. data/app/services/lcms/engine/material_build_service.rb +6 -2
  114. data/app/services/lcms/engine/material_preview_generator.rb +2 -2
  115. data/app/services/lcms/engine/react_materials_resolver.rb +3 -2
  116. data/app/services/lcms/engine/s3_service.rb +1 -1
  117. data/app/uploaders/social_thumbnail_uploader.rb +0 -4
  118. data/app/views/devise/confirmations/new.html.erb +1 -1
  119. data/app/views/devise/passwords/edit.html.erb +1 -1
  120. data/app/views/devise/passwords/new.html.erb +1 -1
  121. data/app/views/devise/registrations/new.html.erb +1 -1
  122. data/app/views/devise/sessions/new.html.erb +2 -2
  123. data/app/views/layouts/lcms/engine/admin.html.erb +1 -3
  124. data/app/views/layouts/lcms/engine/application.html.erb +0 -6
  125. data/app/views/layouts/lcms/engine/cg_pdf.erb +0 -38
  126. data/app/views/layouts/lcms/engine/lti.html.erb +0 -1
  127. data/app/views/lcms/engine/admin/access_codes/index.html.erb +10 -8
  128. data/app/views/lcms/engine/admin/batch_reimports/_search_form.html.erb +1 -1
  129. data/app/views/lcms/engine/admin/curriculums/edit.html.erb +3 -2
  130. data/app/views/lcms/engine/admin/documents/_materials_links.html.erb +2 -2
  131. data/app/views/lcms/engine/admin/documents/_search_form.html.erb +1 -1
  132. data/app/views/lcms/engine/admin/documents/index.html.erb +4 -4
  133. data/app/views/lcms/engine/admin/documents/new.html.erb +1 -1
  134. data/app/views/lcms/engine/admin/materials/_search_form.html.erb +1 -1
  135. data/app/views/lcms/engine/admin/materials/index.html.erb +6 -6
  136. data/app/views/lcms/engine/admin/resource_bulk_edits/new.html.erb +3 -3
  137. data/app/views/lcms/engine/admin/resources/_fields.html.erb +3 -0
  138. data/app/views/lcms/engine/admin/resources/_search_form.html.erb +1 -1
  139. data/app/views/lcms/engine/admin/shared/_header.html.erb +1 -8
  140. data/app/views/lcms/engine/admin/standards/index.html.erb +9 -7
  141. data/app/views/lcms/engine/admin/users/index.html.erb +16 -14
  142. data/app/views/lcms/engine/documents/_content.html.erb +0 -1
  143. data/app/views/lcms/engine/documents/_sticky_header.html.erb +1 -1
  144. data/app/views/lcms/engine/documents/_sticky_site_menu.html.erb +0 -1
  145. data/app/views/lcms/engine/documents/gdoc/_agenda.html.erb +1 -1
  146. data/app/views/lcms/engine/documents/show.html.erb +1 -1
  147. data/app/views/lcms/engine/materials/show.html.erb +1 -1
  148. data/app/views/lcms/engine/resources/_children_list.html.erb +1 -1
  149. data/app/views/lcms/engine/resources/_download.html.erb +4 -4
  150. data/app/views/lcms/engine/resources/_unit_bundles.html.erb +4 -4
  151. data/app/views/lcms/engine/resources/show.html.erb +2 -2
  152. data/app/views/lcms/engine/shared/_footer.html.erb +1 -3
  153. data/app/views/lcms/engine/shared/_header.html.erb +2 -36
  154. data/app/views/lcms/engine/surveys/show.html.erb +1 -1
  155. data/app/views/lcms/engine/welcome/index.html.erb +1 -80
  156. data/config/initializers/carrier_wave.rb +0 -1
  157. data/config/locales/admin/en.yml +2 -1
  158. data/config/routes.rb +2 -36
  159. data/db/migrate/20200422130652_add_reimported_at_to_documents.rb +7 -0
  160. data/db/migrate/20200429130353_drop_pages.rb +13 -0
  161. data/db/schema.rb +1 -1
  162. data/docs/env-variables.md +87 -0
  163. data/docs/google-cloud-platform-setup.md +106 -0
  164. data/lcms-engine.gemspec +69 -89
  165. data/lib/doc_template.rb +1 -1
  166. data/lib/doc_template/document.rb +2 -2
  167. data/lib/doc_template/objects/agenda_metadata.rb +1 -1
  168. data/lib/doc_template/objects/metadata_helpers.rb +1 -1
  169. data/lib/doc_template/objects/toc_metadata.rb +2 -2
  170. data/lib/doc_template/tables/activity.rb +1 -2
  171. data/lib/doc_template/tables/base.rb +7 -2
  172. data/lib/doc_template/tables/section.rb +1 -2
  173. data/lib/doc_template/tags/activity_metadata_type_tag.rb +1 -1
  174. data/lib/doc_template/tags/answer_space_tag.rb +1 -1
  175. data/lib/doc_template/tags/base_tag.rb +3 -3
  176. data/lib/doc_template/tags/columns_tag.rb +1 -1
  177. data/lib/doc_template/tags/def_tag.rb +1 -1
  178. data/lib/doc_template/tags/expand_tag.rb +1 -0
  179. data/lib/doc_template/tags/heading_tag.rb +1 -1
  180. data/lib/doc_template/tags/inset_tag.rb +2 -2
  181. data/lib/doc_template/tags/latex_tag.rb +1 -1
  182. data/lib/doc_template/tags/link_tag.rb +1 -1
  183. data/lib/doc_template/tags/page_break_tag.rb +1 -1
  184. data/lib/doc_template/tags/pd_tag.rb +4 -4
  185. data/lib/doc_template/tags/section_tag.rb +2 -2
  186. data/lib/doc_template/tags/standard_tag.rb +3 -3
  187. data/lib/doc_template/tags/table_preserve_alignment_tag.rb +1 -1
  188. data/lib/doc_template/xpath_functions.rb +3 -1
  189. data/lib/document_exporter/base.rb +1 -2
  190. data/lib/document_exporter/docx.rb +0 -1
  191. data/lib/document_exporter/gdoc/base.rb +1 -1
  192. data/lib/document_renderer/part.rb +3 -3
  193. data/lib/elasticsearch/persistence/repository/response/results.rb +1 -1
  194. data/lib/generators/lcms/engine/install/install_generator.rb +1 -4
  195. data/lib/generators/lcms/engine/install/templates/config/lcms.yml +1 -1
  196. data/lib/lcms/engine/engine.rb +1 -25
  197. data/lib/lcms/engine/migration.rb +2 -0
  198. data/lib/lcms/engine/version.rb +1 -1
  199. data/lib/lt/lcms/metadata/base_service.rb +2 -1
  200. data/lib/lt/lcms/metadata/context.rb +6 -8
  201. data/lib/lt/lcms/metadata/service.rb +3 -1
  202. data/lib/resque_job.rb +3 -6
  203. data/lib/standard_importer.rb +4 -4
  204. data/lib/tasks/cloud66.rake +6 -4
  205. data/lib/tasks/document.rake +3 -3
  206. data/lib/tasks/google.rake +1 -1
  207. data/package.json +1 -0
  208. data/spec/controllers/admin/admin_controller_spec.rb +1 -1
  209. data/spec/controllers/admin/association_picker_controller_spec.rb +6 -8
  210. data/spec/controllers/admin/curriculums_controller_spec.rb +1 -2
  211. data/spec/controllers/admin/documents_controller_spec.rb +47 -11
  212. data/spec/controllers/admin/materials_controller_spec.rb +72 -6
  213. data/spec/controllers/admin/resource_bulk_edit_controller_spec.rb +3 -3
  214. data/spec/controllers/admin/resources_controller_spec.rb +72 -0
  215. data/spec/controllers/admin/sketch_compilers_controller_spec.rb +5 -4
  216. data/spec/controllers/admin/standards_controller_spec.rb +12 -9
  217. data/spec/controllers/admin/users_controller_spec.rb +2 -2
  218. data/spec/controllers/admin/welcome_controller_spec.rb +1 -1
  219. data/spec/controllers/documents_controller_spec.rb +3 -3
  220. data/spec/controllers/resources_controller_spec.rb +2 -2
  221. data/spec/dummy/.env.docker +1 -1
  222. data/spec/dummy/bin/spring +2 -2
  223. data/spec/dummy/config/application.rb +3 -3
  224. data/spec/dummy/config/environments/production.rb +1 -1
  225. data/spec/dummy/config/environments/test.rb +2 -5
  226. data/spec/dummy/config/lcms-admin.yml +3 -3
  227. data/spec/dummy/config/puma.rb +3 -3
  228. data/spec/dummy/config/webpack/development.js +5 -0
  229. data/spec/dummy/config/webpack/environment.js +3 -0
  230. data/spec/dummy/config/webpack/production.js +5 -0
  231. data/spec/dummy/config/webpack/test.js +5 -0
  232. data/spec/dummy/config/webpacker.yml +96 -0
  233. data/spec/dummy/db/schema.rb +275 -307
  234. data/spec/entities/grades_spec.rb +12 -0
  235. data/spec/factories/document_bundles.rb +1 -1
  236. data/spec/factories/standard_links.rb +2 -0
  237. data/spec/factories/taggings.rb +1 -0
  238. data/spec/features/admin/lessons/add_lesson_spec.rb +3 -3
  239. data/spec/features/admin/materials/add_material_spec.rb +3 -3
  240. data/spec/features/welcome_spec.rb +1 -1
  241. data/spec/fixtures/tables/activity-metadata-3activities.html +1 -0
  242. data/spec/fixtures/tables/document-metadata-2paragpraphs.html +97 -0
  243. data/spec/fixtures/tables/document-metadata-2spans.html +96 -0
  244. data/spec/fixtures/tables/document-metadata.html +96 -0
  245. data/spec/forms/document_form_spec.rb +11 -1
  246. data/spec/lib/doc_template/tables/activity_spec.rb +28 -0
  247. data/spec/lib/doc_template/tables/metadata_spec.rb +40 -0
  248. data/spec/lib/doc_template/tables/shared_examples/remove_table.rb +11 -0
  249. data/spec/models/document_bundle_spec.rb +0 -6
  250. data/spec/models/resource_spec.rb +0 -33
  251. data/spec/rails_helper.rb +19 -1
  252. data/spec/requests/admin/curriculum_spec.rb +17 -0
  253. data/spec/services/document_build_service_spec.rb +76 -62
  254. data/spec/support/capybara.rb +1 -3
  255. data/spec/support/concerns/searchable.rb +2 -0
  256. data/spec/support/database_cleaner.rb +5 -16
  257. data/spec/support/devise.rb +2 -0
  258. data/spec/support/fixture_helper.rb +16 -0
  259. data/vendor/assets/javascripts/selectize.min.js +4 -0
  260. data/vendor/assets/stylesheets/selectize.scss +333 -0
  261. data/yarn.lock +765 -608
  262. metadata +376 -760
  263. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.eot +0 -0
  264. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.svg +0 -689
  265. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.ttf +0 -0
  266. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Medium-Web.woff +0 -0
  267. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.eot +0 -0
  268. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.svg +0 -697
  269. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.ttf +0 -0
  270. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Regular-Web.woff +0 -0
  271. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.eot +0 -0
  272. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.svg +0 -768
  273. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.ttf +0 -0
  274. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-RegularItalic-Web.woff +0 -0
  275. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.eot +0 -0
  276. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.svg +0 -685
  277. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.ttf +0 -0
  278. data/app/assets/fonts/lcms/engine/caponi/CaponiSlab-Semibold-Web.woff +0 -0
  279. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.eot +0 -0
  280. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.svg +0 -5603
  281. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Bold.woff +0 -0
  282. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.eot +0 -0
  283. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.svg +0 -5763
  284. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Light.woff +0 -0
  285. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.eot +0 -0
  286. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.otf +0 -0
  287. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.svg +0 -5400
  288. data/app/assets/fonts/lcms/engine/centro/PFCentroSansCond-Medium.woff +0 -0
  289. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.eot +0 -0
  290. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.html +0 -15
  291. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.otf +0 -0
  292. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.svg +0 -13061
  293. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Bold.woff +0 -0
  294. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.eot +0 -0
  295. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.html +0 -15
  296. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.otf +0 -0
  297. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.svg +0 -13075
  298. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Light.woff +0 -0
  299. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.eot +0 -0
  300. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.otf +0 -0
  301. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.svg +0 -13142
  302. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-LightItalic.woff +0 -0
  303. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.eot +0 -0
  304. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.ttf +0 -0
  305. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.woff +0 -0
  306. data/app/assets/fonts/lcms/engine/centro/PFCentroSansPro-Medium.woff2 +0 -0
  307. data/app/assets/fonts/lcms/engine/cursive/Sriracha-Regular.ttf +0 -0
  308. data/app/assets/fonts/lcms/engine/icons/ubicons.eot +0 -0
  309. data/app/assets/fonts/lcms/engine/icons/ubicons.svg +0 -50
  310. data/app/assets/fonts/lcms/engine/icons/ubicons.ttf +0 -0
  311. data/app/assets/fonts/lcms/engine/icons/ubicons.woff +0 -0
  312. data/app/assets/fonts/lcms/engine/ub/UBIcons.eot +0 -0
  313. data/app/assets/fonts/lcms/engine/ub/UBIcons.svg +0 -18
  314. data/app/assets/fonts/lcms/engine/ub/UBIcons.ttf +0 -0
  315. data/app/assets/fonts/lcms/engine/ub/UBIcons.woff +0 -0
  316. data/app/assets/images/lcms/engine/lessons/ld_p1.png +0 -0
  317. data/app/assets/images/lcms/engine/lessons/ld_p2.png +0 -0
  318. data/app/assets/images/lcms/engine/lessons/ld_p3.png +0 -0
  319. data/app/assets/images/lcms/engine/lessons/tens.png +0 -0
  320. data/app/assets/images/lcms/engine/lessons/wp.svg +0 -30
  321. data/app/assets/images/lcms/engine/tile-wide.png +0 -0
  322. data/app/assets/images/lcms/engine/tile.png +0 -0
  323. data/app/assets/javascripts/lcms/engine/components.js +0 -7
  324. data/app/assets/javascripts/lcms/engine/components/.gitkeep +0 -0
  325. data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMap.js.jsx +0 -31
  326. data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapLesson.js.jsx +0 -18
  327. data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapModule.js.jsx +0 -59
  328. data/app/assets/javascripts/lcms/engine/components/curriculum-map/CurriculumMapUnit.js.jsx +0 -56
  329. data/app/assets/javascripts/lcms/engine/components/curriculum-map/ResourceHover.js.jsx +0 -27
  330. data/app/assets/javascripts/lcms/engine/components/curriculum-map/ResourcePreview.js.jsx +0 -29
  331. data/app/assets/javascripts/lcms/engine/components/enhance-instruction/EnhanceInstructionCards.js.jsx +0 -13
  332. data/app/assets/javascripts/lcms/engine/components/enhance-instruction/EnhanceInstructionPage.js.jsx +0 -139
  333. data/app/assets/javascripts/lcms/engine/components/enhance-instruction/GenericResourceCard.js.jsx +0 -20
  334. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumCardItem.js.jsx +0 -152
  335. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumGradeMap.js.jsx +0 -44
  336. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumHeader.js.jsx +0 -10
  337. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumItem.js.jsx +0 -77
  338. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumModuleMap.js.jsx +0 -59
  339. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumOpr.js.jsx +0 -62
  340. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumPage.js.jsx +0 -258
  341. data/app/assets/javascripts/lcms/engine/components/explore-curriculum/ExploreCurriculumUnitMap.js.jsx +0 -50
  342. data/app/assets/javascripts/lcms/engine/components/filterbar/FilterBarResponsive.js.jsx +0 -62
  343. data/app/assets/javascripts/lcms/engine/components/filterbar/Filterbar.js.jsx +0 -258
  344. data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarFacet.js.jsx +0 -12
  345. data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarGrade.js.jsx +0 -14
  346. data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarSearch.js.jsx +0 -48
  347. data/app/assets/javascripts/lcms/engine/components/filterbar/FilterbarSubject.js.jsx +0 -12
  348. data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsCards.js.jsx +0 -11
  349. data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsCardsEmpty.js.jsx +0 -17
  350. data/app/assets/javascripts/lcms/engine/components/find-lessons/FindLessonsPage.js.jsx +0 -58
  351. data/app/assets/javascripts/lcms/engine/components/helpers/FreshdeskBtn.js.jsx +0 -9
  352. data/app/assets/javascripts/lcms/engine/components/helpers/MediaTime.js.jsx +0 -6
  353. data/app/assets/javascripts/lcms/engine/components/helpers/SearchResultsHeader.js.jsx +0 -41
  354. data/app/assets/javascripts/lcms/engine/components/helpers/TimeToTeach.js.jsx +0 -29
  355. data/app/assets/javascripts/lcms/engine/components/instruction-card/InstructionCard.js.jsx +0 -57
  356. data/app/assets/javascripts/lcms/engine/components/lesson-card/LessonCard.js.jsx +0 -45
  357. data/app/assets/javascripts/lcms/engine/components/materials/CollapsedMaterial.js.jsx +0 -40
  358. data/app/assets/javascripts/lcms/engine/components/materials/DocumentMaterialsList.js.jsx +0 -33
  359. data/app/assets/javascripts/lcms/engine/components/materials/ExpandedMaterial.js.jsx +0 -37
  360. data/app/assets/javascripts/lcms/engine/components/materials/MaterialsContainer.js.jsx +0 -92
  361. data/app/assets/javascripts/lcms/engine/components/materials/MaterialsList.js.jsx +0 -19
  362. data/app/assets/javascripts/lcms/engine/components/modals/DownloadModal.js.jsx +0 -68
  363. data/app/assets/javascripts/lcms/engine/components/related-instruction/RelatedInstruction.js.jsx +0 -72
  364. data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdown.js.jsx +0 -159
  365. data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdownResult.js.jsx +0 -12
  366. data/app/assets/javascripts/lcms/engine/components/search-dropdown/SearchDropdownResults.js.jsx +0 -36
  367. data/app/assets/javascripts/lcms/engine/components/search/SearchPage.js.jsx +0 -44
  368. data/app/assets/javascripts/lcms/engine/components/search/SearchResult.js.jsx +0 -22
  369. data/app/assets/javascripts/lcms/engine/components/search/SearchResults.js.jsx +0 -17
  370. data/app/assets/javascripts/lcms/engine/components/search/SearchResultsEmpty.js.jsx +0 -25
  371. data/app/assets/javascripts/lcms/engine/components/search/searchPageWrapper.js.jsx +0 -77
  372. data/app/assets/javascripts/lcms/engine/components/select-activity/SelectActivityConfirmationModal.js.jsx +0 -107
  373. data/app/assets/javascripts/lcms/engine/components/select-activity/SelectActivityToggle.js.jsx +0 -39
  374. data/app/assets/javascripts/lcms/engine/components/stores/ExcludesStore.js.jsx +0 -11
  375. data/app/assets/javascripts/lcms/engine/components/tabs/SimpleTab.js.jsx +0 -130
  376. data/app/assets/javascripts/lcms/engine/components/utils/UrlHistory.js.jsx +0 -113
  377. data/app/assets/javascripts/lcms/engine/components/utils/colorcodecss.js.jsx +0 -4
  378. data/app/assets/javascripts/lcms/engine/components/utils/converttobem.js.jsx +0 -3
  379. data/app/assets/javascripts/lcms/engine/components/utils/filterbarupdate.js.jsx +0 -5
  380. data/app/assets/javascripts/lcms/engine/components/utils/heaptrackpd.js.jsx +0 -5
  381. data/app/assets/javascripts/lcms/engine/components/utils/regexpescape.js.jsx +0 -5
  382. data/app/assets/javascripts/lcms/engine/components/utils/scalenumber.js.jsx +0 -8
  383. data/app/assets/javascripts/lcms/engine/initializers/about_people.js +0 -8
  384. data/app/assets/javascripts/lcms/engine/initializers/bundles.js +0 -12
  385. data/app/assets/javascripts/lcms/engine/initializers/events.js +0 -3
  386. data/app/assets/javascripts/lcms/engine/initializers/freshdesk.js +0 -18
  387. data/app/assets/javascripts/lcms/engine/initializers/google_analytics.js +0 -10
  388. data/app/assets/javascripts/lcms/engine/initializers/header_dropdown.js +0 -44
  389. data/app/assets/javascripts/lcms/engine/initializers/heap_analytics.js +0 -78
  390. data/app/assets/javascripts/lcms/engine/initializers/leadership.js +0 -22
  391. data/app/assets/javascripts/lcms/engine/initializers/lessons.js +0 -299
  392. data/app/assets/javascripts/lcms/engine/initializers/loadasync.js +0 -30
  393. data/app/assets/javascripts/lcms/engine/initializers/pdf_preview.js +0 -15
  394. data/app/assets/javascripts/lcms/engine/initializers/resource_details.js +0 -21
  395. data/app/assets/javascripts/lcms/engine/initializers/sidebar/SideBar.js.jsx +0 -86
  396. data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarCGMenu.js.jsx +0 -37
  397. data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarDocMenu.js.jsx +0 -75
  398. data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarMobile.js.jsx +0 -43
  399. data/app/assets/javascripts/lcms/engine/initializers/sidebar/SidebarSticky.js.jsx +0 -43
  400. data/app/assets/javascripts/lcms/engine/initializers/sidebar/TopScroll.js.jsx +0 -21
  401. data/app/assets/javascripts/lcms/engine/initializers/social_sharing.js +0 -29
  402. data/app/assets/javascripts/lcms/engine/initializers/soundcloud.js +0 -52
  403. data/app/assets/javascripts/lcms/engine/initializers/subscribe_placeholder.js +0 -12
  404. data/app/assets/javascripts/lcms/engine/initializers/survey.js +0 -31
  405. data/app/assets/stylesheets/lcms/engine/base/_cg-colors.scss +0 -48
  406. data/app/assets/stylesheets/lcms/engine/base/_fonts.scss +0 -103
  407. data/app/assets/stylesheets/lcms/engine/base/_icons.scss +0 -342
  408. data/app/assets/stylesheets/lcms/engine/components/_buttons.scss +0 -200
  409. data/app/assets/stylesheets/lcms/engine/components/_cards.scss +0 -36
  410. data/app/assets/stylesheets/lcms/engine/components/_cg-base.scss +0 -22
  411. data/app/assets/stylesheets/lcms/engine/components/_curriculum-cards.scss +0 -237
  412. data/app/assets/stylesheets/lcms/engine/components/_curriculum-map.scss +0 -214
  413. data/app/assets/stylesheets/lcms/engine/components/_download-modal.scss +0 -56
  414. data/app/assets/stylesheets/lcms/engine/components/_filterbar-modal.scss +0 -20
  415. data/app/assets/stylesheets/lcms/engine/components/_filterbar.scss +0 -184
  416. data/app/assets/stylesheets/lcms/engine/components/_generic-resource.scss +0 -58
  417. data/app/assets/stylesheets/lcms/engine/components/_inputs.scss +0 -12
  418. data/app/assets/stylesheets/lcms/engine/components/_instruction-cards.scss +0 -160
  419. data/app/assets/stylesheets/lcms/engine/components/_lesson-base.scss +0 -31
  420. data/app/assets/stylesheets/lcms/engine/components/_lesson-cards.scss +0 -119
  421. data/app/assets/stylesheets/lcms/engine/components/_ls-post.scss +0 -38
  422. data/app/assets/stylesheets/lcms/engine/components/_material-base.scss +0 -6
  423. data/app/assets/stylesheets/lcms/engine/components/_media-resources.scss +0 -6
  424. data/app/assets/stylesheets/lcms/engine/components/_media.scss +0 -95
  425. data/app/assets/stylesheets/lcms/engine/components/_pagination.scss +0 -84
  426. data/app/assets/stylesheets/lcms/engine/components/_panel-dsc.scss +0 -37
  427. data/app/assets/stylesheets/lcms/engine/components/_panel.scss +0 -7
  428. data/app/assets/stylesheets/lcms/engine/components/_related-instruction.scss +0 -31
  429. data/app/assets/stylesheets/lcms/engine/components/_resource.scss +0 -217
  430. data/app/assets/stylesheets/lcms/engine/components/_search-dropdown.scss +0 -23
  431. data/app/assets/stylesheets/lcms/engine/components/_search-header.scss +0 -45
  432. data/app/assets/stylesheets/lcms/engine/components/_search.scss +0 -57
  433. data/app/assets/stylesheets/lcms/engine/components/_sidebar.scss +0 -159
  434. data/app/assets/stylesheets/lcms/engine/components/_simple-tab.scss +0 -57
  435. data/app/assets/stylesheets/lcms/engine/components/_social-sharing.scss +0 -20
  436. data/app/assets/stylesheets/lcms/engine/components/_titles.scss +0 -33
  437. data/app/assets/stylesheets/lcms/engine/components/_top-scroll-button.scss +0 -28
  438. data/app/assets/stylesheets/lcms/engine/components/_unit-bundles.scss +0 -14
  439. data/app/assets/stylesheets/lcms/engine/components/cg/_annotations.scss +0 -48
  440. data/app/assets/stylesheets/lcms/engine/components/cg/_colorscheme.scss +0 -60
  441. data/app/assets/stylesheets/lcms/engine/components/cg/_contents-modal.scss +0 -20
  442. data/app/assets/stylesheets/lcms/engine/components/cg/_elements.scss +0 -11
  443. data/app/assets/stylesheets/lcms/engine/components/cg/_faq.scss +0 -35
  444. data/app/assets/stylesheets/lcms/engine/components/cg/_footnote.scss +0 -20
  445. data/app/assets/stylesheets/lcms/engine/components/cg/_hacks.scss +0 -11
  446. data/app/assets/stylesheets/lcms/engine/components/cg/_icons.scss +0 -30
  447. data/app/assets/stylesheets/lcms/engine/components/cg/_keywords.scss +0 -5
  448. data/app/assets/stylesheets/lcms/engine/components/cg/_links.scss +0 -3
  449. data/app/assets/stylesheets/lcms/engine/components/cg/_quotes.scss +0 -18
  450. data/app/assets/stylesheets/lcms/engine/components/cg/_standards.scss +0 -23
  451. data/app/assets/stylesheets/lcms/engine/components/cg/_table.scss +0 -50
  452. data/app/assets/stylesheets/lcms/engine/components/cg/_task.scss +0 -43
  453. data/app/assets/stylesheets/lcms/engine/components/cg/_video.scss +0 -10
  454. data/app/assets/stylesheets/lcms/engine/components/support/_helpdesk.scss +0 -25
  455. data/app/assets/stylesheets/lcms/engine/freshdesk/base/_colors.scss +0 -25
  456. data/app/assets/stylesheets/lcms/engine/freshdesk/base/_typography.scss +0 -19
  457. data/app/assets/stylesheets/lcms/engine/freshdesk/components/_block.scss +0 -5
  458. data/app/assets/stylesheets/lcms/engine/freshdesk/components/_buttons.scss +0 -5
  459. data/app/assets/stylesheets/lcms/engine/freshdesk/components/_help-center.scss +0 -59
  460. data/app/assets/stylesheets/lcms/engine/freshdesk/components/_tabs.scss +0 -33
  461. data/app/assets/stylesheets/lcms/engine/freshdesk/freshdesk.scss +0 -42
  462. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_footer.scss +0 -44
  463. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_header.scss +0 -49
  464. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/_page.scss +0 -40
  465. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/footer.liquid +0 -14
  466. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/header.liquid +0 -41
  467. data/app/assets/stylesheets/lcms/engine/freshdesk/layout/page.liquid +0 -22
  468. data/app/assets/stylesheets/lcms/engine/freshdesk/pages/_portal-home.scss +0 -18
  469. data/app/assets/stylesheets/lcms/engine/freshdesk/pages/portal.home.liquid +0 -74
  470. data/app/assets/stylesheets/lcms/engine/freshdesk/themes/_settings.scss +0 -19
  471. data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_breakpoint.scss +0 -288
  472. data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_helpers.scss +0 -22
  473. data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_unit.scss +0 -95
  474. data/app/assets/stylesheets/lcms/engine/freshdesk/utils/_value.scss +0 -138
  475. data/app/assets/stylesheets/lcms/engine/layout/_connect.scss +0 -63
  476. data/app/assets/stylesheets/lcms/engine/layout/_header-search-form.scss +0 -30
  477. data/app/assets/stylesheets/lcms/engine/layout/_sticky-header.scss +0 -179
  478. data/app/assets/stylesheets/lcms/engine/layout/_sticky-navigation.scss +0 -124
  479. data/app/assets/stylesheets/lcms/engine/layout/_subscribe.scss +0 -68
  480. data/app/assets/stylesheets/lcms/engine/pages/_about-people.scss +0 -115
  481. data/app/assets/stylesheets/lcms/engine/pages/_about.scss +0 -61
  482. data/app/assets/stylesheets/lcms/engine/pages/_content-guide.scss +0 -205
  483. data/app/assets/stylesheets/lcms/engine/pages/_enhance-instruction.scss +0 -19
  484. data/app/assets/stylesheets/lcms/engine/pages/_explore-curriculum.scss +0 -46
  485. data/app/assets/stylesheets/lcms/engine/pages/_find-lessons.scss +0 -1
  486. data/app/assets/stylesheets/lcms/engine/pages/_home.scss +0 -237
  487. data/app/assets/stylesheets/lcms/engine/pages/_leadership.scss +0 -263
  488. data/app/assets/stylesheets/lcms/engine/pages/_lesson-document.scss +0 -138
  489. data/app/assets/stylesheets/lcms/engine/pages/_unsupported.scss +0 -18
  490. data/app/assets/stylesheets/lcms/engine/print/_b64-fonts.scss.erb +0 -65
  491. data/app/assets/stylesheets/lcms/engine/print/_cg-base.scss +0 -4
  492. data/app/assets/stylesheets/lcms/engine/print/_hacks.scss +0 -6
  493. data/app/assets/stylesheets/lcms/engine/print/cg/_base-typography.scss +0 -21
  494. data/app/assets/stylesheets/lcms/engine/print/cg/_breaks.scss +0 -7
  495. data/app/assets/stylesheets/lcms/engine/print/cg/_elements-typography.scss +0 -14
  496. data/app/assets/stylesheets/lcms/engine/vendors/swiper.css +0 -547
  497. data/app/controllers/concerns/lcms/engine/analytics_tracking.rb +0 -51
  498. data/app/controllers/concerns/lcms/engine/heap_notifyable.rb +0 -20
  499. data/app/controllers/lcms/engine/admin/configurable_admin.rb +0 -56
  500. data/app/controllers/lcms/engine/admin/google_oauth2_controller.rb +0 -15
  501. data/app/controllers/lcms/engine/admin/pages_controller.rb +0 -54
  502. data/app/controllers/lcms/engine/analytics_exclusion_controller.rb +0 -14
  503. data/app/controllers/lcms/engine/downloads_controller.rb +0 -50
  504. data/app/controllers/lcms/engine/enhance_instruction_controller.rb +0 -18
  505. data/app/controllers/lcms/engine/explore_curriculum_controller.rb +0 -28
  506. data/app/controllers/lcms/engine/find_lessons_controller.rb +0 -15
  507. data/app/controllers/lcms/engine/pages_controller.rb +0 -26
  508. data/app/controllers/lcms/engine/search_controller.rb +0 -15
  509. data/app/controllers/lcms/engine/sessions_controller.rb +0 -19
  510. data/app/models/lcms/engine/page.rb +0 -13
  511. data/app/services/lcms/engine/generate_thumbnails.rb +0 -54
  512. data/app/services/lcms/engine/svg_social_thumbnail.rb +0 -223
  513. data/app/views/layouts/lcms/engine/ld_docx.html.erb +0 -16
  514. data/app/views/lcms/engine/admin/pages/_form.html.erb +0 -8
  515. data/app/views/lcms/engine/admin/pages/edit.html.erb +0 -9
  516. data/app/views/lcms/engine/admin/pages/index.html.erb +0 -25
  517. data/app/views/lcms/engine/admin/pages/new.html.erb +0 -5
  518. data/app/views/lcms/engine/documents/_helpdesk.html.erb +0 -9
  519. data/app/views/lcms/engine/pages/_about_people_staff.html.erb +0 -27
  520. data/app/views/lcms/engine/pages/_leadership_in_action.html.erb +0 -25
  521. data/app/views/lcms/engine/pages/_leadership_why_i_lead.html.erb +0 -34
  522. data/app/views/lcms/engine/pages/about.html.erb +0 -87
  523. data/app/views/lcms/engine/pages/about_people.html.erb +0 -27
  524. data/app/views/lcms/engine/pages/forthcoming.html.erb +0 -9
  525. data/app/views/lcms/engine/pages/leadership.html.erb +0 -82
  526. data/app/views/lcms/engine/pages/not_found.html.erb +0 -9
  527. data/app/views/lcms/engine/pages/privacy.html.erb +0 -9
  528. data/app/views/lcms/engine/pages/show.html.erb +0 -8
  529. data/app/views/lcms/engine/pages/show_slug.html.erb +0 -0
  530. data/app/views/lcms/engine/pages/tos.html.erb +0 -9
  531. data/app/views/lcms/engine/shared/_connect.html.erb +0 -60
  532. data/app/views/lcms/engine/shared/_freshdesk.html.erb +0 -22
  533. data/app/views/lcms/engine/shared/_google_analytics.html.erb +0 -9
  534. data/app/views/lcms/engine/shared/_heap_analytics.html.erb +0 -7
  535. data/app/views/lcms/engine/shared/_open_graph_meta.html.erb +0 -15
  536. data/app/views/lcms/engine/shared/_open_graph_meta_js.html.erb +0 -39
  537. data/app/views/lcms/engine/shared/_search_form.html.erb +0 -10
  538. data/app/views/lcms/engine/shared/_social_sharing_menu.html.erb +0 -34
  539. data/app/views/lcms/engine/shared/_subscribe.html.erb +0 -30
  540. data/app/views/lcms/engine/shared/_unsupported.html.erb +0 -3
  541. data/app/views/lcms/engine/shared/social_thumbnail.svg.erb +0 -54
  542. data/config/initializers/active_record.rb +0 -3
  543. data/config/initializers/heap.rb +0 -3
  544. data/lib/tasks/thumbnails.rake +0 -59
  545. data/spec/controllers/admin/pages_controller_spec.rb +0 -19
  546. data/spec/controllers/enhance_instruction_controller_spec.rb +0 -15
  547. data/spec/controllers/explore_curriculum_controller_spec.rb +0 -29
  548. data/spec/controllers/find_lessons_controller_spec.rb +0 -50
  549. data/spec/controllers/pages_controller_spec.rb +0 -35
  550. data/spec/controllers/search_controller_spec.rb +0 -16
  551. data/spec/factories/pages.rb +0 -21
  552. data/spec/features/admin/pages_spec.rb +0 -79
  553. data/spec/features/pages/page_not_found_spec.rb +0 -26
  554. data/spec/features/pages/page_titles_spec.rb +0 -86
  555. data/spec/support/heap.rb +0 -3
  556. data/vendor/assets/javascripts/foundation.initialize.js +0 -115
  557. data/vendor/assets/javascripts/foundation.magellanex.js +0 -335
  558. data/vendor/assets/javascripts/freshwidget.js +0 -1
  559. data/vendor/assets/javascripts/jquery.easytabs.js +0 -704
  560. data/vendor/assets/javascripts/jquery.hashchange.js +0 -9
  561. data/vendor/assets/javascripts/modernizr-custom.js +0 -3
  562. data/vendor/assets/javascripts/smoothscrolling.js +0 -22
  563. data/vendor/assets/javascripts/swiper.jquery.js +0 -3777
  564. data/vendor/assets/javascripts/tabs.js +0 -6
@@ -15,9 +15,9 @@ module Lcms
15
15
 
16
16
  if response.success?
17
17
  url = DocumentExporter::Gdoc::Base.url_for JSON.parse(response.body)['id']
18
- redirect_to :back, notice: t('.success', url: url)
18
+ redirect_back fallback_location: new_admin_sketch_compiler_path, notice: t('.success', url: url)
19
19
  else
20
- redirect_to :back, alert: t('.compile_error')
20
+ redirect_back fallback_location: new_admin_sketch_compiler_path, alert: t('.compile_error')
21
21
  end
22
22
  end
23
23
 
@@ -5,11 +5,12 @@ module Lcms
5
5
  module Admin
6
6
  class StandardsController < AdminController
7
7
  before_action :find_standard, except: [:index]
8
+ before_action :set_query_params
8
9
 
9
10
  def edit; end
10
11
 
11
12
  def index
12
- @query = OpenStruct.new params[:query]
13
+ @query = OpenStruct.new @query_params
13
14
 
14
15
  scope = Standard.order(:id)
15
16
  scope = scope.search_by_name(@query.name) if @query.name.present?
@@ -31,6 +32,10 @@ module Lcms
31
32
  @standard = Standard.find(params[:id])
32
33
  end
33
34
 
35
+ def set_query_params
36
+ @query_params = params[:query]&.permit(:name) || {}
37
+ end
38
+
34
39
  def standard_params
35
40
  params.require(:standard).permit(:description)
36
41
  end
@@ -5,9 +5,10 @@ module Lcms
5
5
  module Admin
6
6
  class UsersController < AdminController
7
7
  before_action :find_user, except: %i(index new create)
8
+ before_action :set_query_params
8
9
 
9
10
  def index
10
- @query = OpenStruct.new(params[:query])
11
+ @query = OpenStruct.new @query_params
11
12
  @users = users(@query)
12
13
  end
13
14
 
@@ -52,6 +53,10 @@ module Lcms
52
53
  @user = User.find(params[:id])
53
54
  end
54
55
 
56
+ def set_query_params
57
+ @query_params = params[:query]&.permit(:access_code, :email) || {}
58
+ end
59
+
55
60
  def user_params
56
61
  params.require(:user).permit(:access_code, :email, :name, :role)
57
62
  end
@@ -6,12 +6,6 @@ module Lcms
6
6
  # store location to use at after sign in or other devise callbacks
7
7
  include LocationStorable
8
8
 
9
- protect_from_forgery with: :exception
10
-
11
- # NOTE: Temporary disabled
12
- # require auth for accessing the pilot
13
- # before_action :pilot_authentication if Rails.env.production? || Rails.env.production_swap?
14
-
15
9
  before_action :authenticate_user!, unless: :pdf_request?
16
10
 
17
11
  before_action :check_user_has_survey_filled_in, if: :user_signed_in?, unless: :devise_controller?
@@ -54,15 +48,6 @@ module Lcms
54
48
  def after_sign_out_path_for(resource_or_scope)
55
49
  session_path(resource_or_scope)
56
50
  end
57
-
58
- # NOTE: Temporary disabled
59
- # def pilot_authentication
60
- # return unless request.format.html?
61
- #
62
- # authenticate_or_request_with_http_basic('Administration') do |username, password|
63
- # username == ENV['HTTP_AUTH_NAME'] && password == ENV['HTTP_AUTH_PASS']
64
- # end
65
- # end
66
51
  end
67
52
  end
68
53
  end
@@ -9,33 +9,22 @@ module Lcms
9
9
  @form = SurveyForm.new(permitted_params)
10
10
  if @form.valid?
11
11
  current_user.update(survey: @form.attributes)
12
- notify_heap
13
12
  loc = stored_location_for(:user)
14
- loc = root_path if loc.is_a?(String) && loc[survey_path]
15
- redirect_to loc || root_path
13
+ loc = lcms_engine.root_path if loc.is_a?(String) && loc[survey_path]
14
+ redirect_to loc || lcms_engine.root_path
16
15
  else
17
16
  render :show
18
17
  end
19
18
  end
20
19
 
21
20
  def show
22
- return redirect_to root_path if current_user.ready_to_go?
21
+ return redirect_to lcms_engine.root_path if current_user.ready_to_go?
23
22
 
24
23
  @form = SurveyForm.new(current_user.survey)
25
24
  end
26
25
 
27
26
  private
28
27
 
29
- def notify_heap
30
- data = current_user
31
- .survey.except('first_name', 'last_name')
32
- .merge(
33
- access_code: current_user.access_code,
34
- email: current_user.email
35
- )
36
- Heap.add_user_properties current_user.id, data
37
- end
38
-
39
28
  def permitted_params
40
29
  params.require(:survey_form).permit(
41
30
  :additional_period,
@@ -12,31 +12,42 @@ module Lcms
12
12
 
13
13
  attr_reader :model
14
14
 
15
+ class << self
16
+ def grades
17
+ ::Lcms::Engine::Grades::GRADES
18
+ end
19
+
20
+ def grades_abbrevs
21
+ ::Lcms::Engine::Grades::GRADES_ABBR
22
+ end
23
+ end
24
+
15
25
  def initialize(model)
16
26
  @model = model
17
27
  end
18
28
 
19
29
  def list
20
- @list ||= if model.is_a?(Resource)
30
+ @list ||= case model
31
+ when Resource
21
32
  Array.wrap model.metadata['grade']
22
- elsif model.is_a?(Search::Document)
33
+ when Search::Document
23
34
  Array.wrap model.grade.presence
24
35
  else
25
36
  model.grade_list
26
- end.sort_by { |g| GRADES.index(g) }
37
+ end.sort_by { |g| self.class.grades.index(g) }
27
38
  end
28
39
 
29
40
  def average(abbr: true)
30
41
  return nil if average_number.nil?
31
42
 
32
- avg = GRADES[average_number]
43
+ avg = self.class.grades[average_number]
33
44
  abbr ? (grade_abbr(avg) || 'base') : avg
34
45
  end
35
46
 
36
47
  def average_number
37
48
  return nil if list.empty?
38
49
 
39
- list.map { |g| GRADES.index(g) }.sum / (list.size.nonzero? || 1)
50
+ list.map { |g| self.class.grades.index(g) }.sum / (list.size.nonzero? || 1)
40
51
  end
41
52
 
42
53
  def grade_abbr(abbr)
@@ -62,7 +73,7 @@ module Lcms
62
73
  abbr = grade_abbr(g).upcase
63
74
 
64
75
  # if the current grade is subsequent we store on the same chain
65
- if idx.zero? || GRADES.index(g) == GRADES.index(prev) + 1
76
+ if idx.zero? || self.class.grades.index(g) == self.class.grades.index(prev) + 1
66
77
  chain << abbr
67
78
  else
68
79
  # the grade is not subsequent, so we store the current chain, and create a new one
@@ -26,7 +26,7 @@ module Lcms
26
26
  when /vimeo\.com/
27
27
  url.match(%r{https?://(www\.)?vimeo.com/(\d+)}).try(:[], 2)
28
28
  when /youtu\.be/
29
- url.match(%r{https?://(www\.)?youtu\.be/([^"&?\/]+)}).try(:[], 2)
29
+ url.match(%r{https?://(www\.)?youtu\.be/([^"&?/]+)}).try(:[], 2)
30
30
  end
31
31
  end
32
32
  end
@@ -3,15 +3,16 @@
3
3
  module Lcms
4
4
  module Engine
5
5
  class Pagination
6
+ PARAMS_DEFAULT = { page: 1, per_page: 20, order: :asc }.freeze
7
+
6
8
  def initialize(params)
7
- @params = params
9
+ @params = handle_params params
8
10
  end
9
11
 
10
12
  def params(strict: false)
11
13
  @pagination_params ||= begin
12
- default_params = { page: 1, per_page: 20, order: :asc }
13
- expected_params = @params.slice(:page, :per_page, :order).symbolize_keys
14
- pagination = default_params.merge(expected_params)
14
+ expected_params = @params.slice(*PARAMS_DEFAULT.keys).symbolize_keys
15
+ pagination = PARAMS_DEFAULT.merge(expected_params)
15
16
 
16
17
  pagination[:page] = pagination[:page].to_i
17
18
  pagination[:per_page] = pagination[:per_page].to_i
@@ -37,7 +38,15 @@ module Lcms
37
38
  total_hits: resources.total_entries
38
39
  }
39
40
  options[:each_serializer] = serializer
40
- ActiveModel::ArraySerializer.new(resources, options).as_json
41
+ ActiveModel::Serializer::CollectionSerializer.new(resources, options).as_json
42
+ end
43
+
44
+ private
45
+
46
+ def handle_params(params)
47
+ return params unless params.is_a?(ActionController::Parameters)
48
+
49
+ params.permit(*PARAMS_DEFAULT.keys).to_h
41
50
  end
42
51
  end
43
52
  end
@@ -3,7 +3,7 @@
3
3
  module Lcms
4
4
  module Engine
5
5
  class RomanNumerals
6
- ROMAN_NUMERALS_RE = /^(M|CM|D|CD|C|XC|L|XL|X|IX|V|IV|I)/
6
+ ROMAN_NUMERALS_RE = /^(M|CM|D|CD|C|XC|L|XL|X|IX|V|IV|I)/.freeze
7
7
  SYMBOLS = [
8
8
  [1000, 'M'],
9
9
  [900, 'CM'],
@@ -13,7 +13,7 @@ module Lcms
13
13
  validates_presence_of :link, if: -> { link_fs.blank? }
14
14
  validates_presence_of :link_fs, if: -> { link.blank? }
15
15
 
16
- attr_reader :document
16
+ attr_reader :document, :service_errors
17
17
 
18
18
  def initialize(attributes = {}, opts = {})
19
19
  @is_reimport = attributes.delete(:reimport).present? || false
@@ -29,7 +29,7 @@ module Lcms
29
29
  @document.update(reimported: true)
30
30
  rescue StandardError => e
31
31
  @document&.update(reimported: false)
32
- Rails.logger.error e.message + "\n " + e.backtrace.join("\n ")
32
+ Rails.logger.error "#{e.message}\n #{e.backtrace.join("\n ")}"
33
33
  errors.add(:link, e.message)
34
34
  false
35
35
  end
@@ -45,18 +45,23 @@ module Lcms
45
45
  def build_document
46
46
  service = document_build_service
47
47
 
48
- if is_reimport
49
- doc = service.build_for(link)
50
- doc = service.build_for(link_fs, expand: true) if link_fs.present?
51
- doc
52
- elsif (full_doc = find_full_document)
53
- # if there is a document with the same file_id or foundational_file_id
54
- # we need to make full re-import to correctly handle expand process
55
- service.build_for(full_doc.file_url)
56
- service.build_for(full_doc.file_fs_url, expand: true)
57
- else
58
- service.build_for link
59
- end
48
+ result =
49
+ if is_reimport
50
+ doc = service.build_for(link)
51
+ doc = service.build_for(link_fs, expand: true) if link_fs.present?
52
+ doc
53
+ elsif (full_doc = find_full_document)
54
+ # if there is a document with the same file_id or foundational_file_id
55
+ # we need to make full re-import to correctly handle expand process
56
+ service.build_for(full_doc.file_url)
57
+ service.build_for(full_doc.file_fs_url, expand: true)
58
+ else
59
+ service.build_for link
60
+ end
61
+
62
+ @service_errors = service.errors
63
+
64
+ result
60
65
  end
61
66
 
62
67
  def document_build_service
@@ -11,7 +11,7 @@ module Lcms
11
11
  attribute :source_type, String
12
12
  validates :link, presence: true
13
13
 
14
- attr_accessor :material
14
+ attr_accessor :material, :service_errors
15
15
 
16
16
  def initialize(attributes = {}, opts = {})
17
17
  super(attributes)
@@ -22,17 +22,19 @@ module Lcms
22
22
  return false unless valid?
23
23
 
24
24
  params = {
25
+ dpi: options[:dpi],
25
26
  import_retry: options[:import_retry],
26
27
  source_type: source_type.presence
27
28
  }.compact
28
29
  service = MaterialBuildService.new google_credentials, params
29
30
  @material = service.build link
31
+ @service_errors = service.errors
30
32
 
31
33
  material.update preview_links: {}
32
34
  after_reimport_hook
33
35
  true
34
36
  rescue StandardError => e
35
- Rails.logger.error e.message + "\n " + e.backtrace.join("\n ")
37
+ Rails.logger.error "#{e.message}\n #{e.backtrace.join("\n ")}"
36
38
  errors.add(:link, e.message)
37
39
  false
38
40
  end
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Admin
4
4
  module ComponentsHelper
5
- HIDDEN_FIELD_RE = /\b(?<=name=")[^"]+(?=")/
5
+ HIDDEN_FIELD_RE = /\b(?<=name=")[^"]+(?=")/.freeze
6
6
 
7
- def resource_picker_field(form, collection, allow_multiple: true, path:, name:)
7
+ def resource_picker_field(form, collection, path:, name:, allow_multiple: true)
8
8
  path = path.to_s
9
9
 
10
10
  base_name = form.hidden_field(name).scan(HIDDEN_FIELD_RE)[0]
@@ -8,8 +8,12 @@ module Lcms
8
8
  include ViewHelper
9
9
  include ::Webpacker::Helper
10
10
 
11
- def current_webpacker_instance
12
- Lcms::Engine.webpacker
11
+ # Use this to include lcms-engine based packs
12
+ def lcms_engine_javascript_pack_tag(*names, **options)
13
+ entries = names
14
+ .map { |name| Lcms::Engine.webpacker.manifest.lookup!(name, type: :javascript) }
15
+ .flatten
16
+ javascript_include_tag(*entries, **options)
13
17
  end
14
18
  end
15
19
  end
@@ -37,13 +37,6 @@ module Lcms
37
37
  ResourceDownload::DOWNLOAD_PER_CATEGORY_LIMIT
38
38
  end
39
39
 
40
- def download_heap_data(download, opts = {})
41
- {
42
- category: download.download_category&.title,
43
- url: download.download.filename.url
44
- }.merge(opts).to_json
45
- end
46
-
47
40
  def resource_breadcrumbs_with_links(resource)
48
41
  return GenericPresenter.new(resource).generic_title if resource.generic?
49
42
 
@@ -78,16 +71,6 @@ module Lcms
78
71
  .where(id: ids).pluck(:alt_names).flatten.uniq
79
72
  .map { |n| Standard.filter_ccss_standards(n, resource.subject) }.compact.sort
80
73
  end
81
-
82
- def bundle_heap_data(resource, bundle, cat, content_type)
83
- {
84
- resource_id: resource.id,
85
- resource_title: resource.title,
86
- url: bundle.file&.url.presence || bundle.url,
87
- category: cat,
88
- type: content_type
89
- }.to_json
90
- end
91
74
  end
92
75
  end
93
76
  end
@@ -3,9 +3,7 @@
3
3
  module Lcms
4
4
  module Engine
5
5
  module ViewHelper # rubocop:disable Metrics/ModuleLength
6
- ENABLE_BASE64_CACHING = ActiveRecord::ConnectionAdapters::Column::TRUE_VALUES.include?(
7
- ENV.fetch('ENABLE_BASE64_CACHING', true)
8
- )
6
+ ENABLE_BASE64_CACHING = ActiveRecord::Type::Boolean.new.cast ENV.fetch('ENABLE_BASE64_CACHING', true)
9
7
 
10
8
  def add_class_for_path(link_path, klass, klass_prefix = nil)
11
9
  [
@@ -118,7 +116,7 @@ module Lcms
118
116
  return unless selected_ids.present?
119
117
 
120
118
  case selected_ids
121
- when Array then
119
+ when Array
122
120
  selected_ids.include?(id.to_s)
123
121
  else
124
122
  selected_ids.split(',').include?(id.to_s)
@@ -32,7 +32,7 @@ module Lcms
32
32
  end
33
33
 
34
34
  def grades_props
35
- ActiveModel::ArraySerializer.new(
35
+ ActiveModel::Serializer::CollectionSerializer.new(
36
36
  grades,
37
37
  each_serializer: CurriculumResourceSerializer,
38
38
  root: :results
@@ -70,7 +70,7 @@ module Lcms
70
70
 
71
71
  def slug_param
72
72
  slug = params[:p]
73
- (slug.start_with?('/') ? slug[1..-1] : slug) if slug.present?
73
+ (slug.start_with?('/') ? slug[1..] : slug) if slug.present?
74
74
  end
75
75
 
76
76
  def expanded?
@@ -1,4 +1,5 @@
1
1
  import React from 'react'
2
+ import _ from 'lodash'
2
3
 
3
4
  class ImportStatus extends React.Component {
4
5
  constructor(props) {
@@ -53,7 +54,8 @@ class ImportStatus extends React.Component {
53
54
  if (this.withPdf) {
54
55
  return (
55
56
  <a href={job.link}
56
- className="o-adm-materials__resource ub-icon ub-file-pdf button primary u-margin-left--small u-margin-bottom--zero" target="_blank">
57
+ className="o-adm-materials__resource button primary u-margin-left--small u-margin-bottom--zero" target="_blank">
58
+ <i className="far fa-file-pdf"></i>
57
59
  </a>
58
60
  )
59
61
  }
@@ -69,13 +71,14 @@ class ImportStatus extends React.Component {
69
71
  return _.map(this.links, (link, idx) => (
70
72
  <a key={`pl-${idx}`}
71
73
  href={linkWithParams(link, { id: job.model.id })}
72
- className="o-adm-materials__resource ub-icon ub-eye button primary u-margin-left--small u-margin-bottom--zero" target="_blank">
74
+ className="o-adm-materials__resource button primary u-margin-left--small u-margin-bottom--zero" target="_blank">
75
+ <i className="fas fa-eye"></i>
73
76
  </a>
74
77
  ))
75
78
  }
76
79
 
77
80
  spinner() {
78
- return <span className="o-adm-materials__spinner button primary u-margin-bottom--zero"><i className="fa fa-spin fa-spinner" /></span>
81
+ return <span className="o-adm-materials__spinner button primary u-margin-bottom--zero"><i className="fas fa-spin fa-spinner" /></span>
79
82
  }
80
83
 
81
84
  render() {
@@ -99,7 +102,8 @@ class ImportStatus extends React.Component {
99
102
  {job.status !== 'done' ? this.spinner() : null}
100
103
  {job.status === 'done' && job.ok ? <span>{this.resourceButton(job)}</span> : null}
101
104
  </div>
102
- {job.errors ? (<p dangerouslySetInnerHTML={{__html: _.join(job.errors, '<br/>')}}></p>) : null}
105
+ {!(_.isEmpty(job.errors)) ? (<p dangerouslySetInnerHTML={{__html: _.join(job.errors, '<br/>')}}></p>) : null}
106
+ {!(_.isEmpty(job.warnings)) ? (<p dangerouslySetInnerHTML={{ __html: _.join(job.warnings, '<br/>') }}></p>) : null}
103
107
  </li>
104
108
  )
105
109
  })