decidim-admin 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim-admin might be problematic. Click here for more details.

Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/decidim/admin/application.js.es6 +21 -9
  3. data/app/assets/javascripts/decidim/admin/sort_list.component.js.es6 +35 -0
  4. data/app/assets/stylesheets/decidim/admin/extra/_language-chooser.scss +4 -0
  5. data/app/assets/stylesheets/decidim/admin/extra/_sort.scss +12 -0
  6. data/app/controllers/decidim/admin/application_controller.rb +1 -0
  7. data/app/controllers/decidim/admin/participatory_process_attachments_controller.rb +4 -0
  8. data/app/helpers/decidim/admin/menu_helper.rb +0 -1
  9. data/app/models/decidim/admin/participatory_process_user_role.rb +2 -2
  10. data/app/views/decidim/admin/categories/index.html.erb +7 -1
  11. data/app/views/decidim/admin/exports/_dropdown.html.erb +1 -1
  12. data/app/views/decidim/admin/moderations/index.html.erb +6 -2
  13. data/app/views/decidim/admin/participatory_process_steps/index.html.erb +1 -0
  14. data/app/views/layouts/decidim/admin/_title_bar.html.erb +10 -0
  15. data/config/locales/ca.yml +3 -1
  16. data/config/locales/en.yml +3 -1
  17. data/config/locales/es.yml +3 -1
  18. data/config/locales/eu.yml +0 -1
  19. data/config/locales/fi.yml +0 -1
  20. data/config/locales/fr.yml +0 -1
  21. data/config/locales/it.yml +490 -0
  22. data/db/migrate/20161102144648_add_admin_participatory_process_user_roles.rb +5 -3
  23. data/db/migrate/20170128112958_change_user_groups_verified_to_timestamp.rb +2 -0
  24. data/lib/decidim/admin/engine.rb +1 -1
  25. data/lib/decidim/admin/test/manage_attachments_examples.rb +3 -3
  26. metadata +12 -9
  27. data/app/assets/javascripts/decidim/admin/sort_steps.js.es6 +0 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b83e8184e9d2b739b4bce06c9963abfd2f48d268
4
- data.tar.gz: 681e05c9d10f6a135e6a6a662278f83ed82fe6d8
3
+ metadata.gz: e8b37d53f2b47cad57afc6b15797b418bc9633d4
4
+ data.tar.gz: 100c38043776714dcc7c829685fd6431c835a8ca
5
5
  SHA512:
6
- metadata.gz: d8e4b42f285b8b69e6c0e8c2952fe36d25e9b2002a21a6a69144e5735c2e0afa934c73d87a37c4f632c1577c8caabf0986811605dcfc010ba3207c6eb952a408
7
- data.tar.gz: a9c3366c041628fa6f0cc3788ddba94800eb5d9deff2e7aacc8dba8c79cbdafaf7b83a11bcecced7b792f0d0a05a064b57ca3578281d2e5ce650178f3dfd408a
6
+ metadata.gz: c5b491662a61278cf36649966d7c27f5fb8a48401f918de5d1298654aba1fc42e6173ef4e62d26b067be7943e6b9162d7064bdcdb46e60ddb0432b48fc45ccd2
7
+ data.tar.gz: d80edff9b9c490167d5e91fbaefc34a6a0d2040b22ac0725f7ecab0a466fab2fa23577e1edd8afa85e193136b1592c95ca924ff6c21f5b94f3322aaaef6a58b0
@@ -1,12 +1,9 @@
1
- /* global sortSteps */
2
-
3
1
  // = require jquery
4
2
  // = require jquery_ujs
5
3
  // = require foundation
6
- // = require html.sortable
7
- // = require ./sort_steps
8
4
  // = require ./tab_focus
9
5
  // = require ./toggle_nav
6
+ // = require ./sort_list.component
10
7
  // = require decidim/editor
11
8
  // = require foundation-datepicker
12
9
  // = require form_datepicker
@@ -16,17 +13,32 @@
16
13
  window.Decidim = window.Decidim || {};
17
14
 
18
15
  const pageLoad = () => {
16
+ const { toggleNav, createSortList } = window.DecidimAdmin;
17
+
19
18
  $(document).foundation();
20
- sortSteps();
21
19
 
22
- if (DecidimAdmin) {
23
- DecidimAdmin.toggleNav();
24
- }
20
+ toggleNav();
21
+
22
+ createSortList('#steps tbody', {
23
+ placeholder: $('<tr style="border-style: dashed; border-color: #000"><td colspan="4">&nbsp;</td></tr>')[0],
24
+ onSortUpdate: ($children) => {
25
+ const sortUrl = $('#steps tbody').data('sort-url')
26
+ const order = $children.map((index, child) => $(child).data('id')).toArray();
27
+
28
+ $.ajax({
29
+ method: 'POST',
30
+ url: sortUrl,
31
+ contentType: 'application/json',
32
+ data: JSON.stringify({ items_ids: order }) }, // eslint-disable-line camelcase
33
+ );
34
+ }
35
+ })
25
36
  };
26
37
 
