decidim-admin 0.26.5 → 0.27.0.rc1
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.
- checksums.yaml +4 -4
- data/app/cells/decidim/admin/attachments_privacy_warning/show.erb +3 -0
- data/app/cells/decidim/admin/attachments_privacy_warning_cell.rb +19 -0
- data/app/commands/decidim/admin/block_user.rb +1 -1
- data/app/commands/decidim/admin/close_session_managed_user.rb +1 -1
- data/app/commands/decidim/admin/create_area.rb +1 -1
- data/app/commands/decidim/admin/create_area_type.rb +6 -3
- data/app/commands/decidim/admin/create_attachment.rb +14 -6
- data/app/commands/decidim/admin/create_attachment_collection.rb +13 -4
- data/app/commands/decidim/admin/create_category.rb +6 -4
- data/app/commands/decidim/admin/create_component.rb +1 -1
- data/app/commands/decidim/admin/create_import.rb +4 -5
- data/app/commands/decidim/admin/create_import_example.rb +1 -1
- data/app/commands/decidim/admin/create_newsletter.rb +1 -1
- data/app/commands/decidim/admin/create_participatory_space_private_user.rb +1 -1
- data/app/commands/decidim/admin/create_scope.rb +1 -1
- data/app/commands/decidim/admin/create_scope_type.rb +6 -3
- data/app/commands/decidim/admin/create_static_page.rb +1 -1
- data/app/commands/decidim/admin/create_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/deliver_newsletter.rb +6 -6
- data/app/commands/decidim/admin/destroy_area.rb +1 -1
- data/app/commands/decidim/admin/destroy_category.rb +6 -3
- data/app/commands/decidim/admin/destroy_component.rb +1 -1
- data/app/commands/decidim/admin/destroy_newsletter.rb +1 -1
- data/app/commands/decidim/admin/destroy_participatory_space_private_user.rb +1 -1
- data/app/commands/decidim/admin/destroy_scope.rb +1 -1
- data/app/commands/decidim/admin/destroy_share_token.rb +1 -1
- data/app/commands/decidim/admin/destroy_static_page.rb +1 -1
- data/app/commands/decidim/admin/destroy_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/hide_resource.rb +2 -2
- data/app/commands/decidim/admin/impersonate_user.rb +1 -1
- data/app/commands/decidim/admin/invite_admin.rb +1 -1
- data/app/commands/decidim/admin/officialize_user.rb +1 -1
- data/app/commands/decidim/admin/process_participatory_space_private_user_import_csv.rb +7 -3
- data/app/commands/decidim/admin/process_user_group_verification_csv.rb +8 -4
- data/app/commands/decidim/admin/promote_managed_user.rb +1 -1
- data/app/commands/decidim/admin/publish_component.rb +1 -1
- data/app/commands/decidim/admin/reject_user_group.rb +1 -1
- data/app/commands/decidim/admin/remove_admin.rb +1 -1
- data/app/commands/decidim/admin/reorder_content_blocks.rb +1 -1
- data/app/commands/decidim/admin/transfer_user.rb +1 -1
- data/app/commands/decidim/admin/unblock_user.rb +2 -2
- data/app/commands/decidim/admin/unhide_resource.rb +1 -1
- data/app/commands/decidim/admin/unofficialize_user.rb +1 -1
- data/app/commands/decidim/admin/unpublish_component.rb +1 -1
- data/app/commands/decidim/admin/unreport_resource.rb +1 -1
- data/app/commands/decidim/admin/unreport_user.rb +1 -1
- data/app/commands/decidim/admin/update_area.rb +1 -1
- data/app/commands/decidim/admin/update_area_type.rb +8 -3
- data/app/commands/decidim/admin/update_attachment.rb +4 -3
- data/app/commands/decidim/admin/update_attachment_collection.rb +8 -3
- data/app/commands/decidim/admin/update_category.rb +9 -5
- data/app/commands/decidim/admin/update_component.rb +8 -5
- data/app/commands/decidim/admin/update_component_permissions.rb +9 -6
- data/app/commands/decidim/admin/update_content_block.rb +1 -1
- data/app/commands/decidim/admin/update_external_domain_whitelist.rb +6 -3
- data/app/commands/decidim/admin/update_help_sections.rb +17 -3
- data/app/commands/decidim/admin/update_newsletter.rb +1 -1
- data/app/commands/decidim/admin/update_organization.rb +1 -1
- data/app/commands/decidim/admin/update_organization_appearance.rb +1 -1
- data/app/commands/decidim/admin/update_organization_tos_version.rb +1 -1
- data/app/commands/decidim/admin/update_resource_permissions.rb +2 -2
- data/app/commands/decidim/admin/update_scope.rb +1 -1
- data/app/commands/decidim/admin/update_scope_type.rb +8 -3
- data/app/commands/decidim/admin/update_static_page.rb +1 -1
- data/app/commands/decidim/admin/update_static_page_topic.rb +1 -1
- data/app/commands/decidim/admin/update_user_groups.rb +1 -1
- data/app/commands/decidim/admin/verify_user_group.rb +1 -1
- data/app/controllers/concerns/decidim/admin/filterable.rb +1 -1
- data/app/controllers/concerns/decidim/admin/participatory_space_export.rb +3 -1
- data/app/controllers/decidim/admin/application_controller.rb +1 -0
- data/app/controllers/decidim/admin/area_types_controller.rb +6 -3
- data/app/controllers/decidim/admin/block_user_controller.rb +3 -3
- data/app/controllers/decidim/admin/categories_controller.rb +3 -3
- data/app/controllers/decidim/admin/component_permissions_controller.rb +1 -1
- data/app/controllers/decidim/admin/components/base_controller.rb +1 -0
- data/app/controllers/decidim/admin/components_controller.rb +1 -1
- data/app/controllers/decidim/admin/concerns/has_attachment_collections.rb +6 -3
- data/app/controllers/decidim/admin/concerns/has_attachments.rb +6 -3
- data/app/controllers/decidim/admin/concerns/has_private_users_csv_import.rb +7 -0
- data/app/controllers/decidim/admin/dashboard_controller.rb +4 -3
- data/app/controllers/decidim/admin/exports_controller.rb +4 -1
- data/app/controllers/decidim/admin/help_sections_controller.rb +1 -1
- data/app/controllers/decidim/admin/metrics_controller.rb +2 -1
- data/app/controllers/decidim/admin/moderations_controller.rb +9 -7
- data/app/controllers/decidim/admin/newsletter_templates_controller.rb +1 -1
- data/app/controllers/decidim/admin/newsletters_controller.rb +1 -1
- data/app/controllers/decidim/admin/organization_controller.rb +3 -4
- data/app/controllers/decidim/admin/organization_external_domain_whitelist_controller.rb +1 -1
- data/app/controllers/decidim/admin/reminders_controller.rb +61 -0
- data/app/controllers/decidim/admin/resource_permissions_controller.rb +3 -3
- data/app/controllers/decidim/admin/scope_types_controller.rb +6 -3
- data/app/controllers/decidim/admin/static_pages_controller.rb +1 -7
- data/app/forms/decidim/admin/block_user_form.rb +2 -2
- data/app/forms/decidim/admin/category_form.rb +1 -2
- data/app/forms/decidim/admin/component_form.rb +16 -7
- data/app/forms/decidim/admin/import_example_form.rb +1 -5
- data/app/forms/decidim/admin/import_form.rb +7 -10
- data/app/forms/decidim/admin/managed_user_promotion_form.rb +1 -1
- data/app/forms/decidim/admin/participatory_space_private_user_csv_import_form.rb +7 -4
- data/app/forms/decidim/admin/permission_form.rb +9 -8
- data/app/forms/decidim/admin/permissions_form.rb +1 -10
- data/app/forms/decidim/admin/user_group_csv_verification_form.rb +2 -2
- data/app/helpers/decidim/admin/bulk_actions_helper.rb +6 -5
- data/app/helpers/decidim/admin/moderations/reports_helper.rb +11 -2
- data/app/helpers/decidim/admin/reminders_helper.rb +12 -0
- data/app/helpers/decidim/admin/settings_helper.rb +11 -57
- data/app/models/decidim/admin/fake_newsletter.rb +0 -20
- data/app/packs/entrypoints/decidim_admin.js +3 -6
- data/app/packs/src/decidim/admin/admin_autocomplete.js +82 -0
- data/app/packs/src/decidim/admin/application.js +0 -16
- data/app/packs/src/decidim/admin/choose_language.js +9 -11
- data/app/packs/src/decidim/admin/dynamic_fields.component.js +0 -1
- data/app/packs/stylesheets/decidim/admin/_decidim.scss +0 -1
- data/app/packs/stylesheets/decidim/admin/modules/_autocomplete.scss +5 -0
- data/app/packs/stylesheets/decidim/admin/modules/_forms.scss +0 -6
- data/app/packs/stylesheets/decidim/admin/modules/_import_result.scss +10 -0
- data/app/packs/stylesheets/decidim/admin/modules/_modules.scss +3 -0
- data/app/packs/stylesheets/decidim/admin/modules/_upload_modal.scss +42 -0
- data/app/permissions/decidim/admin/permissions.rb +3 -32
- data/app/presenters/decidim/admin/dashboard_metric_charts_presenter.rb +3 -1
- data/app/queries/decidim/admin/active_users_counter.rb +1 -1
- data/app/queries/decidim/admin/newsletter_recipients.rb +2 -2
- data/app/queries/decidim/admin/user_filter.rb +1 -1
- data/app/queries/decidim/admin/user_groups_evaluation.rb +1 -1
- data/app/views/decidim/admin/attachments/index.html.erb +1 -0
- data/app/views/decidim/admin/categories/_form.html.erb +0 -4
- data/app/views/decidim/admin/categories/show.html.erb +1 -2
- data/app/views/decidim/admin/dashboard/show.html.erb +1 -1
- data/app/views/decidim/admin/imports/new.html.erb +1 -1
- data/app/views/decidim/admin/moderated_users/index.html.erb +1 -1
- data/app/views/decidim/admin/moderations/index.html.erb +4 -8
- data/app/views/decidim/admin/moderations/reports/index.html.erb +1 -5
- data/app/views/decidim/admin/organization_appearance/form/_images.html.erb +5 -4
- data/app/views/decidim/admin/participatory_space_private_users/index.html.erb +1 -1
- data/app/views/decidim/admin/participatory_space_private_users_csv_imports/new.html.erb +20 -1
- data/app/views/decidim/admin/reminders/new.html.erb +21 -0
- data/app/views/decidim/admin/resource_permissions/edit.html.erb +1 -1
- data/app/views/decidim/admin/shared/_gallery.html.erb +6 -1
- data/app/views/decidim/admin/shared/_js-callout.html.erb +6 -0
- data/app/views/decidim/admin/users_statistics/_users_count.html.erb +2 -2
- data/app/views/layouts/decidim/admin/_application.html.erb +2 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +28 -21
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +27 -21
- data/config/locales/cs.yml +41 -33
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +23 -18
- data/config/locales/el.yml +2 -5
- data/config/locales/en.yml +22 -17
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +25 -19
- data/config/locales/es-PY.yml +25 -19
- data/config/locales/es.yml +27 -21
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +12 -35
- data/config/locales/fi-plain.yml +26 -20
- data/config/locales/fi.yml +28 -22
- data/config/locales/fr-CA.yml +25 -19
- data/config/locales/fr.yml +39 -33
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +17 -4
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +16 -188
- data/config/locales/id-ID.yml +2 -7
- data/config/locales/is-IS.yml +3 -8
- data/config/locales/it.yml +8 -6
- data/config/locales/ja.yml +23 -18
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +2 -5
- data/config/locales/lt.yml +13 -141
- data/config/locales/lv.yml +2 -4
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +4 -67
- data/config/locales/no.yml +13 -10
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +21 -6
- data/config/locales/pt-BR.yml +4 -7
- data/config/locales/pt.yml +2 -5
- data/config/locales/ro-RO.yml +12 -27
- data/config/locales/ru.yml +2 -7
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +2 -4
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -10
- data/config/locales/sv.yml +24 -18
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +2 -5
- data/config/locales/uk.yml +2 -6
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +2 -4
- data/config/locales/zh-TW.yml +1 -0
- data/lib/decidim/admin/engine.rb +1 -12
- data/lib/decidim/admin/import/importer.rb +9 -7
- data/lib/decidim/admin/import/readers/json.rb +1 -1
- data/lib/decidim/admin/test/commands/create_attachment_collection_examples.rb +15 -2
- data/lib/decidim/admin/test/commands/create_category_examples.rb +16 -6
- data/lib/decidim/admin/test/commands/destroy_category_examples.rb +29 -1
- data/lib/decidim/admin/test/commands/update_attachment_collection_examples.rb +15 -2
- data/lib/decidim/admin/test/commands/update_category_examples.rb +16 -6
- data/lib/decidim/admin/test/filters_participatory_space_user_roles_examples.rb +4 -4
- data/lib/decidim/admin/test/filters_participatory_space_users_examples.rb +4 -4
- data/lib/decidim/admin/test/forms/category_form_examples.rb +1 -21
- data/lib/decidim/admin/test/manage_attachments_examples.rb +9 -2
- data/lib/decidim/admin/test/manage_categories_examples.rb +0 -10
- data/lib/decidim/admin/test/manage_component_permissions_examples.rb +0 -2
- data/lib/decidim/admin/test/manage_moderations_examples.rb +27 -79
- data/lib/decidim/admin/version.rb +1 -1
- metadata +22 -19
- data/app/packs/src/decidim/admin/autocomplete.component.js +0 -146
- data/app/packs/src/decidim/admin/autocomplete.component.test.js +0 -19
- data/app/packs/stylesheets/decidim/admin/components/_autocomplete_select.component.scss +0 -19
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
@@ -1,146 +0,0 @@
|
|
1
|
-
/* eslint no-unused-vars: 0 */
|
2
|
-
/* eslint consistent-return: 0 */
|
3
|
-
|
4
|
-
import axios from "axios";
|
5
|
-
import * as React from "react";
|
6
|
-
import { Async as AsyncSelect } from "react-select";
|
7
|
-
import "react-select/scss/default.scss";
|
8
|
-
import PropTypes from "prop-types";
|
9
|
-
|
10
|
-
export class Autocomplete extends React.Component {
|
11
|
-
constructor(props) {
|
12
|
-
super(props);
|
13
|
-
|
14
|
-
this.minCharactersToSearch = 3;
|
15
|
-
|
16
|
-
this.handleChange = (selectedOption) => {
|
17
|
-
this.setState({ selectedOption });
|
18
|
-
if (this.props.changeURL) {
|
19
|
-
axios.get(this.props.changeURL, {
|
20
|
-
headers: {
|
21
|
-
Accept: "text/javascript"
|
22
|
-
},
|
23
|
-
withCredentials: true,
|
24
|
-
params: {
|
25
|
-
id: selectedOption.value
|
26
|
-
}
|
27
|
-
}).
|
28
|
-
then((response) => {
|
29
|
-
const script = document.createElement("script");
|
30
|
-
script.type = "text/javascript";
|
31
|
-
script.innerHTML = response.data;
|
32
|
-
document.getElementsByTagName("head")[0].appendChild(script);
|
33
|
-
}).
|
34
|
-
catch((error) => {
|
35
|
-
if (axios.isCancel(error)) {
|
36
|
-
// console.log("Request canceled", error.message);
|
37
|
-
}
|
38
|
-
else {
|
39
|
-
//
|
40
|
-
}
|
41
|
-
});
|
42
|
-
}
|
43
|
-
};
|
44
|
-
|
45
|
-
this.filterOptions = (options, filter, excludeOptions) => {
|
46
|
-
// Do no filtering, just return all options because
|
47
|
-
// we return a filtered set from server
|
48
|
-
return options;
|
49
|
-
};
|
50
|
-
|
51
|
-
this.onInputChange = (query) => {
|
52
|
-
if (query.length < this.minCharactersToSearch) {
|
53
|
-
this.setState({ noResultsText: this.props.searchPromptText });
|
54
|
-
}
|
55
|
-
else {
|
56
|
-
this.setState({ noResultsText: this.props.noResultsText });
|
57
|
-
}
|
58
|
-
};
|
59
|
-
|
60
|
-
this.loadOptions = (query, callback) => {
|
61
|
-
const lowerQuery = query.toLowerCase();
|
62
|
-
|
63
|
-
if (this.cancelTokenSource) {
|
64
|
-
this.cancelTokenSource.cancel();
|
65
|
-
}
|
66
|
-
|
67
|
-
if (lowerQuery.length < this.minCharactersToSearch) {
|
68
|
-
return callback(null, { options: [], complete: false });
|
69
|
-
}
|
70
|
-
|
71
|
-
this.cancelTokenSource = axios.CancelToken.source();
|
72
|
-
axios.get(this.props.searchURL, {
|
73
|
-
cancelToken: this.cancelTokenSource.token,
|
74
|
-
headers: {
|
75
|
-
Accept: "application/json"
|
76
|
-
},
|
77
|
-
withCredentials: true,
|
78
|
-
params: {
|
79
|
-
term: lowerQuery
|
80
|
-
}
|
81
|
-
}).
|
82
|
-
then((response) => {
|
83
|
-
// CAREFUL! Only set complete to true when there are no more options,
|
84
|
-
// or more specific queries will not be sent to the server.
|
85
|
-
return callback(null, { options: response.data, complete: true });
|
86
|
-
}).
|
87
|
-
catch((error) => {
|
88
|
-
if (!axios.isCancel(error)) {
|
89
|
-
return callback(error, { options: [], complete: false });
|
90
|
-
}
|
91
|
-
});
|
92
|
-
};
|
93
|
-
|
94
|
-
this.state = {
|
95
|
-
options: props.options,
|
96
|
-
selectedOption: props.selected,
|
97
|
-
searchPromptText: props.searchPromptText,
|
98
|
-
noResultsText: props.noResultsText
|
99
|
-
};
|
100
|
-
}
|
101
|
-
|
102
|
-
render() {
|
103
|
-
const { autoload, name, placeholder } = this.props;
|
104
|
-
const { selectedOption, options, searchPromptText, noResultsText } = this.state;
|
105
|
-
|
106
|
-
return (
|
107
|
-
React.createElement("div", { className: "autocomplete-field" },
|
108
|
-
React.createElement(AsyncSelect, {
|
109
|
-
cache: false,
|
110
|
-
name: name,
|
111
|
-
value: selectedOption,
|
112
|
-
options: options,
|
113
|
-
placeholder: placeholder,
|
114
|
-
searchPromptText: searchPromptText,
|
115
|
-
noResultsText: noResultsText,
|
116
|
-
onChange: this.handleChange,
|
117
|
-
onInputChange: this.onInputChange,
|
118
|
-
loadOptions: this.loadOptions,
|
119
|
-
filterOptions: this.filterOptions,
|
120
|
-
autoload: autoload,
|
121
|
-
removeSelected: true,
|
122
|
-
escapeClearsValue: false,
|
123
|
-
onCloseResetsInput: false
|
124
|
-
})
|
125
|
-
)
|
126
|
-
);
|
127
|
-
}
|
128
|
-
}
|
129
|
-
|
130
|
-
Autocomplete.defaultProps = {
|
131
|
-
autoload: false
|
132
|
-
};
|
133
|
-
|
134
|
-
Autocomplete.propTypes = {
|
135
|
-
changeURL: PropTypes.string,
|
136
|
-
searchPromptText: PropTypes.string,
|
137
|
-
noResultsText: PropTypes.string,
|
138
|
-
searchURL: PropTypes.string,
|
139
|
-
selected: PropTypes.string,
|
140
|
-
options: PropTypes.array,
|
141
|
-
autoload: PropTypes.bool,
|
142
|
-
name: PropTypes.string,
|
143
|
-
placeholder: PropTypes.string
|
144
|
-
}
|
145
|
-
|
146
|
-
export default Autocomplete;
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import { shallow } from "enzyme";
|
2
|
-
import * as React from "react";
|
3
|
-
import Autocomplete from "./autocomplete.component";
|
4
|
-
|
5
|
-
describe("<Autocomplete />", () => {
|
6
|
-
const name = "custom[name]";
|
7
|
-
const selected = "";
|
8
|
-
const options = [];
|
9
|
-
const placeholder = "Pick a value";
|
10
|
-
const noResultsText = "No results found";
|
11
|
-
const searchPromptText = "Type to search";
|
12
|
-
const searchURL = "/some/url";
|
13
|
-
const changeURL = "/some/other/url";
|
14
|
-
|
15
|
-
it("renders a div of Select", () => {
|
16
|
-
const wrapper = shallow(<Autocomplete name={name} selected={selected} options={options} noResultsText={noResultsText} placeholder={placeholder} searchPromptText={searchPromptText} searchURL={searchURL} changeURL={changeURL} />);
|
17
|
-
expect(wrapper.find(".autocomplete-field").exists()).toBeTruthy();
|
18
|
-
});
|
19
|
-
});
|
@@ -1,19 +0,0 @@
|
|
1
|
-
.autocomplete-field{
|
2
|
-
margin-bottom: 1.5rem;
|
3
|
-
|
4
|
-
.Select{
|
5
|
-
.Select-control,
|
6
|
-
.Select-input,
|
7
|
-
.Select-placeholder,
|
8
|
-
&.Select--single > .Select-control .Select-value{
|
9
|
-
height: 3rem;
|
10
|
-
line-height: 3rem;
|
11
|
-
}
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
.autocomplete-field--results-inline{
|
16
|
-
.Select-menu-outer{
|
17
|
-
position: relative;
|
18
|
-
}
|
19
|
-
}
|
data/config/locales/gn-PY.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
gn:
|
data/config/locales/ka-GE.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ka:
|
data/config/locales/lo-LA.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
lo:
|
data/config/locales/oc-FR.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
oc:
|