decidim 0.0.1.alpha7 → 0.0.1.alpha8

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

Potentially problematic release.


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

Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +2 -1
  3. data/.eslintignore +1 -0
  4. data/.eslintrc.json +12 -0
  5. data/.github/ISSUE_TEMPLATE.md +12 -0
  6. data/.github/PULL_REQUEST_TEMPLATE.md +8 -11
  7. data/.gitignore +1 -0
  8. data/.hound.yml +4 -0
  9. data/.rubocop.yml +14 -1
  10. data/.travis.yml +20 -4
  11. data/CODE_OF_CONDUCT.md +1 -1
  12. data/Dockerfile +1 -0
  13. data/Gemfile +3 -2
  14. data/Gemfile.common +1 -1
  15. data/Gemfile.lock +68 -39
  16. data/LICENSE.txt +619 -21
  17. data/README.md +17 -13
  18. data/Rakefile +1 -1
  19. data/codecov.yml +6 -1
  20. data/crowdin.yaml +4 -0
  21. data/decidim-admin/LICENSE.txt +619 -0
  22. data/decidim-admin/README.md +1 -1
  23. data/decidim-admin/app/assets/javascripts/decidim/admin/application.js.es6 +12 -0
  24. data/decidim-admin/app/assets/javascripts/decidim/admin/sort_steps.js.es6 +21 -0
  25. data/decidim-admin/app/assets/stylesheets/decidim/admin/_tables.scss +9 -0
  26. data/decidim-admin/app/commands/decidim/admin/activate_participatory_process_step.rb +43 -0
  27. data/decidim-admin/app/commands/decidim/admin/create_participatory_process.rb +1 -0
  28. data/decidim-admin/app/commands/decidim/admin/create_participatory_process_step.rb +46 -0
  29. data/decidim-admin/app/commands/decidim/admin/deactivate_participatory_process_step.rb +35 -0
  30. data/decidim-admin/app/commands/decidim/admin/publish_participatory_process.rb +35 -0
  31. data/decidim-admin/app/commands/decidim/admin/reorder_participatory_process_steps.rb +47 -0
  32. data/decidim-admin/app/commands/decidim/admin/unpublish_participatory_process.rb +35 -0
  33. data/decidim-admin/app/commands/decidim/admin/update_participatory_process.rb +1 -0
  34. data/decidim-admin/app/commands/decidim/admin/update_participatory_process_step.rb +49 -0
  35. data/decidim-admin/app/constraints/decidim/admin/organization_dashboard_constraint.rb +1 -1
  36. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +4 -0
  37. data/decidim-admin/app/controllers/decidim/admin/dashboard_controller.rb +1 -9
  38. data/decidim-admin/app/controllers/decidim/admin/participatory_process_publications_controller.rb +49 -0
  39. data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_activations_controller.rb +56 -0
  40. data/decidim-admin/app/controllers/decidim/admin/participatory_process_step_ordering_controller.rb +30 -0
  41. data/decidim-admin/app/controllers/decidim/admin/participatory_process_steps_controller.rb +81 -0
  42. data/decidim-admin/app/controllers/decidim/admin/participatory_processes_controller.rb +7 -12
  43. data/decidim-admin/app/forms/decidim/admin/participatory_process_form.rb +1 -0
  44. data/decidim-admin/app/forms/decidim/admin/participatory_process_step_form.rb +25 -0
  45. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +1 -0
  46. data/decidim-admin/app/mailers/decidim/admin/application_mailer.rb +1 -1
  47. data/decidim-admin/app/models/decidim/admin/abilities/admin.rb +21 -0
  48. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/_form.html.erb +19 -0
  49. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/_table.html.erb +53 -0
  50. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/edit.html.erb +11 -0
  51. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/new.html.erb +11 -0
  52. data/decidim-admin/app/views/decidim/admin/participatory_process_steps/show.html.erb +22 -0
  53. data/decidim-admin/app/views/decidim/admin/participatory_processes/_form.html.erb +4 -0
  54. data/decidim-admin/app/views/decidim/admin/participatory_processes/index.html.erb +22 -2
  55. data/decidim-admin/app/views/decidim/admin/participatory_processes/show.html.erb +21 -2
  56. data/decidim-admin/config/i18n-tasks.yml +2 -2
  57. data/decidim-admin/config/locales/ca.yml +55 -2
  58. data/decidim-admin/config/locales/en.yml +55 -2
  59. data/decidim-admin/config/locales/es.yml +56 -3
  60. data/decidim-admin/config/routes.rb +10 -1
  61. data/decidim-admin/decidim-admin.gemspec +6 -7
  62. data/decidim-admin/lib/decidim/admin/engine.rb +6 -1
  63. data/decidim-admin/spec/commands/activate_participatory_process_step_spec.rb +44 -0
  64. data/decidim-admin/spec/commands/deactivate_participatory_process_step_spec.rb +35 -0
  65. data/decidim-admin/spec/commands/publish_participatory_process_spec.rb +35 -0
  66. data/decidim-admin/spec/commands/reorder_participatory_process_steps_spec.rb +53 -0
  67. data/decidim-admin/spec/commands/unpublish_participatory_process_spec.rb +35 -0
  68. data/decidim-admin/spec/controllers/participatory_processes_controller_spec.rb +32 -0
  69. data/decidim-admin/spec/features/manage_participatory_process_steps_spec.rb +151 -0
  70. data/decidim-admin/spec/features/manage_participatory_processes_spec.rb +87 -39
  71. data/decidim-admin/spec/forms/participatory_process_form_spec.rb +122 -0
  72. data/decidim-admin/spec/forms/participatory_process_step_form_spec.rb +113 -0
  73. data/decidim-admin/spec/models/abilities/admin_spec.rb +25 -0
  74. data/decidim-admin/spec/spec_helper.rb +0 -1
  75. data/decidim-admin/vendor/assets/javascripts/html.sortable.min.js +2 -0
  76. data/decidim-api/.gitignore +7 -0
  77. data/decidim-api/LICENSE.txt +619 -0
  78. data/decidim-api/README.md +28 -0
  79. data/decidim-api/Rakefile +27 -0
  80. data/decidim-api/app/controllers/decidim/api/application_controller.rb +9 -0
  81. data/decidim-api/app/controllers/decidim/api/queries_controller.rb +33 -0
  82. data/decidim-api/app/schemas/decidim/api/schema.rb +9 -0
  83. data/decidim-api/app/types/decidim/api/localized_string_type.rb +13 -0
  84. data/decidim-api/app/types/decidim/api/process_step_type.rb +26 -0
  85. data/decidim-api/app/types/decidim/api/process_type.rb +18 -0
  86. data/decidim-api/app/types/decidim/api/query_type.rb +19 -0
  87. data/decidim-api/app/types/decidim/api/translated_field_type.rb +44 -0
  88. data/decidim-api/bin/rails +14 -0
  89. data/decidim-api/config/routes.rb +6 -0
  90. data/decidim-api/decidim-api.gemspec +27 -0
  91. data/decidim-api/lib/decidim/api.rb +9 -0
  92. data/decidim-api/lib/decidim/api/engine.rb +22 -0
  93. data/decidim-api/lib/tasks/decidim/api_tasks.rake +5 -0
  94. data/decidim-api/spec/controllers/queries_controller_spec.rb +22 -0
  95. data/decidim-api/spec/factories.rb +1 -0
  96. data/decidim-api/spec/schemas/schema_spec.rb +38 -0
  97. data/decidim-api/spec/spec_helper.rb +2 -0
  98. data/decidim-api/spec/support/type_helpers.rb +46 -0
  99. data/decidim-api/spec/types/localized_string_type_spec.rb +30 -0
  100. data/decidim-api/spec/types/process_step_type_spec.rb +50 -0
  101. data/decidim-api/spec/types/process_type_spec.rb +39 -0
  102. data/decidim-api/spec/types/query_type_spec.rb +24 -0
  103. data/decidim-api/spec/types/translated_field_type_spec.rb +68 -0
  104. data/decidim-dev/README.md +1 -1
  105. data/decidim-dev/decidim-dev.gemspec +5 -3
  106. data/decidim-dev/lib/decidim/dummy_authorization_handler.rb +18 -0
  107. data/decidim-dev/lib/decidim/test/authorization_shared_examples.rb +31 -0
  108. data/decidim-dev/lib/decidim/test/base_spec_helper.rb +6 -1
  109. data/decidim-dev/lib/decidim/test/rspec_support/authenticated_controller_context.rb +9 -0
  110. data/decidim-dev/lib/decidim/test/rspec_support/authorization_handlers.rb +7 -0
  111. data/decidim-dev/lib/decidim/test/rspec_support/bullet.rb +15 -0
  112. data/decidim-dev/lib/decidim/test/rspec_support/engine_routes.rb +30 -0
  113. data/decidim-dev/lib/decidim/test/rspec_support/translation_helpers.rb +12 -0
  114. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +10 -0
  115. data/decidim-dev/lib/generators/decidim/templates/bullet.rb +6 -0
  116. data/decidim-system/LICENSE.txt +619 -0
  117. data/decidim-system/README.md +1 -1
  118. data/decidim-system/app/assets/javascripts/decidim/system/application.js.es6 +10 -0
  119. data/decidim-system/app/mailers/decidim/system/application_mailer.rb +1 -1
  120. data/decidim-system/decidim-system.gemspec +4 -4
  121. data/decidim.gemspec +3 -2
  122. data/lib/decidim.rb +1 -6
  123. data/lib/generators/decidim/app_generator.rb +13 -1
  124. data/lib/generators/decidim/install_generator.rb +11 -2
  125. data/lib/generators/decidim/templates/Gemfile.erb +5 -2
  126. data/lib/generators/decidim/templates/authorization_handler.rb +50 -0
  127. data/lib/generators/decidim/templates/carrierwave.rb +27 -0
  128. data/lib/generators/decidim/templates/decidim.scss.erb +3 -0
  129. data/lib/generators/decidim/templates/initializer.rb +3 -1
  130. data/package.json +21 -0
  131. data/yarn.lock +890 -0
  132. metadata +102 -21
  133. data/.eslintrc +0 -213
  134. data/decidim-admin/app/assets/javascripts/decidim/admin/application.js +0 -22
  135. data/decidim-admin/app/controllers/concerns/decidim/needs_authorization.rb +0 -50
  136. data/decidim-admin/app/policies/decidim/admin/application_policy.rb +0 -20
  137. data/decidim-admin/app/policies/decidim/admin/dashboard_policy.rb +0 -15
  138. data/decidim-admin/app/policies/decidim/admin/organization_policy.rb +0 -15
  139. data/decidim-admin/app/policies/decidim/admin/participatory_process_policy.rb +0 -57
  140. data/decidim-admin/spec/policies/dashboard_policy_spec.rb +0 -23
  141. data/decidim-admin/spec/policies/organization_policy_spec.rb +0 -41
  142. data/decidim-admin/spec/policies/participatory_process_policy_spec.rb +0 -153
  143. data/decidim-system/app/assets/javascripts/decidim/system/application.js +0 -22
