spina-admin-conferences 1.3.3

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 (212) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +101 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/config/spina_admin_conferences_manifest.js +4 -0
  6. data/app/assets/javascripts/spina/admin/conferences/application.es6 +20 -0
  7. data/app/assets/javascripts/spina/admin/conferences/controllers/conference_events_form_controller.es6 +175 -0
  8. data/app/assets/javascripts/spina/admin/conferences/controllers/presentation_attachments_form_controller.es6 +175 -0
  9. data/app/assets/javascripts/spina/admin/conferences/controllers/select_options_controller.es6 +216 -0
  10. data/app/assets/stylesheets/spina/admin/conferences/application.sass +14 -0
  11. data/app/controllers/spina/admin/conferences/application_controller.rb +20 -0
  12. data/app/controllers/spina/admin/conferences/conferences_controller.rb +148 -0
  13. data/app/controllers/spina/admin/conferences/delegates_controller.rb +116 -0
  14. data/app/controllers/spina/admin/conferences/dietary_requirements_controller.rb +106 -0
  15. data/app/controllers/spina/admin/conferences/events_controller.rb +24 -0
  16. data/app/controllers/spina/admin/conferences/institutions_controller.rb +106 -0
  17. data/app/controllers/spina/admin/conferences/presentation_attachment_types_controller.rb +104 -0
  18. data/app/controllers/spina/admin/conferences/presentation_attachments_controller.rb +24 -0
  19. data/app/controllers/spina/admin/conferences/presentation_types_controller.rb +109 -0
  20. data/app/controllers/spina/admin/conferences/presentations_controller.rb +124 -0
  21. data/app/controllers/spina/admin/conferences/rooms_controller.rb +109 -0
  22. data/app/controllers/spina/admin/conferences/sessions_controller.rb +118 -0
  23. data/app/helpers/spina/admin/conferences/conferences_helper.rb +44 -0
  24. data/app/jobs/spina/admin/conferences/application_job.rb +11 -0
  25. data/app/jobs/spina/admin/conferences/delegate_import_job.rb +37 -0
  26. data/app/jobs/spina/admin/conferences/import_job.rb +26 -0
  27. data/app/jobs/spina/admin/conferences/presentation_import_job.rb +38 -0
  28. data/app/mailers/spina/admin/conferences/application_mailer.rb +13 -0
  29. data/app/models/spina/admin/conferences.rb +11 -0
  30. data/app/models/spina/admin/conferences/application_record.rb +14 -0
  31. data/app/models/spina/admin/conferences/conference.rb +152 -0
  32. data/app/models/spina/admin/conferences/date_part.rb +15 -0
  33. data/app/models/spina/admin/conferences/delegate.rb +89 -0
  34. data/app/models/spina/admin/conferences/dietary_requirement.rb +33 -0
  35. data/app/models/spina/admin/conferences/email_address_part.rb +21 -0
  36. data/app/models/spina/admin/conferences/event.rb +120 -0
  37. data/app/models/spina/admin/conferences/institution.rb +46 -0
  38. data/app/models/spina/admin/conferences/part.rb +20 -0
  39. data/app/models/spina/admin/conferences/presentation.rb +143 -0
  40. data/app/models/spina/admin/conferences/presentation_attachment.rb +27 -0
  41. data/app/models/spina/admin/conferences/presentation_attachment_type.rb +35 -0
  42. data/app/models/spina/admin/conferences/presentation_type.rb +60 -0
  43. data/app/models/spina/admin/conferences/room.rb +52 -0
  44. data/app/models/spina/admin/conferences/session.rb +56 -0
  45. data/app/models/spina/admin/conferences/time_part.rb +53 -0
  46. data/app/models/spina/admin/conferences/url_part.rb +21 -0
  47. data/app/validators/spina/admin/conferences/conference_date_validator.rb +20 -0
  48. data/app/validators/spina/admin/conferences/email_address_validator.rb +28 -0
  49. data/app/validators/spina/admin/conferences/finish_date_validator.rb +20 -0
  50. data/app/validators/spina/admin/conferences/finish_time_validator.rb +20 -0
  51. data/app/validators/spina/admin/conferences/http_url_validator.rb +28 -0
  52. data/app/views/layouts/spina/admin/conferences/conferences.html.haml +19 -0
  53. data/app/views/layouts/spina/admin/conferences/delegates.html.haml +10 -0
  54. data/app/views/layouts/spina/admin/conferences/dietary_requirements.html.haml +10 -0
  55. data/app/views/layouts/spina/admin/conferences/institutions.html.haml +17 -0
  56. data/app/views/layouts/spina/admin/conferences/presentation_attachment_types.html.haml +10 -0
  57. data/app/views/layouts/spina/admin/conferences/presentations.html.haml +10 -0
  58. data/app/views/spina/admin/conferences/application/_empty_list.html.haml +3 -0
  59. data/app/views/spina/admin/conferences/application/_errors.html.haml +11 -0
  60. data/app/views/spina/admin/conferences/application/_errors.js.erb +2 -0
  61. data/app/views/spina/admin/conferences/conferences/_conference.html.haml +9 -0
  62. data/app/views/spina/admin/conferences/conferences/_event_fields.html.haml +39 -0
  63. data/app/views/spina/admin/conferences/conferences/_event_row.html.haml +5 -0
  64. data/app/views/spina/admin/conferences/conferences/_form.html.haml +23 -0
  65. data/app/views/spina/admin/conferences/conferences/_form_conference_details.html.haml +29 -0
  66. data/app/views/spina/admin/conferences/conferences/_form_delegates.html.haml +12 -0
  67. data/app/views/spina/admin/conferences/conferences/_form_parts.html.haml +15 -0
  68. data/app/views/spina/admin/conferences/conferences/_form_presentation_types.html.haml +12 -0
  69. data/app/views/spina/admin/conferences/conferences/_form_presentations.html.haml +12 -0
  70. data/app/views/spina/admin/conferences/conferences/_form_rooms.html.haml +12 -0
  71. data/app/views/spina/admin/conferences/conferences/_form_structure.html.haml +19 -0
  72. data/app/views/spina/admin/conferences/conferences/_form_structure_item.html.haml +13 -0
  73. data/app/views/spina/admin/conferences/conferences/edit.html.haml +1 -0
  74. data/app/views/spina/admin/conferences/conferences/index.html.haml +18 -0
  75. data/app/views/spina/admin/conferences/conferences/new.html.haml +1 -0
  76. data/app/views/spina/admin/conferences/delegates/_delegate.html.haml +13 -0
  77. data/app/views/spina/admin/conferences/delegates/_form.html.haml +23 -0
  78. data/app/views/spina/admin/conferences/delegates/_form_conferences.html.haml +14 -0
  79. data/app/views/spina/admin/conferences/delegates/_form_delegate_details.html.haml +38 -0
  80. data/app/views/spina/admin/conferences/delegates/_form_presentations.html.haml +12 -0
  81. data/app/views/spina/admin/conferences/delegates/edit.html.haml +1 -0
  82. data/app/views/spina/admin/conferences/delegates/index.html.haml +23 -0
  83. data/app/views/spina/admin/conferences/delegates/new.html.haml +1 -0
  84. data/app/views/spina/admin/conferences/dietary_requirements/_dietary_requirement.html.haml +6 -0
  85. data/app/views/spina/admin/conferences/dietary_requirements/_form.html.haml +23 -0
  86. data/app/views/spina/admin/conferences/dietary_requirements/_form_delegates.html.haml +12 -0
  87. data/app/views/spina/admin/conferences/dietary_requirements/_form_dietary_requirement_details.html.haml +9 -0
  88. data/app/views/spina/admin/conferences/dietary_requirements/edit.html.haml +1 -0
  89. data/app/views/spina/admin/conferences/dietary_requirements/index.html.haml +15 -0
  90. data/app/views/spina/admin/conferences/dietary_requirements/new.html.haml +1 -0
  91. data/app/views/spina/admin/conferences/events/new.js.erb +27 -0
  92. data/app/views/spina/admin/conferences/institutions/_form.html.haml +23 -0
  93. data/app/views/spina/admin/conferences/institutions/_form_delegates.html.haml +12 -0
  94. data/app/views/spina/admin/conferences/institutions/_form_institution_details.html.haml +35 -0
  95. data/app/views/spina/admin/conferences/institutions/_form_rooms.html.haml +12 -0
  96. data/app/views/spina/admin/conferences/institutions/_institution.html.haml +7 -0
  97. data/app/views/spina/admin/conferences/institutions/edit.html.haml +1 -0
  98. data/app/views/spina/admin/conferences/institutions/index.html.haml +16 -0
  99. data/app/views/spina/admin/conferences/institutions/new.html.haml +1 -0
  100. data/app/views/spina/admin/conferences/presentation_attachment_types/_form.html.haml +23 -0
  101. data/app/views/spina/admin/conferences/presentation_attachment_types/_presentation_attachment_type.html.haml +6 -0
  102. data/app/views/spina/admin/conferences/presentation_attachment_types/edit.html.haml +1 -0
  103. data/app/views/spina/admin/conferences/presentation_attachment_types/index.html.haml +15 -0
  104. data/app/views/spina/admin/conferences/presentation_attachment_types/new.html.haml +1 -0
  105. data/app/views/spina/admin/conferences/presentation_attachments/new.js.erb +21 -0
  106. data/app/views/spina/admin/conferences/presentation_types/_form.html.haml +23 -0
  107. data/app/views/spina/admin/conferences/presentation_types/_form_presentation_type_details.html.haml +20 -0
  108. data/app/views/spina/admin/conferences/presentation_types/_form_presentations.html.haml +12 -0
  109. data/app/views/spina/admin/conferences/presentation_types/_form_sessions.html.haml +12 -0
  110. data/app/views/spina/admin/conferences/presentation_types/_presentation_type.html.haml +8 -0
  111. data/app/views/spina/admin/conferences/presentation_types/edit.html.haml +1 -0
  112. data/app/views/spina/admin/conferences/presentation_types/index.html.haml +17 -0
  113. data/app/views/spina/admin/conferences/presentation_types/new.html.haml +1 -0
  114. data/app/views/spina/admin/conferences/presentations/_attachment_fields.html.haml +27 -0
  115. data/app/views/spina/admin/conferences/presentations/_attachment_row.html.haml +2 -0
  116. data/app/views/spina/admin/conferences/presentations/_form.html.haml +23 -0
  117. data/app/views/spina/admin/conferences/presentations/_form_presentation_details.html.haml +55 -0
  118. data/app/views/spina/admin/conferences/presentations/_form_presenters.html.haml +12 -0
  119. data/app/views/spina/admin/conferences/presentations/_presentation.html.haml +11 -0
  120. data/app/views/spina/admin/conferences/presentations/edit.html.haml +1 -0
  121. data/app/views/spina/admin/conferences/presentations/index.html.haml +23 -0
  122. data/app/views/spina/admin/conferences/presentations/new.html.haml +1 -0
  123. data/app/views/spina/admin/conferences/rooms/_form.html.haml +23 -0
  124. data/app/views/spina/admin/conferences/rooms/_form_presentations.html.haml +12 -0
  125. data/app/views/spina/admin/conferences/rooms/_form_room_details.html.haml +18 -0
  126. data/app/views/spina/admin/conferences/rooms/_room.html.haml +8 -0
  127. data/app/views/spina/admin/conferences/rooms/edit.html.haml +1 -0
  128. data/app/views/spina/admin/conferences/rooms/index.html.haml +17 -0
  129. data/app/views/spina/admin/conferences/rooms/new.html.haml +1 -0
  130. data/app/views/spina/admin/conferences/sessions/_form.html.haml +23 -0
  131. data/app/views/spina/admin/conferences/sessions/_form_presentations.html.haml +12 -0
  132. data/app/views/spina/admin/conferences/sessions/_form_session_details.html.haml +23 -0
  133. data/app/views/spina/admin/conferences/sessions/_session.html.haml +8 -0
  134. data/app/views/spina/admin/conferences/sessions/edit.html.haml +1 -0
  135. data/app/views/spina/admin/conferences/sessions/index.html.haml +17 -0
  136. data/app/views/spina/admin/conferences/sessions/new.html.haml +1 -0
  137. data/app/views/spina/admin/hooks/conferences/_head.html.haml +2 -0
  138. data/app/views/spina/admin/hooks/conferences/_primary_navigation.html.haml +20 -0
  139. data/app/views/spina/admin/hooks/conferences/_settings_secondary_navigation.html.haml +4 -0
  140. data/app/views/spina/admin/partables/admin/conferences/date_parts/_form.html.haml +5 -0
  141. data/app/views/spina/admin/partables/admin/conferences/email_address_parts/_form.html.haml +5 -0
  142. data/app/views/spina/admin/partables/admin/conferences/time_parts/_form.html.haml +7 -0
  143. data/app/views/spina/admin/partables/admin/conferences/url_parts/_form.html.haml +5 -0
  144. data/config/initializers/assets.rb +13 -0
  145. data/config/initializers/types.rb +13 -0
  146. data/config/locales/en.yml +354 -0
  147. data/config/routes.rb +27 -0
  148. data/db/migrate/20180907141228_create_spina_dates.rb +11 -0
  149. data/db/migrate/20180907141229_create_spina_email_addresses.rb +11 -0
  150. data/db/migrate/20180907141230_create_spina_urls.rb +11 -0
  151. data/db/migrate/20180907141231_create_spina_conferences_institutions.rb +12 -0
  152. data/db/migrate/20180907141232_create_spina_conferences_delegates.rb +15 -0
  153. data/db/migrate/20180907141234_create_spina_conferences_dietary_requirements.rb +11 -0
  154. data/db/migrate/20180907141235_create_spina_conferences_conferences.rb +12 -0
  155. data/db/migrate/20180907141236_create_spina_conferences_presentation_types.rb +13 -0
  156. data/db/migrate/20180907141238_create_join_table_spina_conferences_conference_delegate.rb +7 -0
  157. data/db/migrate/20180907141239_create_join_table_spina_conferences_delegate_presentation.rb +7 -0
  158. data/db/migrate/20180907141240_create_join_table_spina_conferences_delegate_dietary_requirement.rb +7 -0
  159. data/db/migrate/20180907141242_add_type_to_spina_pages.rb +7 -0
  160. data/db/migrate/20180907141243_create_spina_conferences_conference_page_parts.rb +14 -0
  161. data/db/migrate/20180914121905_add_logo_ref_to_spina_conferences_institutions.rb +7 -0
  162. data/db/migrate/20180916135431_create_spina_conferences_rooms.rb +13 -0
  163. data/db/migrate/20180916135432_create_spina_conferences_room_possessions.rb +10 -0
  164. data/db/migrate/20180916135433_create_spina_conferences_room_uses.rb +10 -0
  165. data/db/migrate/20180916135434_create_spina_conferences_presentations.rb +15 -0
  166. data/db/migrate/20181009122503_create_spina_times.rb +11 -0
  167. data/db/migrate/20181009130631_rename_spina_page_parts.rb +10 -0
  168. data/db/migrate/20181012190811_rename_spina_conferences_page_parts.rb +10 -0
  169. data/db/migrate/20181012213049_change_start_time_in_spina_conferences_conferences.rb +15 -0
  170. data/db/migrate/20181012214813_rename_start_time_in_spina_conferences_conferences.rb +7 -0
  171. data/db/migrate/20181017155705_add_dependent_option_to_foreign_keys.rb +36 -0
  172. data/db/migrate/20190408131354_change_spina_resources.rb +56 -0
  173. data/db/migrate/20190622131423_create_spina_conferences_parts.rb +12 -0
  174. data/db/migrate/20190701174807_remove_spina_conference_pages.rb +199 -0
  175. data/db/migrate/20190704135524_add_constraints_to_columns.rb +24 -0
  176. data/db/migrate/20200126034441_create_spina_conferences_presentation_attachment_types.rb +11 -0
  177. data/db/migrate/20200126213718_create_spina_conferences_presentation_attachments.rb +19 -0
  178. data/db/migrate/20200420104603_create_spina_conferences_dietary_requirement_name_translations.rb +19 -0
  179. data/db/migrate/20200420104740_create_spina_conferences_institution_name_and_city_translations.rb +20 -0
  180. data/db/migrate/20200420105057_create_spina_conferences_presentation_title_and_abstract_translations.rb +20 -0
  181. data/db/migrate/20200420105144_create_spina_conferences_presentation_attachment_type_name_translations.rb +20 -0
  182. data/db/migrate/20200420105201_create_spina_conferences_presentation_type_name_translations.rb +19 -0
  183. data/db/migrate/20200420105458_create_spina_conferences_room_building_and_number_translations.rb +20 -0
  184. data/db/migrate/20200420110407_move_attributes_to_translation_tables.rb +161 -0
  185. data/db/migrate/20200420120706_remove_name_from_spina_conferences_dietary_requirements.rb +7 -0
  186. data/db/migrate/20200420120759_remove_name_and_city_from_spina_conferences_institutions.rb +8 -0
  187. data/db/migrate/20200420120946_remove_title_and_abstract_from_spina_conferences_presentations.rb +8 -0
  188. data/db/migrate/20200420121310_remove_name_from_spina_conferences_presentation_attachment_types.rb +7 -0
  189. data/db/migrate/20200420121321_remove_name_from_spina_conferences_presentation_types.rb +7 -0
  190. data/db/migrate/20200420121443_remove_building_and_number_from_spina_conferences_rooms.rb +8 -0
  191. data/db/migrate/20200502133408_create_spina_conferences_conference_name_translations.rb +19 -0
  192. data/db/migrate/20200502183409_set_name_for_spina_conferences_conferences.rb +47 -0
  193. data/db/migrate/20200502183410_remove_institution_from_spina_conferences_conferences.rb +8 -0
  194. data/db/migrate/20200502183719_remove_spina_conferences_room_possessions.rb +60 -0
  195. data/db/migrate/20200503230732_rename_spina_conferences_room_uses.rb +8 -0
  196. data/db/migrate/20200510125131_create_spina_conferences_session_name_translations.rb +19 -0
  197. data/db/migrate/20200802165242_create_spina_conferences_events.rb +13 -0
  198. data/db/migrate/20200802184921_create_spina_conferences_event_name_description_and_location_translations.rb +21 -0
  199. data/db/migrate/20200911161632_update_spina_conferences_parts.rb +23 -0
  200. data/db/migrate/20200911161651_update_spina_parts.rb +37 -0
  201. data/db/migrate/20200911161726_move_presentation_parts.rb +101 -0
  202. data/db/migrate/20200911161739_move_conference_parts.rb +219 -0
  203. data/db/migrate/20201002122517_remove_spina_conferences_conference_page_parts.rb +14 -0
  204. data/db/migrate/20201007125625_add_timestamps_to_spina_conferences_parts.rb +9 -0
  205. data/lib/spina/admin/conferences.rb +20 -0
  206. data/lib/spina/admin/conferences/engine.rb +26 -0
  207. data/lib/spina/admin/conferences/migration/renaming.rb +81 -0
  208. data/lib/spina/admin/conferences/railtie.rb +34 -0
  209. data/lib/spina/admin/conferences/types/interval_type.rb +29 -0
  210. data/lib/spina/admin/conferences/version.rb +10 -0
  211. data/lib/tasks/spina/admin/conferences_tasks.rake +4 -0
  212. metadata +561 -0
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ class RemoveSpinaConferencesConferencePageParts < ActiveRecord::Migration[6.0]
4
+ def change
5
+ drop_table :spina_conferences_conference_page_parts do |t|
6
+ t.references :conference_page, foreign_key: { to_table: :spina_pages, on_delete: :cascade },
7
+ index: { name: 'index_spina_conferences_parts_on_page_id' }
8
+ t.references :conference_page_partable, polymorphic: true,
9
+ index: { name: 'index_spina_conferences_parts_on_partable_type_and_partable_id' }
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddTimestampsToSpinaConferencesParts < ActiveRecord::Migration[6.0]
4
+ def change
5
+ add_timestamps :spina_conferences_parts, default: Time.now
6
+ change_column_default :spina_conferences_parts, :created_at, nil
7
+ change_column_default :spina_conferences_parts, :updated_at, nil
8
+ end
9
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spina'
4
+ require 'spina/admin/conferences/engine'
5
+ require 'spina/admin/conferences/railtie' if defined?(Rails::Railtie)
6
+ require 'rails-i18n'
7
+ require 'icalendar'
8
+
9
+ # Spina content management system.
10
+ # @see https://www.spinacms.com Spina website
11
+ module Spina
12
+ module Admin
13
+ # Conference-management plugin for Spina.
14
+ module Conferences
15
+ def self.table_name_prefix
16
+ 'spina_conferences_'
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spina
4
+ module Admin
5
+ module Conferences
6
+ # Engine class for the plugin. This is where the plugin is registered as a {Spina::Plugin} with {Spina}.
7
+ # @note The +name+ and +namespace+ of the {Spina::Plugin} object is +'conferences'+ (for compatibility reasons).
8
+ class Engine < ::Rails::Engine
9
+ config.before_initialize do
10
+ ::Spina::Plugin.register do |plugin|
11
+ plugin.name = 'conferences'
12
+ plugin.namespace = 'conferences'
13
+ end
14
+ end
15
+
16
+ config.after_initialize do
17
+ ActiveSupport::Deprecation
18
+ .new('2.0', 'Spina::Admin::Conferences')
19
+ .tap { |deprecator| deprecator.deprecate_methods(Conference, to_ics: :to_event) }
20
+ .tap { |deprecator| deprecator.deprecate_methods(Presentation, to_ics: :to_event) }
21
+ .tap { |deprecator| deprecator.deprecate_methods(Event, to_ics: :to_event) }
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/concern'
4
+
5
+ module Spina
6
+ module Admin
7
+ module Conferences
8
+ module Migration
9
+ module Renaming
10
+ extend ActiveSupport::Concern
11
+
12
+ included do
13
+ @stale_migrations ||= []
14
+ @migrations_path ||= nil
15
+ end
16
+
17
+ class_methods do
18
+ def rename_migration(name, to:)
19
+ config.after_initialize do
20
+ migration = {}
21
+ migration[:old] = migration_hash(name)
22
+ migration[:new] = migration_hash(to)
23
+ if [migration[:old], migration[:new]].pluck(:file).all?(&:present?)
24
+ @stale_migrations << migration
25
+ end
26
+ end
27
+ end
28
+
29
+ def raise_on_duplicate_migrations!
30
+ raise DuplicateMigrationsError.new(@stale_migrations) if @stale_migrations.any?
31
+ end
32
+
33
+ private
34
+
35
+ attr_reader :duplicate_migrations
36
+
37
+ class DuplicateMigrationsError < ::StandardError
38
+ def initialize(migrations)
39
+ messages = migrations.collect { |migration| generate_message(migration) }
40
+ super(messages.join("\n"))
41
+ end
42
+
43
+ private
44
+
45
+ MIGRATION_REGEXP = /([0-9]+)_.+\.(spina(_admin)?_conferences).rb$/
46
+
47
+ def generate_message(migration)
48
+ old_version, old_scope = parse_filename(migration[:old][:file])
49
+ messages = []
50
+ messages << "#{File.basename(migration[:new][:file])} is a renamed version of #{File.basename(migration[:old][:file])}."
51
+ messages << "Rename #{File.basename(migration[:old][:file])} to #{old_version}_#{migration[:new][:name]}.#{old_scope}.rb " \
52
+ "and delete #{File.basename(migration[:new][:file])}."
53
+ messages.join("\n")
54
+ end
55
+
56
+ def parse_filename(filename)
57
+ filename.scan(MIGRATION_REGEXP).first
58
+ end
59
+ end
60
+
61
+ def migration_hash(name)
62
+ { name: name, file: detect_migration(name) }
63
+ end
64
+
65
+ def migrations_path
66
+ @migrations_path || ActiveRecord::Tasks::DatabaseTasks.migrations_paths.first
67
+ end
68
+
69
+ def engine_migration_glob(name)
70
+ "#{migrations_path}/**/*_#{name}.spina{_admin,}_conferences.rb"
71
+ end
72
+
73
+ def detect_migration(name)
74
+ Dir[engine_migration_glob(name)].first
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spina/admin/conferences/migration/renaming'
4
+
5
+ module Spina
6
+ module Admin
7
+ module Conferences
8
+ class Railtie < Rails::Railtie
9
+ include Migration::Renaming
10
+
11
+ rename_migration 'create_spina_conferences_dietary_requirement_name_translations_for_mobility_table_backend',
12
+ to: 'create_spina_conferences_dietary_requirement_name_translations'
13
+ rename_migration 'create_spina_conferences_institution_name_and_city_translations_for_mobility_table_backend',
14
+ to: 'create_spina_conferences_institution_name_and_city_translations'
15
+ rename_migration 'create_spina_conferences_presentation_attachment_type_name_translations_for_mobility_table_backend',
16
+ to: 'create_spina_conferences_presentation_attachment_type_name_translations'
17
+ rename_migration 'create_spina_conferences_presentation_type_name_translations_for_mobility_table_backend',
18
+ to: 'create_spina_conferences_presentation_type_name_translations'
19
+ rename_migration 'create_spina_conferences_room_building_and_number_translations_for_mobility_table_backend',
20
+ to: 'create_spina_conferences_room_building_and_number_translations'
21
+ rename_migration 'create_spina_conferences_conference_name_translations_for_mobility_table_backend',
22
+ to: 'create_spina_conferences_conference_name_translations'
23
+ rename_migration 'create_spina_conferences_session_name_translations_for_mobility_table_backend',
24
+ to: 'create_spina_conferences_session_name_translations'
25
+ rename_migration 'create_spina_conferences_event_name_description_and_location_translations_for_mobility_table_backend',
26
+ to: 'create_spina_conferences_event_name_description_and_location_translations'
27
+
28
+ config.after_initialize do
29
+ raise_on_duplicate_migrations!
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spina
4
+ module Admin
5
+ module Conferences
6
+ # This type maps between ActiveSupport::Duration and interval in PostgreSQL
7
+ class IntervalType < ActiveRecord::Type::Value
8
+ def cast(value)
9
+ case value
10
+ when ::ActiveSupport::Duration
11
+ value
12
+ when ::String
13
+ ::ActiveSupport::Duration.parse(value)
14
+ when ::Integer
15
+ ::ActiveSupport::Duration.build(value)
16
+ end
17
+ rescue ActiveSupport::Duration::ISO8601Parser::ParsingError
18
+ nil
19
+ end
20
+
21
+ def serialize(value)
22
+ return unless value.class == ::ActiveSupport::Duration
23
+
24
+ value.iso8601
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Spina
4
+ module Admin
5
+ module Conferences
6
+ # Version number.
7
+ VERSION = '1.3.3'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,4 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :spina_admin_conferences do
4
+ end
metadata ADDED
@@ -0,0 +1,561 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spina-admin-conferences
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.3
5
+ platform: ruby
6
+ authors:
7
+ - Justin Malčić
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-10-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: babel-transpiler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: icalendar
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.5'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mobility
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.8.10
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.8.10
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '6.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '6.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rails-i18n
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '6.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '6.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: spina
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.1'
97
+ - !ruby/object:Gem::Dependency
98
+ name: capybara
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.33'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.33'
111
+ - !ruby/object:Gem::Dependency
112
+ name: coveralls_reborn
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.18'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.18'
125
+ - !ruby/object:Gem::Dependency
126
+ name: dotenv-rails
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.7'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '2.7'
139
+ - !ruby/object:Gem::Dependency
140
+ name: image_processing
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: '1.12'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.12'
153
+ - !ruby/object:Gem::Dependency
154
+ name: minitest-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '6.0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '6.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: minitest-reporters
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '1.4'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '1.4'
181
+ - !ruby/object:Gem::Dependency
182
+ name: percy-capybara
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '4.3'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '4.3'
195
+ - !ruby/object:Gem::Dependency
196
+ name: puma
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: '5.0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: '5.0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: reek
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: '6.0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: '6.0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: rubocop
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '0.93'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: '0.93'
237
+ - !ruby/object:Gem::Dependency
238
+ name: rubocop-performance
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: '1.8'
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: '1.8'
251
+ - !ruby/object:Gem::Dependency
252
+ name: rubocop-rails
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '2.8'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '2.8'
265
+ - !ruby/object:Gem::Dependency
266
+ name: selenium-webdriver
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - "~>"
270
+ - !ruby/object:Gem::Version
271
+ version: '3.142'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "~>"
277
+ - !ruby/object:Gem::Version
278
+ version: '3.142'
279
+ - !ruby/object:Gem::Dependency
280
+ name: simplecov
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.19'
286
+ type: :development
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '0.19'
293
+ - !ruby/object:Gem::Dependency
294
+ name: web-console
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - "~>"
298
+ - !ruby/object:Gem::Version
299
+ version: '4.0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '4.0'
307
+ - !ruby/object:Gem::Dependency
308
+ name: webdrivers
309
+ requirement: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '4.4'
314
+ type: :development
315
+ prerelease: false
316
+ version_requirements: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: '4.4'
321
+ description: Keep track of conference attendees and presentations with this plugin.
322
+ email:
323
+ - j.malcic@me.com
324
+ executables: []
325
+ extensions: []
326
+ extra_rdoc_files: []
327
+ files:
328
+ - MIT-LICENSE
329
+ - README.md
330
+ - Rakefile
331
+ - app/assets/config/spina_admin_conferences_manifest.js
332
+ - app/assets/javascripts/spina/admin/conferences/application.es6
333
+ - app/assets/javascripts/spina/admin/conferences/controllers/conference_events_form_controller.es6
334
+ - app/assets/javascripts/spina/admin/conferences/controllers/presentation_attachments_form_controller.es6
335
+ - app/assets/javascripts/spina/admin/conferences/controllers/select_options_controller.es6
336
+ - app/assets/stylesheets/spina/admin/conferences/application.sass
337
+ - app/controllers/spina/admin/conferences/application_controller.rb
338
+ - app/controllers/spina/admin/conferences/conferences_controller.rb
339
+ - app/controllers/spina/admin/conferences/delegates_controller.rb
340
+ - app/controllers/spina/admin/conferences/dietary_requirements_controller.rb
341
+ - app/controllers/spina/admin/conferences/events_controller.rb
342
+ - app/controllers/spina/admin/conferences/institutions_controller.rb
343
+ - app/controllers/spina/admin/conferences/presentation_attachment_types_controller.rb
344
+ - app/controllers/spina/admin/conferences/presentation_attachments_controller.rb
345
+ - app/controllers/spina/admin/conferences/presentation_types_controller.rb
346
+ - app/controllers/spina/admin/conferences/presentations_controller.rb
347
+ - app/controllers/spina/admin/conferences/rooms_controller.rb
348
+ - app/controllers/spina/admin/conferences/sessions_controller.rb
349
+ - app/helpers/spina/admin/conferences/conferences_helper.rb
350
+ - app/jobs/spina/admin/conferences/application_job.rb
351
+ - app/jobs/spina/admin/conferences/delegate_import_job.rb
352
+ - app/jobs/spina/admin/conferences/import_job.rb
353
+ - app/jobs/spina/admin/conferences/presentation_import_job.rb
354
+ - app/mailers/spina/admin/conferences/application_mailer.rb
355
+ - app/models/spina/admin/conferences.rb
356
+ - app/models/spina/admin/conferences/application_record.rb
357
+ - app/models/spina/admin/conferences/conference.rb
358
+ - app/models/spina/admin/conferences/date_part.rb
359
+ - app/models/spina/admin/conferences/delegate.rb
360
+ - app/models/spina/admin/conferences/dietary_requirement.rb
361
+ - app/models/spina/admin/conferences/email_address_part.rb
362
+ - app/models/spina/admin/conferences/event.rb
363
+ - app/models/spina/admin/conferences/institution.rb
364
+ - app/models/spina/admin/conferences/part.rb
365
+ - app/models/spina/admin/conferences/presentation.rb
366
+ - app/models/spina/admin/conferences/presentation_attachment.rb
367
+ - app/models/spina/admin/conferences/presentation_attachment_type.rb
368
+ - app/models/spina/admin/conferences/presentation_type.rb
369
+ - app/models/spina/admin/conferences/room.rb
370
+ - app/models/spina/admin/conferences/session.rb
371
+ - app/models/spina/admin/conferences/time_part.rb
372
+ - app/models/spina/admin/conferences/url_part.rb
373
+ - app/validators/spina/admin/conferences/conference_date_validator.rb
374
+ - app/validators/spina/admin/conferences/email_address_validator.rb
375
+ - app/validators/spina/admin/conferences/finish_date_validator.rb
376
+ - app/validators/spina/admin/conferences/finish_time_validator.rb
377
+ - app/validators/spina/admin/conferences/http_url_validator.rb
378
+ - app/views/layouts/spina/admin/conferences/conferences.html.haml
379
+ - app/views/layouts/spina/admin/conferences/delegates.html.haml
380
+ - app/views/layouts/spina/admin/conferences/dietary_requirements.html.haml
381
+ - app/views/layouts/spina/admin/conferences/institutions.html.haml
382
+ - app/views/layouts/spina/admin/conferences/presentation_attachment_types.html.haml
383
+ - app/views/layouts/spina/admin/conferences/presentations.html.haml
384
+ - app/views/spina/admin/conferences/application/_empty_list.html.haml
385
+ - app/views/spina/admin/conferences/application/_errors.html.haml
386
+ - app/views/spina/admin/conferences/application/_errors.js.erb
387
+ - app/views/spina/admin/conferences/conferences/_conference.html.haml
388
+ - app/views/spina/admin/conferences/conferences/_event_fields.html.haml
389
+ - app/views/spina/admin/conferences/conferences/_event_row.html.haml
390
+ - app/views/spina/admin/conferences/conferences/_form.html.haml
391
+ - app/views/spina/admin/conferences/conferences/_form_conference_details.html.haml
392
+ - app/views/spina/admin/conferences/conferences/_form_delegates.html.haml
393
+ - app/views/spina/admin/conferences/conferences/_form_parts.html.haml
394
+ - app/views/spina/admin/conferences/conferences/_form_presentation_types.html.haml
395
+ - app/views/spina/admin/conferences/conferences/_form_presentations.html.haml
396
+ - app/views/spina/admin/conferences/conferences/_form_rooms.html.haml
397
+ - app/views/spina/admin/conferences/conferences/_form_structure.html.haml
398
+ - app/views/spina/admin/conferences/conferences/_form_structure_item.html.haml
399
+ - app/views/spina/admin/conferences/conferences/edit.html.haml
400
+ - app/views/spina/admin/conferences/conferences/index.html.haml
401
+ - app/views/spina/admin/conferences/conferences/new.html.haml
402
+ - app/views/spina/admin/conferences/delegates/_delegate.html.haml
403
+ - app/views/spina/admin/conferences/delegates/_form.html.haml
404
+ - app/views/spina/admin/conferences/delegates/_form_conferences.html.haml
405
+ - app/views/spina/admin/conferences/delegates/_form_delegate_details.html.haml
406
+ - app/views/spina/admin/conferences/delegates/_form_presentations.html.haml
407
+ - app/views/spina/admin/conferences/delegates/edit.html.haml
408
+ - app/views/spina/admin/conferences/delegates/index.html.haml
409
+ - app/views/spina/admin/conferences/delegates/new.html.haml
410
+ - app/views/spina/admin/conferences/dietary_requirements/_dietary_requirement.html.haml
411
+ - app/views/spina/admin/conferences/dietary_requirements/_form.html.haml
412
+ - app/views/spina/admin/conferences/dietary_requirements/_form_delegates.html.haml
413
+ - app/views/spina/admin/conferences/dietary_requirements/_form_dietary_requirement_details.html.haml
414
+ - app/views/spina/admin/conferences/dietary_requirements/edit.html.haml
415
+ - app/views/spina/admin/conferences/dietary_requirements/index.html.haml
416
+ - app/views/spina/admin/conferences/dietary_requirements/new.html.haml
417
+ - app/views/spina/admin/conferences/events/new.js.erb
418
+ - app/views/spina/admin/conferences/institutions/_form.html.haml
419
+ - app/views/spina/admin/conferences/institutions/_form_delegates.html.haml
420
+ - app/views/spina/admin/conferences/institutions/_form_institution_details.html.haml
421
+ - app/views/spina/admin/conferences/institutions/_form_rooms.html.haml
422
+ - app/views/spina/admin/conferences/institutions/_institution.html.haml
423
+ - app/views/spina/admin/conferences/institutions/edit.html.haml
424
+ - app/views/spina/admin/conferences/institutions/index.html.haml
425
+ - app/views/spina/admin/conferences/institutions/new.html.haml
426
+ - app/views/spina/admin/conferences/presentation_attachment_types/_form.html.haml
427
+ - app/views/spina/admin/conferences/presentation_attachment_types/_presentation_attachment_type.html.haml
428
+ - app/views/spina/admin/conferences/presentation_attachment_types/edit.html.haml
429
+ - app/views/spina/admin/conferences/presentation_attachment_types/index.html.haml
430
+ - app/views/spina/admin/conferences/presentation_attachment_types/new.html.haml
431
+ - app/views/spina/admin/conferences/presentation_attachments/new.js.erb
432
+ - app/views/spina/admin/conferences/presentation_types/_form.html.haml
433
+ - app/views/spina/admin/conferences/presentation_types/_form_presentation_type_details.html.haml
434
+ - app/views/spina/admin/conferences/presentation_types/_form_presentations.html.haml
435
+ - app/views/spina/admin/conferences/presentation_types/_form_sessions.html.haml
436
+ - app/views/spina/admin/conferences/presentation_types/_presentation_type.html.haml
437
+ - app/views/spina/admin/conferences/presentation_types/edit.html.haml
438
+ - app/views/spina/admin/conferences/presentation_types/index.html.haml
439
+ - app/views/spina/admin/conferences/presentation_types/new.html.haml
440
+ - app/views/spina/admin/conferences/presentations/_attachment_fields.html.haml
441
+ - app/views/spina/admin/conferences/presentations/_attachment_row.html.haml
442
+ - app/views/spina/admin/conferences/presentations/_form.html.haml
443
+ - app/views/spina/admin/conferences/presentations/_form_presentation_details.html.haml
444
+ - app/views/spina/admin/conferences/presentations/_form_presenters.html.haml
445
+ - app/views/spina/admin/conferences/presentations/_presentation.html.haml
446
+ - app/views/spina/admin/conferences/presentations/edit.html.haml
447
+ - app/views/spina/admin/conferences/presentations/index.html.haml
448
+ - app/views/spina/admin/conferences/presentations/new.html.haml
449
+ - app/views/spina/admin/conferences/rooms/_form.html.haml
450
+ - app/views/spina/admin/conferences/rooms/_form_presentations.html.haml
451
+ - app/views/spina/admin/conferences/rooms/_form_room_details.html.haml
452
+ - app/views/spina/admin/conferences/rooms/_room.html.haml
453
+ - app/views/spina/admin/conferences/rooms/edit.html.haml
454
+ - app/views/spina/admin/conferences/rooms/index.html.haml
455
+ - app/views/spina/admin/conferences/rooms/new.html.haml
456
+ - app/views/spina/admin/conferences/sessions/_form.html.haml
457
+ - app/views/spina/admin/conferences/sessions/_form_presentations.html.haml
458
+ - app/views/spina/admin/conferences/sessions/_form_session_details.html.haml
459
+ - app/views/spina/admin/conferences/sessions/_session.html.haml
460
+ - app/views/spina/admin/conferences/sessions/edit.html.haml
461
+ - app/views/spina/admin/conferences/sessions/index.html.haml
462
+ - app/views/spina/admin/conferences/sessions/new.html.haml
463
+ - app/views/spina/admin/hooks/conferences/_head.html.haml
464
+ - app/views/spina/admin/hooks/conferences/_primary_navigation.html.haml
465
+ - app/views/spina/admin/hooks/conferences/_settings_secondary_navigation.html.haml
466
+ - app/views/spina/admin/partables/admin/conferences/date_parts/_form.html.haml
467
+ - app/views/spina/admin/partables/admin/conferences/email_address_parts/_form.html.haml
468
+ - app/views/spina/admin/partables/admin/conferences/time_parts/_form.html.haml
469
+ - app/views/spina/admin/partables/admin/conferences/url_parts/_form.html.haml
470
+ - config/initializers/assets.rb
471
+ - config/initializers/types.rb
472
+ - config/locales/en.yml
473
+ - config/routes.rb
474
+ - db/migrate/20180907141228_create_spina_dates.rb
475
+ - db/migrate/20180907141229_create_spina_email_addresses.rb
476
+ - db/migrate/20180907141230_create_spina_urls.rb
477
+ - db/migrate/20180907141231_create_spina_conferences_institutions.rb
478
+ - db/migrate/20180907141232_create_spina_conferences_delegates.rb
479
+ - db/migrate/20180907141234_create_spina_conferences_dietary_requirements.rb
480
+ - db/migrate/20180907141235_create_spina_conferences_conferences.rb
481
+ - db/migrate/20180907141236_create_spina_conferences_presentation_types.rb
482
+ - db/migrate/20180907141238_create_join_table_spina_conferences_conference_delegate.rb
483
+ - db/migrate/20180907141239_create_join_table_spina_conferences_delegate_presentation.rb
484
+ - db/migrate/20180907141240_create_join_table_spina_conferences_delegate_dietary_requirement.rb
485
+ - db/migrate/20180907141242_add_type_to_spina_pages.rb
486
+ - db/migrate/20180907141243_create_spina_conferences_conference_page_parts.rb
487
+ - db/migrate/20180914121905_add_logo_ref_to_spina_conferences_institutions.rb
488
+ - db/migrate/20180916135431_create_spina_conferences_rooms.rb
489
+ - db/migrate/20180916135432_create_spina_conferences_room_possessions.rb
490
+ - db/migrate/20180916135433_create_spina_conferences_room_uses.rb
491
+ - db/migrate/20180916135434_create_spina_conferences_presentations.rb
492
+ - db/migrate/20181009122503_create_spina_times.rb
493
+ - db/migrate/20181009130631_rename_spina_page_parts.rb
494
+ - db/migrate/20181012190811_rename_spina_conferences_page_parts.rb
495
+ - db/migrate/20181012213049_change_start_time_in_spina_conferences_conferences.rb
496
+ - db/migrate/20181012214813_rename_start_time_in_spina_conferences_conferences.rb
497
+ - db/migrate/20181017155705_add_dependent_option_to_foreign_keys.rb
498
+ - db/migrate/20190408131354_change_spina_resources.rb
499
+ - db/migrate/20190622131423_create_spina_conferences_parts.rb
500
+ - db/migrate/20190701174807_remove_spina_conference_pages.rb
501
+ - db/migrate/20190704135524_add_constraints_to_columns.rb
502
+ - db/migrate/20200126034441_create_spina_conferences_presentation_attachment_types.rb
503
+ - db/migrate/20200126213718_create_spina_conferences_presentation_attachments.rb
504
+ - db/migrate/20200420104603_create_spina_conferences_dietary_requirement_name_translations.rb
505
+ - db/migrate/20200420104740_create_spina_conferences_institution_name_and_city_translations.rb
506
+ - db/migrate/20200420105057_create_spina_conferences_presentation_title_and_abstract_translations.rb
507
+ - db/migrate/20200420105144_create_spina_conferences_presentation_attachment_type_name_translations.rb
508
+ - db/migrate/20200420105201_create_spina_conferences_presentation_type_name_translations.rb
509
+ - db/migrate/20200420105458_create_spina_conferences_room_building_and_number_translations.rb
510
+ - db/migrate/20200420110407_move_attributes_to_translation_tables.rb
511
+ - db/migrate/20200420120706_remove_name_from_spina_conferences_dietary_requirements.rb
512
+ - db/migrate/20200420120759_remove_name_and_city_from_spina_conferences_institutions.rb
513
+ - db/migrate/20200420120946_remove_title_and_abstract_from_spina_conferences_presentations.rb
514
+ - db/migrate/20200420121310_remove_name_from_spina_conferences_presentation_attachment_types.rb
515
+ - db/migrate/20200420121321_remove_name_from_spina_conferences_presentation_types.rb
516
+ - db/migrate/20200420121443_remove_building_and_number_from_spina_conferences_rooms.rb
517
+ - db/migrate/20200502133408_create_spina_conferences_conference_name_translations.rb
518
+ - db/migrate/20200502183409_set_name_for_spina_conferences_conferences.rb
519
+ - db/migrate/20200502183410_remove_institution_from_spina_conferences_conferences.rb
520
+ - db/migrate/20200502183719_remove_spina_conferences_room_possessions.rb
521
+ - db/migrate/20200503230732_rename_spina_conferences_room_uses.rb
522
+ - db/migrate/20200510125131_create_spina_conferences_session_name_translations.rb
523
+ - db/migrate/20200802165242_create_spina_conferences_events.rb
524
+ - db/migrate/20200802184921_create_spina_conferences_event_name_description_and_location_translations.rb
525
+ - db/migrate/20200911161632_update_spina_conferences_parts.rb
526
+ - db/migrate/20200911161651_update_spina_parts.rb
527
+ - db/migrate/20200911161726_move_presentation_parts.rb
528
+ - db/migrate/20200911161739_move_conference_parts.rb
529
+ - db/migrate/20201002122517_remove_spina_conferences_conference_page_parts.rb
530
+ - db/migrate/20201007125625_add_timestamps_to_spina_conferences_parts.rb
531
+ - lib/spina/admin/conferences.rb
532
+ - lib/spina/admin/conferences/engine.rb
533
+ - lib/spina/admin/conferences/migration/renaming.rb
534
+ - lib/spina/admin/conferences/railtie.rb
535
+ - lib/spina/admin/conferences/types/interval_type.rb
536
+ - lib/spina/admin/conferences/version.rb
537
+ - lib/tasks/spina/admin/conferences_tasks.rake
538
+ homepage: https://jmalcic.github.io/projects/spina-admin-conferences
539
+ licenses:
540
+ - MIT
541
+ metadata: {}
542
+ post_install_message:
543
+ rdoc_options: []
544
+ require_paths:
545
+ - lib
546
+ required_ruby_version: !ruby/object:Gem::Requirement
547
+ requirements:
548
+ - - "~>"
549
+ - !ruby/object:Gem::Version
550
+ version: '2.7'
551
+ required_rubygems_version: !ruby/object:Gem::Requirement
552
+ requirements:
553
+ - - ">="
554
+ - !ruby/object:Gem::Version
555
+ version: '0'
556
+ requirements: []
557
+ rubygems_version: 3.1.2
558
+ signing_key:
559
+ specification_version: 4
560
+ summary: Conference management plugin for Spina.
561
+ test_files: []