27
38
  $(() => {
28
39
  pageLoad();
29
- if (window.Decidim.formDatePicker) {
40
+
41
+ if (window.Decidim.formDatePicker) {
30
42
  window.Decidim.formDatePicker();
31
43
  }
32
44
  });
@@ -0,0 +1,35 @@
1
+ // = require html.sortable
2
+
3
+ ((exports) => {
4
+
5
+ class SortListComponent {
6
+
7
+ /**
8
+ * Creates a sortable list using hmtl5sortable function.
9
+ *
10
+ * @param {String} sortListSelector The list selector that has to be sortable.
11
+ * @param {Object} options An object containing the same options as html5sortable. It also includes
12
+ * an extra option `onSortUpdate`, a callback which returns the children collection
13
+ * whenever the list order has been changed.
14
+ *
15
+ * @returns {void} Nothing.
16
+ */
17
+ constructor(sortListSelector, options) {
18
+ if ($(sortListSelector).length > 0) {
19
+ exports.sortable(sortListSelector, options)[0].addEventListener('sortupdate', (event) => {
20
+ const $children = $(event.target).children();
21
+
22
+ if (options.onSortUpdate) {
23
+ options.onSortUpdate($children);
24
+ }
25
+ });
26
+ }
27
+ }
28
+ }
29
+
30
+ exports.DecidimAdmin = exports.DecidimAdmin || {};
31
+ exports.DecidimAdmin.SortListComponent = SortListComponent;
32
+ exports.DecidimAdmin.createSortList = (sortListSelector, options) => {
33
+ return new SortListComponent(sortListSelector, options);
34
+ };
35
+ })(window);
@@ -0,0 +1,4 @@
1
+ //Overrides position for the user-login block
2
+ .user-login{
3
+ top: 30%;
4
+ }
@@ -0,0 +1,12 @@
1
+ .survey-questions {
2
+ .question-divider {
3
+ cursor: move;
4
+ h2 {
5
+ line-height: 32px;
6
+ }
7
+ }
8
+ }
9
+
10
+ .icon--move {
11
+ vertical-align: middle;
12
+ }
@@ -20,6 +20,7 @@ module Decidim
20
20
  helper Decidim::ReplaceButtonsHelper
21
21
  helper Decidim::OrganizationScopesHelper
22
22
  helper Decidim::TranslationsHelper
23
+ helper Decidim::LanguageChooserHelper
23
24
 
24
25
  protect_from_forgery with: :exception, prepend: true
25
26
 
@@ -11,6 +11,10 @@ module Decidim
11
11
  include Concerns::ParticipatoryProcessAdmin
12
12
  include Concerns::HasAttachments
13
13
 
14
+ def after_destroy_path
15
+ participatory_process_attachments_path(participatory_process.id)
16
+ end
17
+
14
18
  def attached_to
15
19
  participatory_process
16
20
  end
@@ -1,4 +1,3 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
 
4
3
  module Decidim
@@ -5,8 +5,8 @@ module Decidim
5
5
  # Defines a relation between a user and a participatory process, and what
6
6
  # kind of relation does the user has.
7
7
  class ParticipatoryProcessUserRole < ApplicationRecord
8
- belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User"
9
- belongs_to :participatory_process, foreign_key: "decidim_participatory_process_id", class_name: "Decidim::ParticipatoryProcess"
8
+ belongs_to :user, foreign_key: "decidim_user_id", class_name: "Decidim::User", optional: true
9
+ belongs_to :participatory_process, foreign_key: "decidim_participatory_process_id", class_name: "Decidim::ParticipatoryProcess", optional: true
10
10
 
11
11
  ROLES = %w(admin collaborator).freeze
12
12
  validates :role, inclusion: { in: ROLES }, uniqueness: { scope: [:user, :participatory_process] }
@@ -30,7 +30,13 @@
30
30
  <% end %>
31
31
 
32
32
  <% if can? :destroy, category %>
33
- <%= icon_link_to "circle-x", participatory_process_category_path(participatory_process, category), t("actions.destroy", scope: "decidim.admin"), class: "action-icon--remove", method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } %>
33
+ <% if category.unused? %>
34
+ <%= icon_link_to "circle-x", participatory_process_category_path(participatory_process, category), t("actions.destroy", scope: "decidim.admin"), class: "action-icon--remove", method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } %>
35
+ <% else %>
36
+ <span class="action-icon" title="<%= t('.category_used') %>" data-tooltip="true" data-disable-hover="false">
37
+ <%= icon "circle-x", class: "action-icon action-icon--disabled" %>
38
+ </span>
39
+ <% end %>
34
40
  <% end %>
35
41
  </td>
36
42
  </tr>
@@ -1,4 +1,4 @@
1
- <button class="exports dropdown tiny button button--simple" data-toggle="export-dropdown"><%= t "actions.export", scope: "decidim.admin" %></button>
1
+ <span class="exports dropdown tiny button button--simple" data-toggle="export-dropdown"><%= t "actions.export", scope: "decidim.admin" %></span>
2
2
  <div class="dropdown-pane" id="export-dropdown" data-dropdown data-auto-focus="true" data-close-on-click="true">
3
3
  <ul class="vertical menu add-features">
4
4
  <% feature.manifest.export_manifests.each do |manifest| %>
@@ -17,7 +17,7 @@
17
17
  <thead>
18
18
  <tr>
19
19
  <th><%= t("models.moderation.fields.reportable", scope: "decidim.moderations") %></th>