@@ -10,6 +10,8 @@
10
10
  <thead>
11
11
  <tr>
12
12
  <th><%= t("models.participatory_process.fields.title", scope: "decidim.admin") %></th>
13
+ <th><%= t("models.participatory_process.fields.promoted", scope: "decidim.admin") %></th>
14
+ <th><%= t("models.participatory_process.fields.published", scope: "decidim.admin") %></th>
13
15
  <th><%= t("models.participatory_process.fields.created_at", scope: "decidim.admin") %></th>
14
16
  <th class="actions"><%= t("actions.title", scope: "decidim.admin") %></th>
15
17
  </tr>
@@ -20,13 +22,31 @@
20
22
  <td>
21
23
  <%= link_to translated_attribute(process.title), process %><br />
22
24
  </td>
25
+ <td>
26
+ <%= humanize_boolean process.promoted? %>
27
+ </td>
28
+ <td>
29
+ <%= humanize_boolean process.published? %>
30
+ </td>
23
31
  <td>
24
32
  <%= l process.created_at, format: :short %>
25
33
  </td>
26
34
  <td class="actions">
27
- <%= link_to_if policy(process).edit?, t("actions.edit", scope: "decidim.admin"), ['edit', process] %>
35
+ <% if can? :update, process %>
36
+ <%= link_to t("actions.edit", scope: "decidim.admin"), ['edit', process] %>
37
+ <% end %>
38
+
39
+ <% if can? :publish, process %>
40
+ <% if process.published? %>
41
+ <%= link_to t("actions.unpublish", scope: "decidim.admin"), participatory_process_publish_path(process), method: :delete, class: "small button secondary" %>
42
+ <% else %>
43
+ <%= link_to t("actions.publish", scope: "decidim.admin"), participatory_process_publish_path(process), method: :post, class: "small button secondary" %>
44
+ <% end %>
45
+ <% end %>
28
46
 
