decidim-meetings 0.27.4 → 0.28.0.rc5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/attending_organizations_list_cell.rb +32 -0
- data/app/cells/decidim/meetings/cancel_registration_meeting_button/cancelation_modal.erb +21 -0
- data/app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb +10 -0
- data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +36 -0
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +8 -18
- data/app/cells/decidim/meetings/dates_and_map/show.erb +25 -0
- data/app/cells/decidim/meetings/dates_and_map/static_map.erb +1 -0
- data/app/cells/decidim/meetings/dates_and_map_cell.rb +35 -0
- data/app/cells/decidim/meetings/highlighted_meetings_for_component/show.erb +32 -30
- data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +76 -16
- data/app/cells/decidim/meetings/join_meeting_button/registration_modal.erb +25 -0
- data/app/cells/decidim/meetings/join_meeting_button/remaining_slots.erb +4 -0
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +7 -19
- data/app/cells/decidim/meetings/join_meeting_button_cell.rb +3 -7
- data/app/cells/decidim/meetings/meeting_activity_cell.rb +1 -12
- data/app/cells/decidim/meetings/meeting_card_metadata_cell.rb +64 -0
- data/app/cells/decidim/meetings/meeting_cell.rb +2 -6
- data/app/cells/decidim/meetings/meeting_l/image.erb +5 -0
- data/app/cells/decidim/meetings/meeting_l_cell.rb +33 -0
- data/app/cells/decidim/meetings/meeting_month/show.erb +33 -0
- data/app/cells/decidim/meetings/meeting_month_cell.rb +72 -0
- data/app/cells/decidim/meetings/meeting_s_cell.rb +5 -37
- data/app/cells/decidim/meetings/meetings_map/show.erb +9 -24
- data/app/cells/decidim/meetings/meetings_map_cell.rb +1 -1
- data/app/cells/decidim/meetings/online_meeting_cell.rb +1 -0
- data/app/cells/decidim/meetings/online_meeting_link/show.erb +18 -41
- data/app/cells/decidim/meetings/public_participants_list/show.erb +4 -15
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/create_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +5 -5
- data/app/commands/decidim/meetings/admin/publish_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +1 -1
- data/app/commands/decidim/meetings/create_meeting.rb +14 -3
- data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
- data/app/commands/decidim/meetings/join_meeting.rb +5 -5
- data/app/commands/decidim/meetings/update_meeting.rb +13 -3
- data/app/controllers/concerns/decidim/meetings/component_filterable.rb +4 -4
- data/app/controllers/decidim/meetings/admin/agenda_controller.rb +6 -6
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +3 -3
- data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +2 -4
- data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +3 -3
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +7 -7
- data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +4 -4
- data/app/controllers/decidim/meetings/admin/registrations_controller.rb +6 -6
- data/app/controllers/decidim/meetings/application_controller.rb +11 -0
- data/app/controllers/decidim/meetings/calendars_controller.rb +0 -1
- data/app/controllers/decidim/meetings/directory/application_controller.rb +12 -0
- data/app/controllers/decidim/meetings/directory/meetings_controller.rb +5 -30
- data/app/controllers/decidim/meetings/live_events_controller.rb +1 -0
- data/app/controllers/decidim/meetings/meeting_closes_controller.rb +2 -3
- data/app/controllers/decidim/meetings/meetings_controller.rb +75 -7
- data/app/controllers/decidim/meetings/polls/answers_controller.rb +2 -2
- data/app/controllers/decidim/meetings/polls/questions_controller.rb +1 -1
- data/app/controllers/decidim/meetings/registrations_controller.rb +5 -5
- data/app/events/decidim/meetings/close_meeting_event.rb +1 -1
- data/app/events/decidim/meetings/meeting_event.rb +1 -1
- data/app/events/decidim/meetings/meeting_registration_notification_event.rb +3 -3
- data/app/events/decidim/meetings/meeting_registrations_enabled_event.rb +1 -1
- data/app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb +1 -1
- data/app/events/decidim/meetings/registration_code_validated_event.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_form.rb +5 -1
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +2 -2
- data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +1 -1
- data/app/forms/decidim/meetings/base_meeting_form.rb +1 -1
- data/app/forms/decidim/meetings/meeting_form.rb +3 -3
- data/app/helpers/decidim/meetings/admin/application_helper.rb +1 -0
- data/app/helpers/decidim/meetings/application_helper.rb +18 -25
- data/app/helpers/decidim/meetings/directory/application_helper.rb +10 -58
- data/app/helpers/decidim/meetings/map_helper.rb +2 -9
- data/app/helpers/decidim/meetings/meetings_helper.rb +6 -5
- data/app/jobs/decidim/meetings/hide_all_created_by_author_job.rb +13 -0
- data/app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb +1 -1
- data/app/mailers/decidim/meetings/registration_mailer.rb +1 -1
- data/app/models/decidim/meetings/meeting.rb +11 -32
- data/app/models/decidim/meetings/question.rb +1 -1
- data/app/packs/entrypoints/decidim_meetings.js +3 -0
- data/app/packs/images/decidim/gamification/badges/decidim_gamification_badges_attended_meetings.svg +42 -1
- data/app/packs/src/decidim/meetings/admin/agendas.js +3 -4
- data/app/packs/src/decidim/meetings/admin/registrations_form.js +12 -4
- data/app/packs/src/decidim/meetings/meetings_form.js +1 -1
- data/app/packs/src/decidim/meetings/poll.component.js +1 -1
- data/app/packs/stylesheets/decidim/meetings/_calendar.scss +47 -0
- data/app/packs/stylesheets/decidim/meetings/_item.scss +177 -0
- data/app/packs/stylesheets/decidim/meetings/_list.scss +58 -0
- data/app/packs/stylesheets/decidim/meetings/_live_event.scss +128 -0
- data/app/packs/stylesheets/decidim/meetings/meetings.scss +4 -0
- data/app/permissions/decidim/meetings/permissions.rb +15 -2
- data/app/presenters/decidim/meetings/admin_log/invite_presenter.rb +2 -2
- data/app/presenters/decidim/meetings/admin_log/meeting_presenter.rb +2 -2
- data/app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb +2 -2
- data/app/presenters/decidim/meetings/meeting_presenter.rb +8 -2
- data/app/services/decidim/meetings/calendar/component_calendar.rb +1 -1
- data/app/services/decidim/meetings/calendar/meeting_to_event.rb +6 -1
- data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +2 -2
- data/app/services/decidim/meetings/meeting_iframe_embedder.rb +1 -1
- data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -21
- data/app/views/decidim/meetings/admin/agenda/_agenda_item.html.erb +12 -12
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_child.html.erb +8 -8
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_child_template.html.erb +1 -1
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +3 -3
- data/app/views/decidim/meetings/admin/agenda/_form.html.erb +54 -50
- data/app/views/decidim/meetings/admin/agenda/edit.html.erb +18 -6
- data/app/views/decidim/meetings/admin/agenda/new.html.erb +17 -5
- data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +11 -2
- data/app/views/decidim/meetings/admin/invites/_form.html.erb +38 -28
- data/app/views/decidim/meetings/admin/invites/index.html.erb +77 -81
- data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +26 -28
- data/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +17 -5
- data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +17 -6
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +76 -83
- data/app/views/decidim/meetings/admin/meetings/_service.html.erb +14 -10
- data/app/views/decidim/meetings/admin/meetings/_services.html.erb +9 -5
- data/app/views/decidim/meetings/admin/meetings/edit.html.erb +17 -7
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +133 -129
- data/app/views/decidim/meetings/admin/meetings/new.html.erb +16 -6
- data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +2 -1
- data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +1 -1
- data/app/views/decidim/meetings/admin/poll/_form.html.erb +17 -32
- data/app/views/decidim/meetings/admin/poll/_question.html.erb +81 -75
- data/app/views/decidim/meetings/admin/poll/edit.html.erb +28 -8
- data/app/views/decidim/meetings/admin/registrations/_form.html.erb +32 -55
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +59 -26
- data/app/views/decidim/meetings/directory/meetings/index.html.erb +15 -20
- data/app/views/decidim/meetings/directory/meetings/index.js.erb +1 -23
- data/app/views/decidim/meetings/layouts/_aside_block.html.erb +8 -0
- data/app/views/decidim/meetings/layouts/live_event.html.erb +20 -19
- data/app/views/decidim/meetings/live_events/show.html.erb +4 -5
- data/app/views/decidim/meetings/meeting_closes/_form.html.erb +3 -10
- data/app/views/decidim/meetings/meeting_closes/edit.html.erb +17 -21
- data/app/views/decidim/meetings/meetings/_actions.html.erb +6 -0
- data/app/views/decidim/meetings/meetings/_add_to_calendar_modal.html.erb +17 -0
- data/app/views/decidim/meetings/meetings/_form.html.erb +26 -34
- data/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +3 -22
- data/app/views/decidim/meetings/meetings/_meeting.html.erb +74 -0
- data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +28 -26
- data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +98 -0
- data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +23 -36
- data/app/views/decidim/meetings/meetings/edit.html.erb +17 -21
- data/app/views/decidim/meetings/meetings/index.html.erb +15 -33
- data/app/views/decidim/meetings/meetings/index.js.erb +1 -23
- data/app/views/decidim/meetings/meetings/new.html.erb +17 -21
- data/app/views/decidim/meetings/meetings/show.html.erb +8 -164
- data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +2 -2
- data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +6 -6
- data/app/views/decidim/meetings/polls/answers/create.js.erb +1 -1
- data/app/views/decidim/meetings/polls/questions/_index.html.erb +1 -1
- data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +5 -5
- data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +7 -9
- data/app/views/decidim/meetings/polls/questions/_question.html.erb +3 -3
- data/app/views/decidim/meetings/polls/questions/index_admin.js.erb +1 -1
- data/app/views/decidim/meetings/shared/_filters.html.erb +20 -0
- data/app/views/decidim/meetings/shared/_index.html.erb +24 -0
- data/app/views/decidim/meetings/shared/_index.js.erb +16 -0
- data/app/views/decidim/meetings/shared/_meetings.html.erb +33 -0
- data/app/views/decidim/meetings/shared/_meetings_aside.html.erb +18 -0
- data/app/views/decidim/meetings/versions/show.html.erb +13 -3
- data/app/views/decidim/participatory_spaces/_conference_venues.html.erb +15 -14
- data/config/assets.rb +0 -2
- data/config/environment.rb +3 -0
- data/config/locales/ar.yml +3 -97
- data/config/locales/bg.yml +0 -7
- data/config/locales/ca.yml +49 -70
- data/config/locales/cs.yml +52 -73
- data/config/locales/de.yml +52 -70
- data/config/locales/el.yml +45 -54
- data/config/locales/en.yml +54 -75
- data/config/locales/es-MX.yml +50 -68
- data/config/locales/es-PY.yml +51 -69
- data/config/locales/es.yml +48 -69
- data/config/locales/eu.yml +131 -149
- data/config/locales/fi-plain.yml +49 -67
- data/config/locales/fi.yml +64 -82
- data/config/locales/fr-CA.yml +45 -66
- data/config/locales/fr.yml +49 -70
- data/config/locales/ga-IE.yml +0 -16
- data/config/locales/gl.yml +1 -66
- data/config/locales/hu.yml +3 -89
- data/config/locales/id-ID.yml +1 -63
- data/config/locales/is-IS.yml +1 -21
- data/config/locales/it.yml +1 -85
- data/config/locales/ja.yml +43 -67
- data/config/locales/lb.yml +1 -66
- data/config/locales/lt.yml +59 -66
- data/config/locales/lv.yml +1 -64
- data/config/locales/nl.yml +1 -95
- data/config/locales/no.yml +1 -80
- data/config/locales/pl.yml +10 -83
- data/config/locales/pt-BR.yml +1 -86
- data/config/locales/pt.yml +1 -85
- data/config/locales/ro-RO.yml +8 -82
- data/config/locales/ru.yml +1 -62
- data/config/locales/sk.yml +1 -64
- data/config/locales/sq-AL.yml +1 -0
- data/config/locales/sr-CS.yml +0 -6
- data/config/locales/sv.yml +7 -88
- data/config/locales/th-TH.yml +1 -0
- data/config/locales/tr-TR.yml +2 -74
- data/config/locales/uk.yml +1 -55
- data/config/locales/zh-CN.yml +1 -70
- data/config/locales/zh-TW.yml +21 -54
- data/db/migrate/20201016065302_fix_meetings_registration_terms.rb +1 -1
- data/db/migrate/20230427105701_change_types_and_registration_types_on_meetings.rb +49 -0
- data/lib/decidim/meetings/admin_engine.rb +2 -2
- data/lib/decidim/meetings/component.rb +5 -217
- data/lib/decidim/meetings/content_blocks/registry_manager.rb +17 -0
- data/lib/decidim/meetings/directory_engine.rb +4 -6
- data/lib/decidim/meetings/engine.rb +65 -29
- data/lib/decidim/meetings/meeting_serializer.rb +5 -5
- data/lib/decidim/meetings/seeds.rb +188 -0
- data/lib/decidim/meetings/test/factories.rb +126 -18
- data/lib/decidim/meetings/test/notifications_handling.rb +3 -3
- data/lib/decidim/meetings/test/translated_event.rb +1 -1
- data/lib/decidim/meetings/user_answers_serializer.rb +1 -1
- data/lib/decidim/meetings/version.rb +1 -1
- metadata +60 -55
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/elements.erb +0 -16
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings/heading.erb +0 -1
- data/app/cells/decidim/meetings/content_blocks/upcoming_meetings/show.erb +0 -26
- data/app/cells/decidim/meetings/content_blocks/upcoming_meetings_cell.rb +0 -55
- data/app/cells/decidim/meetings/join_meeting_button/registration_confirm.erb +0 -31
- data/app/cells/decidim/meetings/meeting_highlighted_list_item/show.erb +0 -21
- data/app/cells/decidim/meetings/meeting_highlighted_list_item_cell.rb +0 -10
- data/app/cells/decidim/meetings/meeting_list_item/show.erb +0 -14
- data/app/cells/decidim/meetings/meeting_list_item_cell.rb +0 -44
- data/app/cells/decidim/meetings/meeting_m/address.erb +0 -5
- data/app/cells/decidim/meetings/meeting_m/data.erb +0 -2
- data/app/cells/decidim/meetings/meeting_m/date.erb +0 -8
- data/app/cells/decidim/meetings/meeting_m/footer.erb +0 -9
- data/app/cells/decidim/meetings/meeting_m/multiple_dates.erb +0 -17
- data/app/cells/decidim/meetings/meeting_m/single_date.erb +0 -9
- data/app/cells/decidim/meetings/meeting_m/tags.erb +0 -1
- data/app/cells/decidim/meetings/meeting_m_cell.rb +0 -121
- data/app/cells/decidim/meetings/meeting_s/show.erb +0 -27
- data/app/controllers/concerns/decidim/meetings/filterable.rb +0 -27
- data/app/controllers/decidim/meetings/widgets_controller.rb +0 -20
- data/app/packs/stylesheets/decidim/meetings/_header.scss +0 -52
- data/app/packs/stylesheets/decidim/meetings/_main.scss +0 -178
- data/app/packs/stylesheets/decidim/meetings/_meetings.scss +0 -2
- data/app/queries/decidim/meetings/admin/invites.rb +0 -60
- data/app/views/decidim/meetings/admin/meeting_closes/proposals_picker.html.erb +0 -1
- data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +0 -34
- data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +0 -26
- data/app/views/decidim/meetings/meeting_closes/proposals_picker.html.erb +0 -1
- data/app/views/decidim/meetings/meetings/_calendar_modal.html.erb +0 -26
- data/app/views/decidim/meetings/meetings/_filters.html.erb +0 -40
- data/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +0 -18
- data/app/views/decidim/meetings/meetings/_meetings.html.erb +0 -48
- data/app/views/decidim/meetings/versions/index.html.erb +0 -8
- data/app/views/decidim/participatory_spaces/_upcoming_meeting_for_card.html.erb +0 -4
- data/lib/decidim/meetings/seeds/city.jpeg +0 -0
@@ -1,26 +0,0 @@
|
|
1
|
-
<section id="upcoming_meetings" class="wrapper-home upcoming-meetings home-section">
|
2
|
-
<div class="row">
|
3
|
-
<h3 class="section-heading"><%= t("decidim.meetings.content_blocks.upcoming_meetings.upcoming_meetings") %></h3>
|
4
|
-
<div class="row">
|
5
|
-
<div class="columns medium-6">
|
6
|
-
<% upcoming_meetings.first(4).each do |event| %>
|
7
|
-
<%= card_for event, size: :s %>
|
8
|
-
<% end %>
|
9
|
-
</div>
|
10
|
-
<div class="columns medium-6">
|
11
|
-
<% if geolocation_enabled? %>
|
12
|
-
<%= cell "decidim/meetings/meetings_map", upcoming_meetings %>
|
13
|
-
<% else %>
|
14
|
-
<% (upcoming_meetings - upcoming_meetings.first(4)).each do |event| %>
|
15
|
-
<%= card_for event, size: :s %>
|
16
|
-
<% end %>
|
17
|
-
<% end %>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
<div class="row">
|
21
|
-
<div class="column">
|
22
|
-
<%= link_to t("decidim.meetings.content_blocks.upcoming_meetings.view_all_meetings"), meetings_directory_path, class: "button hollow button--sc pull-right" %>
|
23
|
-
</div>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</section>
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
module ContentBlocks
|
6
|
-
class UpcomingMeetingsCell < Decidim::ViewModel
|
7
|
-
include Decidim::CardHelper
|
8
|
-
|
9
|
-
def show
|
10
|
-
return if upcoming_meetings.blank?
|
11
|
-
|
12
|
-
render
|
13
|
-
end
|
14
|
-
|
15
|
-
def upcoming_meetings
|
16
|
-
@upcoming_meetings ||= Decidim::Meetings::Meeting
|
17
|
-
.includes(:author, component: :participatory_space)
|
18
|
-
.where(component: meeting_components)
|
19
|
-
.visible_for(current_user)
|
20
|
-
.published
|
21
|
-
.where("end_time >= ?", Time.current)
|
22
|
-
.except_withdrawn
|
23
|
-
.not_hidden
|
24
|
-
.order(start_time: :asc)
|
25
|
-
.limit(limit)
|
26
|
-
end
|
27
|
-
|
28
|
-
def geolocation_enabled?
|
29
|
-
Decidim::Map.available?(:geocoding)
|
30
|
-
end
|
31
|
-
|
32
|
-
def meetings_directory_path
|
33
|
-
Decidim::Meetings::DirectoryEngine.routes.url_helpers.root_path
|
34
|
-
end
|
35
|
-
|
36
|
-
private
|
37
|
-
|
38
|
-
def limit
|
39
|
-
geolocation_enabled? ? 4 : 8
|
40
|
-
end
|
41
|
-
|
42
|
-
def meeting_components
|
43
|
-
@meeting_components ||= Decidim::Component
|
44
|
-
.where(manifest_name: "meetings")
|
45
|
-
.where(participatory_space: participatory_spaces)
|
46
|
-
.published
|
47
|
-
end
|
48
|
-
|
49
|
-
def participatory_spaces
|
50
|
-
@participatory_spaces ||= current_organization.public_participatory_spaces
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<div class="reveal" data-reveal id="meeting-registration-confirm-<%= model.id %>">
|
2
|
-
<%= decidim_form_for(registration_form, url: meeting_registration_path(model), method: :post) do |form| %>
|
3
|
-
<div class="row">
|
4
|
-
<div class="columns medium-10 medium-offset-1">
|
5
|
-
<%= cell("decidim/represent_user_group", form) %>
|
6
|
-
</div>
|
7
|
-
</div>
|
8
|
-
|
9
|
-
<div class="row">
|
10
|
-
<div class="columns medium-10 medium-offset-1">
|
11
|
-
<%= cell("decidim/public_participation", form) %>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
|
15
|
-
<div class="row">
|
16
|
-
<div class="columns medium-10 medium-offset-1 help-text">
|
17
|
-
<%= registration_terms_text %>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
|
21
|
-
<div class="row">
|
22
|
-
<div class="columns medium-8 medium-offset-2">
|
23
|
-
<%= form.submit i18n_confirm_text, class: "button expanded", data: { disable: true } %>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
<% end %>
|
27
|
-
|
28
|
-
<div class="text-center">
|
29
|
-
<button class="link" data-close><%= i18n_cancel_text %></button>
|
30
|
-
</div>
|
31
|
-
</div>
|
@@ -1,21 +0,0 @@
|
|
1
|
-
<article class="card">
|
2
|
-
<div class="card__content">
|
3
|
-
<div class="card__header">
|
4
|
-
<%= link_to meeting_path, class: "card__link" do %>
|
5
|
-
<h5 class="card__title">
|
6
|
-
<%= title %>
|
7
|
-
</h5>
|
8
|
-
<% end %>
|
9
|
-
</div>
|
10
|
-
<div class="row">
|
11
|
-
<time datetime="<%= l(model.start_time, format: :long_dashed) %>" class="column medium-4 text-muted">
|
12
|
-
<%= icon "datetime", class: "mr-xs", role: "img", "aria-hidden": true %>
|
13
|
-
<%= l start_date, format: :decidim_with_month_name %>
|
14
|
-
</time>
|
15
|
-
<div class="column medium-8 text-muted">
|
16
|
-
<%= participatory_space_class_name %>
|
17
|
-
<%= link_to participatory_space_title, participatory_space_path %>
|
18
|
-
</div>
|
19
|
-
</div>
|
20
|
-
</div>
|
21
|
-
</article>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
# This cell renders the Highlighted List Item Card (:highlighted_list_item)
|
6
|
-
# meeting card for an instance of a Meeting. This card is used in the
|
7
|
-
# content block of Highlighted Meetings and is based on :s size card
|
8
|
-
class MeetingHighlightedListItemCell < MeetingSCell; end
|
9
|
-
end
|
10
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<div class="card--list__item">
|
2
|
-
<div class="card--list__text">
|
3
|
-
<div>
|
4
|
-
<%= link_to resource_path, class: "card__link" do %>
|
5
|
-
<h4 class="card--list__heading heading6">
|
6
|
-
<%= title %>
|
7
|
-
</h4>
|
8
|
-
<span class="text-small">
|
9
|
-
<%= resource_date_time %>
|
10
|
-
</span>
|
11
|
-
<% end %>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
</div>
|
@@ -1,44 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
# This cell renders the List Item Card (:list_item) meeting card
|
6
|
-
# for an instance of a Meeting
|
7
|
-
#
|
8
|
-
# This cell must be wrapped in a "<div class="card card--list"></div>"
|
9
|
-
class MeetingListItemCell < Decidim::Meetings::MeetingCell
|
10
|
-
def show
|
11
|
-
render
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def cache_hash
|
17
|
-
hash = []
|
18
|
-
hash.push(I18n.locale.to_s)
|
19
|
-
hash.push(model.cache_key_with_version)
|
20
|
-
hash.push(model.component.cache_key_with_version)
|
21
|
-
hash.push(model.must_render_translation?(current_organization) ? 1 : 0) if model.respond_to?(:must_render_translation?)
|
22
|
-
|
23
|
-
hash.join(Decidim.cache_key_separator)
|
24
|
-
end
|
25
|
-
|
26
|
-
def resource_path
|
27
|
-
resource_locator(model).path
|
28
|
-
end
|
29
|
-
|
30
|
-
def title
|
31
|
-
present(model).title(html_escape: true)
|
32
|
-
end
|
33
|
-
|
34
|
-
def resource_date_time
|
35
|
-
str = l model.start_time, format: :decidim_day_of_year
|
36
|
-
str += " - "
|
37
|
-
str += l model.start_time, format: :time_of_day
|
38
|
-
str += "-"
|
39
|
-
str += l model.end_time, format: :time_of_day
|
40
|
-
str
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
<div class="card__footer">
|
2
|
-
<div class="card__support">
|
3
|
-
<% if can_join? && show_footer_actions? %>
|
4
|
-
<%= cell "decidim/meetings/join_meeting_button", model %>
|
5
|
-
<% else %>
|
6
|
-
<%= link_to t("view", scope: "decidim.meetings.meetings.show"), resource_path, class: "card__button button--sc light button small" %>
|
7
|
-
<% end %>
|
8
|
-
</div>
|
9
|
-
</div>
|
@@ -1,17 +0,0 @@
|
|
1
|
-
<li class="card-data__item">
|
2
|
-
<div class="card-data__item--multiple">
|
3
|
-
<div>
|
4
|
-
<strong>
|
5
|
-
<%= l start_date, format: :decidim_with_month_name %>
|
6
|
-
</strong>
|
7
|
-
<%= formatted_start_time %>
|
8
|
-
</div>
|
9
|
-
<%= icon "arrow-thin-right", class: "icon--big muted", role: "img", "aria-hidden": true %>
|
10
|
-
<div>
|
11
|
-
<strong>
|
12
|
-
<%= l end_date, format: :decidim_with_month_name %>
|
13
|
-
</strong>
|
14
|
-
<%= formatted_end_time %>
|
15
|
-
</div>
|
16
|
-
</div>
|
17
|
-
</li>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render partial: "decidim/shared/tags.html", locals: { resource: model, tags_class_extra: "tags--meeting" } %>
|
@@ -1,121 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
# This cell renders the Medium (:m) meeting card
|
6
|
-
# for an given instance of a Meeting
|
7
|
-
class MeetingMCell < Decidim::CardMCell
|
8
|
-
include MeetingCellsHelper
|
9
|
-
|
10
|
-
def has_authors?
|
11
|
-
true
|
12
|
-
end
|
13
|
-
|
14
|
-
def render_authorship
|
15
|
-
cell "decidim/author", author_presenter_for(model.normalized_author)
|
16
|
-
end
|
17
|
-
|
18
|
-
def date
|
19
|
-
render
|
20
|
-
end
|
21
|
-
|
22
|
-
def address
|
23
|
-
decidim_html_escape(render)
|
24
|
-
end
|
25
|
-
|
26
|
-
def title
|
27
|
-
present(model).title(html_escape: true)
|
28
|
-
end
|
29
|
-
|
30
|
-
def description
|
31
|
-
present(model).description(strip_tags: true).truncate(120, separator: /\s/)
|
32
|
-
end
|
33
|
-
|
34
|
-
def badge
|
35
|
-
render if has_badge?
|
36
|
-
end
|
37
|
-
|
38
|
-
def has_badge?
|
39
|
-
withdrawn?
|
40
|
-
end
|
41
|
-
|
42
|
-
def state_classes
|
43
|
-
["alert"]
|
44
|
-
end
|
45
|
-
|
46
|
-
delegate :online_meeting?, to: :model
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
|
-
def cache_hash
|
51
|
-
hash = []
|
52
|
-
hash << I18n.locale.to_s
|
53
|
-
hash << model.cache_key_with_version
|
54
|
-
hash << Digest::MD5.hexdigest(model.component.cache_key_with_version)
|
55
|
-
hash << Digest::MD5.hexdigest(resource_image_path) if resource_image_path
|
56
|
-
hash << model.comments_count
|
57
|
-
hash << model.follows_count
|
58
|
-
hash << render_space? ? 1 : 0
|
59
|
-
|
60
|
-
if current_user
|
61
|
-
hash << current_user.cache_key_with_version
|
62
|
-
hash << current_user.follows?(model) ? 1 : 0
|
63
|
-
end
|
64
|
-
hash << Digest::MD5.hexdigest(model.author.cache_key_with_version)
|
65
|
-
hash << (model.must_render_translation?(current_organization) ? 1 : 0) if model.respond_to?(:must_render_translation?)
|
66
|
-
|
67
|
-
hash.join(Decidim.cache_key_separator)
|
68
|
-
end
|
69
|
-
|
70
|
-
def has_state?
|
71
|
-
withdrawn?
|
72
|
-
end
|
73
|
-
|
74
|
-
def resource_image_path
|
75
|
-
model.photo&.url
|
76
|
-
end
|
77
|
-
|
78
|
-
def has_image?
|
79
|
-
true
|
80
|
-
end
|
81
|
-
|
82
|
-
def spans_multiple_dates?
|
83
|
-
start_date != end_date
|
84
|
-
end
|
85
|
-
|
86
|
-
def meeting_date
|
87
|
-
return render(:multiple_dates) if spans_multiple_dates?
|
88
|
-
|
89
|
-
render(:single_date)
|
90
|
-
end
|
91
|
-
|
92
|
-
def formatted_start_time
|
93
|
-
model.start_time.strftime("%H:%M")
|
94
|
-
end
|
95
|
-
|
96
|
-
def formatted_end_time
|
97
|
-
model.end_time.strftime("%H:%M")
|
98
|
-
end
|
99
|
-
|
100
|
-
def start_date
|
101
|
-
model.start_time.to_date
|
102
|
-
end
|
103
|
-
|
104
|
-
def end_date
|
105
|
-
model.end_time.to_date
|
106
|
-
end
|
107
|
-
|
108
|
-
def can_join?
|
109
|
-
model.can_be_joined_by?(current_user)
|
110
|
-
end
|
111
|
-
|
112
|
-
def show_footer_actions?
|
113
|
-
options[:show_footer_actions]
|
114
|
-
end
|
115
|
-
|
116
|
-
def statuses
|
117
|
-
[:follow, :comments_count]
|
118
|
-
end
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
<div class="card">
|
2
|
-
<div class="p-s">
|
3
|
-
<div class="card__header">
|
4
|
-
<%= link_to meeting_path, class: "card__link" do %>
|
5
|
-
<span class="card__title">
|
6
|
-
<%= title %>
|
7
|
-
</span>
|
8
|
-
<% end %>
|
9
|
-
</div>
|
10
|
-
<div class="card__text">
|
11
|
-
<div class="row collapse text-medium">
|
12
|
-
<time datetime="<%= l(model.start_time, format: :long_dashed) %>" class="column medium-4 icon--container">
|
13
|
-
<%= icon "datetime", class: "primary", role: "img", "aria-hidden": true %>
|
14
|
-
|
15
|
-
<%= l start_date, format: :decidim_with_month_name %>
|
16
|
-
-
|
17
|
-
<%= formatted_start_time %>
|
18
|
-
</time>
|
19
|
-
<span class="column medium-8">
|
20
|
-
<%= participatory_space_class_name %>
|
21
|
-
|
22
|
-
<%= link_to participatory_space_title, participatory_space_path %>
|
23
|
-
</span>
|
24
|
-
</div>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</div>
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "active_support/concern"
|
4
|
-
|
5
|
-
module Decidim
|
6
|
-
module Meetings
|
7
|
-
# A controller concern to specify default filter parameters for the controller resources.
|
8
|
-
module Filterable
|
9
|
-
extend ActiveSupport::Concern
|
10
|
-
|
11
|
-
included do
|
12
|
-
private
|
13
|
-
|
14
|
-
def default_filter_type_params
|
15
|
-
%w(all) + Decidim::Meetings::Meeting::TYPE_OF_MEETING
|
16
|
-
end
|
17
|
-
|
18
|
-
def default_filter_origin_params
|
19
|
-
filter_origin_params = %w(participants)
|
20
|
-
filter_origin_params << "official"
|
21
|
-
filter_origin_params << "user_group" if current_organization.user_groups_enabled?
|
22
|
-
filter_origin_params
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
class WidgetsController < Decidim::WidgetsController
|
6
|
-
helper MeetingsHelper
|
7
|
-
helper Decidim::SanitizeHelper
|
8
|
-
|
9
|
-
private
|
10
|
-
|
11
|
-
def model
|
12
|
-
@model ||= Meeting.where(component: params[:component_id]).find(params[:meeting_id])
|
13
|
-
end
|
14
|
-
|
15
|
-
def iframe_url
|
16
|
-
@iframe_url ||= meeting_widget_url(model)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
.meeting-polls{
|
2
|
-
&__header{
|
3
|
-
display: flex;
|
4
|
-
justify-content: space-between;
|
5
|
-
align-items: center;
|
6
|
-
padding: 10px;
|
7
|
-
background-color: #f4f4f4;
|
8
|
-
border: 1px solid #e8e8e8;
|
9
|
-
}
|
10
|
-
|
11
|
-
&__button{
|
12
|
-
@extend .button;
|
13
|
-
@extend .button--nomargin;
|
14
|
-
@extend .hollow;
|
15
|
-
@extend .small;
|
16
|
-
|
17
|
-
background-color: $white;
|
18
|
-
font-weight: 600;
|
19
|
-
|
20
|
-
&.is-open{
|
21
|
-
background-color: var(--primary);
|
22
|
-
color: $white;
|
23
|
-
}
|
24
|
-
|
25
|
-
& + &{
|
26
|
-
margin-left: $global-margin * .25;
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
&__close{
|
31
|
-
display: flex;
|
32
|
-
justify-content: space-between;
|
33
|
-
align-items: center;
|
34
|
-
margin-left: 2 * $global-margin;
|
35
|
-
cursor: pointer;
|
36
|
-
|
37
|
-
a{
|
38
|
-
display: flex;
|
39
|
-
align-items: baseline;
|
40
|
-
}
|
41
|
-
|
42
|
-
span{
|
43
|
-
font-size: 2em;
|
44
|
-
margin-left: $global-margin * .5;
|
45
|
-
line-height: .5;
|
46
|
-
}
|
47
|
-
|
48
|
-
svg{
|
49
|
-
margin-left: .2rem;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
}
|