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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +101 -0
- data/Rakefile +40 -0
- data/app/assets/config/spina_admin_conferences_manifest.js +4 -0
- data/app/assets/javascripts/spina/admin/conferences/application.es6 +20 -0
- data/app/assets/javascripts/spina/admin/conferences/controllers/conference_events_form_controller.es6 +175 -0
- data/app/assets/javascripts/spina/admin/conferences/controllers/presentation_attachments_form_controller.es6 +175 -0
- data/app/assets/javascripts/spina/admin/conferences/controllers/select_options_controller.es6 +216 -0
- data/app/assets/stylesheets/spina/admin/conferences/application.sass +14 -0
- data/app/controllers/spina/admin/conferences/application_controller.rb +20 -0
- data/app/controllers/spina/admin/conferences/conferences_controller.rb +148 -0
- data/app/controllers/spina/admin/conferences/delegates_controller.rb +116 -0
- data/app/controllers/spina/admin/conferences/dietary_requirements_controller.rb +106 -0
- data/app/controllers/spina/admin/conferences/events_controller.rb +24 -0
- data/app/controllers/spina/admin/conferences/institutions_controller.rb +106 -0
- data/app/controllers/spina/admin/conferences/presentation_attachment_types_controller.rb +104 -0
- data/app/controllers/spina/admin/conferences/presentation_attachments_controller.rb +24 -0
- data/app/controllers/spina/admin/conferences/presentation_types_controller.rb +109 -0
- data/app/controllers/spina/admin/conferences/presentations_controller.rb +124 -0
- data/app/controllers/spina/admin/conferences/rooms_controller.rb +109 -0
- data/app/controllers/spina/admin/conferences/sessions_controller.rb +118 -0
- data/app/helpers/spina/admin/conferences/conferences_helper.rb +44 -0
- data/app/jobs/spina/admin/conferences/application_job.rb +11 -0
- data/app/jobs/spina/admin/conferences/delegate_import_job.rb +37 -0
- data/app/jobs/spina/admin/conferences/import_job.rb +26 -0
- data/app/jobs/spina/admin/conferences/presentation_import_job.rb +38 -0
- data/app/mailers/spina/admin/conferences/application_mailer.rb +13 -0
- data/app/models/spina/admin/conferences.rb +11 -0
- data/app/models/spina/admin/conferences/application_record.rb +14 -0
- data/app/models/spina/admin/conferences/conference.rb +152 -0
- data/app/models/spina/admin/conferences/date_part.rb +15 -0
- data/app/models/spina/admin/conferences/delegate.rb +89 -0
- data/app/models/spina/admin/conferences/dietary_requirement.rb +33 -0
- data/app/models/spina/admin/conferences/email_address_part.rb +21 -0
- data/app/models/spina/admin/conferences/event.rb +120 -0
- data/app/models/spina/admin/conferences/institution.rb +46 -0
- data/app/models/spina/admin/conferences/part.rb +20 -0
- data/app/models/spina/admin/conferences/presentation.rb +143 -0
- data/app/models/spina/admin/conferences/presentation_attachment.rb +27 -0
- data/app/models/spina/admin/conferences/presentation_attachment_type.rb +35 -0
- data/app/models/spina/admin/conferences/presentation_type.rb +60 -0
- data/app/models/spina/admin/conferences/room.rb +52 -0
- data/app/models/spina/admin/conferences/session.rb +56 -0
- data/app/models/spina/admin/conferences/time_part.rb +53 -0
- data/app/models/spina/admin/conferences/url_part.rb +21 -0
- data/app/validators/spina/admin/conferences/conference_date_validator.rb +20 -0
- data/app/validators/spina/admin/conferences/email_address_validator.rb +28 -0
- data/app/validators/spina/admin/conferences/finish_date_validator.rb +20 -0
- data/app/validators/spina/admin/conferences/finish_time_validator.rb +20 -0
- data/app/validators/spina/admin/conferences/http_url_validator.rb +28 -0
- data/app/views/layouts/spina/admin/conferences/conferences.html.haml +19 -0
- data/app/views/layouts/spina/admin/conferences/delegates.html.haml +10 -0
- data/app/views/layouts/spina/admin/conferences/dietary_requirements.html.haml +10 -0
- data/app/views/layouts/spina/admin/conferences/institutions.html.haml +17 -0
- data/app/views/layouts/spina/admin/conferences/presentation_attachment_types.html.haml +10 -0
- data/app/views/layouts/spina/admin/conferences/presentations.html.haml +10 -0
- data/app/views/spina/admin/conferences/application/_empty_list.html.haml +3 -0
- data/app/views/spina/admin/conferences/application/_errors.html.haml +11 -0
- data/app/views/spina/admin/conferences/application/_errors.js.erb +2 -0
- data/app/views/spina/admin/conferences/conferences/_conference.html.haml +9 -0
- data/app/views/spina/admin/conferences/conferences/_event_fields.html.haml +39 -0
- data/app/views/spina/admin/conferences/conferences/_event_row.html.haml +5 -0
- data/app/views/spina/admin/conferences/conferences/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/conferences/_form_conference_details.html.haml +29 -0
- data/app/views/spina/admin/conferences/conferences/_form_delegates.html.haml +12 -0
- data/app/views/spina/admin/conferences/conferences/_form_parts.html.haml +15 -0
- data/app/views/spina/admin/conferences/conferences/_form_presentation_types.html.haml +12 -0
- data/app/views/spina/admin/conferences/conferences/_form_presentations.html.haml +12 -0
- data/app/views/spina/admin/conferences/conferences/_form_rooms.html.haml +12 -0
- data/app/views/spina/admin/conferences/conferences/_form_structure.html.haml +19 -0
- data/app/views/spina/admin/conferences/conferences/_form_structure_item.html.haml +13 -0
- data/app/views/spina/admin/conferences/conferences/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/conferences/index.html.haml +18 -0
- data/app/views/spina/admin/conferences/conferences/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/delegates/_delegate.html.haml +13 -0
- data/app/views/spina/admin/conferences/delegates/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/delegates/_form_conferences.html.haml +14 -0
- data/app/views/spina/admin/conferences/delegates/_form_delegate_details.html.haml +38 -0
- data/app/views/spina/admin/conferences/delegates/_form_presentations.html.haml +12 -0
- data/app/views/spina/admin/conferences/delegates/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/delegates/index.html.haml +23 -0
- data/app/views/spina/admin/conferences/delegates/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/dietary_requirements/_dietary_requirement.html.haml +6 -0
- data/app/views/spina/admin/conferences/dietary_requirements/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/dietary_requirements/_form_delegates.html.haml +12 -0
- data/app/views/spina/admin/conferences/dietary_requirements/_form_dietary_requirement_details.html.haml +9 -0
- data/app/views/spina/admin/conferences/dietary_requirements/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/dietary_requirements/index.html.haml +15 -0
- data/app/views/spina/admin/conferences/dietary_requirements/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/events/new.js.erb +27 -0
- data/app/views/spina/admin/conferences/institutions/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/institutions/_form_delegates.html.haml +12 -0
- data/app/views/spina/admin/conferences/institutions/_form_institution_details.html.haml +35 -0
- data/app/views/spina/admin/conferences/institutions/_form_rooms.html.haml +12 -0
- data/app/views/spina/admin/conferences/institutions/_institution.html.haml +7 -0
- data/app/views/spina/admin/conferences/institutions/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/institutions/index.html.haml +16 -0
- data/app/views/spina/admin/conferences/institutions/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentation_attachment_types/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/presentation_attachment_types/_presentation_attachment_type.html.haml +6 -0
- data/app/views/spina/admin/conferences/presentation_attachment_types/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentation_attachment_types/index.html.haml +15 -0
- data/app/views/spina/admin/conferences/presentation_attachment_types/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentation_attachments/new.js.erb +21 -0
- data/app/views/spina/admin/conferences/presentation_types/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/presentation_types/_form_presentation_type_details.html.haml +20 -0
- data/app/views/spina/admin/conferences/presentation_types/_form_presentations.html.haml +12 -0
- data/app/views/spina/admin/conferences/presentation_types/_form_sessions.html.haml +12 -0
- data/app/views/spina/admin/conferences/presentation_types/_presentation_type.html.haml +8 -0
- data/app/views/spina/admin/conferences/presentation_types/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentation_types/index.html.haml +17 -0
- data/app/views/spina/admin/conferences/presentation_types/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentations/_attachment_fields.html.haml +27 -0
- data/app/views/spina/admin/conferences/presentations/_attachment_row.html.haml +2 -0
- data/app/views/spina/admin/conferences/presentations/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/presentations/_form_presentation_details.html.haml +55 -0
- data/app/views/spina/admin/conferences/presentations/_form_presenters.html.haml +12 -0
- data/app/views/spina/admin/conferences/presentations/_presentation.html.haml +11 -0
- data/app/views/spina/admin/conferences/presentations/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/presentations/index.html.haml +23 -0
- data/app/views/spina/admin/conferences/presentations/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/rooms/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/rooms/_form_presentations.html.haml +12 -0
- data/app/views/spina/admin/conferences/rooms/_form_room_details.html.haml +18 -0
- data/app/views/spina/admin/conferences/rooms/_room.html.haml +8 -0
- data/app/views/spina/admin/conferences/rooms/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/rooms/index.html.haml +17 -0
- data/app/views/spina/admin/conferences/rooms/new.html.haml +1 -0
- data/app/views/spina/admin/conferences/sessions/_form.html.haml +23 -0
- data/app/views/spina/admin/conferences/sessions/_form_presentations.html.haml +12 -0
- data/app/views/spina/admin/conferences/sessions/_form_session_details.html.haml +23 -0
- data/app/views/spina/admin/conferences/sessions/_session.html.haml +8 -0
- data/app/views/spina/admin/conferences/sessions/edit.html.haml +1 -0
- data/app/views/spina/admin/conferences/sessions/index.html.haml +17 -0
- data/app/views/spina/admin/conferences/sessions/new.html.haml +1 -0
- data/app/views/spina/admin/hooks/conferences/_head.html.haml +2 -0
- data/app/views/spina/admin/hooks/conferences/_primary_navigation.html.haml +20 -0
- data/app/views/spina/admin/hooks/conferences/_settings_secondary_navigation.html.haml +4 -0
- data/app/views/spina/admin/partables/admin/conferences/date_parts/_form.html.haml +5 -0
- data/app/views/spina/admin/partables/admin/conferences/email_address_parts/_form.html.haml +5 -0
- data/app/views/spina/admin/partables/admin/conferences/time_parts/_form.html.haml +7 -0
- data/app/views/spina/admin/partables/admin/conferences/url_parts/_form.html.haml +5 -0
- data/config/initializers/assets.rb +13 -0
- data/config/initializers/types.rb +13 -0
- data/config/locales/en.yml +354 -0
- data/config/routes.rb +27 -0
- data/db/migrate/20180907141228_create_spina_dates.rb +11 -0
- data/db/migrate/20180907141229_create_spina_email_addresses.rb +11 -0
- data/db/migrate/20180907141230_create_spina_urls.rb +11 -0
- data/db/migrate/20180907141231_create_spina_conferences_institutions.rb +12 -0
- data/db/migrate/20180907141232_create_spina_conferences_delegates.rb +15 -0
- data/db/migrate/20180907141234_create_spina_conferences_dietary_requirements.rb +11 -0
- data/db/migrate/20180907141235_create_spina_conferences_conferences.rb +12 -0
- data/db/migrate/20180907141236_create_spina_conferences_presentation_types.rb +13 -0
- data/db/migrate/20180907141238_create_join_table_spina_conferences_conference_delegate.rb +7 -0
- data/db/migrate/20180907141239_create_join_table_spina_conferences_delegate_presentation.rb +7 -0
- data/db/migrate/20180907141240_create_join_table_spina_conferences_delegate_dietary_requirement.rb +7 -0
- data/db/migrate/20180907141242_add_type_to_spina_pages.rb +7 -0
- data/db/migrate/20180907141243_create_spina_conferences_conference_page_parts.rb +14 -0
- data/db/migrate/20180914121905_add_logo_ref_to_spina_conferences_institutions.rb +7 -0
- data/db/migrate/20180916135431_create_spina_conferences_rooms.rb +13 -0
- data/db/migrate/20180916135432_create_spina_conferences_room_possessions.rb +10 -0
- data/db/migrate/20180916135433_create_spina_conferences_room_uses.rb +10 -0
- data/db/migrate/20180916135434_create_spina_conferences_presentations.rb +15 -0
- data/db/migrate/20181009122503_create_spina_times.rb +11 -0
- data/db/migrate/20181009130631_rename_spina_page_parts.rb +10 -0
- data/db/migrate/20181012190811_rename_spina_conferences_page_parts.rb +10 -0
- data/db/migrate/20181012213049_change_start_time_in_spina_conferences_conferences.rb +15 -0
- data/db/migrate/20181012214813_rename_start_time_in_spina_conferences_conferences.rb +7 -0
- data/db/migrate/20181017155705_add_dependent_option_to_foreign_keys.rb +36 -0
- data/db/migrate/20190408131354_change_spina_resources.rb +56 -0
- data/db/migrate/20190622131423_create_spina_conferences_parts.rb +12 -0
- data/db/migrate/20190701174807_remove_spina_conference_pages.rb +199 -0
- data/db/migrate/20190704135524_add_constraints_to_columns.rb +24 -0
- data/db/migrate/20200126034441_create_spina_conferences_presentation_attachment_types.rb +11 -0
- data/db/migrate/20200126213718_create_spina_conferences_presentation_attachments.rb +19 -0
- data/db/migrate/20200420104603_create_spina_conferences_dietary_requirement_name_translations.rb +19 -0
- data/db/migrate/20200420104740_create_spina_conferences_institution_name_and_city_translations.rb +20 -0
- data/db/migrate/20200420105057_create_spina_conferences_presentation_title_and_abstract_translations.rb +20 -0
- data/db/migrate/20200420105144_create_spina_conferences_presentation_attachment_type_name_translations.rb +20 -0
- data/db/migrate/20200420105201_create_spina_conferences_presentation_type_name_translations.rb +19 -0
- data/db/migrate/20200420105458_create_spina_conferences_room_building_and_number_translations.rb +20 -0
- data/db/migrate/20200420110407_move_attributes_to_translation_tables.rb +161 -0
- data/db/migrate/20200420120706_remove_name_from_spina_conferences_dietary_requirements.rb +7 -0
- data/db/migrate/20200420120759_remove_name_and_city_from_spina_conferences_institutions.rb +8 -0
- data/db/migrate/20200420120946_remove_title_and_abstract_from_spina_conferences_presentations.rb +8 -0
- data/db/migrate/20200420121310_remove_name_from_spina_conferences_presentation_attachment_types.rb +7 -0
- data/db/migrate/20200420121321_remove_name_from_spina_conferences_presentation_types.rb +7 -0
- data/db/migrate/20200420121443_remove_building_and_number_from_spina_conferences_rooms.rb +8 -0
- data/db/migrate/20200502133408_create_spina_conferences_conference_name_translations.rb +19 -0
- data/db/migrate/20200502183409_set_name_for_spina_conferences_conferences.rb +47 -0
- data/db/migrate/20200502183410_remove_institution_from_spina_conferences_conferences.rb +8 -0
- data/db/migrate/20200502183719_remove_spina_conferences_room_possessions.rb +60 -0
- data/db/migrate/20200503230732_rename_spina_conferences_room_uses.rb +8 -0
- data/db/migrate/20200510125131_create_spina_conferences_session_name_translations.rb +19 -0
- data/db/migrate/20200802165242_create_spina_conferences_events.rb +13 -0
- data/db/migrate/20200802184921_create_spina_conferences_event_name_description_and_location_translations.rb +21 -0
- data/db/migrate/20200911161632_update_spina_conferences_parts.rb +23 -0
- data/db/migrate/20200911161651_update_spina_parts.rb +37 -0
- data/db/migrate/20200911161726_move_presentation_parts.rb +101 -0
- data/db/migrate/20200911161739_move_conference_parts.rb +219 -0
- data/db/migrate/20201002122517_remove_spina_conferences_conference_page_parts.rb +14 -0
- data/db/migrate/20201007125625_add_timestamps_to_spina_conferences_parts.rb +9 -0
- data/lib/spina/admin/conferences.rb +20 -0
- data/lib/spina/admin/conferences/engine.rb +26 -0
- data/lib/spina/admin/conferences/migration/renaming.rb +81 -0
- data/lib/spina/admin/conferences/railtie.rb +34 -0
- data/lib/spina/admin/conferences/types/interval_type.rb +29 -0
- data/lib/spina/admin/conferences/version.rb +10 -0
- data/lib/tasks/spina/admin/conferences_tasks.rake +4 -0
- metadata +561 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render 'form'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
- content_for(:header_actions) do
|
|
2
|
+
= link_to new_admin_conferences_room_path, class: %w[button button-primary], style: 'margin-right: 0' do
|
|
3
|
+
= icon 'plus'
|
|
4
|
+
= t '.new'
|
|
5
|
+
|
|
6
|
+
.well
|
|
7
|
+
.table-container
|
|
8
|
+
%table.table
|
|
9
|
+
%thead
|
|
10
|
+
%tr
|
|
11
|
+
%th= Spina::Admin::Conferences::Room.human_attribute_name :institution
|
|
12
|
+
%th= Spina::Admin::Conferences::Room.human_attribute_name :building
|
|
13
|
+
%th= Spina::Admin::Conferences::Room.human_attribute_name :number
|
|
14
|
+
%th
|
|
15
|
+
|
|
16
|
+
%tbody
|
|
17
|
+
= render @rooms.any? ? @rooms : 'empty_list', message: t('.no_rooms')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render 'form'
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
- if @session.errors.any?
|
|
2
|
+
- content_for :notifications do
|
|
3
|
+
= render 'errors', errors: @session.errors
|
|
4
|
+
|
|
5
|
+
= form_for @session, remote: true, html: { autocomplete: 'off' } do |f|
|
|
6
|
+
%header#header
|
|
7
|
+
= render partial: 'spina/admin/shared/breadcrumbs'
|
|
8
|
+
|
|
9
|
+
#header_actions
|
|
10
|
+
%button.button.button-primary{ type: 'submit' }
|
|
11
|
+
= icon 'check'
|
|
12
|
+
= t '.save'
|
|
13
|
+
|
|
14
|
+
= link_to t('spina.cancel'), admin_conferences_sessions_path, class: 'button', style: 'margin-right: 0'
|
|
15
|
+
|
|
16
|
+
%nav#secondary.tabs
|
|
17
|
+
%ul
|
|
18
|
+
- @tabs.each_with_index do |tab, i|
|
|
19
|
+
%li{ class: ('active'if i == 0)}
|
|
20
|
+
= link_to t(".#{tab}"), "##{tab}"
|
|
21
|
+
|
|
22
|
+
- @tabs.each do |tab|
|
|
23
|
+
= render "form_#{tab}", f: f
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#presentations.tab-content.well
|
|
2
|
+
.table-container
|
|
3
|
+
%table.table
|
|
4
|
+
%thead
|
|
5
|
+
%tr
|
|
6
|
+
%th= Spina::Admin::Conferences::Presentation.human_attribute_name :conference
|
|
7
|
+
%th= Spina::Admin::Conferences::Presentation.human_attribute_name :title
|
|
8
|
+
%th= Spina::Admin::Conferences::Presentation.human_attribute_name :presenters
|
|
9
|
+
%th
|
|
10
|
+
|
|
11
|
+
%tbody
|
|
12
|
+
= render @session.presentations.any? ? @session.presentations : 'empty_list', message: t('spina.admin.conferences.presentations.index.no_presentations')
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#session_details.tab-content.active
|
|
2
|
+
.well
|
|
3
|
+
.horizontal-form
|
|
4
|
+
.horizontal-form-group
|
|
5
|
+
.horizontal-form-label= Spina::Admin::Conferences::Session.human_attribute_name :name
|
|
6
|
+
.horizontal-form-content= f.text_field :name, placeholder: Spina::Admin::Conferences::Session.human_attribute_name(:name), required: true
|
|
7
|
+
|
|
8
|
+
.horizontal-form-group
|
|
9
|
+
.horizontal-form-label= Spina::Admin::Conferences::Session.human_attribute_name :presentation_type
|
|
10
|
+
.horizontal-form-content
|
|
11
|
+
.input-group{ data: { controller: 'select-options', select_options: { record_values: @conferences } } }
|
|
12
|
+
.select-dropdown= select_tag :admin_conferences_conference_id, options_from_collection_for_select(Spina::Admin::Conferences::Conference.all, :id, :name, (@session.conference.id unless @session.conference.blank?)), include_blank: true, required: true, data: { action: 'select-options#setVisibility', select_options_target: 'select', text_key: 'name' }
|
|
13
|
+
.select-dropdown= f.collection_select :presentation_type_id, @session.conference.present? ? @session.conference.presentation_types : Spina::Admin::Conferences::Conference.first.presentation_types, :id, :name, { include_blank: true }, required: true, data: { select_options_target: 'select', text_key: 'name', key_path: 'presentation_types' }
|
|
14
|
+
|
|
15
|
+
.horizontal-form-group
|
|
16
|
+
.horizontal-form-label= Spina::Admin::Conferences::Session.human_attribute_name :room
|
|
17
|
+
.horizontal-form-content
|
|
18
|
+
.input-group{ data: { controller: 'select-options', select_options: { record_values: @institutions } } }
|
|
19
|
+
.select-dropdown= select_tag :admin_conferences_institution_id, options_from_collection_for_select(Spina::Admin::Conferences::Institution.all, :id, :name, (@session.institution.id unless @session.institution.blank?)), include_blank: true, required: true, data: { action: 'select-options#setVisibility', select_options_target: 'select', text_key: 'name' }
|
|
20
|
+
.select-dropdown= f.collection_select :room_id, @session.institution.present? ? @session.institution.rooms : Spina::Admin::Conferences::Institution.first.rooms, :id, :name, { include_blank: true }, required: true, data: { select_options_target: 'select', text_key: 'name', key_path: 'rooms' }
|
|
21
|
+
|
|
22
|
+
- unless @session.new_record?
|
|
23
|
+
.pull-right= link_to t('spina.permanently_delete'), admin_conferences_session_path(@session), method: :delete, remote: true, data: { confirm: t('.delete_confirmation', session: @session.name) }, class: %w[button button-link button-danger]
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
%tr{ data: { session_id: session.id } }
|
|
2
|
+
%td= session.name
|
|
3
|
+
%td= session.presentation_type_name
|
|
4
|
+
%td= session.room_name
|
|
5
|
+
%td.align-right
|
|
6
|
+
= link_to edit_admin_conferences_session_path(session), class: %w[button button-small button-link] do
|
|
7
|
+
= icon 'pencil-outline'
|
|
8
|
+
= t 'spina.edit'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render 'form'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
- content_for(:header_actions) do
|
|
2
|
+
= link_to new_admin_conferences_session_path, class: %w[button button-primary], style: 'margin-right: 0' do
|
|
3
|
+
= icon 'plus'
|
|
4
|
+
= t '.new'
|
|
5
|
+
|
|
6
|
+
.well
|
|
7
|
+
.table-container
|
|
8
|
+
%table.table
|
|
9
|
+
%thead
|
|
10
|
+
%tr
|
|
11
|
+
%th= Spina::Admin::Conferences::Session.human_attribute_name :name
|
|
12
|
+
%th= Spina::Admin::Conferences::Session.human_attribute_name :presentation_type
|
|
13
|
+
%th= Spina::Admin::Conferences::Session.human_attribute_name :room
|
|
14
|
+
%th
|
|
15
|
+
|
|
16
|
+
%tbody
|
|
17
|
+
= render @sessions.any? ? @sessions : 'empty_list', message: t('.no_sessions')
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
= render 'form'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
%li{ class: ('active' if %w[conferences delegates presentations dietary_requirements presentation_types institutions rooms].include? controller_name) }
|
|
2
|
+
= link_to admin_conferences_presentations_path do
|
|
3
|
+
= icon('comment')
|
|
4
|
+
= t("spina.admin.conferences.title")
|
|
5
|
+
= icon('caret-right')
|
|
6
|
+
|
|
7
|
+
%ul
|
|
8
|
+
%li{ class: ('active' if %w[institutions rooms].include? controller_name) }
|
|
9
|
+
= link_to Spina::Admin::Conferences::Institution.model_name.human(count: 0), spina.admin_conferences_institutions_path
|
|
10
|
+
%li{ class: ('active' if %w[conferences presentation_types sessions].include? controller_name) }
|
|
11
|
+
= link_to Spina::Admin::Conferences::Conference.model_name.human(count: 0), spina.admin_conferences_conferences_path
|
|
12
|
+
%li{ class: ('active' if %w[delegates dietary_requirements].include? controller_name) }
|
|
13
|
+
= link_to Spina::Admin::Conferences::Delegate.model_name.human(count: 0), spina.admin_conferences_delegates_path
|
|
14
|
+
%li{ class: ('active' if %w[presentations].include? controller_name) }
|
|
15
|
+
= link_to Spina::Admin::Conferences::Presentation.model_name.human(count: 0), spina.admin_conferences_presentations_path
|
|
16
|
+
|
|
17
|
+
%li
|
|
18
|
+
= link_to '#', class: 'back-to-main-menu' do
|
|
19
|
+
= icon('caret-left')
|
|
20
|
+
=t 'spina.main_menu'
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
%li{ class: ('active' if %w[dietary_requirements].include? controller_name) }
|
|
2
|
+
= link_to Spina::Admin::Conferences::DietaryRequirement.model_name.human(count: 0), spina.admin_conferences_dietary_requirements_path
|
|
3
|
+
%li{ class: ('active' if %w[presentation_attachment_types].include? controller_name) }
|
|
4
|
+
= link_to Spina::Admin::Conferences::PresentationAttachmentType.model_name.human(count: 0), spina.admin_conferences_presentation_attachment_types_path
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Be sure to restart your server when you modify this file.
|
|
4
|
+
|
|
5
|
+
# Add additional assets to the asset load path.
|
|
6
|
+
# Rails.application.config.assets.paths << Emoji.images_path
|
|
7
|
+
# Add Yarn node_modules folder to the asset load path.
|
|
8
|
+
Rails.application.config.assets.paths << Spina::Admin::Conferences::Engine.root.join('node_modules')
|
|
9
|
+
|
|
10
|
+
# Precompile additional assets.
|
|
11
|
+
# application.js, application.css, and all non-JS/CSS in the app/assets
|
|
12
|
+
# folder are already added.
|
|
13
|
+
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'spina/admin/conferences/types/interval_type'
|
|
4
|
+
|
|
5
|
+
ActiveRecord::Type.register :interval, Spina::Admin::Conferences::IntervalType, adapter: :postgresql
|
|
6
|
+
|
|
7
|
+
ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.class_eval do
|
|
8
|
+
alias_method :configure_connection_without_interval, :configure_connection
|
|
9
|
+
define_method :configure_connection do
|
|
10
|
+
configure_connection_without_interval
|
|
11
|
+
execute 'SET IntervalStyle = iso_8601', 'SCHEMA'
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
|
3
|
+
# than English, add the necessary files in this directory.
|
|
4
|
+
#
|
|
5
|
+
# To use the locales, use `I18n.t`:
|
|
6
|
+
#
|
|
7
|
+
# I18n.t 'hello'
|
|
8
|
+
#
|
|
9
|
+
# In views, this is aliased to just `t`:
|
|
10
|
+
#
|
|
11
|
+
# <%= t('hello') %>
|
|
12
|
+
#
|
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
|
14
|
+
#
|
|
15
|
+
# I18n.locale = :es
|
|
16
|
+
#
|
|
17
|
+
# This would use the information in config/locales/es.yml.
|
|
18
|
+
#
|
|
19
|
+
# The following keys must be escaped otherwise they will not be retrieved by
|
|
20
|
+
# the default I18n backend:
|
|
21
|
+
#
|
|
22
|
+
# true, false, on, off, yes, no
|
|
23
|
+
#
|
|
24
|
+
# Instead, surround them with single quotes.
|
|
25
|
+
#
|
|
26
|
+
# en:
|
|
27
|
+
# 'true': 'foo'
|
|
28
|
+
#
|
|
29
|
+
# To learn more, please read the Rails Internationalization guide
|
|
30
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
|
31
|
+
|
|
32
|
+
en:
|
|
33
|
+
spina:
|
|
34
|
+
show: Show
|
|
35
|
+
languages:
|
|
36
|
+
en-GB: British English
|
|
37
|
+
email: Email
|
|
38
|
+
media_library:
|
|
39
|
+
images: Images # This translation is apparently not provided by Spina for some reason
|
|
40
|
+
images:
|
|
41
|
+
delete: Delete # Ditto
|
|
42
|
+
admin:
|
|
43
|
+
conferences:
|
|
44
|
+
title: Conferences
|
|
45
|
+
conferences:
|
|
46
|
+
index:
|
|
47
|
+
new: New conference
|
|
48
|
+
no_conferences: There are no conferences
|
|
49
|
+
import: Import CSV
|
|
50
|
+
new:
|
|
51
|
+
new: New conference
|
|
52
|
+
create:
|
|
53
|
+
new: New conference
|
|
54
|
+
saved: Conference saved
|
|
55
|
+
update:
|
|
56
|
+
saved: Conference saved
|
|
57
|
+
destroy:
|
|
58
|
+
destroyed: Conference deleted
|
|
59
|
+
form:
|
|
60
|
+
save: Save conference
|
|
61
|
+
conference_details: Conference details
|
|
62
|
+
parts: Parts
|
|
63
|
+
delegates: Delegates
|
|
64
|
+
presentations: Presentations
|
|
65
|
+
presentation_types: Presentation types
|
|
66
|
+
rooms: Rooms
|
|
67
|
+
form_conference_details:
|
|
68
|
+
delete_confirmation:
|
|
69
|
+
"Are you sure you want to delete the conference <strong>%{name}</strong>?"
|
|
70
|
+
multiple_rooms_selection_instructions_html:
|
|
71
|
+
"Select multiple rooms by holding <kbd>⇧</kbd> for a continuous selection, or, for a discontinous
|
|
72
|
+
selection, <kbd>⌘</kbd> on Mac, or <kbd>Ctrl</kbd> on Windows and Linux"
|
|
73
|
+
delegates:
|
|
74
|
+
index:
|
|
75
|
+
new: New delegate
|
|
76
|
+
no_delegates: There are no delegates
|
|
77
|
+
import: Import CSV
|
|
78
|
+
new:
|
|
79
|
+
new: New delegate
|
|
80
|
+
create:
|
|
81
|
+
new: New delegate
|
|
82
|
+
saved: Delegate saved
|
|
83
|
+
update:
|
|
84
|
+
saved: Delegate saved
|
|
85
|
+
destroy:
|
|
86
|
+
destroyed: Delegate deleted
|
|
87
|
+
form:
|
|
88
|
+
save: Save delegate
|
|
89
|
+
delegate_details: Delegate details
|
|
90
|
+
conferences: Conferences
|
|
91
|
+
presentations: Presentations
|
|
92
|
+
form_delegate_details:
|
|
93
|
+
delete_confirmation: "Are you sure you want to delete the delegate <strong>%{delegate}</strong>?"
|
|
94
|
+
multiple_dietary_requirements_selection_instructions_html:
|
|
95
|
+
"Select multiple dietary requirements with <kbd>⌘</kbd> and <kbd>⇧</kbd> on Mac, or <kbd>⌃</kbd> and
|
|
96
|
+
<kbd>⇧</kbd> on Windows and Linux"
|
|
97
|
+
multiple_conferences_selection_instructions_html:
|
|
98
|
+
"Select multiple conferences with <kbd>⌘</kbd> and <kbd>⇧</kbd> on Mac, or <kbd>⌃</kbd> and <kbd>⇧</kbd>
|
|
99
|
+
on Windows and Linux"
|
|
100
|
+
presenters:
|
|
101
|
+
new: New presenter
|
|
102
|
+
save: Save presenter
|
|
103
|
+
delete_confirmation: "Are you sure you want to delete the presenter <strong>%{presenter}</strong>?"
|
|
104
|
+
no_presenters: There are no presenters
|
|
105
|
+
presenter_details: Presenter details
|
|
106
|
+
conferences: Conferences
|
|
107
|
+
presentations: Presentations
|
|
108
|
+
presentations:
|
|
109
|
+
index:
|
|
110
|
+
new: New presentation
|
|
111
|
+
no_presentations: There are no presentations
|
|
112
|
+
import: Import CSV
|
|
113
|
+
new:
|
|
114
|
+
new: New presentation
|
|
115
|
+
create:
|
|
116
|
+
new: New presentation
|
|
117
|
+
saved: Presentation saved
|
|
118
|
+
update:
|
|
119
|
+
saved: Presentation saved
|
|
120
|
+
destroy:
|
|
121
|
+
destroyed: Presentation deleted
|
|
122
|
+
form:
|
|
123
|
+
save: Save presentation
|
|
124
|
+
presentation_details: Presentation details
|
|
125
|
+
presenters: Presenters
|
|
126
|
+
form_presentation_details:
|
|
127
|
+
delete_confirmation: "Are you sure you want to delete the presentation <strong>%{presentation}</strong>?"
|
|
128
|
+
start_time_instructions: Enter in 24-hour format using a colon as the divider
|
|
129
|
+
multiple_presenters_selection_instructions_html:
|
|
130
|
+
"Select multiple presenters by holding <kbd>⇧</kbd> for a continuous selection, or, for a discontinous
|
|
131
|
+
selection, <kbd>⌘</kbd> on Mac, or <kbd>Ctrl</kbd> on Windows and Linux"
|
|
132
|
+
presentation_types:
|
|
133
|
+
index:
|
|
134
|
+
new: New presentation type
|
|
135
|
+
no_presentation_types: There are no presentation types
|
|
136
|
+
import: Import CSV
|
|
137
|
+
new:
|
|
138
|
+
new: New presentation type
|
|
139
|
+
create:
|
|
140
|
+
new: New presentation type
|
|
141
|
+
saved: Presentation type saved
|
|
142
|
+
update:
|
|
143
|
+
saved: Presentation type saved
|
|
144
|
+
destroy:
|
|
145
|
+
destroyed: Presentation type deleted
|
|
146
|
+
form:
|
|
147
|
+
save: Save presentation type
|
|
148
|
+
presentation_type_details: Presentation type details
|
|
149
|
+
presentations: Presentations
|
|
150
|
+
sessions: Sessions
|
|
151
|
+
form_presentation_type_details:
|
|
152
|
+
delete_confirmation:
|
|
153
|
+
"Are you sure you want to delete the presentation type <strong>%{presentation_type}</strong>?"
|
|
154
|
+
duration_instructions: Enter in minutes
|
|
155
|
+
dietary_requirements:
|
|
156
|
+
index:
|
|
157
|
+
new: New dietary requirement
|
|
158
|
+
no_dietary_requirements: There are no dietary requirements
|
|
159
|
+
import: Import CSV
|
|
160
|
+
new:
|
|
161
|
+
new: New dietary requirement
|
|
162
|
+
create:
|
|
163
|
+
new: New dietary requirement
|
|
164
|
+
saved: Dietary requirement saved
|
|
165
|
+
update:
|
|
166
|
+
saved: Dietary requirement saved
|
|
167
|
+
destroy:
|
|
168
|
+
destroyed: Dietary requirement deleted
|
|
169
|
+
form:
|
|
170
|
+
save: Save dietary requirement
|
|
171
|
+
dietary_requirement_details: Dietary requirement details
|
|
172
|
+
delegates: Delegates
|
|
173
|
+
form_dietary_requirement_details:
|
|
174
|
+
delete_confirmation:
|
|
175
|
+
"Are you sure you want to delete the dietary requirement <strong>%{dietary_requirement}</strong>?"
|
|
176
|
+
presentation_attachment_types:
|
|
177
|
+
index:
|
|
178
|
+
new: New presentation attachment type
|
|
179
|
+
no_presentation_attachment_types: There are no presentation attachment types
|
|
180
|
+
new:
|
|
181
|
+
new: New presentation attachment type
|
|
182
|
+
create:
|
|
183
|
+
new: New presentation attachment type
|
|
184
|
+
saved: Presentation attachment type saved
|
|
185
|
+
update:
|
|
186
|
+
saved: Presentation attachment type saved
|
|
187
|
+
destroy:
|
|
188
|
+
destroyed: Presentation attachment type deleted
|
|
189
|
+
form:
|
|
190
|
+
save: Save presentation attachment type
|
|
191
|
+
delete_confirmation:
|
|
192
|
+
"Are you sure you want to delete the presentation attachment type
|
|
193
|
+
<strong>%{presentation_attachment_type}</strong>?"
|
|
194
|
+
institutions:
|
|
195
|
+
index:
|
|
196
|
+
new: New institution
|
|
197
|
+
no_institutions: There are no institutions
|
|
198
|
+
import: Import CSV
|
|
199
|
+
new:
|
|
200
|
+
new: New institution
|
|
201
|
+
create:
|
|
202
|
+
new: New institution
|
|
203
|
+
saved: Institution saved
|
|
204
|
+
update:
|
|
205
|
+
saved: Institution saved
|
|
206
|
+
destroy:
|
|
207
|
+
destroyed: Institution deleted
|
|
208
|
+
form:
|
|
209
|
+
save: Save institution
|
|
210
|
+
institution_details: Institution details
|
|
211
|
+
rooms: Rooms
|
|
212
|
+
conferences: Conferences
|
|
213
|
+
delegates: Delegates
|
|
214
|
+
form_institution_details:
|
|
215
|
+
delete_confirmation: "Are you sure you want to delete the institution <strong>%{institution}</strong>?"
|
|
216
|
+
rooms:
|
|
217
|
+
index:
|
|
218
|
+
new: New room
|
|
219
|
+
no_rooms: There are no rooms
|
|
220
|
+
import: Import CSV
|
|
221
|
+
new:
|
|
222
|
+
new: New room
|
|
223
|
+
create:
|
|
224
|
+
new: New room
|
|
225
|
+
saved: Room saved
|
|
226
|
+
update:
|
|
227
|
+
saved: Room saved
|
|
228
|
+
destroy:
|
|
229
|
+
destroyed: Room deleted
|
|
230
|
+
form:
|
|
231
|
+
save: Save room
|
|
232
|
+
room_details: Room details
|
|
233
|
+
presentations: Presentations
|
|
234
|
+
form_room_details:
|
|
235
|
+
delete_confirmation: "Are you sure you want to delete the room <strong>%{room}</strong>?"
|
|
236
|
+
sessions:
|
|
237
|
+
index:
|
|
238
|
+
new: New session
|
|
239
|
+
no_sessions: There are no sessions
|
|
240
|
+
new:
|
|
241
|
+
new: New session
|
|
242
|
+
create:
|
|
243
|
+
new: New session
|
|
244
|
+
saved: Session saved
|
|
245
|
+
update:
|
|
246
|
+
saved: Session saved
|
|
247
|
+
destroy:
|
|
248
|
+
destroyed: Session deleted
|
|
249
|
+
form:
|
|
250
|
+
save: Save session
|
|
251
|
+
session_details: Session details
|
|
252
|
+
presentations: Presentations
|
|
253
|
+
form_session_details:
|
|
254
|
+
delete_confirmation: "Are you sure you want to delete the session <strong>%{session}</strong>?"
|
|
255
|
+
activerecord:
|
|
256
|
+
models:
|
|
257
|
+
spina/admin/conferences/conference:
|
|
258
|
+
one: Conference
|
|
259
|
+
other: Conferences
|
|
260
|
+
spina/admin/conferences/event:
|
|
261
|
+
one: Event
|
|
262
|
+
other: Events
|
|
263
|
+
spina/admin/conferences/delegate:
|
|
264
|
+
one: Delegate
|
|
265
|
+
other: Delegates
|
|
266
|
+
spina/admin/conferences/presentation:
|
|
267
|
+
one: Presentation
|
|
268
|
+
other: Presentations
|
|
269
|
+
spina/admin/conferences/presentation_attachment:
|
|
270
|
+
one: Presentation attachment
|
|
271
|
+
other: Presentation attachments
|
|
272
|
+
spina/admin/conferences/presentation_type:
|
|
273
|
+
one: Presentation type
|
|
274
|
+
other: Presentation types
|
|
275
|
+
spina/admin/conferences/dietary_requirement:
|
|
276
|
+
one: Dietary requirement
|
|
277
|
+
other: Dietary requirements
|
|
278
|
+
spina/admin/conferences/presentation_attachment_type:
|
|
279
|
+
one: Presentation attachment type
|
|
280
|
+
other: Presentation attachment types
|
|
281
|
+
spina/admin/conferences/institution:
|
|
282
|
+
one: Institution
|
|
283
|
+
other: Institutions
|
|
284
|
+
spina/admin/conferences/room:
|
|
285
|
+
one: Room
|
|
286
|
+
other: Rooms
|
|
287
|
+
spina/admin/conferences/session:
|
|
288
|
+
one: Session
|
|
289
|
+
other: Sessions
|
|
290
|
+
attributes:
|
|
291
|
+
spina/admin/conferences/conference:
|
|
292
|
+
name: Name
|
|
293
|
+
start_date: Start date
|
|
294
|
+
finish_date: Finish date
|
|
295
|
+
events: Events
|
|
296
|
+
spina/admin/conferences/event:
|
|
297
|
+
name: Name
|
|
298
|
+
location: Location
|
|
299
|
+
start_time: Start time
|
|
300
|
+
finish_time: Finish time
|
|
301
|
+
description: Description
|
|
302
|
+
spina/admin/conferences/delegate:
|
|
303
|
+
first_name: First name
|
|
304
|
+
last_name: Last name
|
|
305
|
+
full_name: "%{first_name} %{last_name}"
|
|
306
|
+
reversed_name: "%{last_name}, %{first_name}"
|
|
307
|
+
name_and_institution: "%{name}, %{institution}"
|
|
308
|
+
name: Name
|
|
309
|
+
institution: Institution
|
|
310
|
+
email_address: Email address
|
|
311
|
+
url: Website
|
|
312
|
+
conferences: Conferences
|
|
313
|
+
dietary_requirements: Dietary requirements
|
|
314
|
+
spina/admin/conferences/presentation:
|
|
315
|
+
title: Title
|
|
316
|
+
date: Date
|
|
317
|
+
start_time: Start time
|
|
318
|
+
abstract: Abstract
|
|
319
|
+
room_type: Type
|
|
320
|
+
presenters: Presenters
|
|
321
|
+
conference: Conference
|
|
322
|
+
session: Session
|
|
323
|
+
attachments: Attachments
|
|
324
|
+
spina/admin/conferences/presentation_attachment:
|
|
325
|
+
type: Type
|
|
326
|
+
spina/admin/conferences/presentation_type:
|
|
327
|
+
name: Name
|
|
328
|
+
duration: Duration
|
|
329
|
+
spina/admin/conferences/dietary_requirement:
|
|
330
|
+
name: Name
|
|
331
|
+
spina/admin/conferences/presentation_attachment_type:
|
|
332
|
+
name: Name
|
|
333
|
+
spina/admin/conferences/institution:
|
|
334
|
+
name: Name
|
|
335
|
+
city: City
|
|
336
|
+
logo: Logo
|
|
337
|
+
spina/admin/conferences/room:
|
|
338
|
+
building: Building
|
|
339
|
+
number: Number
|
|
340
|
+
institution: Institution
|
|
341
|
+
name: "%{building} %{number}"
|
|
342
|
+
spina/admin/conferences/session:
|
|
343
|
+
name: Name
|
|
344
|
+
presentation_type: Presentation type
|
|
345
|
+
room: Room
|
|
346
|
+
errors:
|
|
347
|
+
messages:
|
|
348
|
+
outside_conference: is not during the selected conference
|
|
349
|
+
invalid_email_address: is not an email address
|
|
350
|
+
invalid_time: is not a time
|
|
351
|
+
invalid_date: is not a date
|
|
352
|
+
before_start_date: is before start date
|
|
353
|
+
before_start_time: is before start time
|
|
354
|
+
invalid_http_https_url: is not a valid HTTP or HTTPS URL
|