29
- <%= link_to_if policy(process).destroy?, t("actions.destroy", scope: "decidim.admin"), process, method: :delete, class: "small alert button", data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } %>
47
+ <% if can? :destroy, process %>
48
+ <%= link_to t("actions.destroy", scope: "decidim.admin"), process, method: :delete, class: "small alert button", data: { confirm: t("actions.confirm_destroy", scope: "decidim.admin") } %>
49
+ <% end %>
30
50
  </td>
31
51
  </tr>
32
52
  <% end %>
@@ -5,8 +5,21 @@
5
5
 
6
6
  <div class="actions">
7
7
  <hr />
8
- <%= link_to_if policy(@participatory_process).edit?, t("decidim.admin.actions.edit"), ['edit', @participatory_process] %>
9
- <%= link_to_if policy(@participatory_process).destroy?, t("decidim.admin.actions.destroy"), @participatory_process, method: :delete, class: "alert button", data: { confirm: t("decidim.admin.actions.confirm_destroy") } %>
8
+ <% if can? :update, @participatory_process %>
9
+ <%= link_to t("decidim.admin.actions.edit"), ['edit', @participatory_process] %>
10
+ <% end %>
11
+
12
+ <% if can? :publish, @participatory_process %>
13
+ <% if @participatory_process.published? %>
14
+ <%= link_to t("actions.unpublish", scope: "decidim.admin"), participatory_process_publish_path(@participatory_process), method: :delete, class: "small button secondary" %>
15
+ <% else %>
16
+ <%= link_to t("actions.publish", scope: "decidim.admin"), participatory_process_publish_path(@participatory_process), method: :post, class: "small button secondary" %>
17
+ <% end %>
18
+ <% end %>
19
+
20
+ <% if can? :destroy, @participatory_process %>
21
+ <%= link_to t("decidim.admin.actions.destroy"), @participatory_process, method: :delete, class: "alert button", data: { confirm: t("decidim.admin.actions.confirm_destroy") } %>
22
+ <% end %>
10
23
  </div>