20
- <th><%= t("models.moderation.fields.reported_content", scope: "decidim.moderations") %></th>
20
+ <th><%= t("models.moderation.fields.reported_content_url", scope: "decidim.moderations") %></th>
21
21
  <th><%= t("models.moderation.fields.reports", scope: "decidim.moderations") %></th>
22
22
  <th><%= t("models.moderation.fields.report_count", scope: "decidim.moderations") %></th>
23
23
  <% if params[:hidden] %>
@@ -33,7 +33,11 @@
33
33
  <%= moderation.reportable.class.name.demodulize %>
34
34
  </td>
35
35
  <td>
36
- <%= moderation.reportable.reported_content %>
36
+ <%=
37
+ link_to moderation.reportable.reported_content_url, target: "_blank" do
38
+ (moderation.reportable.reported_content_url + " " + icon("external-link")).html_safe
39
+ end
40
+ %>
37
41
  </td>
38
42
  <td>
39
43
  <% reports = moderation.reports.map { |report| render 'report', report: report } %>
@@ -24,6 +24,7 @@
24
24
  <% participatory_process.steps.each do |step| %>
25
25
  <tr data-id="<%= step.id %>">
26
26
  <td>
27
+ <span class="table-list__actions"><%= icon("move", class: "action-icon") %></span>
27
28
  <% if step.active? %>
28
29
  <span class="icon-active"></span>
29
30
  <% end %>
@@ -8,6 +8,16 @@
8
8
  <% end %>
9
9
  <% end %>
10
10
  <div class="user-login">
11
+ <ul class="dropdown menu language-chooser" data-dropdown-menu>
12
+ <li class="is-dropdown-submenu-parent">
13
+ <%= link_to t("name", scope: "locale") %>
14
+ <ul class="menu is-dropdown-submenu">
15
+ <% (available_locales - [I18n.locale.to_s]).each do |locale| %>
16
+ <li><%= link_to locale_name(locale), decidim.locale_path(locale: locale), method: :post%></li>
17
+ <% end %>
18
+ </ul>
19
+ </li>
20
+ </ul>
11
21
  <ul class="dropdown menu" data-dropdown-menu>
12
22
  <li class="is-dropdown-submenu-parent">
13
23
  <a href="#"><%= current_user.email %></a>
@@ -155,6 +155,8 @@ ca:
155
155
  edit:
156
156
  title: Edita categoria
157
157
  update: Actualitzar
158
+ index:
159
+ category_used: Aquesta categoria no es pot suprimir perquè és en ús.
158
160
  new:
159
161
  create: Crea una categoria
160
162
  title: Nova categoria
@@ -542,7 +544,7 @@ ca:
542
544
  hidden_at: Data d'ocultació
543
545
  report_count: Recompte
544
546
  reportable: Tipus
545
- reported_content: Contingut
547
+ reported_content_url: URL contingut del contingut reportat
546
548
  reports: Denúncies
547
549
  participatory_processes:
548
550
  participatory_process_groups:
@@ -156,6 +156,8 @@ en:
156
156
  edit:
157
157
  title: Edit category
158
158
  update: Update
159
+ index:
160
+ category_used: This category cannot be removed because it is in use.
159
161
  new:
160
162
  create: Create category
161
163
  title: New category
@@ -543,7 +545,7 @@ en:
543
545
  hidden_at: Hidden at
544
546
  report_count: Count
545
547
  reportable: Reportable
546
- reported_content: Reported content
548
+ reported_content_url: Reported content URL
547
549
  reports: Reports
548
550
  participatory_processes:
549
551
  participatory_process_groups:
@@ -155,6 +155,8 @@ es:
155
155
  edit:
156
156
  title: Editar categoría
157
157
  update: Actualizar
158
+ index:
159
+ category_used: Esta categoría no se puede eliminar porque está en uso.
158
160
  new:
159
161
  create: Crear categoría
160
162
  title: Nueva categoría
@@ -542,7 +544,7 @@ es:
542
544
  hidden_at: Fecha de ocultación
543
545
  report_count: Recuento
544
546
  reportable: Tipo
545
- reported_content: Contenido
547
+ reported_content_url: URL del contenido reportado
546
548
  reports: Denuncias
547
549
  participatory_processes:
548
550
  participatory_process_groups:
@@ -519,7 +519,6 @@ eu:
519
519
  hidden_at: Ezkutatze-data
520
520
  report_count: Zenbaketa
521
521
  reportable: Mota
522
- reported_content: Edukia
523
522
  reports: Salaketak
524
523
  participatory_processes:
525
524
  participatory_process_groups:
@@ -409,7 +409,6 @@ fi:
409
409
  fields:
410
410
  hidden_at: Piilotuksen ajankohta
411
411
  reportable: Raportoitava
412
- reported_content: Raportoitava sisältö
413
412
  reports: Raportit
414
413
  participatory_processes:
415
414
  participatory_process_groups:
@@ -505,7 +505,6 @@ fr:
505
505
  hidden_at: Masqué le
506
506
  report_count: Compter
507
507
  reportable: Signalable
508
- reported_content: Contenu signalé
509
508
  reports: Signalements
510
509
  participatory_processes:
511
510
  participatory_process_groups:
