decidim-conferences 0.30.2 → 0.31.0.rc1
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/cells/decidim/conferences/content_blocks/highlighted_conferences_settings_form/show.erb +3 -1
- data/app/commands/decidim/conferences/admin/create_conference.rb +1 -1
- data/app/commands/decidim/conferences/admin/{copy_conference.rb → duplicate_conference.rb} +15 -16
- data/app/commands/decidim/conferences/admin/update_conference.rb +2 -2
- data/app/controllers/decidim/conferences/admin/conference_duplicates_controller.rb +35 -0
- data/app/controllers/decidim/conferences/admin/conference_invites_controller.rb +1 -1
- data/app/controllers/decidim/conferences/admin/conference_speakers_controller.rb +4 -4
- data/app/controllers/decidim/conferences/admin/conferences_controller.rb +3 -3
- data/app/controllers/decidim/conferences/admin/diplomas_controller.rb +1 -1
- data/app/controllers/decidim/conferences/admin/media_links_controller.rb +2 -2
- data/app/controllers/decidim/conferences/admin/partners_controller.rb +2 -2
- data/app/controllers/decidim/conferences/admin/registration_types_controller.rb +2 -2
- data/app/forms/decidim/conferences/admin/{conference_copy_form.rb → conference_duplicate_form.rb} +3 -3
- data/app/forms/decidim/conferences/admin/conference_form.rb +0 -4
- data/app/helpers/decidim/conferences/conference_helper.rb +1 -0
- data/app/jobs/decidim/conferences/upcoming_conference_notification_job.rb +1 -1
- data/app/models/decidim/conference.rb +0 -4
- data/app/models/decidim/conferences/registration_type.rb +4 -0
- data/app/packs/entrypoints/decidim_conferences_admin.js +0 -1
- data/app/packs/src/decidim/conferences/admin/conference_invite_form.js +1 -1
- data/app/packs/src/decidim/conferences/admin/conference_speakers.js +1 -1
- data/app/packs/src/decidim/conferences/admin/conferences.js +1 -1
- data/app/packs/stylesheets/decidim/conferences/conferences.scss +5 -5
- data/app/permissions/decidim/conferences/permissions.rb +4 -4
- data/app/presenters/decidim/conference_speaker_presenter.rb +0 -4
- data/app/presenters/decidim/conferences/admin_log/conference_presenter.rb +0 -1
- data/app/presenters/decidim/conferences/conference_stats_presenter.rb +1 -3
- data/app/queries/decidim/conferences/admin/conference_speakers.rb +2 -2
- data/app/queries/decidim/conferences/conferences_stats_followers_count.rb +14 -0
- data/app/queries/decidim/conferences/conferences_stats_participants_count.rb +14 -0
- data/app/views/decidim/conferences/admin/{conference_copies → conference_duplicates}/_form.html.erb +3 -3
- data/app/views/decidim/conferences/admin/conference_duplicates/new.html.erb +19 -0
- data/app/views/decidim/conferences/admin/conference_registrations/index.html.erb +34 -20
- data/app/views/decidim/conferences/admin/conference_speakers/index.html.erb +51 -22
- data/app/views/decidim/conferences/admin/conference_user_roles/index.html.erb +44 -17
- data/app/views/decidim/conferences/admin/conferences/_actions.html.erb +108 -33
- data/app/views/decidim/conferences/admin/conferences/_conference_row.html.erb +4 -4
- data/app/views/decidim/conferences/admin/conferences/_conferences_thead.html.erb +2 -2
- data/app/views/decidim/conferences/admin/conferences/_form.html.erb +115 -40
- data/app/views/decidim/conferences/admin/conferences/edit.html.erb +0 -8
- data/app/views/decidim/conferences/admin/conferences/index.html.erb +2 -2
- data/app/views/decidim/conferences/admin/conferences/manage_trash.html.erb +2 -1
- data/app/views/decidim/conferences/admin/media_links/index.html.erb +32 -13
- data/app/views/decidim/conferences/admin/partners/index.html.erb +33 -14
- data/app/views/decidim/conferences/admin/registration_types/index.html.erb +56 -21
- data/app/views/decidim/conferences/conference_program/show.html.erb +1 -1
- data/app/views/decidim/conferences/conferences/_conference_hero.html.erb +0 -5
- data/app/views/decidim/conferences/conferences/show.html.erb +1 -1
- data/app/views/layouts/decidim/diploma.html.erb +2 -2
- data/config/assets.rb +2 -2
- data/config/locales/ar.yml +1 -10
- data/config/locales/bg.yml +1 -13
- data/config/locales/bs-BA.yml +0 -5
- data/config/locales/ca-IT.yml +24 -12
- data/config/locales/ca.yml +24 -12
- data/config/locales/cs.yml +23 -11
- data/config/locales/de.yml +25 -13
- data/config/locales/el.yml +1 -10
- data/config/locales/en.yml +24 -12
- data/config/locales/es-MX.yml +24 -12
- data/config/locales/es-PY.yml +24 -12
- data/config/locales/es.yml +24 -12
- data/config/locales/eu.yml +24 -12
- data/config/locales/fi-plain.yml +23 -11
- data/config/locales/fi.yml +23 -11
- data/config/locales/fr-CA.yml +24 -15
- data/config/locales/fr.yml +24 -15
- data/config/locales/ga-IE.yml +2 -6
- data/config/locales/gl.yml +1 -10
- data/config/locales/hu.yml +1 -10
- data/config/locales/id-ID.yml +1 -9
- data/config/locales/it.yml +1 -10
- data/config/locales/ja.yml +25 -13
- data/config/locales/lb.yml +1 -7
- data/config/locales/lt.yml +1 -10
- data/config/locales/lv.yml +1 -10
- data/config/locales/nl.yml +1 -10
- data/config/locales/no.yml +1 -10
- data/config/locales/pl.yml +1 -13
- data/config/locales/pt-BR.yml +1 -13
- data/config/locales/pt.yml +1 -10
- data/config/locales/ro-RO.yml +3 -10
- data/config/locales/sk.yml +1 -10
- data/config/locales/sl.yml +0 -5
- data/config/locales/sr-CS.yml +0 -5
- data/config/locales/sv.yml +16 -13
- data/config/locales/tr-TR.yml +1 -10
- data/config/locales/zh-CN.yml +1 -10
- data/config/locales/zh-TW.yml +1 -10
- data/db/migrate/20250605094623_remove_hashtag_column_conferences.rb +7 -0
- data/lib/decidim/api/conference_registration_type_type.rb +30 -0
- data/lib/decidim/api/conference_speaker_type.rb +12 -0
- data/lib/decidim/api/conference_type.rb +15 -3
- data/lib/decidim/conferences/admin_engine.rb +1 -1
- data/lib/decidim/conferences/api.rb +1 -0
- data/lib/decidim/conferences/conference_diploma_pdf.rb +1 -1
- data/lib/decidim/conferences/engine.rb +5 -3
- data/lib/decidim/conferences/participatory_space.rb +14 -0
- data/lib/decidim/conferences/seeds.rb +5 -6
- data/lib/decidim/conferences/test/factories.rb +2 -2
- data/lib/decidim/conferences/version.rb +1 -1
- metadata +19 -15
- data/app/controllers/decidim/conferences/admin/conference_copies_controller.rb +0 -35
- data/app/views/decidim/conferences/admin/conference_copies/new.html.erb +0 -19
@@ -1,5 +1,5 @@
|
|
1
1
|
<div class="form__wrapper">
|
2
|
-
<div class="card" data-
|
2
|
+
<div class="card" data-controller="accordion" id="accordion-title">
|
3
3
|
<div class="card-divider">
|
4
4
|
<button class="card-divider-button" data-open="true" data-controls="panel-title" type="button">
|
5
5
|
<%= icon "arrow-right-s-line" %>
|
@@ -23,17 +23,9 @@
|
|
23
23
|
</div>
|
24
24
|
|
25
25
|
<div class="row">
|
26
|
-
<div class="columns slug">
|
26
|
+
<div class="columns" data-controller="slug">
|
27
27
|
<%= form.text_field :slug, help_text: t(".slug_help_html", url: decidim_form_slug_url(:conferences, form.object.slug)) %>
|
28
28
|
</div>
|
29
|
-
|
30
|
-
<div class="columns">
|
31
|
-
<%= form.text_field :hashtag %>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
|
35
|
-
<div class="row column">
|
36
|
-
<%= form.check_box :promoted %>
|
37
29
|
</div>
|
38
30
|
|
39
31
|
<div class="row column">
|
@@ -43,15 +35,41 @@
|
|
43
35
|
<div class="row column">
|
44
36
|
<%= form.translated :editor, :description, aria: { label: :description } %>
|
45
37
|
</div>
|
38
|
+
</div>
|
39
|
+
</div>
|
46
40
|
|
41
|
+
<div class="card" data-controller="accordion" id="accordion-duration">
|
42
|
+
<div class="card-divider">
|
43
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-duration" type="button">
|
44
|
+
<%= icon "arrow-right-s-line" %>
|
45
|
+
<h2 class="card-title" id="duration">
|
46
|
+
<%= t("duration", scope: "decidim.admin.conferences.form") %>
|
47
|
+
</h2>
|
48
|
+
</button>
|
49
|
+
</div>
|
50
|
+
|
51
|
+
<div id="panel-duration" class="card-section">
|
47
52
|
<div class="row column">
|
48
|
-
<%= form.
|
53
|
+
<%= form.date_field :start_date %>
|
49
54
|
</div>
|
50
55
|
|
51
56
|
<div class="row column">
|
52
|
-
<%= form.
|
57
|
+
<%= form.date_field :end_date %>
|
53
58
|
</div>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div class="card" data-controller="accordion" id="accordion-images">
|
63
|
+
<div class="card-divider">
|
64
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-images" type="button">
|
65
|
+
<%= icon "arrow-right-s-line" %>
|
66
|
+
<h2 class="card-title" id="images">
|
67
|
+
<%= t("images", scope: "decidim.admin.conferences.form") %>
|
68
|
+
</h2>
|
69
|
+
</button>
|
70
|
+
</div>
|
54
71
|
|
72
|
+
<div id="panel-images" class="card-section">
|
55
73
|
<div class="row">
|
56
74
|
<div class="columns">
|
57
75
|
<%= form.upload :hero_image, button_class: "button button__sm button__transparent-secondary" %>
|
@@ -61,54 +79,63 @@
|
|
61
79
|
<%= form.upload :banner_image, button_class: "button button__sm button__transparent-secondary" %>
|
62
80
|
</div>
|
63
81
|
</div>
|
82
|
+
</div>
|
83
|
+
</div>
|
64
84
|
|
65
|
-
|
66
|
-
|
67
|
-
|
85
|
+
<div class="card" data-controller="accordion" id="accordion-metadata">
|
86
|
+
<div class="card-divider">
|
87
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-metadata" type="button">
|
88
|
+
<%= icon "arrow-right-s-line" %>
|
89
|
+
<h2 class="card-title" id="metadata">
|
90
|
+
<%= t("metadata", scope: "decidim.admin.conferences.form") %>
|
91
|
+
</h2>
|
92
|
+
</button>
|
93
|
+
</div>
|
94
|
+
<div id="panel-metadata" class="card-section">
|
68
95
|
|
69
96
|
<div class="row column">
|
70
|
-
<%= form.
|
97
|
+
<%= form.translated :editor, :objectives, aria: { label: :objectives } %>
|
71
98
|
</div>
|
72
99
|
|
73
100
|
<div class="row column">
|
74
|
-
<%= form.
|
101
|
+
<%= form.text_field :location %>
|
75
102
|
</div>
|
76
103
|
|
77
104
|
<div class="row column">
|
78
|
-
<%= form.check_box :
|
105
|
+
<%= form.check_box :show_statistics %>
|
79
106
|
</div>
|
80
|
-
|
81
|
-
<div class="row column">
|
82
|
-
<p><%= t(".registrations_count", count: current_participatory_space.present? ? current_participatory_space.conference_registrations.count : 0) %></p>
|
83
|
-
<%= form.number_field :available_slots, help_text: t(".available_slots_help") %>
|
84
107
|
</div>
|
108
|
+
</div>
|
85
109
|
|
86
|
-
|
87
|
-
|
88
|
-
|
110
|
+
<div class="card" data-controller="accordion" id="accordion-registrations">
|
111
|
+
<div class="card-divider">
|
112
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-registrations" type="button">
|
113
|
+
<%= icon "arrow-right-s-line" %>
|
114
|
+
<h2 class="card-title" id="registrations">
|
115
|
+
<%= t("registrations", scope: "decidim.admin.conferences.form") %>
|
116
|
+
</h2>
|
117
|
+
</button>
|
118
|
+
</div>
|
89
119
|
|
120
|
+
<div id="panel-registrations" class="card-section">
|
90
121
|
<div class="row column">
|
91
|
-
|
92
|
-
<%= form.select :participatory_processes_ids,
|
93
|
-
options_for_select(@form.processes_for_select, selected: processes_selected ),
|
94
|
-
{ include_blank: true },
|
95
|
-
{ multiple: true, class: "chosen-select" } %>
|
96
|
-
<% end %>
|
122
|
+
<%= form.check_box :registrations_enabled, data: { controller: :toggle, "toggle-toggle-value": "registrations_enabled_details" } %>
|
97
123
|
</div>
|
98
124
|
|
99
|
-
<div
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
{ multiple: true, class: "chosen-select" } %>
|
105
|
-
<% end %>
|
106
|
-
</div>
|
125
|
+
<div id="registrations_enabled_details" <%= form.object.registrations_enabled ? nil : "hidden" %>>
|
126
|
+
<div class="row column">
|
127
|
+
<p><%= t(".registrations_count", count: current_participatory_space.present? ? current_participatory_space.conference_registrations.count : 0) %></p>
|
128
|
+
<%= form.number_field :available_slots, help_text: t(".available_slots_help") %>
|
129
|
+
</div>
|
107
130
|
|
131
|
+
<div class="row column" id="conference_registrations_terms">
|
132
|
+
<%= form.translated :editor, :registration_terms, toolbar: :content, aria: { label: :registration_terms } %>
|
133
|
+
</div>
|
134
|
+
</div>
|
108
135
|
</div>
|
109
136
|
</div>
|
110
137
|
|
111
|
-
<div class="card" data-
|
138
|
+
<div class="card" data-controller="accordion" id="accordion-taxonomies">
|
112
139
|
<div class="card-divider">
|
113
140
|
<button class="card-divider-button" data-open="true" data-controls="panel-taxonomies" type="button">
|
114
141
|
<%= icon "arrow-right-s-line" %>
|
@@ -134,6 +161,54 @@
|
|
134
161
|
<% end %>
|
135
162
|
</div>
|
136
163
|
</div>
|
164
|
+
|
165
|
+
<div class="card" data-controller="accordion" id="accordion-visibility">
|
166
|
+
<div class="card-divider">
|
167
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-visibility" type="button">
|
168
|
+
<%= icon "arrow-right-s-line" %>
|
169
|
+
<h2 class="card-title" id="visibility">
|
170
|
+
<%= t("visibility", scope: "decidim.admin.conferences.form") %>
|
171
|
+
</h2>
|
172
|
+
</button>
|
173
|
+
</div>
|
174
|
+
|
175
|
+
<div id="panel-visibility" class="card-section">
|
176
|
+
<div class="row column">
|
177
|
+
<%= form.check_box :promoted %>
|
178
|
+
</div>
|
179
|
+
</div>
|
180
|
+
</div>
|
181
|
+
|
182
|
+
<div class="card" data-controller="accordion" id="accordion-related_spaces">
|
183
|
+
<div class="card-divider">
|
184
|
+
<button class="card-divider-button" data-open="true" data-controls="panel-related_spaces" type="button">
|
185
|
+
<%= icon "arrow-right-s-line" %>
|
186
|
+
<h2 class="card-title" id="related_spaces">
|
187
|
+
<%= t("related_spaces", scope: "decidim.admin.conferences.form") %>
|
188
|
+
</h2>
|
189
|
+
</button>
|
190
|
+
</div>
|
191
|
+
|
192
|
+
<div id="panel-related_spaces" class="card-section">
|
193
|
+
<div class="row column">
|
194
|
+
<% if @form.processes_for_select %>
|
195
|
+
<%= form.select :participatory_processes_ids,
|
196
|
+
options_for_select(@form.processes_for_select, selected: processes_selected ),
|
197
|
+
{ include_blank: true },
|
198
|
+
{ multiple: true, class: "chosen-select" } %>
|
199
|
+
<% end %>
|
200
|
+
</div>
|
201
|
+
|
202
|
+
<div class="row column">
|
203
|
+
<% if @form.assemblies_for_select %>
|
204
|
+
<%= form.select :assemblies_ids,
|
205
|
+
options_for_select(@form.assemblies_for_select, selected: assemblies_selected ),
|
206
|
+
{ include_blank: true },
|
207
|
+
{ multiple: true, class: "chosen-select" } %>
|
208
|
+
<% end %>
|
209
|
+
</div>
|
210
|
+
</div>
|
211
|
+
</div>
|
137
212
|
</div>
|
138
213
|
|
139
214
|
<%= append_javascript_pack_tag "decidim_conferences_admin" %>
|
@@ -13,14 +13,6 @@
|
|
13
13
|
<div class="item__edit-sticky">
|
14
14
|
<div class="item__edit-sticky-container">
|
15
15
|
<%= f.submit t("conferences.edit.update", scope: "decidim.admin"), class: "button button__sm button__secondary" %>
|
16
|
-
|
17
|
-
<% if allowed_to? :publish, :conference, conference: current_conference %>
|
18
|
-
<% if current_conference.published? %>
|
19
|
-
<%= link_to t("actions.unpublish", scope: "decidim.admin"), conference_publish_path(current_conference), method: :delete, class: "button button__sm button__secondary" %>
|
20
|
-
<% else %>
|
21
|
-
<%= link_to t("actions.publish", scope: "decidim.admin"), conference_publish_path(current_conference), method: :post, class: "button button__sm button__secondary" %>
|
22
|
-
<% end %>
|
23
|
-
<% end %>
|
24
16
|
</div>
|
25
17
|
</div>
|
26
18
|
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% add_decidim_page_title(t("decidim.admin.titles.conferences")) %>
|
2
2
|
<div class="card" id="conferences">
|
3
3
|
<%= admin_filter_selector %>
|
4
|
-
<div class="table-
|
4
|
+
<div class="table-stacked">
|
5
5
|
<table class="table-list">
|
6
6
|
<%= render partial: "conferences_thead" %>
|
7
7
|
<tbody>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</div>
|
15
15
|
<% if allowed_to? :read, :conference, trashable_deleted_resource: @conferences %>
|
16
16
|
<div class="card mt-4">
|
17
|
-
<%= link_to manage_trash_conferences_path, class: "flex items-center
|
17
|
+
<%= link_to manage_trash_conferences_path, class: "flex items-center text-secondary" do %>
|
18
18
|
<%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
|
19
19
|
<%= t("decidim.admin.actions.view_deleted_conferences") %>
|
20
20
|
<span class="ml-2">
|
@@ -1,4 +1,5 @@
|
|
1
1
|
<% add_decidim_page_title(t("conferences_deleted", scope: "decidim.admin.titles")) %>
|
2
|
+
|
2
3
|
<div class="item_show__header">
|
3
4
|
<h1 class="item_show__header-title">
|
4
5
|
<%= t "conferences.manage_trash.title", scope: "decidim.admin" %>
|
@@ -7,7 +8,7 @@
|
|
7
8
|
<div class="card" id="conferences">
|
8
9
|
<%= admin_filter_selector %>
|
9
10
|
</div>
|
10
|
-
<div class="table-
|
11
|
+
<div class="table-stacked">
|
11
12
|
<table class="table-list">
|
12
13
|
<%= render partial: "conferences_thead" %>
|
13
14
|
<tbody>
|
@@ -8,37 +8,56 @@
|
|
8
8
|
<% end %>
|
9
9
|
</h1>
|
10
10
|
</div>
|
11
|
-
<div class="table-
|
11
|
+
<div class="table-stacked">
|
12
12
|
<table class="table-list">
|
13
13
|
<thead>
|
14
14
|
<tr>
|
15
15
|
<th><%= t("models.media_link.fields.title", scope: "decidim.admin") %></th>
|
16
16
|
<th><%= t("models.media_link.fields.link", scope: "decidim.admin") %></th>
|
17
17
|
<th><%= t("models.media_link.fields.date", scope: "decidim.admin") %></th>
|
18
|
-
|
19
|
-
<th></th>
|
18
|
+
<th><%= t("models.media_link.fields.actions", scope: "decidim.admin") %></th>
|
20
19
|
</tr>
|
21
20
|
</thead>
|
22
21
|
<tbody>
|
23
22
|
<% @media_links.each do |media_link| %>
|
24
23
|
<tr>
|
25
|
-
<td>
|
24
|
+
<td data-label="<%= t("models.media_link.fields.title", scope: "decidim.admin") %>">
|
26
25
|
<%= translated_attribute(media_link.title) %>
|
27
26
|
</td>
|
28
|
-
<td>
|
27
|
+
<td data-label="<%= t("models.media_link.fields.link", scope: "decidim.admin") %>">
|
29
28
|
<%= media_link.link %>
|
30
29
|
</td>
|
31
|
-
<td>
|
30
|
+
<td data-label="<%= t("models.media_link.fields.date", scope: "decidim.admin") %>">
|
32
31
|
<%= l(media_link.date, format: :decidim_short ) %>
|
33
32
|
</td>
|
34
|
-
<td class="table-list__actions">
|
35
|
-
|
36
|
-
<%=
|
37
|
-
|
33
|
+
<td class="table-list__actions" data-label="<%= t("models.media_link.fields.actions", scope: "decidim.admin") %>">
|
34
|
+
<button type="button" data-controller="dropdown" data-target="actions-media-link-<%= media_link.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: translated_attribute(media_link.title)) %>">
|
35
|
+
<%= icon "more-fill", class: "text-secondary" %>
|
36
|
+
</button>
|
37
|
+
|
38
|
+
<div class="inline-block relative">
|
39
|
+
<ul id="actions-media-link-<%= media_link.id %>" class="dropdown dropdown__action" aria-hidden="true">
|
40
|
+
<% if allowed_to? :update, :media_link, media_link: media_link %>
|
41
|
+
<li class="dropdown__item">
|
42
|
+
<%= link_to edit_conference_media_link_path(current_conference, media_link), class: "dropdown__button" do %>
|
43
|
+
<%= icon "pencil-line" %>
|
44
|
+
<%= t("actions.edit", scope: "decidim.admin") %>
|
45
|
+
<% end %>
|
46
|
+
</li>
|
47
|
+
|
48
|
+
<hr>
|
49
|
+
<% end %>
|
38
50
|
|
39
|
-
|
40
|
-
|
41
|
-
|
51
|
+
<% if allowed_to? :destroy, :media_link, media_link: media_link %>
|
52
|
+
<li class="dropdown__item">
|
53
|
+
<%= link_to conference_media_link_path(current_conference, media_link), method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") }, class: "dropdown__button dropdown__button--danger" do %>
|
54
|
+
<%= icon "delete-bin-line" %>
|
55
|
+
<%= t("actions.destroy", scope: "decidim.admin") %>
|
56
|
+
<% end %>
|
57
|
+
</li>
|
58
|
+
<% end %>
|
59
|
+
</ul>
|
60
|
+
</div>
|
42
61
|
</td>
|
43
62
|
</tr>
|
44
63
|
<% end %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<% end %>
|
9
9
|
</h1>
|
10
10
|
</div>
|
11
|
-
<div class="table-
|
11
|
+
<div class="table-stacked">
|
12
12
|
<table class="table-list">
|
13
13
|
<thead>
|
14
14
|
<tr>
|
@@ -16,37 +16,56 @@
|
|
16
16
|
<th><%= t("models.partner.fields.partner_type", scope: "decidim.admin") %></th>
|
17
17
|
<th><%= t("models.partner.fields.link", scope: "decidim.admin") %></th>
|
18
18
|
<th><%= t("models.partner.fields.logo", scope: "decidim.admin") %></th>
|
19
|
-
|
20
|
-
<th></th>
|
19
|
+
<th><%= t("models.partner.fields.actions", scope: "decidim.admin") %></th>
|
21
20
|
</tr>
|
22
21
|
</thead>
|
23
22
|
<tbody>
|
24
23
|
<% @partners.each do |partner| %>
|
25
24
|
<tr>
|
26
|
-
<td>
|
25
|
+
<td data-label="<%= t("models.partner.fields.name", scope: "decidim.admin") %>">
|
27
26
|
<%= partner.name %>
|
28
27
|
</td>
|
29
|
-
<td>
|
28
|
+
<td data-label="<%= t("models.partner.fields.partner_type", scope: "decidim.admin") %>">
|
30
29
|
<%= t("#{partner.partner_type}", scope: "decidim.admin.models.partner.types") %>
|
31
30
|
</td>
|
32
|
-
<td>
|
31
|
+
<td data-label="<%= t("models.partner.fields.link", scope: "decidim.admin") %>">
|
33
32
|
<% if partner.link.presence %>
|
34
33
|
<%= link_to partner.link, partner.link, target: "_blank" %>
|
35
34
|
<% end %>
|
36
35
|
</td>
|
37
|
-
<td>
|
36
|
+
<td data-label="<%= t("models.partner.fields.logo", scope: "decidim.admin") %>">
|
38
37
|
<% if partner.logo.attached? %>
|
39
38
|
<%= image_tag(partner.attached_uploader(:logo).variant_url(:thumb)) %>
|
40
39
|
<% end %>
|
41
40
|
</td>
|
42
|
-
<td class="table-list__actions">
|
43
|
-
|
44
|
-
<%=
|
45
|
-
|
41
|
+
<td class="table-list__actions" data-label="<%= t("models.partner.fields.actions", scope: "decidim.admin") %>">
|
42
|
+
<button type="button" data-controller="dropdown" data-target="actions-partner-<%= partner.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: partner.name || t("models.partner.name", scope: "decidim.admin")) %>">
|
43
|
+
<%= icon "more-fill", class: "text-secondary" %>
|
44
|
+
</button>
|
46
45
|
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
<div class="inline-block relative">
|
47
|
+
<ul id="actions-partner-<%= partner.id %>" class="dropdown dropdown__action" aria-hidden="true">
|
48
|
+
<% if allowed_to? :update, :partner, partner: partner %>
|
49
|
+
<li class="dropdown__item">
|
50
|
+
<%= link_to edit_conference_partner_path(current_conference, partner), class: "dropdown__button" do %>
|
51
|
+
<%= icon "pencil-line" %>
|
52
|
+
<%= t("actions.edit", scope: "decidim.admin") %>
|
53
|
+
<% end %>
|
54
|
+
</li>
|
55
|
+
|
56
|
+
<hr>
|
57
|
+
<% end %>
|
58
|
+
|
59
|
+
<% if allowed_to? :destroy, :partner, partner: partner %>
|
60
|
+
<li class="dropdown__item">
|
61
|
+
<%= link_to conference_partner_path(current_conference, partner), method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") }, class: "dropdown__button dropdown__button--danger" do %>
|
62
|
+
<%= icon "delete-bin-line" %>
|
63
|
+
<%= t("actions.destroy", scope: "decidim.admin") %>
|
64
|
+
<% end %>
|
65
|
+
</li>
|
66
|
+
<% end %>
|
67
|
+
</ul>
|
68
|
+
</div>
|
50
69
|
</td>
|
51
70
|
</tr>
|
52
71
|
<% end %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
<% end %>
|
9
9
|
</h1>
|
10
10
|
</div>
|
11
|
-
<div class="table-
|
11
|
+
<div class="table-stacked">
|
12
12
|
<table class="table-list">
|
13
13
|
<thead>
|
14
14
|
<tr>
|
@@ -17,42 +17,76 @@
|
|
17
17
|
<th><%= t("models.registration_type.fields.weight", scope: "decidim.admin") %></th>
|
18
18
|
<th><%= t("models.registration_type.fields.conference_meetings", scope: "decidim.admin") %></th>
|
19
19
|
<th><%= t("models.registration_type.fields.registrations_count", scope: "decidim.admin") %></th>
|
20
|
-
<th
|
20
|
+
<th><%= t("models.registration_type.fields.actions", scope: "decidim.admin") %></th>
|
21
21
|
</tr>
|
22
22
|
</thead>
|
23
23
|
<tbody>
|
24
24
|
<% @registration_types.each do |registration_type| %>
|
25
25
|
<tr>
|
26
|
-
<td>
|
26
|
+
<td data-label="<%= t("models.registration_type.fields.title", scope: "decidim.admin") %>">
|
27
27
|
<%= translated_attribute(registration_type.title) %>
|
28
28
|
</td>
|
29
|
-
<td>
|
29
|
+
<td data-label="<%= t("models.registration_type.fields.price", scope: "decidim.admin") %>">
|
30
30
|
<%= registration_type.price %>
|
31
31
|
</td>
|
32
|
-
<td>
|
32
|
+
<td data-label="<%= t("models.registration_type.fields.weight", scope: "decidim.admin") %>">
|
33
33
|
<%= registration_type.weight %>
|
34
34
|
</td>
|
35
|
-
<td>
|
35
|
+
<td data-label="<%= t("models.registration_type.fields.conference_meetings", scope: "decidim.admin") %>">
|
36
36
|
<%= registration_type.conference_meeting_registration_types.count %>
|
37
37
|
</td>
|
38
|
-
<td>
|
38
|
+
<td data-label="<%= t("models.registration_type.fields.registrations_count", scope: "decidim.admin") %>">
|
39
39
|
<%= registration_type.conference_registrations.count %>
|
40
40
|
</td>
|
41
|
-
<td class="table-list__actions">
|
42
|
-
<% if allowed_to?(:update, :registration_type, registration_type: registration_type) && !registration_type.conference_registrations.any? %>
|
43
|
-
<%= icon_link_to "pencil-line", edit_conference_registration_type_path(current_conference, registration_type), t("actions.edit", scope: "decidim.admin"), class: "action-icon--edit" %>
|
44
|
-
<% end %>
|
45
41
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
42
|
+
<td class="table-list__actions" data-label="<%= t("models.registration_type.fields.actions", scope: "decidim.admin") %>">
|
43
|
+
<button type="button" data-controller="dropdown" data-target="actions-conference-registration-type-<%= registration_type.id %>" aria-label="<%= t("decidim.admin.actions.actions_label", resource: translated_attribute(registration_type.title)) %>">
|
44
|
+
<%= icon "more-fill", class: "text-secondary" %>
|
45
|
+
</button>
|
46
|
+
|
47
|
+
<div class="inline-block relative">
|
48
|
+
<ul id="actions-conference-registration-type-<%= registration_type.id %>" class="dropdown dropdown__action" aria-hidden="true">
|
49
|
+
<% if allowed_to?(:update, :registration_type, registration_type: registration_type) && !registration_type.conference_registrations.any? %>
|
50
|
+
<li class="dropdown__item">
|
51
|
+
<%= link_to edit_conference_registration_type_path(current_conference, registration_type), class: "dropdown__button" do %>
|
52
|
+
<%= icon "pencil-line" %>
|
53
|
+
<%= t("actions.edit", scope: "decidim.admin") %>
|
54
|
+
<% end %>
|
55
|
+
</li>
|
56
|
+
|
57
|
+
<hr>
|
58
|
+
<% end %>
|
59
|
+
|
60
|
+
<% if allowed_to?(:update, :registration_type, registration_type: registration_type) %>
|
61
|
+
<% if registration_type.published? %>
|
62
|
+
<li class="dropdown__item">
|
63
|
+
<%= link_to conference_registration_type_publish_path(current_conference, registration_type), method: :delete, class: "dropdown__button" do %>
|
64
|
+
<%= icon "close-circle-line" %>
|
65
|
+
<%= t("actions.unpublish", scope: "decidim.admin") %>
|
66
|
+
<% end %>
|
67
|
+
</li>
|
68
|
+
<% else %>
|
69
|
+
<li class="dropdown__item">
|
70
|
+
<%= link_to conference_registration_type_publish_path(current_conference, registration_type), method: :post, class: "dropdown__button" do %>
|
71
|
+
<%= icon "check-line" %>
|
72
|
+
<%= t("actions.publish", scope: "decidim.admin") %>
|
73
|
+
<% end %>
|
74
|
+
</li>
|
75
|
+
<% end %>
|
76
|
+
|
77
|
+
<hr>
|
78
|
+
<% end %>
|
79
|
+
|
80
|
+
<% if allowed_to?(:destroy, :registration_type, registration_type: registration_type) && !registration_type.conference_registrations.any? %>
|
81
|
+
<li class="dropdown__item">
|
82
|
+
<%= link_to conference_registration_type_path(current_conference, registration_type), method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") }, class: "dropdown__button" do %>
|
83
|
+
<%= icon "delete-bin-line" %>
|
84
|
+
<%= t("actions.destroy", scope: "decidim.admin") %>
|
85
|
+
<% end %>
|
86
|
+
</li>
|
87
|
+
<% end %>
|
88
|
+
</ul>
|
89
|
+
</div>
|
56
90
|
</td>
|
57
91
|
</tr>
|
58
92
|
<% end %>
|
@@ -60,4 +94,5 @@
|
|
60
94
|
</table>
|
61
95
|
</div>
|
62
96
|
</div>
|
97
|
+
|
63
98
|
<%= decidim_paginate @registration_types %>
|
@@ -20,7 +20,7 @@ end
|
|
20
20
|
<span class="sr-only"><%= t(".program") %> (<%= translated_attribute current_participatory_space.title %>)</span>
|
21
21
|
</h1>
|
22
22
|
|
23
|
-
<div data-
|
23
|
+
<div data-controller="accordion" data-multiselectable="false" data-collapsible="false">
|
24
24
|
<% if meeting_days.any? %>
|
25
25
|
<ul class="conference__program-selector">
|
26
26
|
<% meeting_days.each_with_index do |day, i| %>
|
@@ -5,11 +5,6 @@
|
|
5
5
|
<%= translated_attribute(current_participatory_space.title) %>
|
6
6
|
</h1>
|
7
7
|
<p class="conference__hero-slogan">
|
8
|
-
<% if current_participatory_space.hashtag.present? %>
|
9
|
-
<span>
|
10
|
-
<%= link_to "##{current_participatory_space.hashtag}", twitter_hashtag_url(current_participatory_space.hashtag), target: "_blank" %>
|
11
|
-
</span>
|
12
|
-
<% end %>
|
13
8
|
<%= translated_attribute(current_participatory_space.slogan) %>
|
14
9
|
</p>
|
15
10
|
<p class="conference__hero-location">
|
@@ -24,7 +24,7 @@ edit_link(
|
|
24
24
|
|
25
25
|
<%= content_for :aside do %>
|
26
26
|
<div class="conference__nav-container">
|
27
|
-
<button id="dropdown-trigger-conference" data-
|
27
|
+
<button id="dropdown-trigger-conference" data-controller="dropdown" data-target="dropdown-menu-conference" data-auto-close="true" data-scroll-to-menu="true">
|
28
28
|
<span><%= t("decidim.searches.filters.jump_to") %></span>
|
29
29
|
<%= icon "arrow-down-s-line" %>
|
30
30
|
<%= icon "arrow-up-s-line" %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html lang="<%= I18n.locale %>" class="no-js">
|
3
3
|
<head>
|
4
|
-
|
5
|
-
|
4
|
+
<%= tag :meta, "http-equiv": "Content-Type", content: "text/html; charset=utf-8" %>
|
5
|
+
<%= tag :meta, name: "viewport", content: "width=device-width" %>
|
6
6
|
<%= stylesheet_pack_tag "decidim_conference_diploma" %>
|
7
7
|
</head>
|
8
8
|
<body>
|
data/config/assets.rb
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
|
3
3
|
base_path = File.expand_path("..", __dir__)
|
4
4
|
|
5
|
-
Decidim::
|
6
|
-
Decidim::
|
5
|
+
Decidim::Shakapacker.register_path("#{base_path}/app/packs")
|
6
|
+
Decidim::Shakapacker.register_entrypoints(
|
7
7
|
decidim_conferences: "#{base_path}/app/packs/entrypoints/decidim_conferences.js",
|
8
8
|
decidim_conferences_admin: "#{base_path}/app/packs/entrypoints/decidim_conferences_admin.js"
|
9
9
|
)
|
data/config/locales/ar.yml
CHANGED
@@ -3,16 +3,11 @@ ar:
|
|
3
3
|
activemodel:
|
4
4
|
attributes:
|
5
5
|
conference:
|
6
|
-
assemblies_ids: الجمعيات ذات الصلة
|
7
6
|
available_slots: المواعيد المتاحة
|
8
7
|
banner_image: صورة بانر
|
9
|
-
copy_categories: نسخ الفئات
|
10
|
-
copy_components: نسخ المكونات
|
11
|
-
copy_features: نسخ الميزات
|
12
8
|
decidim_scope_id: نطاق
|
13
9
|
description: وصف
|
14
10
|
end_date: تاريخ الانتهاء
|
15
|
-
hashtag: رابطة هاشتاق
|
16
11
|
hero_image: الصورة الرئيسية
|
17
12
|
location: الموقع
|
18
13
|
main_logo: الشعار الرئيسي
|
@@ -93,9 +88,6 @@ ar:
|
|
93
88
|
new_conference: مؤتمر جديد
|
94
89
|
new_partner: شريك جديد
|
95
90
|
send_diplomas: إرسال شهادات الحضور
|
96
|
-
conference_copies:
|
97
|
-
new:
|
98
|
-
copy: نسخ
|
99
91
|
conference_publications:
|
100
92
|
create:
|
101
93
|
error: كانت هناك مشكلة في نشر هذا المؤتمر.
|
@@ -144,12 +136,12 @@ ar:
|
|
144
136
|
exports:
|
145
137
|
registrations: التسجيلات
|
146
138
|
form:
|
139
|
+
images: صور
|
147
140
|
title: معلومات عامة
|
148
141
|
index:
|
149
142
|
published: نشرت
|
150
143
|
new:
|
151
144
|
create: إنشاء
|
152
|
-
title: مؤتمر
|
153
145
|
update:
|
154
146
|
error: حدثت مشكلة أثناء تحديث هذا المؤتمر.
|
155
147
|
success: تم تحديث المؤتمر بنجاح.
|
@@ -198,7 +190,6 @@ ar:
|
|
198
190
|
admin: مدير
|
199
191
|
collaborator: متعاون
|
200
192
|
moderator: وسيط
|
201
|
-
valuator: مُقيِّم
|
202
193
|
media_link:
|
203
194
|
fields:
|
204
195
|
date: تاريخ
|