11
24
 
12
25
  <dl>
@@ -22,4 +35,10 @@
22
35
  <dd><%= image_tag @participatory_process.hero_image.url.to_s %></dd>
23
36
  <dt><%= display_label(@participatory_process, :banner_image) %></dt>
24
37
  <dd><%= image_tag @participatory_process.banner_image.url.to_s %></dd>
38
+ <dt><%= display_label(@participatory_process, :promoted) %></dt>
39
+ <dd><%= humanize_boolean @participatory_process.promoted? %></dd>
25
40
  </dl>
41
+
42
+ <% if can? :read, Decidim::ParticipatoryProcessStep %>
43
+ <%= render partial: "decidim/admin/participatory_process_steps/table" %>
44
+ <% end %>
@@ -88,8 +88,8 @@ search:
88
88
  # - '{devise,simple_form}.*'
89
89
 
90
90
  ## Consider these keys used:
91
- # ignore_unused:
92
- # - 'activerecord.attributes.*'
91
+ ignore_unused:
92
+ - activerecord.attributes.decidim/participatory_process.*
93
93
  # - '{devise,kaminari,will_paginate}.*'
94
94
  # - 'simple_form.{yes,no}'
95
95
  # - 'simple_form.{placeholders,hints,labels}.*'
@@ -1,14 +1,27 @@
1
1
  ---