@@ -0,0 +1,490 @@
1
+ it:
2
+ actions:
3
+ confirm_destroy: Conferma eliminazione
4
+ activemodel:
5
+ attributes:
6
+ attachment:
7
+ description: Descrizione
8
+ title: Titolo
9
+ category:
10
+ description: Descrizione
11
+ name: Nome
12
+ parent_id: Su
13
+ feature:
14
+ weight: Peso
15
+ newsletter:
16
+ body: Testo
17
+ subject: Oggetto
18
+ organization:
19
+ default_locale: Lingua predefinita
20
+ description: Descrizione
21
+ favicon: Icona
22
+ homepage_image: immagine per la Homepage
23
+ official_img_footer: Logo ufficiale a piè pagina
24
+ official_img_header: Logo ufficiale per l'intestazione
25
+ official_url: URL ufficiale dell'organizzazione
26
+ reference_prefix: Prefisso
27
+ show_statistics: Mostra statistiche
28
+ welcome_text: Testo di benvenuto
29
+ participatory_process:
30
+ banner_image: Immagine Banner
31
+ description: Descrizione
32
+ developer_group: Gruppo di sviluppo
33
+ domain: Dominio
34
+ end_date: Data di fine
35
+ hero_image: Immagine per la Home
36
+ participatory_process_group_id: Gruppo di processi
37
+ participatory_structure: Struttura partecipativa
38
+ promoted: Promosso
39
+ short_description: Descrizione breve
40
+ subtitle: Sottotitolo
41
+ title: Titolo
42
+ participatory_process_group:
43
+ description: Descrizione
44
+ hero_image: Immagine
45
+ participatory_process_ids: Processi correlati
46
+ participatory_process_step:
47
+ description: Descrizione
48
+ end_date: Data di fine
49
+ short_description: Descrizione breve
50
+ start_date: Data di inizio
51
+ title: Titolo
52
+ participatory_process_user_role:
53
+ name: Nome
54
+ role: Ruolo
55
+ scope:
56
+ name: Nome
57
+ organization: Organizzazione
58
+ static_page:
59
+ content: Contenuto
60
+ organization: Organizzazione
61
+ title: Titolo
62
+ errors:
63
+ messages:
64
+ invalid_json: Problemi con la trasmissione tramite JSON (JSON non valido)
65
+ activerecord:
66
+ attributes:
67
+ decidim/participatory_process:
68
+ banner_image: Immagine banner
69
+ description: Descrizione
70
+ developer_group: Gruppo di sviluppo
71
+ domain: Dominio
72
+ end_date: Data di fine
73
+ hero_image: Immagine sulla Home Page
74
+ participatory_scope: Visibilità/ambito partecipativo
75
+ participatory_structure: Struttura partecipativa
76
+ promoted: Promossa
77
+ scope: Visibilità/ambito
78
+ short_description: Descrizione breve
79
+ subtitle: Sottotitolo
80
+ title: Titolo
81
+ decidim/participatory_process_step:
82
+ end_date: Data di fine
83
+ start_date: Date di inizio
84
+ decidim/static_page:
85
+ content: Contenuto
86
+ title: Titolo
87
+ decidim:
88
+ admin:
89
+ actions:
90
+ activate: Attiva
91
+ configure: Configura
92
+ confirm_destroy: Sei sicuro di volerlo cancellare?
93
+ destroy: Elimina
94
+ duplicate: Duplica
95
+ edit: Modifica
96
+ export: Esporta
97
+ manage: Gestisci
98
+ new: Nuovo
99
+ permissions: Permessi
100
+ preview: Anteprima
101
+ publish: Pubblica
102
+ resend_invitation: Manda di nuovo l'invito
103
+ unpublish: Non pubblicarlo
104
+ verify: Verifica
105
+ attachments:
106
+ create:
107
+ error: Si è verificato un errore creando il nuovo allegato.
108
+ success: Allegato creato con successo.
109
+ destroy:
110
+ success: Allegato eliminato con successo.
111
+ edit:
112
+ title: Modifica allegato
113
+ update: Aggiorna
114
+ form:
115
+ current_file: File corrente
116
+ url: URL
117
+ new:
118
+ create: Crea allegato
119
+ title: Nuovo allegato
120
+ update:
121
+ error: Si è verificato un errore durante l'aggiornamento di questo allegato.
122
+ success: Allegato modificato con successo.
123
+ categories:
124
+ create:
125
+ error: Si è verificato un errore durante la creazione di questa categoria.
126
+ success: OK, la categoria è stata creata.
127
+ destroy:
128
+ error: Si è verificato un errore durante la cancellazione di questa categoria. Assicurarsi di aver cancellato prima di tutto le eventuali sotto-categorie, assicurarsi che nessuna altra entità appartengaa questa categoria e provare di nuovo.
129
+ success: OK, categoria cancellata.
130
+ edit:
131
+ title: Modifica categoria
132
+ update: Aggiorna
133
+ new:
134
+ create: Crea nuova categoria
135
+ title: Nuova categoria
136
+ update:
137
+ error: Si è verificato un errore aggiornando questa categoria.
138
+ success: OK, la categoria è stata aggiornata.
139
+ dashboard:
140
+ show:
141
+ welcome: Benvenuto nel nuovo pannello di amministarzione.
142
+ decidim:
143
+ admin:
144
+ attachments:
145
+ index:
146
+ attachments_title: Allegati
147
+ categories:
148
+ index:
149
+ categories_title: Categorie
150
+ participatory_process_steps:
151
+ index:
152
+ steps_title: Fasi
153
+ participatory_process_user_roles:
154
+ index:
155
+ process_admins_title: Utenti del processo partecipativo.
156
+ exports:
157
+ export_as: "%{name} esporta come %{export_format}"
158
+ notice: Export in fase di elaborazione. Riceverai un'email quando l'export sarà terminato.
159
+ feature_permissions:
160
+ edit:
161
+ everyone: Tutti
162
+ submit: Salva la configurazione dei permessi
163
+ title: Modifica i permessi
164
+ update:
165
+ success: OK, i permessi sono stati aggiornati.
166
+ features:
167
+ create:
168
+ error: Si è verificato un errore durante l'aggiunta di questa funzionalità (feature).
169
+ success: OK, la feature è stata creata.
170
+ destroy:
171
+ error: Si è verificato un errore durante l'eliminazione di questa funzionalità (feature).
172
+ success: OK, la feature è stata cancellata.
173
+ edit:
174
+ title: Modifica feature
175
+ update: Aggiorna
176
+ form:
177
+ global_settings: Impostazioni globali
178
+ step_settings: Imposta le fasi (Step)
179
+ index:
180
+ add: Aggiungi una funzionalità (feature)
181
+ headers:
182
+ actions: Azioni
183
+ name: Nome della funzionalità (feature)
184
+ type: Tipo di funzionalità (feature)
185
+ new:
186
+ add: Aggiungi una funzionalità (feature)
187
+ title: 'Aggiungi la feature: %{name}'
188
+ publish:
189
+ success: OK, la feature è stata pubblicata.
190
+ title: Funzionalità (features)
191
+ unpublish:
192
+ success: OK, questa feature adesso non è più pubblicata.
193
+ update:
194
+ error: Si è verificato un errore durante l'aggiornamento di questa funzionalità (feature).
195
+ success: OK, la funzionalità (feature) è stata aggiornata.
196
+ menu:
197
+ admins: Amministratori
198
+ dashboard: Cruscotto (Dashboard)
199
+ participatory_process_groups: Gruppo di processi
200
+ participatory_processes: Processi
201
+ participatory_processes_submenu:
202
+ attachments: Allegati
203
+ categories: Categorie
204
+ features: Funzionalità (features)
205
+ info: Informazioni
206
+ moderations: Moderazioni
207
+ process_admins: Utenti
208
+ steps: Fasi (Steps)
209
+ scopes: Visibilità/ambito (Scopes)
210
+ settings: Impostazioni
211
+ static_pages: Pagine
212
+ user_groups: Gruppi di utenti
213
+ users: Utenti
214
+ models:
215
+ attachment:
216
+ fields:
217
+ content_type: Tipo
218
+ title: Titolo
219
+ name: Allegato
220
+ category:
221
+ name: Categorie
222
+ newsletter:
223
+ fields:
224
+ created_at: Creato il
225
+ progress: Avanzamento
226
+ sent_at: Inviato alle
227
+ subject: Oggetto
228
+ participatory_process:
229
+ fields:
230
+ created_at: Creato il
231
+ promoted: Evidenziato
232
+ published: Pubblicato
233
+ title: Titolo
234
+ name: Processo partecipativo
235
+ participatory_process_group:
236
+ fields:
237
+ name: Nome
238
+ name: Gruppo di processi
239
+ participatory_process_step:
240
+ fields:
241
+ end_date: Data di fine
242
+ start_date: Data di inizio
243
+ title: Titolo
244
+ name: Fase del processo partecipativo
245
+ participatory_process_user_role:
246
+ fields:
247
+ name: Nome
248
+ role: Ruolo
249
+ name: Utente del processo partecipativo
250
+ roles:
251
+ admin: Amministratore
252
+ collaborator: Collaboratore
253
+ scope:
254
+ fields:
255
+ created_at: Creato il
256
+ name: Nome
257
+ static_page:
258
+ fields:
259
+ created_at: Creato il
260
+ title: Titolo
261
+ user:
262
+ fields:
263
+ created_at: Data di creazione
264
+ invitation_accepted_at: Data dell'invito di accettazione
265
+ invitation_sent_at: Data di invio dell'invito
266
+ last_sign_in_at: Data dell'ultimo accesso
267
+ name: Nome
268
+ name: Utente
269
+ user_group:
270
+ fields:
271
+ created_at: Creato il
272
+ document_number: Numero del documento
273
+ name: Nome
274
+ phone: Telefono
275
+ users_count: Conteggio degli utenti
276
+ moderations:
277
+ index:
278
+ title: Moderazione
279
+ newsletters:
280
+ create:
281
+ error: Si è verificato un errore durante la creazione di questa newsletter.
282
+ success: OK, la Newsletter è stata creata. Adesso è possibile controllarla ed eventualmente inviarla.
283
+ deliver:
284
+ error: Si è verificato un errore durante l'invio di questa newsletter.
285
+ destroy:
286
+ error_already_sent: 'Non è possibile eliminare questa newsletter: è già stata inviata.'
287
+ success: OK, la Newsletter è stata eliminata.
288
+ edit:
289
+ save_and_preview: Salva e vedi l'anteprima
290
+ title: Modifica la Newsletter
291
+ form:
292
+ interpolations_hint: 'Suggerimento: puoi utilizzare "%{name}" ovunque nel corpo del testo o nell''oggetto e sarà sostituito con il nome del contenitore.'
293
+ index:
294
+ confirm_delete: Sei sicuro di voler cancellare questa newsletter?
295
+ new:
296
+ save: Salva
297
+ title: Nuova newsletter
298
+ show:
299
+ confirm_deliver: Sei certo di voler inviare questa Newsletter? Questa azione sarà irrevocabile.
300
+ deliver: Invia la newsletter
301
+ preview: Anteprima
302
+ subject: Oggetto
303
+ update:
304
+ success: OK, la Newsletter è stata aggiornata. Conviene controllarla prima di inviarla.
305
+ organization:
306
+ edit:
307
+ title: Modifica l'organizzazione
308
+ update: Modifica
309
+ form:
310
+ current_image: immagine corrente
311
+ update:
312
+ error: Si è verificato un errore durante la modifica di questa organizzazione.
313
+ success: OK, l'organizzazione è stata modificata.
314
+ participatory_process_copies:
315
+ new:
316
+ copy: Copia
317
+ select: Scegli quale quale dato vuoi duplicare
318
+ title: Duplicazione di un processo partecipativo.
319
+ participatory_process_groups:
320
+ edit:
321
+ title: Aggiorna un gruppo di processi
322
+ update: Aggiorna
323
+ new:
324
+ create: Crea
325
+ title: Nuovo gruppo di processi
326
+ update:
327
+ error: Si è verificato un errore aggiornando questo gruppo di processi partecipativi.
328
+ success: OK, il gruppo di processi partecipativi è stato modificato.
329
+ participatory_process_publications:
330
+ create:
331
+ error: Si è verificato un errore durante la pubblicazione di questo processo partecipativo.
332
+ success: OK, il processo partecipativo è stato pubblicato.
333
+ destroy:
334
+ error: Si è verificato un errore cercando di togliere dalla pubblicazione questo processo partecipativo.
335
+ success: OK, il processo partecipativo è stato tolto dalla pubblicazione.
336
+ participatory_process_step_activations:
337
+ create:
338
+ error: Si è verificato un errore cercando di attivare questa fase del processo partecipativo.
339
+ success: OK, il processo partecipativo è stato attivato.
340
+ participatory_process_steps:
341
+ create:
342
+ error: Si è verificato un errore creando questa nuova fase (step) di processo partecipativo.
343
+ success: OK, è stato creato il nuovo processo partecipativo.
344
+ default_title: Introduzione
345
+ destroy:
346
+ error:
347
+ active_step: Non è possibile cancellare questa fase poiché è attiva.
348
+ last_step: Non è possibile cancellare l'ultima fase di un processo.
349
+ success: OK, il processo partecipativo è stato eliminato.
350
+ edit:
351
+ title: Modifica una fase del processo partecipativo.
352
+ update: Aggiorna
353
+ new:
354
+ create: Crea
355
+ title: Nuova fase del processo partecipativo.
356
+ ordering:
357
+ error: Si è verificato un errore cercando di ri-ordinare le fasi di questo processo partecipativo.
358
+ update:
359
+ error: Si è verificato un errore durante l'aggiornamento di questa fase del processo partecipativo.
360
+ success: OK, questa fase del processo partecipativo è stata aggiornata.
361
+ participatory_process_user_roles:
362
+ create:
363
+ error: Si è verificato un errore cercando di aggiungere un nuovo utente per questo processo partecipativo.
364
+ success: OK, è stato creato l'utente per questo processo partecipativo.
365
+ destroy:
366
+ success: L'utente per questo processo processo partecipativo è stato eliminato.
367
+ edit:
368
+ title: Aggiornamento utente di un processo partecipativo.
369
+ update: Aggiorna
370
+ new:
371
+ create: Crea
372
+ title: Nuovo utente per un processo partecipativo.
373
+ update:
374
+ error: Si è verificato un errore durante la fase di aggiornamento per questo processo partecipativo.
375
+ success: OK, è stato aggiornato l'utente per questo processo partecipativo.
376
+ participatory_processes:
377
+ create:
378
+ error: Si è verificato un errore durante la creazione del processo partecipativo.
379
+ destroy:
380
+ success: OK, il processo partecipativo è stato eliminato.
381
+ edit:
382
+ update: Aggiorna
383
+ form:
384
+ current_image: Immagine corrente
385
+ title: Informazioni generali
386
+ url: URL
387
+ index:
388
+ not_published: Non pubblicato
389
+ published: Pubblicato
390
+ new:
391
+ create: Crea
392
+ title: Nuovo processo partecipativo.
393
+ update:
394
+ error: Si è verificato un errore durante l'aggiornamento di questo processo partecipativo.
395
+ success: OK, il processo partecipativo è stato aggiornato.
396
+ participatory_processes_copies:
397
+ create:
398
+ error: Si è verificato un errore cercando di duplicare questo processo partecipativo.
399
+ success: OK, il processo partecipativo è stato duplicato.
400
+ participatory_processes_group:
401
+ create:
402
+ error: Si è verificato un errore cercando di creare il nuovo gruppo di processi partecipativi.
403
+ success: OK, il gruppo di processi partecipativi è stato creato.
404
+ scopes:
405
+ create:
406
+ error: Si è verificato un errore creando un nuovo ambito.
407
+ success: OK, è stato creato il nuovo àmbito.
408
+ destroy:
409
+ success: Ok, l'ambito è stato eliminato.
410
+ edit:
411
+ title: Modifica l'àmbito
412
+ update: Aggiorna
413
+ new:
414
+ create: Crea un àmbito
415
+ title: Nuovo ambito
416
+ update:
417
+ error: Si è verificato un errore durante l'aggiornamento di questo àmbito.
418
+ success: OK, l'àmbito è stato aggiornato.
419
+ static_pages:
420
+ actions:
421
+ view: Visualizza la pagina pubblica
422
+ create:
423
+ error: Si è verificato un errore creando una nuova pagina.
424
+ success: OK, la nuova pagina è stata creata.
425
+ destroy:
426
+ success: OK, la pagina è stata eliminata.
427
+ edit:
428
+ title: Modifica la pagina
429
+ update: Aggiorna
430
+ new:
431
+ create: Nuovo
432
+ title: Nuova pagina
433
+ update:
434
+ error: Si è verificato un errore durante l'aggiornamento di questa pagina.
435
+ success: OK, la pagina è stata aggiornata.
436
+ titles:
437
+ dashboard: Cruscotto (Dashboard)
438
+ participatory_process_groups: Gruppo di processi partecipativi
439
+ participatory_processes: Processi partecipativi
440
+ scopes: Ambiti
441
+ static_pages: Pagine
442
+ user_groups: Gruppi di utenti
443
+ users: Utenti
444
+ users:
445
+ create:
446
+ error: Si è verificato un errore cercando di mandare l'invito a questo utente.
447
+ success: OK, utente invitato.
448
+ destroy:
449
+ error: Si è verificato un errore cercando di eliminare questo utente.
450
+ success: Questo utente non è più un amministratore.
451
+ form:
452
+ name: Nome
453
+ new:
454
+ create: Invita
455
+ title: Invita l'utente in qualità di amministratore
456
+ resend_invitation:
457
+ error: Si è verificato C'è stato un errore cercando di mandare l'invito tramite email.
458
+ success: OK, mandato inviato tramite email
459
+ moderations:
460
+ actions:
461
+ hidden: Nascosto
462
+ hide: Nascondi
463
+ not_hidden: Non nascosto
464
+ title: Azioni
465
+ unreport: Non inserire
466
+ admin:
467
+ reportable:
468
+ hide:
469
+ invalid: Si è verificato un problema cercando di nascondere la risorsa.
470
+ success: OK, la risorsa è stata nascosta.
471
+ unreport:
472
+ invalid: Si è verificato un problema cercando di visualizzare la risorsa .
473
+ success: OK, la risorda è visualizzabile.
474
+ models:
475
+ moderation:
476
+ fields:
477
+ hidden_at: Nascosto a
478
+ report_count: Conteggio
479
+ reportable: Inseribile
480
+ reports: Report
481
+ participatory_processes:
482
+ participatory_process_groups:
483
+ none: Nessuno
484
+ layouts:
485
+ decidim:
486
+ admin:
487
+ settings:
488
+ title: Impostazioni
489
+ users:
490
+ title: Utenti
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class AddAdminParticipatoryProcessUserRoles < ActiveRecord::Migration[5.0]
2
4
  def change
