decidim-core 0.24.1 → 0.24.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of decidim-core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/decidim/editor/linebreak_module.js.es6 +7 -0
- data/app/assets/javascripts/decidim/editor/modified_enter.js.es6 +15 -10
- data/app/controllers/concerns/decidim/devise_controllers.rb +1 -0
- data/app/forms/decidim/account_form.rb +1 -1
- data/app/helpers/decidim/application_helper.rb +1 -0
- data/app/helpers/decidim/cache_helper.rb +14 -0
- data/app/helpers/decidim/filters_helper.rb +0 -1
- data/app/models/decidim/user.rb +7 -1
- data/app/models/decidim/user_base_entity.rb +1 -1
- data/app/views/decidim/application/_document.html.erb +1 -1
- data/config/locales/es-MX.yml +4 -0
- data/config/locales/es-PY.yml +4 -0
- data/config/locales/es.yml +4 -0
- data/config/locales/fr.yml +1 -1
- data/config/locales/sv.yml +20 -0
- data/lib/decidim/core/version.rb +1 -1
- data/lib/decidim/exporters/csv.rb +1 -1
- metadata +9 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab5095df3a838b44266df05ea2907b58743c104adb1a61af39919a003ceeab25
|
4
|
+
data.tar.gz: 79816ce45c6d0d505cefd28199a8271b40cefa88d057d0c25df9abae4a5a6b1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9d199e7ba25fb0fe25b650672c9a1c275080377e4df96378953462056342efc078849648a3c7421fab19541eecfc7d35cb96ac23a7dfd6850f131e2b01e29c6
|
7
|
+
data.tar.gz: 9076c3518c1b64cc06a16a95f562342fb5b75d6b6592f2c8c55e2cb74003f2da6bad11521da43a89890485e8daeb49e7502967b2e94e5ac688e4ce26c852412d
|
@@ -72,6 +72,13 @@
|
|
72
72
|
}
|
73
73
|
});
|
74
74
|
|
75
|
+
quill.clipboard.addMatcher("BR", (node) => {
|
76
|
+
if (node && node.parentNode && node.parentNode.tagName && node.parentNode.tagName === "A") {
|
77
|
+
return new Delta().insert("\n");
|
78
|
+
}
|
79
|
+
return new Delta().insert({"break": ""});
|
80
|
+
});
|
81
|
+
|
75
82
|
addEnterBindings(quill);
|
76
83
|
backspaceBindingsRangeAny(quill);
|
77
84
|
backspaceBindings(quill);
|
@@ -40,17 +40,28 @@
|
|
40
40
|
const currentLeaf = quill.getLeaf(range.index)[0];
|
41
41
|
const nextLeaf = quill.getLeaf(range.index + 1)[0];
|
42
42
|
const previousChar = quill.getText(range.index - 1, 1);
|
43
|
+
const formats = quill.getFormat(range.index);
|
43
44
|
|
44
|
-
|
45
|
-
|
46
|
-
|
45
|
+
if ((currentLeaf && currentLeaf.next && currentLeaf.next.domNode &&
|
46
|
+
currentLeaf.next.domNode.tagName && currentLeaf.next.domNode.tagName === "A") ||
|
47
|
+
(nextLeaf && nextLeaf.parent && nextLeaf.parent.domNode && nextLeaf.parent.domNode.tagName &&
|
48
|
+
nextLeaf.parent.domNode.tagName === "A")) {
|
49
|
+
quill.insertEmbed(range.index, "break", true, "user");
|
50
|
+
quill.removeFormat(range.index, 1, Quill.sources.SILENT)
|
51
|
+
} else {
|
52
|
+
quill.insertEmbed(range.index, "break", true, "user");
|
53
|
+
}
|
54
|
+
|
55
|
+
if (nextLeaf === null) {
|
47
56
|
quill.insertEmbed(range.index, "break", true, "user");
|
48
57
|
} else if (context.offset === 1 && previousChar === "\n") {
|
49
58
|
const delta = new Delta().retain(range.index).insert("\n");
|
50
59
|
quill.updateContents(delta, Quill.sources.USER);
|
51
60
|
}
|
52
61
|
|
53
|
-
|
62
|
+
Object.keys(formats).forEach((format) => {
|
63
|
+
quill.format(format, context.format[format], Quill.sources.USER);
|
64
|
+
});
|
54
65
|
quill.setSelection(range.index + 1, Quill.sources.SILENT);
|
55
66
|
|
56
67
|
const lineFormats = getLineFormats(context);
|
@@ -58,12 +69,6 @@
|
|
58
69
|
};
|
59
70
|
|
60
71
|
const addEnterBindings = (quill) => {
|
61
|
-
quill.clipboard.addMatcher("BR", () => {
|
62
|
-
let newDelta = new Delta();
|
63
|
-
newDelta.insert({"break": ""});
|
64
|
-
return newDelta;
|
65
|
-
});
|
66
|
-
|
67
72
|
quill.keyboard.addBinding({
|
68
73
|
key: 13,
|
69
74
|
shiftKey: true
|
@@ -20,7 +20,7 @@ module Decidim
|
|
20
20
|
|
21
21
|
validates :name, presence: true
|
22
22
|
validates :email, presence: true, 'valid_email_2/email': { disposable: true }
|
23
|
-
validates :nickname, presence: true, format:
|
23
|
+
validates :nickname, presence: true, format: Decidim::User::REGEXP_NICKNAME
|
24
24
|
|
25
25
|
validates :nickname, length: { maximum: Decidim::User.nickname_max_length, allow_blank: true }
|
26
26
|
validates :password, confirmation: true
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
# Helper overrides for the ActionView::Helpers::CacheHelper in order to take
|
5
|
+
# locale into account for fragment caching.
|
6
|
+
module CacheHelper
|
7
|
+
# See: https://git.io/J3ouj
|
8
|
+
def cache(name = {}, options = {}, &block)
|
9
|
+
name = Array(name) + [current_locale]
|
10
|
+
|
11
|
+
super(name, options, &block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/app/models/decidim/user.rb
CHANGED
@@ -13,6 +13,8 @@ module Decidim
|
|
13
13
|
include Decidim::UserReportable
|
14
14
|
include Decidim::Traceable
|
15
15
|
|
16
|
+
REGEXP_NICKNAME = /\A[\w\-]+\z/.freeze
|
17
|
+
|
16
18
|
class Roles
|
17
19
|
def self.all
|
18
20
|
Decidim.config.user_roles
|
@@ -35,7 +37,11 @@ module Decidim
|
|
35
37
|
has_one :blocking, class_name: "Decidim::UserBlock", foreign_key: :id, primary_key: :block_id, dependent: :destroy
|
36
38
|
|
37
39
|
validates :name, presence: true, unless: -> { deleted? }
|
38
|
-
validates :nickname,
|
40
|
+
validates :nickname,
|
41
|
+
presence: true,
|
42
|
+
format: { with: REGEXP_NICKNAME },
|
43
|
+
length: { maximum: Decidim::User.nickname_max_length },
|
44
|
+
unless: -> { deleted? || managed? }
|
39
45
|
validates :locale, inclusion: { in: :available_locales }, allow_blank: true
|
40
46
|
validates :tos_agreement, acceptance: true, allow_nil: false, on: :create
|
41
47
|
validates :tos_agreement, acceptance: true, if: :user_invited?
|
@@ -23,7 +23,7 @@ module Decidim
|
|
23
23
|
validates_avatar
|
24
24
|
mount_uploader :avatar, Decidim::AvatarUploader
|
25
25
|
|
26
|
-
validates :name,
|
26
|
+
validates :name, format: { with: REGEXP_NAME }
|
27
27
|
|
28
28
|
# Public: Returns a collection with all the entities this user is following.
|
29
29
|
#
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div class="card--list__item">
|
2
2
|
<div class="card--list__text">
|
3
3
|
<div>
|
4
|
-
<a href="<%= document.url %>" class="card__link">
|
4
|
+
<a href="<%= document.url %>" class="card__link" target="_blank">
|
5
5
|
<h4 class="card--list__heading heading6">
|
6
6
|
<%= attachment_title(document) %> <small><%= document.file_type %> <%= number_to_human_size(document.file_size) %></small>
|
7
7
|
</h4>
|
data/config/locales/es-MX.yml
CHANGED
@@ -1538,6 +1538,10 @@ es-MX:
|
|
1538
1538
|
too_short: Es demasiado corto (menos de 15 caracteres)
|
1539
1539
|
forms:
|
1540
1540
|
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
|
1541
|
+
length_validator:
|
1542
|
+
minimum:
|
1543
|
+
one: Al menos %{count} carácter
|
1544
|
+
other: Al menos %{count} caracteres
|
1541
1545
|
required: Obligatorio
|
1542
1546
|
required_explanation: "* Los campos requeridos están marcados con un asterisco"
|
1543
1547
|
invisible_captcha:
|
data/config/locales/es-PY.yml
CHANGED
@@ -1538,6 +1538,10 @@ es-PY:
|
|
1538
1538
|
too_short: es demasiado corto (menos de 15 caracteres)
|
1539
1539
|
forms:
|
1540
1540
|
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
|
1541
|
+
length_validator:
|
1542
|
+
minimum:
|
1543
|
+
one: Al menos %{count} carácter
|
1544
|
+
other: Al menos %{count} caracteres
|
1541
1545
|
required: Obligatorio
|
1542
1546
|
required_explanation: "* Los campos requeridos están marcados con un asterisco"
|
1543
1547
|
invisible_captcha:
|
data/config/locales/es.yml
CHANGED
@@ -1534,6 +1534,10 @@ es:
|
|
1534
1534
|
too_short: Es demasiado corto (menos de 15 caracteres)
|
1535
1535
|
forms:
|
1536
1536
|
correct_errors: Hay errores en el formulario, por favor corrígelos para continuar.
|
1537
|
+
length_validator:
|
1538
|
+
minimum:
|
1539
|
+
one: Al menos %{count} carácter
|
1540
|
+
other: Al menos %{count} caracteres
|
1537
1541
|
required: Obligatorio
|
1538
1542
|
required_explanation: "* Los campos requeridos están marcados con un asterisco"
|
1539
1543
|
invisible_captcha:
|
data/config/locales/fr.yml
CHANGED
@@ -704,7 +704,7 @@ fr:
|
|
704
704
|
file:
|
705
705
|
explanation: 'Orientation pour le fichier :'
|
706
706
|
message_1: Doit être une image ou un document.
|
707
|
-
message_2: Pour les images, utilisez de préférence des formats paysage, car le service recadre l'image. Pour les fichiers CSV, le séparateur entre les colonnes doit être une virgule (",")
|
707
|
+
message_2: Pour les images, utilisez de préférence des formats paysage, car le service recadre l'image. Pour les fichiers CSV, le séparateur entre les colonnes doit être une virgule (","). Pour pouvoir choisir le type de séparateur il recommander d'utiliser le logiciel "Libre Office"
|
708
708
|
image:
|
709
709
|
explanation: 'Orientation pour l''image:'
|
710
710
|
message_1: De préférence une image au format paysage qui n'a pas de texte.
|
data/config/locales/sv.yml
CHANGED
@@ -151,6 +151,7 @@ sv:
|
|
151
151
|
officialize: "%{user_name} gjorde deltagaren %{resource_name} officiell"
|
152
152
|
remove_from_admin: "%{user_name} tog bort deltagaren %{resource_name} med rollen: %{role}"
|
153
153
|
show_email: "%{user_name} hämtade e-postadressen för deltagaren %{resource_name}"
|
154
|
+
transfer: "%{user_name} överförde deltagaren %{resource_name}"
|
154
155
|
unblock: "%{user_name} avblockerade användaren %{resource_name}"
|
155
156
|
unofficialize: "%{user_name} gjorde deltagaren %{resource_name} inofficiell"
|
156
157
|
user_group:
|
@@ -386,6 +387,8 @@ sv:
|
|
386
387
|
cta_settings_form:
|
387
388
|
background_image: Bakgrundsbild
|
388
389
|
button_text: Uppmaningens text
|
390
|
+
button_url: Uppmaningens URL
|
391
|
+
description: Beskrivning
|
389
392
|
footer_sub_hero:
|
390
393
|
name: Sidfot sub hero banner
|
391
394
|
hero:
|
@@ -397,6 +400,7 @@ sv:
|
|
397
400
|
name: Banner för uppmärksammat innehåll
|
398
401
|
highlighted_elements_settings_form:
|
399
402
|
orders:
|
403
|
+
label: 'Sortera element efter:'
|
400
404
|
random: Slumpmässig
|
401
405
|
recent: Senaste
|
402
406
|
how_to_participate:
|
@@ -423,6 +427,7 @@ sv:
|
|
423
427
|
ready: Klar
|
424
428
|
show:
|
425
429
|
download_data: Hämta data
|
430
|
+
download_data_description: En fil som innehåller all information kopplad till ditt konto kommer att skickas till <strong>%{user_email}</strong>. Detta e-postmeddelande kommer att innehålla en .zip-fil och ett lösenord för att öppna den.<br/><br/>För att packa upp filen behöver du <a href="https://www.7-zip.org/">7-Zip</a> (för Windows) eller <a href="https://www.keka.io/">Keka</a> (för MacOS). Om du använder Linux, för det mesta kommer du att ha den installerad som standard. Om inte, kan du använda <a href="https://gitlab.gnome.org/GNOME/file-roller">File Roller</a> eller <a href="https://peazip.github.io">PeaZip</a>).
|
426
431
|
request_data: Begär data
|
427
432
|
datepicker:
|
428
433
|
help_text: 'Förväntat format: %{datepicker_format}'
|
@@ -432,6 +437,7 @@ sv:
|
|
432
437
|
email_already_exists: Ett annat konto använder samma e-postadress
|
433
438
|
new:
|
434
439
|
complete_profile: Komplettera profil
|
440
|
+
nickname_help: Ditt alias i %{organization}. Kan bara innehålla bokstäver, siffror, '-' och '_'.
|
435
441
|
sign_up: Var god slutför din profil
|
436
442
|
subtitle: Slutför registreringen genom att fylla i följande formulär
|
437
443
|
username_help: Offentligt namn som visas i dina inlägg. Du kan ange ett annat namn än ditt eget, om du vill vara anonym.
|
@@ -440,6 +446,7 @@ sv:
|
|
440
446
|
already_have_an_account?: Har du redan ett konto?
|
441
447
|
newsletter: Få enstaka nyhetsbrev med relevant information
|
442
448
|
newsletter_title: Kontakttillstånd
|
449
|
+
nickname_help: Ditt alias i %{organization}. Kan bara innehålla bokstäver, siffror, '-' och '_'.
|
443
450
|
password_help: "Minst %{minimun_characters} tecken, får inte vara för vanligt (som 123456) och måste vara skilt från ditt användarnamn och din e-postadress."
|
444
451
|
sign_in: Logga in
|
445
452
|
sign_up: Registrera dig
|
@@ -456,11 +463,14 @@ sv:
|
|
456
463
|
register: Skapa ett konto
|
457
464
|
sign_in_disabled: Du kan få åtkomst via ett externt konto
|
458
465
|
sign_up_disabled: Anmälan är avaktiverad, men du kan komma in med ett befintligt konto
|
466
|
+
user:
|
467
|
+
timed_out: Du var inaktiv för länge och du har blivit automatiskt utloggad från tjänsten. Om du vill fortsätta använda tjänsten, vänligen logga in igen.
|
459
468
|
shared:
|
460
469
|
newsletter_modal:
|
461
470
|
buttons:
|
462
471
|
check: Kontrollera och fortsätt
|
463
472
|
close_modal: Stäng modal
|
473
|
+
uncheck: Behåll avmarkeringen
|
464
474
|
notice: |-
|
465
475
|
<p>Hej, är du säker på att du inte vill få nyhetsbrevet?<br>
|
466
476
|
Överväg gärna en gång till att markera kryssrutan för nyhetsbrev nedan.<br>
|
@@ -626,6 +636,11 @@ sv:
|
|
626
636
|
notification_title: '%{user_group_name} användargrupp har uppdaterat sin profil och lämnar den overifierad. Du kan nu verifiera den i <a href="%{groups_admin_path}">administratörspanelen</a>.'
|
627
637
|
notification_event:
|
628
638
|
notification_title: En händelse inträffade i <a href="%{resource_path}">%{resource_title}</a>.
|
639
|
+
reports:
|
640
|
+
resource_hidden:
|
641
|
+
email_intro: En administratör tog bort din %{resource_type} eftersom den har rapporterats som %{report_reasons}.
|
642
|
+
email_outro: Du har fått det här meddelandet eftersom du är en författare till detta innehåll.
|
643
|
+
email_subject: Din %{resource_type} har tagits bort
|
629
644
|
resource_endorsed:
|
630
645
|
email_intro: '%{endorser_name} %{endorser_nickname}, som du följer, har just instämt med "%{resource_title}" och vi tror att du kan vara intresserad. Ta en titt och bidra:'
|
631
646
|
email_outro: Du har fått det här meddelandet eftersom du följer %{endorser_nickname}. Du kan sluta att ta emot meddelanden via föregående länk.
|
@@ -1187,6 +1202,7 @@ sv:
|
|
1187
1202
|
view_all: Visa alla (%{count})
|
1188
1203
|
security:
|
1189
1204
|
selfxss_warning:
|
1205
|
+
description: Denna webbläsarfunktion är avsedd för utvecklare och du bör inte klistra in något här om du ombads att göra det. Klistra in innehåll i detta fönster kan påverka din integritet och ge hackare tillgång till ditt konto.
|
1190
1206
|
title: OBS!
|
1191
1207
|
shared:
|
1192
1208
|
confirm_modal:
|
@@ -1503,6 +1519,10 @@ sv:
|
|
1503
1519
|
too_short: är för kort (under 15 tecken)
|
1504
1520
|
forms:
|
1505
1521
|
correct_errors: Det finns fel på formuläret, vänligen korrigera dem för att fortsätta.
|
1522
|
+
length_validator:
|
1523
|
+
minimum:
|
1524
|
+
one: Minst %{count} tecken
|
1525
|
+
other: Minst %{count} tecken
|
1506
1526
|
required: Krävs
|
1507
1527
|
required_explanation: "* Obligatoriska fält är markerade med en asterisk"
|
1508
1528
|
invisible_captcha:
|
data/lib/decidim/core/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.24.
|
4
|
+
version: 0.24.2
|
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: 2021-
|
13
|
+
date: 2021-05-07 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: active_link_to
|
@@ -608,14 +608,14 @@ dependencies:
|
|
608
608
|
requirements:
|
609
609
|
- - "~>"
|
610
610
|
- !ruby/object:Gem::Version
|
611
|
-
version: 5.2.
|
611
|
+
version: 5.2.6
|
612
612
|
type: :runtime
|
613
613
|
prerelease: false
|
614
614
|
version_requirements: !ruby/object:Gem::Requirement
|
615
615
|
requirements:
|
616
616
|
- - "~>"
|
617
617
|
- !ruby/object:Gem::Version
|
618
|
-
version: 5.2.
|
618
|
+
version: 5.2.6
|
619
619
|
- !ruby/object:Gem::Dependency
|
620
620
|
name: rails-i18n
|
621
621
|
requirement: !ruby/object:Gem::Requirement
|
@@ -858,28 +858,28 @@ dependencies:
|
|
858
858
|
requirements:
|
859
859
|
- - '='
|
860
860
|
- !ruby/object:Gem::Version
|
861
|
-
version: 0.24.
|
861
|
+
version: 0.24.2
|
862
862
|
type: :runtime
|
863
863
|
prerelease: false
|
864
864
|
version_requirements: !ruby/object:Gem::Requirement
|
865
865
|
requirements:
|
866
866
|
- - '='
|
867
867
|
- !ruby/object:Gem::Version
|
868
|
-
version: 0.24.
|
868
|
+
version: 0.24.2
|
869
869
|
- !ruby/object:Gem::Dependency
|
870
870
|
name: decidim-dev
|
871
871
|
requirement: !ruby/object:Gem::Requirement
|
872
872
|
requirements:
|
873
873
|
- - '='
|
874
874
|
- !ruby/object:Gem::Version
|
875
|
-
version: 0.24.
|
875
|
+
version: 0.24.2
|
876
876
|
type: :development
|
877
877
|
prerelease: false
|
878
878
|
version_requirements: !ruby/object:Gem::Requirement
|
879
879
|
requirements:
|
880
880
|
- - '='
|
881
881
|
- !ruby/object:Gem::Version
|
882
|
-
version: 0.24.
|
882
|
+
version: 0.24.2
|
883
883
|
description: Adds core features so other engines can hook into the framework.
|
884
884
|
email:
|
885
885
|
- josepjaume@gmail.com
|
@@ -1493,6 +1493,7 @@ files:
|
|
1493
1493
|
- app/helpers/decidim/aria_selected_link_to_helper.rb
|
1494
1494
|
- app/helpers/decidim/attachments_helper.rb
|
1495
1495
|
- app/helpers/decidim/authorization_form_helper.rb
|
1496
|
+
- app/helpers/decidim/cache_helper.rb
|
1496
1497
|
- app/helpers/decidim/card_helper.rb
|
1497
1498
|
- app/helpers/decidim/categories_helper.rb
|
1498
1499
|
- app/helpers/decidim/cells_helper.rb
|