2
2
  ca:
3
+ activerecord:
4
+ attributes:
5
+ decidim/participatory_process:
6
+ promoted: Destacat
3
7
  decidim:
4
8
  admin:
5
9
  actions:
10
+ activate: Activar
6
11
  confirm_destroy: Segur que ho vols eliminar?
12
+ deactivate: Desactivar
7
13
  destroy: Eliminar
8
14
  edit: Editar
9
15
  new: Nou %{name}
16
+ publish: Publicar
10
17
  title: Accions
11
- unauthorized: No tens permís per realitzar aquesta acció.
18
+ unpublish: Despublicar
19
+ decidim:
20
+ admin:
21
+ participatory_process_steps:
22
+ table:
23
+ steps_hint: Pots arrossegar les files de la taula per reordenar les fases del procés.
24
+ steps_title: Fases
12
25
  menu:
13
26
  dashboard: Tauler de control
14
27
  participatory_processes: Processos participatius
@@ -16,14 +29,54 @@ ca:
16
29
  participatory_process:
17
30
  fields:
18
31
  created_at: Data de creació
32
+ promoted: Destacat
33
+ published: Publicat
19
34
  title: Títol
20
35
  name: Procés participatiu
21
36
  validations:
22
37
  slug_uniqueness: Ja existeix un altre procés participatiu amb el mateix identificador
38
+ participatory_process_step:
39
+ fields:
40
+ active: Active
41
+ end_date: Data de finalització
42
+ start_date: Data d'inici
43
+ title: Títol
44
+ name: Name
45
+ participatory_process_publications:
46
+ create:
47
+ error: S'ha produït un error en publicar aquest procés participatiu.
48
+ success: El procés participatiu s'ha publicat correctament.
49
+ destroy:
50
+ error: S'ha produït un error en despublicar aquest procés participatiu.
51
+ success: El procés participatiu s'ha despublicat correctament.
52
+ participatory_process_step_activations:
53
+ create:
54
+ error: S'ha produït un error en activar aquesta fase de procés participatiu.
55
+ success: La fase de procés participatiu s'ha activat correctament.
56
+ destroy:
57
+ error: S'ha produït un error en desactivar aquesta fase de procés participatiu.
58
+ success: La fase de procés participatiu s'ha desactivat correctament.
59
+ participatory_process_steps:
60
+ create:
61
+ error: S'ha produït un error en crear una nova fase de procés participatiu.
62
+ success: La fase de procés participatiu s'ha creat correctament.
63
+ destroy:
64
+ success: La fase de procés participatiu s'ha eliminat correctament.
65
+ edit:
66
+ title: Editar fase de procés participatiu
67
+ update: Actualitzar fase de procés participatiu
68
+ new:
69
+ create: Crear fase de procés participatiu
70
+ title: Nova fase de procés participatiu
71
+ ordering:
72
+ error: S'ha produït un error en la reordenació de les fases d'aquest procés participatiu.
73
+ update:
74
+ error: S'ha produït un error en l'actualització d'aquesta fase de procés participatiu.
75
+ success: La fase de procés participatiu s'ha actualitzat correctament.
23
76
  participatory_processes:
24
77
  create:
25
78
  error: S'ha produït un error en crear un nou procés participatiu.
