decidim-decidim_awesome 0.8.2 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +63 -0
  3. data/README.md +54 -45
  4. data/Rakefile +1 -1
  5. data/app/commands/decidim/decidim_awesome/admin/create_constraint.rb +1 -1
  6. data/app/commands/decidim/decidim_awesome/admin/create_custom_redirect.rb +1 -1
  7. data/app/commands/decidim/decidim_awesome/admin/create_menu_hack.rb +1 -1
  8. data/app/commands/decidim/decidim_awesome/admin/create_proposal_custom_field.rb +1 -1
  9. data/app/commands/decidim/decidim_awesome/admin/create_scoped_admin.rb +1 -1
  10. data/app/commands/decidim/decidim_awesome/admin/create_scoped_style.rb +1 -1
  11. data/app/commands/decidim/decidim_awesome/admin/destroy_constraint.rb +1 -1
  12. data/app/commands/decidim/decidim_awesome/admin/destroy_custom_redirect.rb +1 -1
  13. data/app/commands/decidim/decidim_awesome/admin/destroy_menu_hack.rb +1 -1
  14. data/app/commands/decidim/decidim_awesome/admin/destroy_proposal_custom_field.rb +1 -1
  15. data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_admin.rb +1 -1
  16. data/app/commands/decidim/decidim_awesome/admin/destroy_scoped_style.rb +1 -1
  17. data/app/commands/decidim/decidim_awesome/admin/rename_scope_label.rb +1 -1
  18. data/app/commands/decidim/decidim_awesome/admin/update_config.rb +2 -3
  19. data/app/commands/decidim/decidim_awesome/admin/update_constraint.rb +2 -2
  20. data/app/commands/decidim/decidim_awesome/admin/update_custom_redirect.rb +1 -1
  21. data/app/commands/decidim/decidim_awesome/admin/update_menu_hack.rb +1 -1
  22. data/app/commands/decidim/decidim_awesome/command.rb +14 -0
  23. data/app/commands/decidim/decidim_awesome/create_editor_image.rb +1 -1
  24. data/app/controllers/concerns/decidim/decidim_awesome/admin_accountability/admin/filterable.rb +67 -0
  25. data/app/controllers/concerns/decidim/decidim_awesome/admin_accountability/admin/filterable_helper.rb +37 -0
  26. data/app/controllers/decidim/decidim_awesome/admin/admin_accountability_controller.rb +51 -0
  27. data/app/controllers/decidim/decidim_awesome/admin/checks_controller.rb +6 -3
  28. data/app/controllers/decidim/decidim_awesome/admin/config_controller.rb +2 -0
  29. data/app/controllers/decidim/decidim_awesome/admin/custom_redirects_controller.rb +2 -0
  30. data/app/controllers/decidim/decidim_awesome/admin/menu_hacks_controller.rb +2 -0
  31. data/app/controllers/decidim/decidim_awesome/editor_images_controller.rb +0 -2
  32. data/app/forms/decidim/decidim_awesome/admin/config_form.rb +14 -0
  33. data/app/forms/decidim/decidim_awesome/admin/menu_form.rb +1 -1
  34. data/app/forms/decidim/decidim_awesome/proposals/proposal_wizard_create_step_form_override.rb +26 -8
  35. data/app/helpers/decidim/decidim_awesome/admin/config_constraints_helpers.rb +12 -8
  36. data/app/helpers/decidim/decidim_awesome/map_helper.rb +14 -11
  37. data/app/jobs/decidim/decidim_awesome/export_admin_actions_job.rb +28 -0
  38. data/app/middleware/decidim/decidim_awesome/current_config.rb +4 -0
  39. data/app/models/decidim/decidim_awesome/awesome_config.rb +0 -1
  40. data/app/models/decidim/decidim_awesome/config_constraint.rb +0 -2
  41. data/app/models/decidim/decidim_awesome/editor_image.rb +0 -3
  42. data/app/models/decidim/decidim_awesome/paper_trail_version.rb +99 -0
  43. data/app/packs/entrypoints/decidim_admin_decidim_awesome.js +3 -2
  44. data/app/packs/images/decidim/decidim_awesome/pokecode-logo.png +0 -0
  45. data/app/packs/src/decidim/decidim_awesome/admin/auto_edit.js +7 -7
  46. data/app/packs/src/decidim/decidim_awesome/admin/check_redirections.js +2 -2
  47. data/app/packs/src/decidim/decidim_awesome/admin/constraints.js +5 -5
  48. data/app/packs/src/decidim/decidim_awesome/admin/custom_fields_builder.js +11 -10
  49. data/app/packs/src/decidim/decidim_awesome/admin/form_exit_warn.js +1 -0
  50. data/app/packs/src/decidim/decidim_awesome/admin/user_picker.js +1 -0
  51. data/app/packs/src/decidim/decidim_awesome/awesome_map/api/fetcher.js +13 -13
  52. data/app/packs/src/decidim/decidim_awesome/awesome_map/awesome_map.js +14 -12
  53. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/controller.js +16 -12
  54. data/app/packs/src/decidim/decidim_awesome/awesome_map/controllers/proposals_controller.js +3 -3
  55. data/app/packs/src/decidim/decidim_awesome/awesome_map/controls_ui.js +25 -26
  56. data/app/packs/src/decidim/decidim_awesome/awesome_map/load_map.js +1 -0
  57. data/app/packs/src/decidim/decidim_awesome/editors/editor.js +33 -12
  58. data/app/packs/src/decidim/decidim_awesome/forms/autosave.js +8 -12
  59. data/app/packs/src/decidim/decidim_awesome/forms/custom_fields_renderer.js +36 -27
  60. data/app/packs/src/decidim/decidim_awesome/forms/rich_text_plugin.js +6 -4
  61. data/app/packs/src/decidim/decidim_awesome/proposals/custom_fields.js +7 -7
  62. data/app/packs/src/decidim/decidim_awesome/proposals/images.js +2 -2
  63. data/app/packs/stylesheets/decidim/decidim_awesome/awesome_admin.scss +8 -5
  64. data/app/permissions/decidim/decidim_awesome/admin/permissions.rb +15 -1
  65. data/app/permissions/decidim/decidim_awesome/permissions.rb +4 -6
  66. data/app/presenters/decidim/decidim_awesome/paper_trail_base_presenter.rb +28 -0
  67. data/app/presenters/decidim/decidim_awesome/participatory_space_role_presenter.rb +45 -0
  68. data/app/presenters/decidim/decidim_awesome/role_base_presenter.rb +102 -0
  69. data/app/presenters/decidim/decidim_awesome/user_entity_presenter.rb +50 -0
  70. data/app/serializers/decidim/decidim_awesome/paper_trail_version_serializer.rb +37 -0
  71. data/app/validators/concerns/decidim/decidim_awesome/etiquette_validator_override.rb +41 -0
  72. data/app/views/decidim/decidim_awesome/admin/admin_accountability/index.html.erb +59 -0
  73. data/app/views/decidim/decidim_awesome/admin/checks/_assets_tester.html.erb +2 -0
  74. data/app/views/decidim/decidim_awesome/admin/config/_form_proposals.html.erb +82 -2
  75. data/app/views/decidim/decidim_awesome/admin/shared/_filters_with_date.html.erb +56 -0
  76. data/app/views/decidim/proposals/admin/proposals/_form.html.erb +1 -1
  77. data/app/views/decidim/proposals/collaborative_drafts/_edit_form_fields.html.erb +9 -17
  78. data/app/views/layouts/decidim/admin/decidim_awesome.html.erb +1 -1
  79. data/app/views/layouts/decidim/decidim_awesome/_awesome_config.html.erb +1 -1
  80. data/app/views/{v0.25 → v0.27}/layouts/decidim/_head.html.erb +12 -4
  81. data/config/i18n-tasks.yml +4 -0
  82. data/config/locales/ca.yml +22 -2
  83. data/config/locales/cs.yml +7 -2
  84. data/config/locales/de.yml +355 -0
  85. data/config/locales/en.yml +90 -1
  86. data/config/locales/es.yml +2 -2
  87. data/config/locales/fr.yml +22 -2
  88. data/config/locales/it.yml +2 -2
  89. data/config/locales/ja.yml +4 -3
  90. data/config/locales/nl.yml +1 -1
  91. data/config/locales/pt-BR.yml +2 -2
  92. data/db/seeds.rb +1 -1
  93. data/lib/decidim/decidim_awesome/admin_engine.rb +15 -1
  94. data/lib/decidim/decidim_awesome/awesome.rb +55 -1
  95. data/lib/decidim/decidim_awesome/checksums.yml +13 -3
  96. data/lib/decidim/decidim_awesome/config.rb +14 -14
  97. data/lib/decidim/decidim_awesome/context_analyzers/request_analyzer.rb +1 -1
  98. data/lib/decidim/decidim_awesome/engine.rb +36 -9
  99. data/lib/decidim/decidim_awesome/iframe_component/component.rb +2 -1
  100. data/lib/decidim/decidim_awesome/menu_hacker.rb +6 -0
  101. data/lib/decidim/decidim_awesome/system_checker.rb +2 -0
  102. data/lib/decidim/decidim_awesome/test/factories.rb +8 -0
  103. data/lib/decidim/decidim_awesome/test/initializer.rb +10 -2
  104. data/lib/decidim/decidim_awesome/test/shared_examples/action_log_presenter_examples.rb +61 -0
  105. data/lib/decidim/decidim_awesome/test/shared_examples/scoped_admins_examples.rb +7 -4
  106. data/lib/decidim/decidim_awesome/test/shared_examples/summary_examples.rb +2 -2
  107. data/lib/decidim/decidim_awesome/version.rb +2 -2
  108. data/lib/tasks/decidim_awesome_active_storage_migrations_tasks.rake +1 -3
  109. data/package.json +21 -164
  110. metadata +40 -39
  111. data/app/packs/images/decidim/decidim_awesome/platoniq-logo.png +0 -0
  112. data/app/packs/src/vendor/image-resize.min.js +0 -1
  113. data/app/packs/src/vendor/image-upload.min.js +0 -6
  114. data/app/packs/src/vendor/leaflet.featuregroup.subgroup.js +0 -184
  115. /data/app/views/{v0.25 → v0.27}/decidim/proposals/collaborative_drafts/_show.html.erb +0 -0
  116. /data/app/views/{v0.25 → v0.27}/layouts/decidim/admin/_header.html.erb +0 -0
