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,106 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {DietaryRequirement} objects.
|
|
7
|
+
# @see DietaryRequirement
|
|
8
|
+
class DietaryRequirementsController < ApplicationController
|
|
9
|
+
before_action :set_dietary_requirement, only: %i[edit update destroy]
|
|
10
|
+
before_action :set_breadcrumb
|
|
11
|
+
before_action :set_tabs
|
|
12
|
+
|
|
13
|
+
# @!group Actions
|
|
14
|
+
|
|
15
|
+
# Renders a list of dietary requirements.
|
|
16
|
+
# @return [void]
|
|
17
|
+
def index
|
|
18
|
+
@dietary_requirements = DietaryRequirement.sorted
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Renders a form for a new dietary requirement.
|
|
22
|
+
# @return [void]
|
|
23
|
+
def new
|
|
24
|
+
@dietary_requirement = DietaryRequirement.new
|
|
25
|
+
add_breadcrumb t('.new')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Renders a form for an existing dietary requirement.
|
|
29
|
+
# @return [void]
|
|
30
|
+
def edit
|
|
31
|
+
add_breadcrumb @dietary_requirement.name
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Creates a dietary requirement.
|
|
35
|
+
# @return [void]
|
|
36
|
+
def create # rubocop:disable Metrics/MethodLength
|
|
37
|
+
@dietary_requirement = DietaryRequirement.new dietary_requirement_params
|
|
38
|
+
|
|
39
|
+
if @dietary_requirement.save
|
|
40
|
+
redirect_to admin_conferences_dietary_requirements_path, success: t('.saved')
|
|
41
|
+
else
|
|
42
|
+
respond_to do |format|
|
|
43
|
+
format.html do
|
|
44
|
+
add_breadcrumb t('.new')
|
|
45
|
+
render :new
|
|
46
|
+
end
|
|
47
|
+
format.js { render partial: 'errors', locals: { errors: @dietary_requirement.errors } }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Updates a dietary requirement.
|
|
53
|
+
# @return [void]
|
|
54
|
+
def update # rubocop:disable Metrics/MethodLength
|
|
55
|
+
if @dietary_requirement.update(dietary_requirement_params)
|
|
56
|
+
redirect_to admin_conferences_dietary_requirements_path, success: t('.saved')
|
|
57
|
+
else
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html do
|
|
60
|
+
add_breadcrumb @dietary_requirement.name
|
|
61
|
+
render :edit
|
|
62
|
+
end
|
|
63
|
+
format.js { render partial: 'errors', locals: { errors: @dietary_requirement.errors } }
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Destroys a dietary requirement.
|
|
69
|
+
# @return [void]
|
|
70
|
+
def destroy # rubocop:disable Metrics/MethodLength
|
|
71
|
+
if @dietary_requirement.destroy
|
|
72
|
+
redirect_to admin_conferences_dietary_requirements_path, success: t('.destroyed')
|
|
73
|
+
else
|
|
74
|
+
respond_to do |format|
|
|
75
|
+
format.html do
|
|
76
|
+
add_breadcrumb @dietary_requirement.name
|
|
77
|
+
render :edit
|
|
78
|
+
end
|
|
79
|
+
format.js { render partial: 'errors', locals: { errors: @dietary_requirement.errors } }
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# @!endgroup
|
|
85
|
+
|
|
86
|
+
private
|
|
87
|
+
|
|
88
|
+
def set_dietary_requirement
|
|
89
|
+
@dietary_requirement = DietaryRequirement.find params[:id]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def set_breadcrumb
|
|
93
|
+
add_breadcrumb DietaryRequirement.model_name.human(count: 0), admin_conferences_dietary_requirements_path
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def set_tabs
|
|
97
|
+
@tabs = %w[dietary_requirement_details delegates]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def dietary_requirement_params
|
|
101
|
+
params.require(:admin_conferences_dietary_requirement).permit(:name)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {Event} objects.
|
|
7
|
+
# @see Event
|
|
8
|
+
class EventsController < ApplicationController
|
|
9
|
+
# @!group Actions
|
|
10
|
+
|
|
11
|
+
# Renders a form for an {Event}.
|
|
12
|
+
# @return [void]
|
|
13
|
+
def new
|
|
14
|
+
@conference = Conference.find_by(id: params[:conference]) || Conference.new
|
|
15
|
+
@event = @conference.events.build
|
|
16
|
+
respond_to :js
|
|
17
|
+
render locals: { index: params[:index].to_i, active: params[:active] == 'true' }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @!endgroup
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {Institution} objects.
|
|
7
|
+
# @see Institution
|
|
8
|
+
class InstitutionsController < ApplicationController
|
|
9
|
+
before_action :set_institution, only: %i[edit update destroy]
|
|
10
|
+
before_action :set_breadcrumb
|
|
11
|
+
before_action :set_tabs
|
|
12
|
+
|
|
13
|
+
# @!group Actions
|
|
14
|
+
|
|
15
|
+
# Renders a list of institutions.
|
|
16
|
+
# @return [void]
|
|
17
|
+
def index
|
|
18
|
+
@institutions = Institution.sorted
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Renders a form for a new institution.
|
|
22
|
+
# @return [void]
|
|
23
|
+
def new
|
|
24
|
+
@institution = Institution.new
|
|
25
|
+
add_breadcrumb t('.new')
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Renders a form for an existing institution.
|
|
29
|
+
# @return [void]
|
|
30
|
+
def edit
|
|
31
|
+
add_breadcrumb @institution.name
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Creates an institution.
|
|
35
|
+
# @return [void]
|
|
36
|
+
def create # rubocop:disable Metrics/MethodLength
|
|
37
|
+
@institution = Institution.new(conference_params)
|
|
38
|
+
|
|
39
|
+
if @institution.save
|
|
40
|
+
redirect_to admin_conferences_institutions_path, success: t('.saved')
|
|
41
|
+
else
|
|
42
|
+
respond_to do |format|
|
|
43
|
+
format.html do
|
|
44
|
+
add_breadcrumb t('.new')
|
|
45
|
+
render :new
|
|
46
|
+
end
|
|
47
|
+
format.js { render partial: 'errors', locals: { errors: @institution.errors } }
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Updates an institution.
|
|
53
|
+
# @return [void]
|
|
54
|
+
def update # rubocop:disable Metrics/MethodLength
|
|
55
|
+
if @institution.update(conference_params)
|
|
56
|
+
redirect_to admin_conferences_institutions_path, success: t('.saved')
|
|
57
|
+
else
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html do
|
|
60
|
+
add_breadcrumb @institution.name
|
|
61
|
+
render :edit
|
|
62
|
+
end
|
|
63
|
+
format.js { render partial: 'errors', locals: { errors: @institution.errors } }
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# Destroys an institution.
|
|
69
|
+
# @return [void]
|
|
70
|
+
def destroy # rubocop:disable Metrics/MethodLength
|
|
71
|
+
if @institution.destroy
|
|
72
|
+
redirect_to admin_conferences_institutions_path, success: t('.destroyed')
|
|
73
|
+
else
|
|
74
|
+
respond_to do |format|
|
|
75
|
+
format.html do
|
|
76
|
+
add_breadcrumb @institution.name
|
|
77
|
+
render :edit
|
|
78
|
+
end
|
|
79
|
+
format.js { render partial: 'errors', locals: { errors: @institution.errors } }
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# @!endgroup
|
|
85
|
+
|
|
86
|
+
private
|
|
87
|
+
|
|
88
|
+
def set_institution
|
|
89
|
+
@institution = Institution.find params[:id]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def set_breadcrumb
|
|
93
|
+
add_breadcrumb Institution.model_name.human(count: 0), admin_conferences_institutions_path
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def set_tabs
|
|
97
|
+
@tabs = %w[institution_details rooms delegates]
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def conference_params
|
|
101
|
+
params.require(:admin_conferences_institution).permit(:name, :city, :logo_id)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
end
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {PresentationAttachmentType} objects.
|
|
7
|
+
# @see PresentationAttachmentType
|
|
8
|
+
class PresentationAttachmentTypesController < ApplicationController
|
|
9
|
+
before_action :set_presentation_attachment_type, only: %i[edit update destroy]
|
|
10
|
+
before_action :set_breadcrumb
|
|
11
|
+
|
|
12
|
+
# @!group Actions
|
|
13
|
+
|
|
14
|
+
# Renders a list of presentation attachment types.
|
|
15
|
+
# @return [void]
|
|
16
|
+
def index
|
|
17
|
+
@presentation_attachment_types = PresentationAttachmentType.sorted
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Renders a form for a new presentation attachment type.
|
|
21
|
+
# @return [void]
|
|
22
|
+
def new
|
|
23
|
+
@presentation_attachment_type = PresentationAttachmentType.new
|
|
24
|
+
add_breadcrumb t('.new')
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Renders a form for an existing presentation attachment type.
|
|
28
|
+
# @return [void]
|
|
29
|
+
def edit
|
|
30
|
+
add_breadcrumb @presentation_attachment_type.name
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Creates a presentation attachment type.
|
|
34
|
+
# @return [void]
|
|
35
|
+
def create # rubocop:disable Metrics/MethodLength
|
|
36
|
+
@presentation_attachment_type = PresentationAttachmentType.new presentation_attachment_type_params
|
|
37
|
+
|
|
38
|
+
if @presentation_attachment_type.save
|
|
39
|
+
redirect_to admin_conferences_presentation_attachment_types_path, success: t('.saved')
|
|
40
|
+
else
|
|
41
|
+
respond_to do |format|
|
|
42
|
+
format.html do
|
|
43
|
+
add_breadcrumb t('.new')
|
|
44
|
+
render :new
|
|
45
|
+
end
|
|
46
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_attachment_type.errors } }
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Updates a presentation attachment type.
|
|
52
|
+
# @return [void]
|
|
53
|
+
def update # rubocop:disable Metrics/MethodLength
|
|
54
|
+
if @presentation_attachment_type.update(presentation_attachment_type_params)
|
|
55
|
+
redirect_to admin_conferences_presentation_attachment_types_path, success: t('.saved')
|
|
56
|
+
else
|
|
57
|
+
respond_to do |format|
|
|
58
|
+
format.html do
|
|
59
|
+
add_breadcrumb @presentation_attachment_type.name
|
|
60
|
+
render :edit
|
|
61
|
+
end
|
|
62
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_attachment_type.errors } }
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Destroys a presentation attachment type.
|
|
68
|
+
# @return [void]
|
|
69
|
+
def destroy # rubocop:disable Metrics/MethodLength
|
|
70
|
+
if @presentation_attachment_type.destroy
|
|
71
|
+
redirect_to admin_conferences_presentation_attachment_types_path, success: t('.destroyed')
|
|
72
|
+
else
|
|
73
|
+
respond_to do |format|
|
|
74
|
+
format.html do
|
|
75
|
+
add_breadcrumb @presentation_attachment_type.name
|
|
76
|
+
render :edit
|
|
77
|
+
end
|
|
78
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_attachment_type.errors } }
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# @!endgroup
|
|
84
|
+
|
|
85
|
+
private
|
|
86
|
+
|
|
87
|
+
# noinspection RubyInstanceMethodNamingConvention
|
|
88
|
+
def set_presentation_attachment_type
|
|
89
|
+
@presentation_attachment_type = PresentationAttachmentType.find params[:id]
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def set_breadcrumb
|
|
93
|
+
add_breadcrumb PresentationAttachmentType.model_name.human(count: 0),
|
|
94
|
+
admin_conferences_presentation_attachment_types_path
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# noinspection RubyInstanceMethodNamingConvention
|
|
98
|
+
def presentation_attachment_type_params
|
|
99
|
+
params.require(:admin_conferences_presentation_attachment_type).permit(:name)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {PresentationAttachment} objects.
|
|
7
|
+
# @see PresentationAttachment
|
|
8
|
+
class PresentationAttachmentsController < ApplicationController
|
|
9
|
+
# @!group Actions
|
|
10
|
+
|
|
11
|
+
# Renders a form for a {PresentationAttachment}.
|
|
12
|
+
# @return [void]
|
|
13
|
+
def new
|
|
14
|
+
@presentation = Presentation.find_by(id: params[:presentation_id]) || Presentation.new
|
|
15
|
+
@attachment = @presentation.attachments.build
|
|
16
|
+
respond_to :js
|
|
17
|
+
render locals: { index: params[:index].to_i, active: params[:active] == 'true' }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @!endgroup
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Admin
|
|
5
|
+
module Conferences
|
|
6
|
+
# Controller for {PresentationType} objects.
|
|
7
|
+
# @see PresentationType
|
|
8
|
+
class PresentationTypesController < ApplicationController
|
|
9
|
+
before_action :set_presentation_type, only: %i[edit update destroy]
|
|
10
|
+
before_action :set_breadcrumbs
|
|
11
|
+
before_action :set_tabs
|
|
12
|
+
|
|
13
|
+
layout 'spina/admin/conferences/conferences'
|
|
14
|
+
|
|
15
|
+
# @!group Actions
|
|
16
|
+
|
|
17
|
+
# Renders a list of presentation types.
|
|
18
|
+
# @return [void]
|
|
19
|
+
def index
|
|
20
|
+
@presentation_types = PresentationType.sorted
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Renders a form for a new presentation type.
|
|
24
|
+
# @return [void]
|
|
25
|
+
def new
|
|
26
|
+
@presentation_type = PresentationType.new
|
|
27
|
+
add_breadcrumb t('.new')
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Renders a form for an existing presentation type.
|
|
31
|
+
# @return [void]
|
|
32
|
+
def edit
|
|
33
|
+
add_breadcrumb @presentation_type.name
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Creates a presentation type.
|
|
37
|
+
# @return [void]
|
|
38
|
+
def create # rubocop:disable Metrics/MethodLength
|
|
39
|
+
@presentation_type = PresentationType.new presentation_type_params
|
|
40
|
+
|
|
41
|
+
if @presentation_type.save
|
|
42
|
+
redirect_to admin_conferences_presentation_types_path, success: t('.saved')
|
|
43
|
+
else
|
|
44
|
+
respond_to do |format|
|
|
45
|
+
format.html do
|
|
46
|
+
add_breadcrumb t('.new')
|
|
47
|
+
render :new
|
|
48
|
+
end
|
|
49
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_type.errors } }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Updates a presentation type.
|
|
55
|
+
# @return [void]
|
|
56
|
+
def update # rubocop:disable Metrics/MethodLength
|
|
57
|
+
if @presentation_type.update(presentation_type_params)
|
|
58
|
+
redirect_to admin_conferences_presentation_types_path, success: t('.saved')
|
|
59
|
+
else
|
|
60
|
+
respond_to do |format|
|
|
61
|
+
format.html do
|
|
62
|
+
add_breadcrumb @presentation_type.name
|
|
63
|
+
render :edit
|
|
64
|
+
end
|
|
65
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_type.errors } }
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Destroys a presentation type.
|
|
71
|
+
# @return [void]
|
|
72
|
+
def destroy # rubocop:disable Metrics/MethodLength
|
|
73
|
+
if @presentation_type.destroy
|
|
74
|
+
redirect_to admin_conferences_presentation_types_path, success: t('.destroyed')
|
|
75
|
+
else
|
|
76
|
+
respond_to do |format|
|
|
77
|
+
format.html do
|
|
78
|
+
add_breadcrumb @presentation_type.name
|
|
79
|
+
render :edit
|
|
80
|
+
end
|
|
81
|
+
format.js { render partial: 'errors', locals: { errors: @presentation_type.errors } }
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @!endgroup
|
|
87
|
+
|
|
88
|
+
private
|
|
89
|
+
|
|
90
|
+
def set_presentation_type
|
|
91
|
+
@presentation_type = PresentationType.find params[:id]
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def set_breadcrumbs
|
|
95
|
+
add_breadcrumb Conference.model_name.human(count: 0), admin_conferences_conferences_path
|
|
96
|
+
add_breadcrumb PresentationType.model_name.human(count: 0), admin_conferences_presentation_types_path
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
def set_tabs
|
|
100
|
+
@tabs = %w[presentation_type_details presentations sessions]
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
def presentation_type_params
|
|
104
|
+
params.require(:admin_conferences_presentation_type).permit(:name, :conference_id, :minutes)
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|