26
- success: El procés participatiu s'ha creat correctament.
79
+ success: El procés participatiu s'ha creat correctament. Continua ara amb la configuració de les fases.
27
80
  destroy:
28
81
  success: El procés participatiu s'ha eliminat correctament.
29
82
  edit:
@@ -1,14 +1,27 @@
1
1
  ---
2
2
  en:
3
+ activerecord:
4
+ attributes:
5
+ decidim/participatory_process:
6
+ promoted: Highlighted
3
7
  decidim:
4
8
  admin:
5
9
  actions:
10
+ activate: Activate
6
11
  confirm_destroy: Are you sure you want to delete this?
12
+ deactivate: Deactivate
7
13
  destroy: Destroy
8
14
  edit: Edit
9
15
  new: New %{name}
16
+ publish: Publish
10
17
  title: Actions
11
- unauthorized: You are not authorized to perform this action
18
+ unpublish: Unpublish
19
+ decidim:
20
+ admin:
21
+ participatory_process_steps:
22
+ table:
23
+ steps_hint: You can drag the rows of the table in order to reorder the process steps.
24
+ steps_title: Steps
12
25
  menu:
13
26
  dashboard: Dashboard
14
27
  participatory_processes: Participatory processes
@@ -16,14 +29,54 @@ en:
16
29
  participatory_process:
17
30
  fields:
18
31
  created_at: Created at
32
+ promoted: Highlighted
33
+ published: Published
19
34
  title: Title
20
35
  name: Participatory process
21
36
  validations:
22
37
  slug_uniqueness: Another participatory process with the same slug already exists
38
+ participatory_process_step:
39
+ fields:
40
+ active: Active
41
+ end_date: End date
42
+ start_date: Start date
43
+ title: Title
44
+ name: Participatory process step
45
+ participatory_process_publications:
46
+ create:
47
+ error: There was an error publishing this participatory process.
48
+ success: Participatory process published successfully
49
+ destroy:
50
+ error: There was an error unpublishing this participatory process.
51
+ success: Participatory process unpublished successfully
52
+ participatory_process_step_activations:
53
+ create:
54
+ error: There was an error activating this participatory process step.
55
+ success: Participatory process step activated successfully
56
+ destroy:
57
+ error: There was an error deactivating this participatory process step.
58
+ success: Participatory process step deactivated successfully
59
+ participatory_process_steps:
60
+ create:
61
+ error: There was an error creating a new participatory process step.
62
+ success: Participatory process step created successfully
63
+ destroy:
64
+ success: Participatory process step successfully destroyed
65
+ edit:
66
+ title: Edit participatory process step
67
+ update: Update participatory process step
68
+ new:
69
+ create: Create participatory process step
70
+ title: New participatory process step
71
+ ordering:
72
+ error: There was an error when reordering this participatory process steps.
73
+ update:
74
+ error: There was an error when updating this participatory process step.
75
+ success: Participatory process step updated successfully
23
76
  participatory_processes:
24
77
  create:
25
78
  error: There was an error creating a new participatory process.
26
- success: Participatory process created successfully
79
+ success: Participatory process created successfully. Configure now its steps.
27
80
  destroy:
28
81
  success: Participatory process successfully destroyed
29
82
  edit:
@@ -1,14 +1,27 @@
1
1
  ---
2
2
  es:
3
+ activerecord:
4
+ attributes:
5
+ decidim/participatory_process:
6
+ promoted: Destacado
3
7
  decidim:
4
8
  admin:
5
9
  actions:
6
- confirm_destroy: ¿Seguro que lo quieres eliminar?
10
+ activate: Activar
11
+ confirm_destroy: "¿Seguro que lo quieres eliminar?"
12
+ deactivate: Desactivar
7
13
  destroy: Eliminar
8
14
  edit: Editar
9
15
  new: Nuevo %{name}
16
+ publish: Publicar
10
17
  title: Acciones