@@ -1,184 +0,0 @@
1
- L.FeatureGroup.SubGroup = L.FeatureGroup.extend({
2
-
3
- /**
4
- * Instantiates a SubGroup.
5
- * @param parentGroup (L.LayerGroup) (optional)
6
- * @param layersArray (L.Layer[]) (optional)
7
- */
8
- initialize: function (parentGroup, layersArray) {
9
- L.FeatureGroup.prototype.initialize.call(this, layersArray);
10
-
11
- this.setParentGroup(parentGroup);
12
- },
13
-
14
- /**
15
- * Changes the parent group into which child markers are added to /
16
- * removed from.
17
- * @param parentGroup (L.LayerGroup)
18
- * @returns {SubGroup} this
19
- */
20
- setParentGroup: function (parentGroup) {
21
- var pgInstanceOfLG = parentGroup instanceof L.LayerGroup;
22
-
23
- this._parentGroup = parentGroup;
24
-
25
- // onAdd
26
- this.onAdd =
27
- pgInstanceOfLG ?
28
- (
29
- typeof parentGroup.addLayers === "function" ?
30
- this._onAddToGroupBatch :
31
- this._onAddToGroup
32
- ) :
33
- this._onAddToMap;
34
-
35
- // onRemove
36
- this.onRemove =
37
- pgInstanceOfLG ?
38
- (
39
- typeof parentGroup.removeLayers === "function" ?
40
- this._onRemoveFromGroupBatch :
41
- this._onRemoveFromGroup
42
- ) :
43
- this._onRemoveFromMap;
44
-
45
- // addLayer
46
- this.addLayer = pgInstanceOfLG ?
47
- this._addLayerToGroup :
48
- this._addLayerToMap;
49
-
50
- // removeLayer
51
- this.removeLayer = pgInstanceOfLG ?
52
- this._removeLayerFromGroup :
53
- this._removeLayerFromMap;
54
-
55
- return this;
56
- },
57
-
58
- /**
59
- * Removes the current sub-group from map before changing the parent
60
- * group. Re-adds the sub-group to map if it was before changing.
61
- * @param parentGroup (L.LayerGroup)
62
- * @returns {SubGroup} this
63
- */
64
- setParentGroupSafe: function (parentGroup) {
65
- var map = this._map;
66
-
67
- if (map) {
68
- map.removeLayer(this);
69
- }
70
-
71
- this.setParentGroup(parentGroup);
72
-
73
- if (map) {
74
- map.addLayer(this);
75
- }
76
-
77
- return this;
78
- },
79
-
80
- /**
81
- * Returns the current parent group.
82
- * @returns {*}
83
- */
84
- getParentGroup: function () {
85
- return this._parentGroup;
86
- },
87
-
88
-
89
- // For parent groups with batch methods (addLayers and removeLayers)
90
- // like MarkerCluster.
91
- _onAddToGroupBatch: function (map) {
92
- var layersArray = this.getLayers();
93
-
94
- this._map = map;
95
- this._parentGroup.addLayers(layersArray);
96
- },
97
-
98
- _onRemoveFromGroupBatch: function () {
99
- var layersArray = this.getLayers();
100
-
101
- this._parentGroup.removeLayers(layersArray);
102
- this._map = null;
103
- },
104
-
105
-
106
- // For other parent layer groups.
107
- _onAddToGroup: function (map) {
108
- var parentGroup = this._parentGroup;
109
-
110
- this._map = map;
111
- this.eachLayer(parentGroup.addLayer, parentGroup);
112
- },
113
-
114
- _onRemoveFromGroup: function () {
115
- var parentGroup = this._parentGroup;
116
-
117
- this.eachLayer(parentGroup.removeLayer, parentGroup);
118
- this._map = null;
119
- },
120
-
121
-
122
- // Defaults to standard FeatureGroup behaviour when parent group is not
123
- // specified or is not a type of LayerGroup.
124
- _onAddToMap: L.FeatureGroup.prototype.onAdd,
125
- _onRemoveFromMap: L.FeatureGroup.prototype.onRemove,
126
-
127
-
128
- _addLayerToGroup: function (layer) {
129
- if (this.hasLayer(layer)) {
130
- return this;
131
- }
132
-
133
- layer.addEventParent(this);
134
-
135
- var id = this.getLayerId(layer);
136
- console.log("adtogroup id",id,"layer",layer,"this",this)
137
- this._layers[id] = layer;
138
-
139
- if (this._map) {
140
- // Add to parent group instead of directly to map.
141
- this._parentGroup.addLayer(layer);
142
- }
143
-
144
- return this.fire("layeradd", {layer: layer});
145
- },
146
-
147
- _removeLayerFromGroup: function (layer) {
148
- // If unknown layer, skip.
149
- if (!this.hasLayer(layer)) {
150
- return this;
151
- }
152
-
153
- // Retrieve the layer id.
154
- var id = layer in this._layers ? layer : this.getLayerId(layer);
155
-
156
- // Retrieve the layer from this._layer.
157
- layer = this._layers[id];
158
-
159
- // Unregister from events parent.
160
- layer.removeEventParent(this);
161
-
162
- if (this._map && layer) {
163
- // Remove from parent group instead of directly from map.
164
- this._parentGroup.removeLayer(layer);
165
- }
166
-
167
- delete this._layers[id];
168
-
169
- return this.fire("layerremove", {layer: layer});
170
- },
171
-
172
- // Defaults to standard FeatureGroup behaviour when parent group is not
173
- // specified or is not a type of LayerGroup.
174
- _addLayerToMap: L.FeatureGroup.prototype.addLayer,
175
- _removeLayerFromMap: L.FeatureGroup.prototype.removeLayer
176
-
177
- });
178
-
179
-
180
-
181
- // Supply with a factory for consistency with Leaflet.
182
- L.featureGroup.subGroup = function (parentGroup, options) {
183
- return new L.FeatureGroup.SubGroup(parentGroup, options);
184
- };