3
5
  create_table :decidim_admin_participatory_process_user_roles do |t|
@@ -8,8 +10,8 @@ class AddAdminParticipatoryProcessUserRoles < ActiveRecord::Migration[5.0]
8
10
  end
9
11
 
10
12
  add_index :decidim_admin_participatory_process_user_roles,
11
- [:decidim_participatory_process_id, :decidim_user_id, :role],
12
- unique: true,
13
- name: "index_unique_user_and_process_role"
13
+ [:decidim_participatory_process_id, :decidim_user_id, :role],
14
+ unique: true,
15
+ name: "index_unique_user_and_process_role"
14
16
  end
15
17
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ChangeUserGroupsVerifiedToTimestamp < ActiveRecord::Migration[5.0]
2
4
  def change
3
5
  ActiveRecord::Base.transaction do
@@ -13,7 +13,7 @@ require "foundation_rails_helper"
13
13
  require "autoprefixer-rails"
14
14
  require "rectify"
15
15
 
16
- require_dependency File.join(File.dirname(__FILE__), "..", "..", "..", "app/models/decidim/admin/abilities/admin_user")
16
+ require_dependency File.join(__dir__, "..", "..", "..", "app/models/decidim/admin/abilities/admin_user")
17
17
 
18
18
  module Decidim