11
- unauthorized: No tienes permiso para realizar esta acción.
18
+ unpublish: Despublicar
19
+ decidim:
20
+ admin:
21
+ participatory_process_steps:
22
+ table:
23
+ steps_hint: Puedes arrastrar las filas de la tabla para reordenar las fases del proceso.
24
+ steps_title: Fases
12
25
  menu:
13
26
  dashboard: Panel de control
14
27
  participatory_processes: Procesos participativos
@@ -16,14 +29,54 @@ es:
16
29
  participatory_process:
17
30
  fields:
18
31
  created_at: Fecha de creación
32
+ promoted: Destacado
33
+ published: Publicado
19
34
  title: Título
20
35
  name: Proceso participativo
21
36
  validations:
22
37
  slug_uniqueness: Ya existe otro proceso participativo con el mismo identificador
38
+ participatory_process_step:
39
+ fields:
40
+ active: Activo
41
+ end_date: Fecha de finalización
42
+ start_date: Fecha de inicio
43
+ title: Título
44
+ name: Fase de proceso participativo
45
+ participatory_process_publications:
46
+ create:
47
+ error: Se ha producido un error al publicar este proceso participativo.
48
+ success: El proceso participativo se ha publicado correctamente.
49
+ destroy:
50
+ error: Se ha producido un error al despublicar este proceso participativo.
51
+ success: El proceso participativo se ha despublicado correctamente.
52
+ participatory_process_step_activations:
53
+ create:
54
+ error: Se ha producido un error al activar esta fase de proceso participativo.
55
+ success: La fase de proceso participativo se ha activado correctamente.
56
+ destroy:
57
+ error: Se ha producido un error al desactivar esta fase de proceso participativo.
58
+ success: La fase de proceso participativo se ha desactivado correctamente.
59
+ participatory_process_steps:
60
+ create:
61
+ error: Se ha producido un error al crear una nueva fase de proceso participativo.
62
+ success: La fase de proceso participativo se ha creado correctamente.
63
+ destroy:
64
+ success: La fase de proceso participativo se ha eliminado correctamente.
65
+ edit:
66
+ title: Editar fase de proceso participativo
67
+ update: Actualizar fase de proceso participativo
68
+ new:
69
+ create: Crear fase de proceso participativo
70
+ title: Nuevo fase de proceso participativo
71
+ ordering:
72
+ error: Se ha producido un error en la reordenación de las fases de este proceso participativo.
73
+ update:
74
+ error: Se ha producido un error en la actualización de esta fase de proceso participativo.
75
+ success: La fase de proceso participativo se ha actualizado correctamente.
23
76
  participatory_processes:
24
77
  create:
25
78
  error: Se ha producido un error al crear un nuevo proceso participativo.
26
- success: El proceso participativo se ha creado correctamente.
79
+ success: El proceso participativo se ha creado correctamente. Sigue ahora con la configuración de las fases.
27
80
  destroy:
28
81
  success: El proceso participativo se ha eliminado correctamente.
29
82
  edit:
@@ -1,7 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
  Decidim::Admin::Engine.routes.draw do
3
3
  constraints(->(request) { Decidim::Admin::OrganizationDashboardConstraint.new(request).matches? }) do
4
- resources :participatory_processes
4
+ resources :participatory_processes do
5
+ resource :publish, controller: "participatory_process_publications", only: [:create, :destroy]
6
+
7
+ resources :steps, controller: "participatory_process_steps", except: :index do
8
+ resource :activate, controller: "participatory_process_step_activations", only: [:create, :destroy]
9
+ collection do
10
+ post :ordering, to: "participatory_process_step_ordering#create"
11
+ end
12
+ end
13
+ end
5
14
  root to: "dashboard#show"
6
15
  end
7
16
  end
@@ -13,26 +13,25 @@ Gem::Specification.new do |s|
13
13
  s.homepage = ""
14
14
  s.summary = "Organization administration"
15
15
  s.description = "Organization administration to manage a single organization."
16
- s.license = "MIT"
16
+ s.license = "AGPLv3"
17
17
 
