decidim-conferences 0.26.7 → 0.27.0.rc1
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/conferences/content_blocks/highlighted_conferences/show.erb +2 -2
- data/app/cells/decidim/conferences/content_blocks/highlighted_conferences_cell.rb +4 -5
- data/app/commands/decidim/conferences/admin/confirm_conference_registration.rb +3 -3
- data/app/commands/decidim/conferences/admin/copy_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/create_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/create_conference_speaker.rb +8 -8
- data/app/commands/decidim/conferences/admin/create_media_link.rb +6 -6
- data/app/commands/decidim/conferences/admin/create_partner.rb +8 -8
- data/app/commands/decidim/conferences/admin/create_registration_type.rb +6 -6
- data/app/commands/decidim/conferences/admin/destroy_conference_admin.rb +1 -1
- data/app/commands/decidim/conferences/admin/destroy_conference_speaker.rb +1 -1
- data/app/commands/decidim/conferences/admin/destroy_media_link.rb +1 -1
- data/app/commands/decidim/conferences/admin/destroy_partner.rb +1 -1
- data/app/commands/decidim/conferences/admin/destroy_registration_type.rb +1 -1
- data/app/commands/decidim/conferences/admin/export_conference_registrations.rb +1 -1
- data/app/commands/decidim/conferences/admin/invite_user_to_join_conference.rb +10 -12
- data/app/commands/decidim/conferences/admin/notify_role_assigned_to_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/publish_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/publish_registration_type.rb +1 -1
- data/app/commands/decidim/conferences/admin/send_conference_diplomas.rb +1 -1
- data/app/commands/decidim/conferences/admin/unpublish_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/unpublish_registration_type.rb +1 -1
- data/app/commands/decidim/conferences/admin/update_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/update_conference_speaker.rb +8 -8
- data/app/commands/decidim/conferences/admin/update_diploma.rb +3 -3
- data/app/commands/decidim/conferences/admin/update_media_link.rb +6 -6
- data/app/commands/decidim/conferences/admin/update_partner.rb +6 -6
- data/app/commands/decidim/conferences/admin/update_registration_type.rb +6 -6
- data/app/commands/decidim/conferences/decline_invitation.rb +1 -1
- data/app/commands/decidim/conferences/join_conference.rb +1 -8
- data/app/commands/decidim/conferences/leave_conference.rb +4 -4
- data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +10 -16
- data/app/controllers/decidim/conferences/admin/reminders_controller.rb +14 -0
- data/app/controllers/decidim/conferences/conference_program_controller.rb +2 -2
- data/app/controllers/decidim/conferences/conference_registrations_controller.rb +0 -17
- data/app/events/decidim/conferences/conference_registration_notification_event.rb +1 -1
- data/app/events/decidim/conferences/conference_role_assigned_event.rb +1 -1
- data/app/forms/decidim/conferences/admin/conference_registration_invite_form.rb +1 -1
- data/app/helpers/decidim/conferences/admin/conference_speakers_helper.rb +14 -0
- data/app/mailers/decidim/conferences/admin/send_conference_diploma_mailer.rb +2 -2
- data/app/models/decidim/conference.rb +2 -3
- data/app/models/decidim/conferences/conference_invite.rb +2 -2
- data/app/models/decidim/conferences/conference_registration.rb +2 -2
- data/app/permissions/decidim/conferences/permissions.rb +0 -1
- data/app/presenters/decidim/conference_speaker_presenter.rb +3 -5
- data/app/presenters/decidim/conferences/conference_stats_presenter.rb +4 -1
- data/app/queries/decidim/conferences/admin/admin_users.rb +1 -1
- data/app/queries/decidim/conferences/admin/conference_invites.rb +1 -1
- data/app/queries/decidim/conferences/admin/conference_speakers.rb +1 -1
- data/app/queries/decidim/conferences/conference_program_meetings.rb +2 -2
- data/app/queries/decidim/conferences/conference_program_meetings_by_day.rb +3 -3
- data/app/queries/decidim/conferences/conferences_with_user_role.rb +1 -1
- data/app/queries/decidim/conferences/organization_conferences.rb +1 -1
- data/app/queries/decidim/conferences/organization_prioritized_conferences.rb +3 -3
- data/app/queries/decidim/conferences/organization_published_conferences.rb +3 -3
- data/app/queries/decidim/conferences/prioritized_conferences.rb +1 -1
- data/app/queries/decidim/conferences/promoted_conferences.rb +1 -1
- data/app/queries/decidim/conferences/published_conferences.rb +1 -1
- data/app/queries/decidim/conferences/visible_conferences.rb +1 -1
- data/app/serializers/decidim/conferences/{data_portability_conference_invite_serializer.rb → download_your_data_conference_invite_serializer.rb} +2 -2
- data/app/serializers/decidim/conferences/{data_portability_conference_registration_serializer.rb → download_your_data_conference_registration_serializer.rb} +2 -2
- data/app/views/decidim/conferences/admin/conference_speakers/edit.html.erb +1 -1
- data/app/views/decidim/conferences/admin/conferences/_form.html.erb +3 -3
- data/app/views/decidim/conferences/admin/invite_join_conference_mailer/invite.html.erb +3 -3
- data/app/views/decidim/conferences/admin/partners/index.html.erb +3 -1
- data/app/views/decidim/conferences/conferences/_promoted_conference.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/show.html.erb +2 -2
- data/app/views/devise/mailer/join_conference.html.erb +2 -2
- data/app/views/devise/mailer/join_conference.text.erb +2 -2
- data/app/views/layouts/decidim/_conference_hero.html.erb +1 -1
- data/app/views/layouts/decidim/_conferences_nav.html.erb +1 -1
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +8 -2
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +8 -11
- data/config/locales/cs.yml +17 -20
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +9 -5
- data/config/locales/el.yml +8 -1
- data/config/locales/en.yml +7 -11
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +8 -11
- data/config/locales/es-PY.yml +9 -12
- data/config/locales/es.yml +9 -12
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +11 -4
- data/config/locales/fi-plain.yml +7 -10
- data/config/locales/fi.yml +9 -12
- data/config/locales/fr-CA.yml +4 -7
- data/config/locales/fr.yml +6 -9
- data/config/locales/ga-IE.yml +4 -0
- data/config/locales/gl.yml +8 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +8 -65
- data/config/locales/id-ID.yml +11 -1
- data/config/locales/is-IS.yml +2 -1
- data/config/locales/it.yml +9 -2
- data/config/locales/ja.yml +5 -8
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +6 -2
- data/config/locales/lt.yml +1 -617
- data/config/locales/lv.yml +11 -1
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +12 -5
- data/config/locales/no.yml +9 -2
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +8 -2
- data/config/locales/pt-BR.yml +10 -3
- data/config/locales/pt.yml +8 -1
- data/config/locales/ro-RO.yml +9 -14
- data/config/locales/ru.yml +1 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +11 -1
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +8 -6
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +13 -3
- data/config/locales/uk.yml +1 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +11 -1
- data/config/locales/zh-TW.yml +1 -612
- data/lib/decidim/conferences/admin_engine.rb +1 -0
- data/lib/decidim/conferences/participatory_space.rb +8 -8
- data/lib/decidim/conferences/test/factories.rb +1 -5
- data/lib/decidim/conferences/version.rb +1 -1
- metadata +18 -22
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/kaa.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
module Admin
|
6
|
+
# This controller allows to send reminders.
|
7
|
+
# It is targeted for customizations for reminder things that lives under
|
8
|
+
# a conference.
|
9
|
+
class RemindersController < Decidim::Admin::RemindersController
|
10
|
+
include Concerns::ConferenceAdmin
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -26,9 +26,9 @@ module Decidim
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def meetings
|
29
|
-
return unless meeting_component
|
29
|
+
return unless meeting_component.published? || !meeting_component.presence
|
30
30
|
|
31
|
-
@meetings ||= Decidim::Meetings::Meeting.where(component: meeting_component).
|
31
|
+
@meetings ||= Decidim::Meetings::Meeting.where(component: meeting_component).visible_for(current_user).order(:start_time)
|
32
32
|
end
|
33
33
|
|
34
34
|
def meeting_days
|
@@ -4,8 +4,6 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# Exposes the registration resource so users can join and leave conferences.
|
6
6
|
class ConferenceRegistrationsController < Decidim::Conferences::ApplicationController
|
7
|
-
before_action :ensure_signed_in
|
8
|
-
|
9
7
|
def create
|
10
8
|
enforce_permission_to :join, :conference, conference: conference
|
11
9
|
|
@@ -56,20 +54,6 @@ module Decidim
|
|
56
54
|
|
57
55
|
private
|
58
56
|
|
59
|
-
def ensure_signed_in
|
60
|
-
return if user_signed_in?
|
61
|
-
|
62
|
-
case action_name
|
63
|
-
when "create"
|
64
|
-
flash[:alert] = t("conference_registrations.create.unauthorized", scope: "decidim.conferences")
|
65
|
-
when "decline_invitation"
|
66
|
-
flash[:alert] = t("conference_registrations.decline_invitation.unauthorized", scope: "decidim.conferences")
|
67
|
-
else
|
68
|
-
raise Decidim::ActionForbidden
|
69
|
-
end
|
70
|
-
redirect_to(user_has_no_permission_referer || user_has_no_permission_path)
|
71
|
-
end
|
72
|
-
|
73
57
|
def conference
|
74
58
|
@conference ||= Conference.find_by(slug: params[:conference_slug])
|
75
59
|
end
|
@@ -81,7 +65,6 @@ module Decidim
|
|
81
65
|
def redirect_after_path
|
82
66
|
referer = request.headers["Referer"]
|
83
67
|
return redirect_to(conference_path(conference)) if referer =~ /invitation_token/
|
84
|
-
return redirect_to(conference_path(conference)) if referer =~ %r{users/sign_in}
|
85
68
|
|
86
69
|
redirect_back fallback_location: conference_path(conference)
|
87
70
|
end
|
@@ -14,7 +14,7 @@ module Decidim
|
|
14
14
|
attribute :existing_user, Boolean, default: false
|
15
15
|
|
16
16
|
validates :name, presence: true, unless: proc { |object| object.existing_user }
|
17
|
-
validates :email, presence: true,
|
17
|
+
validates :email, presence: true, "valid_email_2/email": { disposable: true }, unless: proc { |object| object.existing_user }
|
18
18
|
validates :user, presence: true, if: proc { |object| object.existing_user }
|
19
19
|
|
20
20
|
def user
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Conferences
|
5
|
+
module Admin
|
6
|
+
# Helpers related to the Conferences Speakers admin layout.
|
7
|
+
module ConferenceSpeakersHelper
|
8
|
+
def meetings_selected
|
9
|
+
@meetings_selected ||= @conference_speaker.conference_meetings.pluck(:id) if @conference_speaker.present?
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -35,8 +35,8 @@ module Decidim
|
|
35
35
|
def add_diploma_attachment
|
36
36
|
diploma = WickedPdf.new.pdf_from_string(
|
37
37
|
render_to_string(pdf: "conference-diploma",
|
38
|
-
template: "decidim/conferences/admin/send_conference_diploma_mailer/diploma_user
|
39
|
-
layout: "decidim/diploma
|
38
|
+
template: "decidim/conferences/admin/send_conference_diploma_mailer/diploma_user",
|
39
|
+
layout: "decidim/diploma"),
|
40
40
|
orientation: "Landscape"
|
41
41
|
)
|
42
42
|
|
@@ -19,6 +19,7 @@ module Decidim
|
|
19
19
|
include Decidim::Searchable
|
20
20
|
include Decidim::HasUploadValidations
|
21
21
|
include Decidim::TranslatableResource
|
22
|
+
include Decidim::FilterableResource
|
22
23
|
|
23
24
|
translatable_fields :title, :slogan, :short_description, :description, :objectives, :registration_terms
|
24
25
|
|
@@ -140,8 +141,6 @@ module Decidim
|
|
140
141
|
end
|
141
142
|
|
142
143
|
# Allow ransacker to search for a key in a hstore column (`title`.`en`)
|
143
|
-
|
144
|
-
Arel::Nodes::InfixOperation.new("->>", parent.table[:title], Arel::Nodes.build_quoted(I18n.locale.to_s))
|
145
|
-
end
|
144
|
+
ransacker_i18n :title
|
146
145
|
end
|
147
146
|
end
|
@@ -6,7 +6,7 @@ module Decidim
|
|
6
6
|
class ConferenceInvite < ApplicationRecord
|
7
7
|
include Decidim::Traceable
|
8
8
|
include Decidim::Loggable
|
9
|
-
include Decidim::
|
9
|
+
include Decidim::DownloadYourData
|
10
10
|
|
11
11
|
belongs_to :conference, foreign_key: "decidim_conference_id", class_name: "Decidim::Conference"
|
12
12
|
belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
|
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
validates :user, uniqueness: { scope: :conference }
|
16
16
|
|
17
17
|
def self.export_serializer
|
18
|
-
Decidim::Conferences::
|
18
|
+
Decidim::Conferences::DownloadYourDataConferenceInviteSerializer
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.log_presenter_class_for(_log)
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# The data store for a Registration in the Decidim::Conferences component.
|
6
6
|
class ConferenceRegistration < ApplicationRecord
|
7
|
-
include Decidim::
|
7
|
+
include Decidim::DownloadYourData
|
8
8
|
|
9
9
|
belongs_to :conference, foreign_key: "decidim_conference_id", class_name: "Decidim::Conference"
|
10
10
|
belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
|
@@ -19,7 +19,7 @@ module Decidim
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def self.export_serializer
|
22
|
-
Decidim::Conferences::
|
22
|
+
Decidim::Conferences::DownloadYourDataConferenceRegistrationSerializer
|
23
23
|
end
|
24
24
|
|
25
25
|
def confirmed?
|
@@ -46,11 +46,9 @@ module Decidim
|
|
46
46
|
private
|
47
47
|
|
48
48
|
def user
|
49
|
-
@user ||=
|
50
|
-
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
49
|
+
@user ||= if (user = __getobj__.user.presence)
|
50
|
+
Decidim::UserPresenter.new(user)
|
51
|
+
end
|
54
52
|
end
|
55
53
|
end
|
56
54
|
end
|
@@ -4,9 +4,12 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# A presenter to render statistics in the homepage.
|
6
6
|
class ConferenceStatsPresenter < Decidim::StatsPresenter
|
7
|
-
attribute :conference, Decidim::Conference
|
8
7
|
include IconHelper
|
9
8
|
|
9
|
+
def conference
|
10
|
+
__getobj__.fetch(:conference)
|
11
|
+
end
|
12
|
+
|
10
13
|
# Public: Render a collection of primary stats.
|
11
14
|
def highlighted
|
12
15
|
highlighted_stats = component_stats(priority: StatsRegistry::HIGH_PRIORITY)
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
module Admin
|
6
6
|
# A class used to find the admins for an conference or an organization conferences.
|
7
|
-
class AdminUsers <
|
7
|
+
class AdminUsers < Decidim::Query
|
8
8
|
# Syntactic sugar to initialize the class and return the queried objects.
|
9
9
|
#
|
10
10
|
# conference - an conference that needs to find its conference admins
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
module Admin
|
6
6
|
# A class used to find the ConferenceInvites by their status status.
|
7
|
-
class ConferenceInvites <
|
7
|
+
class ConferenceInvites < Decidim::Query
|
8
8
|
# Syntactic sugar to initialize the class and return the queried objects.
|
9
9
|
#
|
10
10
|
# conference_invites - the initial Invites relation that needs to be filtered.
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
module Admin
|
6
6
|
# A class used to find the ConferenceSpeakers's by the search.
|
7
|
-
class ConferenceSpeakers <
|
7
|
+
class ConferenceSpeakers < Decidim::Query
|
8
8
|
# Syntactic sugar to initialize the class and return the queried objects.
|
9
9
|
#
|
10
10
|
# conference_speakers - the initial ConferenceSpeaker relation that needs to be filtered.
|
@@ -3,14 +3,14 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
5
|
# This query class filters meetings for component and day
|
6
|
-
class ConferenceProgramMeetings <
|
6
|
+
class ConferenceProgramMeetings < Decidim::Query
|
7
7
|
def initialize(component, user = nil)
|
8
8
|
@component = component
|
9
9
|
@user = user
|
10
10
|
end
|
11
11
|
|
12
12
|
def query
|
13
|
-
Decidim::Meetings::Meeting.where(component: @component).
|
13
|
+
Decidim::Meetings::Meeting.where(component: @component).visible_for(@user)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
5
|
# This query class filters meetings for component and day
|
6
|
-
class ConferenceProgramMeetingsByDay <
|
6
|
+
class ConferenceProgramMeetingsByDay < Decidim::Query
|
7
7
|
def initialize(component, day, user = nil)
|
8
8
|
@component = component
|
9
9
|
@day = day
|
@@ -11,9 +11,9 @@ module Decidim
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def query
|
14
|
-
|
14
|
+
Decidim::Query.merge(
|
15
15
|
ConferenceProgramMeetings.new(@component, @user)
|
16
|
-
).query.where(start_time: @day.
|
16
|
+
).query.where(start_time: @day.all_day).order(start_time: :asc)
|
17
17
|
end
|
18
18
|
end
|
19
19
|
end
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# A class used to find the Conferences that the given user has
|
6
6
|
# the specific role privilege.
|
7
|
-
class ConferencesWithUserRole <
|
7
|
+
class ConferencesWithUserRole < Decidim::Query
|
8
8
|
# Syntactic sugar to initialize the class and return the queried objects.
|
9
9
|
#
|
10
10
|
# user - a User that needs to find which conferences can manage
|
@@ -3,7 +3,7 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
5
|
# This query class filters all conferences given an organization.
|
6
|
-
class OrganizationConferences <
|
6
|
+
class OrganizationConferences < Decidim::Query
|
7
7
|
def initialize(organization)
|
8
8
|
@organization = organization
|
9
9
|
end
|
@@ -4,17 +4,17 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# This query class filters public conferences given an organization in a
|
6
6
|
# meaningful prioritized order.
|
7
|
-
class OrganizationPrioritizedConferences <
|
7
|
+
class OrganizationPrioritizedConferences < Decidim::Query
|
8
8
|
def initialize(organization, user = nil)
|
9
9
|
@organization = organization
|
10
10
|
@user = user
|
11
11
|
end
|
12
12
|
|
13
13
|
def query
|
14
|
-
|
14
|
+
Decidim::Query.merge(
|
15
15
|
OrganizationPublishedConferences.new(@organization, @user),
|
16
16
|
PrioritizedConferences.new
|
17
|
-
).query
|
17
|
+
).query.with_attached_hero_image
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -3,18 +3,18 @@
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
5
|
# This query class filters published conferences given an organization.
|
6
|
-
class OrganizationPublishedConferences <
|
6
|
+
class OrganizationPublishedConferences < Decidim::Query
|
7
7
|
def initialize(organization, user = nil)
|
8
8
|
@organization = organization
|
9
9
|
@user = user
|
10
10
|
end
|
11
11
|
|
12
12
|
def query
|
13
|
-
|
13
|
+
Decidim::Query.merge(
|
14
14
|
OrganizationConferences.new(@organization),
|
15
15
|
VisibleConferences.new(@user),
|
16
16
|
PublishedConferences.new
|
17
|
-
).query
|
17
|
+
).query
|
18
18
|
end
|
19
19
|
end
|
20
20
|
end
|
@@ -4,7 +4,7 @@ module Decidim
|
|
4
4
|
module Conferences
|
5
5
|
# This query orders conferences by importance, prioritizing promoted
|
6
6
|
# conferences.
|
7
|
-
class PrioritizedConferences <
|
7
|
+
class PrioritizedConferences < Decidim::Query
|
8
8
|
def query
|
9
9
|
Decidim::Conference.order(promoted: :desc)
|
10
10
|
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
|
-
class
|
6
|
-
# Serializes a conference invite for data
|
5
|
+
class DownloadYourDataConferenceInviteSerializer < Decidim::Exporters::Serializer
|
6
|
+
# Serializes a conference invite for download your data
|
7
7
|
def serialize
|
8
8
|
{
|
9
9
|
id: resource.id,
|
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Conferences
|
5
|
-
class
|
6
|
-
# Serializes a registration for data
|
5
|
+
class DownloadYourDataConferenceRegistrationSerializer < Decidim::Exporters::Serializer
|
6
|
+
# Serializes a registration for download your data
|
7
7
|
def serialize
|
8
8
|
{
|
9
9
|
id: resource.id,
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<%= decidim_form_for(@form, url: conference_speaker_path(
|
1
|
+
<%= decidim_form_for(@form, url: conference_speaker_path(@item.conference, @item), html: { class: "form edit_conference_speaker" }) do |f| %>
|
2
2
|
<%= render partial: "form", object: f, locals: { title: t("conference_speakers.edit.title", scope: "decidim.admin") } %>
|
3
3
|
|
4
4
|
<div class="button--double form-general-submit">
|
@@ -32,11 +32,11 @@
|
|
32
32
|
</div>
|
33
33
|
|
34
34
|
<div class="row column">
|
35
|
-
<%= form.translated :editor, :description %>
|
35
|
+
<%= form.translated :editor, :description, toolbar: :full, lines: 25 %>
|
36
36
|
</div>
|
37
37
|
|
38
38
|
<div class="row column">
|
39
|
-
<%= form.translated :editor, :objectives %>
|
39
|
+
<%= form.translated :editor, :objectives, toolbar: :full, lines: 25 %>
|
40
40
|
</div>
|
41
41
|
|
42
42
|
<div class="row column">
|
@@ -84,7 +84,7 @@
|
|
84
84
|
</div>
|
85
85
|
|
86
86
|
<div class="row column" id="conference_registrations_terms">
|
87
|
-
<%= form.translated :editor, :registration_terms
|
87
|
+
<%= form.translated :editor, :registration_terms %>
|
88
88
|
</div>
|
89
89
|
|
90
90
|
<div class="row column">
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<p class="email-greeting"><%= t("devise.mailer.invitation_instructions.hello", email: @user.name) %></p>
|
2
2
|
|
3
3
|
<p class="email-instructions">
|
4
|
-
<%= t ".
|
4
|
+
<%= t ".invited_you_to_join_a_conference", invited_by: @invited_by.name, application: @user.organization.name %>
|
5
5
|
</p>
|
6
6
|
|
7
7
|
<p class="email-button email-button__cta cta-decline">
|
8
|
-
<%= link_to t(".decline", conference_title: translated_attribute(@conference.title)),
|
8
|
+
<%= link_to t(".decline", conference_title: translated_attribute(@conference.title)),routes.decline_invitation_conference_registration_type_conference_registration_path(conference_slug: @conference.slug, registration_type_id: @registration_type.id) %>
|
9
9
|
</p>
|
10
10
|
<p class="email-button email-button__cta cta-accept">
|
11
|
-
<%= link_to t(".registration", conference_title: translated_attribute(@conference.title)),
|
11
|
+
<%= link_to t(".registration", conference_title: translated_attribute(@conference.title)),routes.conference_registration_type_conference_registration_url(conference_slug: @conference.slug, registration_type_id: @registration_type.id) %>
|
12
12
|
</p>
|
@@ -36,7 +36,9 @@
|
|
36
36
|
<% end %>
|
37
37
|
</td>
|
38
38
|
<td>
|
39
|
-
|
39
|
+
<% if partner.attached_uploader(:logo).path %>
|
40
|
+
<%= image_tag(partner.attached_uploader(:logo).path(variant: :thumb)) %>
|
41
|
+
<% end %>
|
40
42
|
</td>
|
41
43
|
<td class="table-list__actions">
|
42
44
|
<% if allowed_to? :update, :partner, partner: partner %>
|
@@ -13,7 +13,7 @@
|
|
13
13
|
</div>
|
14
14
|
<div class="columns mediumlarge-8 large-6 card--process__column">
|
15
15
|
<div class="card--full__image"
|
16
|
-
style="background-image:url(
|
16
|
+
style="background-image:url(<%= promoted_conference.attached_uploader(:hero_image).path %>)">
|
17
17
|
<div class="card__content row collapse">
|
18
18
|
<div class="large-6 large-offset-6 columns">
|
19
19
|
<%= link_to conference_path(promoted_conference), class: "button expanded button--sc" do %>
|
@@ -20,12 +20,12 @@ edit_link(
|
|
20
20
|
<div class="columns mediumlarge-12">
|
21
21
|
<section class="section">
|
22
22
|
<h3 class="section-heading"><%= t("conferences.show.introduction", scope: "decidim") %></h3>
|
23
|
-
<%=
|
23
|
+
<%= decidim_sanitize_editor translated_attribute(current_participatory_space.short_description) %>
|
24
24
|
</section>
|
25
25
|
<hr class="reset mt-none mb-m">
|
26
26
|
<section class="section">
|
27
27
|
<h3 class="section-heading"><%= t("conferences.show.details", scope: "decidim") %></h3>
|
28
|
-
<%=
|
28
|
+
<%= decidim_sanitize_editor translated_attribute(current_participatory_space.description) %>
|
29
29
|
<div class="row mt-l mb-l">
|
30
30
|
<div class="column medium-9 medium-centered">
|
31
31
|
<% if current_participatory_space.registrations_enabled? %>
|
@@ -1,10 +1,10 @@
|
|
1
1
|
<p class="email-greeting"><%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %></p>
|
2
2
|
|
3
3
|
<p class="email-instructions">
|
4
|
-
<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.
|
4
|
+
<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_you_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
|
5
5
|
</p>
|
6
6
|
|
7
|
-
<p class="email-button email-button__cta"><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).
|
7
|
+
<p class="email-button email-button__cta"><%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_conference_registration_path(conference_slug: @opts[:conference]), host: @resource.organization.host) %></p>
|
8
8
|
|
9
9
|
<% if @resource.invitation_due_at %>
|
10
10
|
<p class="email-small"><%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %></p>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<%= t("devise.mailer.invitation_instructions.hello", email: @resource.name) %>
|
2
2
|
|
3
|
-
<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.
|
3
|
+
<%= t("decidim.conferences.admin.invite_join_conference_mailer.invite.invited_you_to_join_a_conference", invited_by: @resource.invited_by.name, application: @resource.organization.name) %>
|
4
4
|
|
5
|
-
<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).
|
5
|
+
<%= link_to t("devise.mailer.invitation_instructions.accept"), accept_invitation_url(@resource, invitation_token: @token, invite_redirect: Decidim::EngineRouter.main_proxy(@opts[:conference]).conference_conference_registration_path(conference_slug: @opts[:conference]), host: @resource.organization.host) %>
|
6
6
|
|
7
7
|
<% if @resource.invitation_due_at %>
|
8
8
|
<%= t("devise.mailer.invitation_instructions.accept_until", due_date: l(@resource.invitation_due_at, format: :long)) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<section class="extended hero"
|
2
|
-
style="background-image:url(
|
2
|
+
style="background-image:url(<%= current_participatory_space.attached_uploader(:banner_image).path %>);">
|
3
3
|
<div class="hero__container">
|
4
4
|
<div class="row">
|
5
5
|
<div class="columns large-10 text-left">
|
@@ -16,7 +16,7 @@
|
|
16
16
|
active: is_active_link?(decidim_conferences.conference_conference_speakers_path(current_participatory_space), :inclusive)
|
17
17
|
} : nil
|
18
18
|
] + meeting_components.map do |component|
|
19
|
-
Decidim::Meetings::Meeting.
|
19
|
+
Decidim::Meetings::Meeting.visible_for(current_user).any? ? {
|
20
20
|
name: translated_attribute(component.name),
|
21
21
|
url: decidim_conferences.conference_conference_program_path(current_participatory_space, id: component.id),
|
22
22
|
active: is_active_link?(decidim_conferences.conference_conference_program_path(current_participatory_space, id: component.id), :inclusive)
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
---
|
1
2
|
ar:
|
2
3
|
activemodel:
|
3
4
|
attributes:
|
@@ -37,11 +38,13 @@ ar:
|
|
37
38
|
date: التاريخ
|
38
39
|
link: الرابط
|
39
40
|
title: العنوان
|
41
|
+
weight: وزن
|
40
42
|
conference_partner:
|
41
43
|
link: الرابط
|
42
44
|
logo: الشعار
|
43
45
|
name: الإسم
|
44
46
|
partner_type: نوع الشريك
|
47
|
+
weight: وزن
|
45
48
|
conference_registration_invite:
|
46
49
|
email: البريد الإلكتروني
|
47
50
|
name: الإسم
|
@@ -51,6 +54,7 @@ ar:
|
|
51
54
|
description: الوصف
|
52
55
|
price: السعر
|
53
56
|
title: العنوان
|
57
|
+
weight: وزن
|
54
58
|
conference_speaker:
|
55
59
|
affiliation: الانتساب
|
56
60
|
avatar: الصورة الرمزية
|
@@ -140,6 +144,8 @@ ar:
|
|
140
144
|
edit:
|
141
145
|
title: تحديث مسؤول المؤتمر.
|
142
146
|
update: تحديث
|
147
|
+
index:
|
148
|
+
conference_admins_title: مدراء المؤتمر
|
143
149
|
new:
|
144
150
|
create: إنشاء
|
145
151
|
title: مشرف المؤتمر الجديد.
|
@@ -388,7 +394,7 @@ ar:
|
|
388
394
|
invite_join_conference_mailer:
|
389
395
|
invite:
|
390
396
|
decline: رفض الدعوة "%{conference_title}"
|
391
|
-
|
397
|
+
invited_you_to_join_a_conference: "%{invited_by} للانضمام إلى مؤتمر في %{application}. يمكنك رفضه أو قبوله من خلال الروابط أدناه."
|
392
398
|
registration: التسجيل لـ "%{conference_title}"
|
393
399
|
partners:
|
394
400
|
index:
|
@@ -420,7 +426,7 @@ ar:
|
|
420
426
|
conference_program:
|
421
427
|
program_meeting:
|
422
428
|
content: المحتوى
|
423
|
-
location:
|
429
|
+
location: موقعك
|
424
430
|
speakers: مكبرات الصوت
|
425
431
|
streaming: تدفق
|
426
432
|
show:
|
data/config/locales/bg.yml
CHANGED