19
19
  module Admin
@@ -35,7 +35,7 @@ RSpec.shared_examples "manage attachments examples" do
35
35
  within ".new_participatory_process_attachment" do
36
36
  fill_in_i18n(
37
37
  :attachment_title,
38
- "#title-tabs",
38
+ "#attachment-title-tabs",
39
39
  en: "Very Important Document",
40
40
  es: "Documento Muy Importante",
41
41
  ca: "Document Molt Important"
@@ -43,7 +43,7 @@ RSpec.shared_examples "manage attachments examples" do
43
43
 
44
44
  fill_in_i18n(
45
45
  :attachment_description,
46
- "#description-tabs",
46
+ "#attachment-description-tabs",
47
47
  en: "This document contains important information",
48
48
  es: "Este documento contiene información importante",
49
49
  ca: "Aquest document conté informació important"
@@ -84,7 +84,7 @@ RSpec.shared_examples "manage attachments examples" do
84
84
  within ".edit_participatory_process_attachment" do
85
85
  fill_in_i18n(
86
86
  :attachment_title,
87
- "#title-tabs",
87
+ "#attachment-title-tabs",
88
88
  en: "This is a nice photo",
89
89
  es: "Una foto muy guay",
90
90
  ca: "Aquesta foto és ben xula"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decidim-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josep Jaume Rey Peroy
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-06-02 00:00:00.000000000 Z
13
+ date: 2017-06-16 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: decidim-core
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.2.0
21
+ version: 0.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 0.2.0
28
+ version: 0.3.0
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: rails
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - "~>"
34
34
  - !ruby/object:Gem::Version
35
- version: 5.0.2
35
+ version: 5.1.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - "~>"
41
41
  - !ruby/object:Gem::Version
42
- version: 5.0.2
42
+ version: 5.1.1
43
43
  - !ruby/object:Gem::Dependency
44
44
  name: devise
45
45
  requirement: !ruby/object:Gem::Requirement
@@ -158,14 +158,14 @@ dependencies:
158
158
  requirements:
159
159
  - - '='
160
160
  - !ruby/object:Gem::Version
161
- version: 0.2.0
161
+ version: 0.3.0
162
162
  type: :development
163
163
  prerelease: false
164
164
  version_requirements: !ruby/object:Gem::Requirement
165
165
  requirements:
166
166
  - - '='
167
167
  - !ruby/object:Gem::Version
168
- version: 0.2.0
168
+ version: 0.3.0
169
169
  description: Organization administration to manage a single organization.
170
170
  email:
171
171
  - josepjaume@gmail.com
@@ -179,7 +179,7 @@ files:
179
179
  - Rakefile
180
180
  - app/assets/config/decidim_admin_manifest.js
181
181
  - app/assets/javascripts/decidim/admin/application.js.es6
182
- - app/assets/javascripts/decidim/admin/sort_steps.js.es6
182
+ - app/assets/javascripts/decidim/admin/sort_list.component.js.es6
183
183
  - app/assets/javascripts/decidim/admin/tab_focus.js.es6
184
184
  - app/assets/javascripts/decidim/admin/toggle_nav.js.es6
185
185
  - app/assets/stylesheets/decidim/admin/_decidim.scss
@@ -191,8 +191,10 @@ files:
191
191
  - app/assets/stylesheets/decidim/admin/extra/_dropdown_inverted.scss
192
192
  - app/assets/stylesheets/decidim/admin/extra/_editor.scss
193
193
  - app/assets/stylesheets/decidim/admin/extra/_email_preview.scss
194
+ - app/assets/stylesheets/decidim/admin/extra/_language-chooser.scss
194
195
  - app/assets/stylesheets/decidim/admin/extra/_login.scss
195
196
  - app/assets/stylesheets/decidim/admin/extra/_select_multiple.scss
197
+ - app/assets/stylesheets/decidim/admin/extra/_sort.scss
196
198
  - app/assets/stylesheets/decidim/admin/extra/_title_bar.scss
197
199
  - app/assets/stylesheets/decidim/admin/modules/_action-icon.scss
198
200
  - app/assets/stylesheets/decidim/admin/modules/_buttons.scss
@@ -427,6 +429,7 @@ files:
427
429
  - config/locales/eu.yml
428
430
  - config/locales/fi.yml
429
431
  - config/locales/fr.yml
432
+ - config/locales/it.yml
430
433
  - config/locales/nl.yml
431
434
  - config/routes.rb
432
435
  - db/migrate/20161102144648_add_admin_participatory_process_user_roles.rb
@@ -1,30 +0,0 @@
1
- /* eslint-disable camelcase */
2
- /* global sortable */
3
-
4
- // Needs a `tbody` element inside a `#steps` section. The `tbody` element
5
- // should have a `data-sort-url` attribute with the URL where the data should
6
- // be posted to.
7
- const sortSteps = () => {
8
- const $sortableElement = $('#steps tbody');
9
-
10
- if ($sortableElement.length > 0) {
11
- const sortUrl = $sortableElement.data('sort-url');
12
-
13
- sortable('#steps tbody', {
14
- placeholder: $('<tr style="border-style: dashed; border-color: #000"><td colspan="4">&nbsp;</td></tr>')[0]
15
- })[0].addEventListener('sortupdate', (event) => {
16
- const order = $(event.target).children().
17
- map((index, child) => $(child).data('id')).
18
- toArray();
19
-
20
- $.ajax({
21
- method: 'POST',
22
- url: sortUrl,
23
- contentType: 'application/json',
24
- data: JSON.stringify({ items_ids: order }) },
25
- );
26
- });
27
- }
28
- };
29
-
30
- window.sortSteps = sortSteps;