18
- s.files = Dir["{app,config,db,lib,vendor}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
18
+ s.files = Dir["{app,config,db,lib,vendor}/**/*", "LICENSE.txt", "Rakefile", "README.md"]
19
19
 
20
20
  s.add_dependency "decidim-core", Decidim.version
21
21
  s.add_dependency "rails", Decidim.rails_version
22
22
  s.add_dependency "devise", "~> 4.2"
23
23
  s.add_dependency "devise-i18n", "~> 1.1.0"
24
- s.add_dependency "rectify", "~> 0.6"
24
+ s.add_dependency "rectify", "~> 0.7.1"
25
25
  s.add_dependency "devise_invitable", "~> 1.7.0"
26
- s.add_dependency "foundation-rails", "~> 6.2.3.0"
26
+ s.add_dependency "foundation-rails", "~> 6.2.4.0"
27
27
  s.add_dependency "sass-rails", "~> 5.0.0"
28
28
  s.add_dependency "jquery-rails", "~> 4.0"
29
29
  s.add_dependency "turbolinks", Decidim.rails_version
30
30
  s.add_dependency "jbuilder", "~> 2.5"
31
31
  s.add_dependency "foundation_rails_helper", "~> 2.0.0"
32
32
  s.add_dependency "active_link_to", "~> 1.0.0"
33
- s.add_dependency "pundit", "~> 1.1.0"
34
- s.add_dependency "carrierwave", "~> 1.0.0.beta"
33
+ s.add_dependency "carrierwave", "~> 1.0.0.rc"
34
+ s.add_dependency "cancancan", "~> 1.15.0"
35
35
 
36
36
  s.add_development_dependency "decidim-dev", Decidim.version
37
- s.add_development_dependency "pundit-matchers", "~> 1.1.0"
38
37
  end
@@ -12,7 +12,6 @@ require "foundation-rails"
12
12
  require "foundation_rails_helper"
13
13
  require "jbuilder"
14
14
  require "rectify"
15
- require "pundit"
16
15
 
17
16
  module Decidim
18
17
  module Admin
@@ -23,6 +22,12 @@ module Decidim
23
22
  initializer "decidim_admin.assets" do |app|
24
23
  app.config.assets.precompile += %w(decidim_admin_manifest.js)
25
24
  end
25
+
26
+ initializer "decidim_admin.inject_abilities_to_user" do |_app|
27
+ Decidim.configure do |config|
28
+ config.abilities += [Decidim::Admin::Abilities::Admin]
29
+ end
30
+ end
26
31
  end
27
32
  end
28
33
  end
@@ -0,0 +1,44 @@
1
+ require "spec_helper"
2
+
3
+ describe Decidim::Admin::ActivateParticipatoryProcessStep do
4
+ let(:process_step) { create :participatory_process_step }
5
+
6
+ subject { described_class.new(process_step) }
7
+
8
+ context "when the step is nil" do
9
+ let(:process_step) { nil }
10
+
11
+ it "is not valid" do
12
+ expect { subject.call }.to broadcast(:invalid)
13
+ end
14
+ end
15
+
16
+ context "when the step is active" do
17
+ let(:process_step) { create :participatory_process_step, :active }
18
+
19
+ it "is not valid" do
20
+ expect { subject.call }.to broadcast(:invalid)
21
+ end
22
+ end
23
+
24
+ context "when the step is not active" do
25
+ let!(:active_step) do
26
+ create :participatory_process_step, :active, participatory_process: process_step.participatory_process
27
+ end
28
+
29
+ it "is valid" do
30
+ expect { subject.call }.to broadcast(:ok)
31
+ end
32
+
33
+ it "activates it" do
34
+ subject.call
35
+ expect(process_step).to be_active
36
+ end
37
+
38
+ it "deactivates the process active steps" do
39
+ subject.call
40
+ active_step.reload
41
+ expect(active_step).not_to be_active
42
+ end
43
+ end
44
+ end