spina-admin-conferences 1.3.10 → 2.2.0
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 +4 -4
- data/app/assets/stylesheets/spina/admin/conferences/application.sass +0 -15
- data/app/controllers/spina/admin/conferences/application_controller.rb +6 -3
- data/app/controllers/spina/admin/conferences/conferences_controller.rb +19 -28
- data/app/controllers/spina/admin/conferences/delegates_controller.rb +3 -5
- data/app/controllers/spina/admin/conferences/dietary_requirements_controller.rb +2 -2
- data/app/controllers/spina/admin/conferences/institutions_controller.rb +2 -2
- data/app/controllers/spina/admin/conferences/presentation_attachment_types_controller.rb +2 -2
- data/app/controllers/spina/admin/conferences/presentation_types_controller.rb +2 -2
- data/app/controllers/spina/admin/conferences/presentations_controller.rb +5 -6
- data/app/controllers/spina/admin/conferences/rooms_controller.rb +2 -2
- data/app/controllers/spina/admin/conferences/sessions_controller.rb +2 -2
- data/app/jobs/spina/admin/conferences/presentation_import_job.rb +2 -3
- data/app/models/spina/admin/conferences/conference.rb +132 -15
- data/app/models/spina/admin/conferences/event.rb +30 -65
- data/app/models/spina/admin/conferences/presentation.rb +29 -38
- data/app/models/spina/parts/admin/conferences/date.rb +14 -0
- data/app/models/spina/parts/admin/conferences/email_address.rb +20 -0
- data/app/models/spina/parts/admin/conferences/time.rb +14 -0
- data/app/models/spina/parts/admin/conferences/url.rb +20 -0
- data/app/views/spina/admin/conferences/{delegates/_form_conferences.html.haml → application/_conferences.html.haml} +2 -4
- data/app/views/spina/admin/conferences/{conferences/_form_delegates.html.haml → application/_delegates.html.haml} +2 -3
- data/app/views/spina/admin/conferences/application/_dietary_requirements.html.haml +9 -0
- data/app/views/spina/admin/conferences/application/_institutions.html.haml +10 -0
- data/app/views/spina/admin/conferences/application/_presentation_attachment_types.html.haml +10 -0
- data/app/views/spina/admin/conferences/{conferences/_form_presentation_types.html.haml → application/_presentation_types.html.haml} +2 -3
- data/app/views/spina/admin/conferences/{rooms/_form_presentations.html.haml → application/_presentations.html.haml} +2 -3
- data/app/views/spina/admin/conferences/{conferences/_form_rooms.html.haml → application/_rooms.html.haml} +2 -3
- data/app/views/spina/admin/conferences/{presentation_types/_form_sessions.html.haml → application/_sessions.html.haml} +2 -3
- data/app/views/spina/admin/conferences/conferences/_event_fields.html.haml +14 -21
- data/app/views/spina/admin/conferences/conferences/_form.html.haml +7 -3
- data/app/views/spina/admin/conferences/conferences/_form_conference_details.html.haml +22 -24
- data/app/views/spina/admin/conferences/conferences/_form_parts.html.haml +7 -14
- data/app/views/spina/admin/conferences/conferences/index.html.haml +2 -13
- data/app/views/spina/admin/conferences/delegates/_form.html.haml +4 -3
- data/app/views/spina/admin/conferences/delegates/_form_delegate_details.html.haml +47 -32
- data/app/views/spina/admin/conferences/delegates/index.html.haml +2 -12
- data/app/views/spina/admin/conferences/dietary_requirements/_form.html.haml +3 -3
- data/app/views/spina/admin/conferences/dietary_requirements/_form_dietary_requirement_details.html.haml +7 -8
- data/app/views/spina/admin/conferences/dietary_requirements/index.html.haml +2 -10
- data/app/views/spina/admin/conferences/institutions/_form.html.haml +4 -3
- data/app/views/spina/admin/conferences/institutions/_form_institution_details.html.haml +29 -35
- data/app/views/spina/admin/conferences/institutions/index.html.haml +2 -11
- data/app/views/spina/admin/conferences/presentation_attachment_types/_form.html.haml +2 -2
- data/app/views/spina/admin/conferences/presentation_attachment_types/index.html.haml +2 -10
- data/app/views/spina/admin/conferences/presentation_types/_form.html.haml +4 -3
- data/app/views/spina/admin/conferences/presentation_types/_form_presentation_type_details.html.haml +13 -17
- data/app/views/spina/admin/conferences/presentation_types/index.html.haml +2 -12
- data/app/views/spina/admin/conferences/presentations/_attachment_fields.html.haml +6 -15
- data/app/views/spina/admin/conferences/presentations/_form.html.haml +3 -3
- data/app/views/spina/admin/conferences/presentations/_form_presentation_details.html.haml +55 -55
- data/app/views/spina/admin/conferences/presentations/index.html.haml +2 -12
- data/app/views/spina/admin/conferences/rooms/_form.html.haml +3 -3
- data/app/views/spina/admin/conferences/rooms/_form_room_details.html.haml +13 -15
- data/app/views/spina/admin/conferences/rooms/index.html.haml +2 -12
- data/app/views/spina/admin/conferences/sessions/_form.html.haml +3 -3
- data/app/views/spina/admin/conferences/sessions/_form_session_details.html.haml +18 -20
- data/app/views/spina/admin/conferences/sessions/_session.html.haml +1 -1
- data/app/views/spina/admin/conferences/sessions/index.html.haml +2 -12
- data/app/views/spina/admin/hooks/conferences/_primary_navigation.html.haml +4 -4
- data/app/views/spina/admin/hooks/conferences/_settings_secondary_navigation.html.haml +2 -2
- data/app/views/spina/admin/parts/admin/conferences/dates/_form.html.haml +2 -0
- data/app/views/spina/admin/parts/admin/conferences/email_addresses/_form.html.haml +2 -0
- data/app/views/spina/admin/parts/admin/conferences/times/_form.html.haml +2 -0
- data/app/views/spina/admin/parts/admin/conferences/urls/_form.html.haml +2 -0
- data/config/locales/en.yml +26 -29
- data/db/migrate/20210315164409_add_json_attributes_to_spina_conferences_presentations.rb +7 -0
- data/db/migrate/20210315164410_add_json_attributes_to_spina_conferences_conferences.rb +7 -0
- data/db/migrate/20210315164411_convert_partables_to_json.rb +407 -0
- data/db/migrate/20210417102513_add_locale_to_action_text_rich_texts.rb +11 -0
- data/db/migrate/20210417102514_move_texts_to_action_text_rich_texts.rb +82 -0
- data/lib/spina/admin/conferences.rb +1 -0
- data/lib/spina/admin/conferences/engine.rb +10 -5
- data/lib/spina/admin/conferences/version.rb +1 -1
- data/lib/tasks/spina/admin/conferences_tasks.rake +11 -1
- metadata +47 -46
- data/app/helpers/spina/admin/conferences/conferences_helper.rb +0 -44
- data/app/models/spina/admin/conferences/date_part.rb +0 -15
- data/app/models/spina/admin/conferences/email_address_part.rb +0 -21
- data/app/models/spina/admin/conferences/part.rb +0 -20
- data/app/models/spina/admin/conferences/time_part.rb +0 -53
- data/app/models/spina/admin/conferences/url_part.rb +0 -21
- data/app/views/spina/admin/conferences/conferences/_form_presentations.html.haml +0 -12
- data/app/views/spina/admin/conferences/delegates/_form_presentations.html.haml +0 -12
- data/app/views/spina/admin/conferences/dietary_requirements/_form_delegates.html.haml +0 -12
- data/app/views/spina/admin/conferences/institutions/_form_delegates.html.haml +0 -12
- data/app/views/spina/admin/conferences/institutions/_form_rooms.html.haml +0 -12
- data/app/views/spina/admin/conferences/presentation_types/_form_presentations.html.haml +0 -12
- data/app/views/spina/admin/conferences/presentations/_form_presenters.html.haml +0 -12
- data/app/views/spina/admin/conferences/sessions/_form_presentations.html.haml +0 -12
- data/app/views/spina/admin/partables/admin/conferences/date_parts/_form.html.haml +0 -5
- data/app/views/spina/admin/partables/admin/conferences/email_address_parts/_form.html.haml +0 -5
- data/app/views/spina/admin/partables/admin/conferences/time_parts/_form.html.haml +0 -7
- data/app/views/spina/admin/partables/admin/conferences/url_parts/_form.html.haml +0 -5
|
@@ -6,8 +6,8 @@ module Spina
|
|
|
6
6
|
# Events during conferences.
|
|
7
7
|
#
|
|
8
8
|
# = Validators
|
|
9
|
-
# Presence:: {#name}, {
|
|
10
|
-
# Conference date (using {ConferenceDateValidator}):: {#
|
|
9
|
+
# Presence:: {#name}, {#:start_datetime}, {#:finish_datetime}, {#:location}.
|
|
10
|
+
# Conference date (using {ConferenceDateValidator}):: {#start_datetime}, {#finish_datetime}.
|
|
11
11
|
# @see ConferenceDateValidator
|
|
12
12
|
#
|
|
13
13
|
# = Translations
|
|
@@ -18,23 +18,37 @@ module Spina
|
|
|
18
18
|
default_scope { includes(:translations) }
|
|
19
19
|
|
|
20
20
|
# @!attribute [rw] name
|
|
21
|
-
# @return [String, nil] the translated name of the
|
|
21
|
+
# @return [String, nil] the translated name of the event
|
|
22
22
|
# @!attribute [rw] description
|
|
23
|
-
# @return [
|
|
23
|
+
# @return [ActionText::RichText, nil] the translated description of the event
|
|
24
|
+
# @!attribute [rw] start_datetime
|
|
25
|
+
# @return [ActiveSupport::TimeWithZone, nil] the start time of the event
|
|
26
|
+
# @!attribute [rw] finish_datetime
|
|
27
|
+
# @return [ActiveSupport::TimeWithZone, nil] the finish time of the event
|
|
24
28
|
# @!attribute [rw] location
|
|
25
|
-
# @return [String, nil] the translated location of the
|
|
26
|
-
translates :name, :
|
|
29
|
+
# @return [String, nil] the translated location of the event
|
|
30
|
+
translates :name, :location, fallbacks: true
|
|
31
|
+
translates :description, backend: :action_text, fallbacks: true
|
|
27
32
|
|
|
28
33
|
# @return [ActiveRecord::Relation] all events, ordered by name
|
|
29
34
|
scope :sorted, -> { i18n.order :name }
|
|
30
35
|
|
|
36
|
+
# @!attribute [rw] start_time
|
|
37
|
+
# @return [ActiveSupport::TimeWithZone, nil] the start time (alias)
|
|
38
|
+
# @see #start_datetime
|
|
39
|
+
alias_attribute :start_time, :start_datetime
|
|
40
|
+
# @!attribute [rw] :finish_time
|
|
41
|
+
# @return [ActiveSupport::TimeWithZone, nil] the finish time (alias)
|
|
42
|
+
# @see #finish_datetime
|
|
43
|
+
alias_attribute :finish_time, :finish_datetime
|
|
44
|
+
|
|
31
45
|
# @!attribute [rw] conference
|
|
32
46
|
# @return [Conference, nil] directly associated conferences
|
|
33
47
|
belongs_to :conference, -> { includes(:translations) }, inverse_of: :events, touch: true
|
|
34
48
|
|
|
35
|
-
validates :name, :
|
|
36
|
-
validates :
|
|
37
|
-
validates :
|
|
49
|
+
validates :name, :start_datetime, :finish_datetime, :location, presence: true
|
|
50
|
+
validates :start_datetime, :finish_datetime, 'spina/admin/conferences/conference_date': true
|
|
51
|
+
validates :finish_datetime, 'spina/admin/conferences/finish_time': true
|
|
38
52
|
|
|
39
53
|
# @return [Date, nil] the start date of the event. Nil if the event has no start date and time
|
|
40
54
|
def date
|
|
@@ -43,54 +57,11 @@ module Spina
|
|
|
43
57
|
start_datetime.to_date
|
|
44
58
|
end
|
|
45
59
|
|
|
46
|
-
#
|
|
47
|
-
|
|
48
|
-
# @return [void]
|
|
49
|
-
def date=(date)
|
|
50
|
-
if date.blank? || date.to_date.blank?
|
|
51
|
-
self.start_datetime = nil
|
|
52
|
-
return
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
self.start_datetime = date.to_date + (start_datetime.try(:seconds_since_midnight) || 0).seconds
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
# @return [ActiveSupport::TimeWithZone, nil] the start time of the event. Nil if the event has no start date and time
|
|
59
|
-
def start_time
|
|
60
|
+
# @return [TZInfo::TimezonePeriod, nil] the time zone period for the event
|
|
61
|
+
def time_zone_period
|
|
60
62
|
return if start_datetime.blank?
|
|
61
63
|
|
|
62
|
-
start_datetime
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
# Sets the start time of the event.
|
|
66
|
-
# @param start_time [ActiveSupport::TimeWithZone] the new start time
|
|
67
|
-
# @return [void]
|
|
68
|
-
def start_time=(start_time)
|
|
69
|
-
if start_time.blank?
|
|
70
|
-
self.start_datetime = nil
|
|
71
|
-
return
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
self.start_datetime = Time.parse(start_time, date).to_datetime.in_time_zone
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# @return [ActiveSupport::TimeWithZone, nil] the finish time of the event. Nil if the event has no finish date and time
|
|
78
|
-
def finish_time
|
|
79
|
-
return if finish_datetime.blank?
|
|
80
|
-
|
|
81
|
-
finish_datetime
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
# Sets the finish time of the event.
|
|
85
|
-
# @param finish_time [ActiveSupport::TimeWithZone] the new finish time
|
|
86
|
-
# @return [void]
|
|
87
|
-
def finish_time=(finish_time)
|
|
88
|
-
if finish_time.blank?
|
|
89
|
-
self.finish_datetime = nil
|
|
90
|
-
return
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
self.finish_datetime = Time.parse(finish_time, date).to_datetime.in_time_zone
|
|
64
|
+
start_datetime.period
|
|
94
65
|
end
|
|
95
66
|
|
|
96
67
|
# @return [Icalendar::Event] the event as an iCal event
|
|
@@ -98,22 +69,16 @@ module Spina
|
|
|
98
69
|
event = Icalendar::Event.new
|
|
99
70
|
return event if invalid?
|
|
100
71
|
|
|
101
|
-
event.dtstart = start_datetime
|
|
102
|
-
event.dtend = finish_datetime
|
|
72
|
+
event.dtstart = Icalendar::Values::DateTime.new(start_datetime, tzid: start_datetime.time_zone.tzinfo.name)
|
|
73
|
+
event.dtend = Icalendar::Values::DateTime.new(finish_datetime, tzid: start_datetime.time_zone.tzinfo.name)
|
|
103
74
|
event.location = location
|
|
104
75
|
event.contact = Spina::Account.first.email
|
|
105
76
|
event.categories = Event.model_name.human(count: 0)
|
|
106
77
|
event.summary = name
|
|
107
|
-
event.append_custom_property('alt_description', description.
|
|
108
|
-
event.description = description.try(:
|
|
78
|
+
event.append_custom_property('alt_description', description.to_s)
|
|
79
|
+
event.description = description.try(:to_plain_text)
|
|
109
80
|
event
|
|
110
81
|
end
|
|
111
|
-
|
|
112
|
-
# @param (see #to_event)
|
|
113
|
-
# @deprecated Use {#to_event} instead
|
|
114
|
-
def to_ics
|
|
115
|
-
to_event
|
|
116
|
-
end
|
|
117
82
|
end
|
|
118
83
|
end
|
|
119
84
|
end
|
|
@@ -15,13 +15,22 @@ module Spina
|
|
|
15
15
|
# - {#title}
|
|
16
16
|
# - {#abstract}
|
|
17
17
|
class Presentation < ApplicationRecord
|
|
18
|
+
include AttrJson::Record
|
|
19
|
+
include AttrJson::NestedAttributes
|
|
20
|
+
include Spina::Partable
|
|
21
|
+
include Spina::TranslatedContent
|
|
22
|
+
|
|
23
|
+
# @!attribute [rw] start_datetime
|
|
24
|
+
# @return [ActiveSupport::TimeWithZone, nil] the presentation start time
|
|
25
|
+
|
|
18
26
|
default_scope { includes(:translations) }
|
|
19
27
|
|
|
20
28
|
# @!attribute [rw] title
|
|
21
29
|
# @return [String, nil] the presentation title
|
|
22
30
|
# @!attribute [rw] abstract
|
|
23
|
-
# @return [
|
|
24
|
-
translates :title,
|
|
31
|
+
# @return [ActionText::RichText, nil] the presentation abstract
|
|
32
|
+
translates :title, fallbacks: true
|
|
33
|
+
translates :abstract, backend: :action_text, fallbacks: true
|
|
25
34
|
|
|
26
35
|
# @return [ActiveRecord::Relation] all conferences, ordered by date
|
|
27
36
|
scope :sorted, -> { order start_datetime: :desc }
|
|
@@ -65,11 +74,16 @@ module Spina
|
|
|
65
74
|
association_foreign_key: :spina_conferences_delegate_id
|
|
66
75
|
accepts_nested_attributes_for :attachments, allow_destroy: true
|
|
67
76
|
|
|
68
|
-
validates :title, :
|
|
69
|
-
validates :
|
|
77
|
+
validates :title, :start_datetime, :abstract, :presenters, presence: true
|
|
78
|
+
validates :start_datetime, 'spina/admin/conferences/conference_date': true
|
|
70
79
|
validates_associated :presenters
|
|
71
80
|
validates_associated :attachments
|
|
72
81
|
|
|
82
|
+
# @!attribute [rw] start_time
|
|
83
|
+
# @return [ActiveSupport::TimeWithZone, nil] the start time (alias)
|
|
84
|
+
# @see #start_datetime
|
|
85
|
+
alias_attribute :start_time, :start_datetime
|
|
86
|
+
|
|
73
87
|
# Imports a presentation from CSV.
|
|
74
88
|
# @param file [String] the CSV file to be read
|
|
75
89
|
# @return [void]
|
|
@@ -85,35 +99,18 @@ module Spina
|
|
|
85
99
|
start_datetime.to_date
|
|
86
100
|
end
|
|
87
101
|
|
|
88
|
-
#
|
|
89
|
-
|
|
90
|
-
# @return [void]
|
|
91
|
-
def date=(date)
|
|
92
|
-
if date.blank? || date.to_date.blank?
|
|
93
|
-
self.start_datetime = nil
|
|
94
|
-
return
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
self.start_datetime = date.to_date + (start_datetime.try(:seconds_since_midnight) || 0).seconds
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# @return [ActiveSupport::TimeWithZone, nil] the start time of the presentation. Nil if the presentation has no start date and time
|
|
101
|
-
def start_time
|
|
102
|
+
# @return [ActiveSupport::TimeWithZone, nil] the presentation end time. Nil if the presentation has no start date and time
|
|
103
|
+
def finish_datetime
|
|
102
104
|
return if start_datetime.blank?
|
|
103
105
|
|
|
104
|
-
start_datetime
|
|
106
|
+
start_datetime + presentation_type.duration
|
|
105
107
|
end
|
|
106
108
|
|
|
107
|
-
#
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def start_time=(start_time)
|
|
111
|
-
if start_time.blank?
|
|
112
|
-
self.start_datetime = nil
|
|
113
|
-
return
|
|
114
|
-
end
|
|
109
|
+
# @return [TZInfo::TimezonePeriod, nil] the time zone period for the presentation
|
|
110
|
+
def time_zone_period
|
|
111
|
+
return if start_datetime.blank?
|
|
115
112
|
|
|
116
|
-
|
|
113
|
+
start_datetime.period
|
|
117
114
|
end
|
|
118
115
|
|
|
119
116
|
# @return [Icalendar::Event] the presentation as an iCal event
|
|
@@ -121,22 +118,16 @@ module Spina
|
|
|
121
118
|
event = Icalendar::Event.new
|
|
122
119
|
return event if invalid?
|
|
123
120
|
|
|
124
|
-
event.dtstart = start_datetime
|
|
125
|
-
event.dtend =
|
|
121
|
+
event.dtstart = Icalendar::Values::DateTime.new(start_datetime, tzid: start_datetime.time_zone.tzinfo.name)
|
|
122
|
+
event.dtend = Icalendar::Values::DateTime.new(finish_datetime, tzid: finish_datetime.time_zone.tzinfo.name)
|
|
126
123
|
event.location = session.room_name
|
|
127
124
|
presenters.each { |presenter| event.contact = presenter.full_name_and_institution }
|
|
128
125
|
event.categories = Presentation.model_name.human(count: 0)
|
|
129
126
|
event.summary = title
|
|
130
|
-
event.append_custom_property('alt_description', abstract.
|
|
131
|
-
event.description = abstract.try(:
|
|
127
|
+
event.append_custom_property('alt_description', abstract.to_s)
|
|
128
|
+
event.description = abstract.try(:to_plain_text)
|
|
132
129
|
event
|
|
133
130
|
end
|
|
134
|
-
|
|
135
|
-
# @param (see #to_event)
|
|
136
|
-
# @deprecated Use {#to_event} instead
|
|
137
|
-
def to_ics
|
|
138
|
-
to_event
|
|
139
|
-
end
|
|
140
131
|
end
|
|
141
132
|
end
|
|
142
133
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Parts
|
|
5
|
+
module Admin
|
|
6
|
+
module Conferences
|
|
7
|
+
# Email address parts. The format is validated.
|
|
8
|
+
#
|
|
9
|
+
# = Validators
|
|
10
|
+
# Email address (using {EmailAddressValidator}):: {#content}.
|
|
11
|
+
# @see EmailAddressValidator
|
|
12
|
+
class EmailAddress < Spina::Parts::Base
|
|
13
|
+
attr_json :content, :string
|
|
14
|
+
|
|
15
|
+
validates :content, 'spina/admin/conferences/email_address': true, allow_blank: true
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Spina
|
|
4
|
+
module Parts
|
|
5
|
+
module Admin
|
|
6
|
+
module Conferences
|
|
7
|
+
# URL parts. The format is validated.
|
|
8
|
+
#
|
|
9
|
+
# = Validators
|
|
10
|
+
# HTTP(S) URL (using {HttpUrlValidator}):: {#content}.
|
|
11
|
+
# @see HttpUrlValidator
|
|
12
|
+
class Url < Spina::Parts::Base
|
|
13
|
+
attr_json :content, :string
|
|
14
|
+
|
|
15
|
+
validates :content, 'spina/admin/conferences/http_url': true, allow_blank: true
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
5
5
|
%tr
|
|
6
6
|
%th= Spina::Admin::Conferences::Conference.human_attribute_name :name
|
|
7
7
|
%th= Spina::Admin::Conferences::Conference.human_attribute_name :year
|
|
8
|
-
%th= Spina::Admin::Conferences::Conference.human_attribute_name :institution
|
|
9
8
|
%th= Spina::Admin::Conferences::Conference.human_attribute_name :start_date
|
|
10
9
|
%th= Spina::Admin::Conferences::Conference.human_attribute_name :finish_date
|
|
11
10
|
%th
|
|
12
11
|
|
|
13
|
-
%tbody
|
|
14
|
-
= render @delegate.conferences.any? ? @delegate.conferences : 'empty_list', message: t('spina.admin.conferences.conferences.index.no_conferences')
|
|
12
|
+
%tbody= render conferences.presence || 'empty_list', message: t('.no_conferences')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
%th= Spina::Admin::Conferences::Delegate.human_attribute_name :institution
|
|
9
9
|
%th
|
|
10
10
|
|
|
11
|
-
%tbody
|
|
12
|
-
= render @conference.delegates.any? ? @conference.delegates : 'empty_list', message: t('spina.admin.conferences.delegates.index.no_delegates')
|
|
11
|
+
%tbody= render delegates.presence || 'empty_list', message: t('.no_delegates')
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
.well
|
|
2
|
+
.table-container
|
|
3
|
+
%table.table
|
|
4
|
+
%thead
|
|
5
|
+
%tr
|
|
6
|
+
%th= Spina::Admin::Conferences::Institution.human_attribute_name :name
|
|
7
|
+
%th= Spina::Admin::Conferences::Institution.human_attribute_name :city
|
|
8
|
+
%th
|
|
9
|
+
|
|
10
|
+
%tbody= render institutions.presence || 'empty_list', message: t('.no_institutions')
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
.well
|
|
2
|
+
.table-container
|
|
3
|
+
%table.table
|
|
4
|
+
%thead
|
|
5
|
+
%tr
|
|
6
|
+
%th= Spina::Admin::Conferences::DietaryRequirement.human_attribute_name :name
|
|
7
|
+
%th
|
|
8
|
+
|
|
9
|
+
%tbody
|
|
10
|
+
= render presentation_attachment_types.presence || 'empty_list', message: t('.no_presentation_attachment_types')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
%th= Spina::Admin::Conferences::PresentationType.human_attribute_name :duration
|
|
9
9
|
%th
|
|
10
10
|
|
|
11
|
-
%tbody
|
|
12
|
-
= render @conference.presentation_types.any? ? @conference.presentation_types : 'empty_list', message: t('spina.admin.conferences.presentation_types.index.no_presentation_types')
|
|
11
|
+
%tbody= render presentation_types.presence || 'empty_list', message: t('.no_presentation_types')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
%th= Spina::Admin::Conferences::Presentation.human_attribute_name :presenters
|
|
9
9
|
%th
|
|
10
10
|
|
|
11
|
-
%tbody
|
|
12
|
-
= render @room.presentations.any? ? @room.presentations : 'empty_list', message: t('spina.admin.conferences.presentations.index.no_presentations')
|
|
11
|
+
%tbody= render presentations.presence || 'empty_list', message: t('.no_presentations')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
%th= Spina::Admin::Conferences::Room.human_attribute_name :number
|
|
9
9
|
%th
|
|
10
10
|
|
|
11
|
-
%tbody
|
|
12
|
-
= render @conference.rooms.any? ? @conference.rooms : 'empty_list', message: t('spina.admin.conferences.rooms.index.no_rooms')
|
|
11
|
+
%tbody= render rooms.presence || 'empty_list', message: t('.no_rooms')
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
.well
|
|
2
2
|
.table-container
|
|
3
3
|
%table.table
|
|
4
4
|
%thead
|
|
@@ -8,5 +8,4 @@
|
|
|
8
8
|
%th= Spina::Admin::Conferences::Session.human_attribute_name :room
|
|
9
9
|
%th
|
|
10
10
|
|
|
11
|
-
%tbody
|
|
12
|
-
= render @presentation_type.sessions.any? ? @presentation_type.sessions : 'empty_list', message: t('spina.admin.conferences.sessions.index.no_sessions')
|
|
11
|
+
%tbody= render sessions.presence || 'empty_list', message: t('.no_sessions')
|