Skip to content

Rework accessibility improvements#6253

Merged
tramuntanal merged 409 commits intodevelopfrom
feat/accessibility-improvements
Jul 24, 2020
Merged

Rework accessibility improvements#6253
tramuntanal merged 409 commits intodevelopfrom
feat/accessibility-improvements

Conversation

@htmlboy
Copy link
Copy Markdown
Contributor

@htmlboy htmlboy commented Jun 30, 2020

🎩 What? Why?

This is an attempt to introduce the new accessibility improvements by @MoretS in #5684 and @ahukkanen in #6124 (it contains @ahukkanen's PR #6124) while keeping the UI and UX consistent with the previous styles.

This is a quick fix to move the development forward, since several developments depend on the already merged #5684, that solves several accessibility problems but creates interface inconsistencies, partially solved in #6124. Some of the accessibility problems addessed before will require further work after this PR.

📌 Related Issues

Problems addressed

  • Most of the CSS uppercase (a.k.a. smallcaps) text elements are back. Removing them without adjusting the design system breaks the hierarchy of the interface and therefore the legibility. This type of change requires further discussion and documentation.

  • Focus styles for links and buttons are unified to a 1px dotted outline, as it's the default in browsers like Firefox and a thicker, solid border might clash with the readability of the interface.

  • Form fields focus styles are back to their custom styles (only form fields without proper focus styles should be fixed, not every form element).

  • Anchors/links have underline styles on :hover by default. I've applied these styles to every anchor element, but this could be removed in some elements if an alternative visual hint is applied.

  • External link icon styles fixed.

  • Topbar search form styles modified: high-contrast styles (input and button background color) are only applied when the user focus on the form, in order to reduce the visual noise in this area.

  • Removed shadows from buttons, since there's enough contrast to be perceived as actionable. Pressed (active) styles are also closer to the :hover effect (brightness adjust), but the hollow (border-only, transparent) buttons keep the colored background on :hover, since it doesn't break the general design and makes these kind of buttons look more actionable.

ahukkanen added 30 commits May 18, 2020 00:17
Unify the button styling in some views:
- Light hollow buttons active and focus states
- Profile sidebar secondary buttons to hollow buttons
- New collaborative draft button similar to normal proposals
- Versions "back to" link hollow instead of secondary

Original commit: 6aecf58
ivan-mr
ivan-mr previously approved these changes Jul 22, 2020
Copy link
Copy Markdown
Contributor

@ivan-mr ivan-mr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything seems to be ok. Thanks!!

@tramuntanal
Copy link
Copy Markdown
Contributor

I've re-run the "[CI] Admin / Tests" as it got stuck but there's still the Debates tests failing, can you check @microstudi ?

Copy link
Copy Markdown
Contributor

@tramuntanal tramuntanal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Huge work in this PR congrats!

@tramuntanal tramuntanal merged commit 1abd7b7 into develop Jul 24, 2020
@tramuntanal tramuntanal deleted the feat/accessibility-improvements branch July 24, 2020 12:18
microstudi added a commit that referenced this pull request Jul 24, 2020
* [TAC025] Fix consultations spec after HTML validation

Original commit: 989b391

* [TAC025] Fix assemblies spec after HTML validation

Original commit: d6b1699

* [TAC025] Improve the required fields on the forms for screen reader

Original commit: 5cb9744

* [TAC025] Fix test issues after HTML validation

Original commit: d04ec68

* [TAC025] Fix a typo in the form builder

Original commit: 0f2efec

* [TAC025] Fix specs after HTML validation changes

Original commit: c5bb2e6

* [TAC025] Fix spec after HTML validation

Original commit: cd448d2

* [TAC025] Fix specs after HTML validation

Original commit: a4c48e5

* [TAC025] Fix the text_area method on the form builder

Original commit: 560aecb

* [TAC025] Fix data-open reveal buttons submitting the underlying form

Original commit: 40fe31f

* [TAC025] Fix proposals listing spec after HTML validation

Original commit: 5dfbb29

* [TAC025] Fix admin test after required label change on the forms

Original commit: 65a4714

* [TAC025] Fix debates specs after the HTML validation

Original commit: 3dcaa44

* [TAC025] Revert disabling join meeting button when no registration form

Original commit: 97259e6

* [TAC025] Fix meetings specs after the HTML validation

Original commit: 60b8665

* [TAC025] Fix capybara data picker support methods after HTML validation

Original commit: d6076f4

* [TAC025] Fix redundant cell class definition (already defined)

Original commit: 70417b9

* [TAC025] Fix hashtaggable translated editor fields after HTML validation

Original commit: 24eeb2f

* [TAC025] Define a specific class for activity card

Original commit: aad245f

* [TAC025] Fix core specs after the HTML validation

Original commit: f87fada

* [TAC025] Fix an oversight in check boxes tree during HTML validation

Original commit: 9cb97e2

* [TAC025] Fix vote proposal spec after HTML validation

Original commit: fcf8cd1

* [TAC022] Unify some buttons

Unify the button styling in some views:
- Light hollow buttons active and focus states
- Profile sidebar secondary buttons to hollow buttons
- New collaborative draft button similar to normal proposals
- Versions "back to" link hollow instead of secondary

Original commit: 6aecf58

* [TAC025] Fix conferences HTML validation errors

Original commit: a28d13d

* [TAC022] Unify confereces registration links on top of hero image

Original commit: 82d8a3f

* [TAC025] Fix HTML validation issues in the core gem

Original commit: 0ab7781

* [TAC028] Add ALT text to card images

Original commit: 88b0268

* [TAC073] Fix element read order on proposal pages

Original commit: 2ea7532

* [TAC073] Fix element read order on collaborative draft pages

Original commit: f0a8880

* [TAC038] Fix followers button for screen readers

Original commit: 542d3be

* [TAC038] Improve the follow button for screen readers

Original commit: 9923b7a

* [TAC036] Fix process card dates first list item

For screen readers, the first list item did not read anything
leaving the user confused.

Original commit: b1304df

* Fix rubocop violation

Original commit: 7aaa253

* [TAC055] Fixes regarding the budgets progress bar

- Make the screen reader always announce the correct percentage
  of the element instead of too high percentages, the screen
  reader or the browser calculates the percentage with the
  following formula:
  `valuenow` / (`valuemax` - `valuemin`)
- Fix the threshold progress bar

Original commit: e750734

* [TAC073] Fix spec after changing the proposal page DOM order

Original commit: 98d8055

* [TAC028] Fix specs after adding ALT text to card images

Original commit: 5b1fc9a

* [TAC061] Fix character counter with input prefix or suffix

Original commit: b712329

* Add missing scope_id term

Original commit: df4d8ca

* Add guidance texts to the file upload fields

Original commit: 8e58b94

* Fix the topbar for Safari and Firefox

Original commit: 8c20520

* Fix social button styling

Original commit: e8e8c25

* [TAC061] Improve the length validation on the proposal body

Original commit: 8f85e16

* Clarify button text for "already following participatory space"

Original commit: 1d508ad

* Fix scope not sticking when editing a proposal

Original commit: 708ee25

* Ignore few "missing" and "unused" terms (which are not missing nor unused)

Original commit: 2a46f4d

* Fix rubocop violations

Original commit: 3180b4a

* Fix the omniauth mini buttons styling and accessibility

Original commit: c6f0310

* Fix file upload help texts for the form upload field

Original commit: 33e7ad6

* Fix endorsements visible when not enabled

Original commit: 1df37bb

* Fix heading levels to normal text as in the body text

This caused the h2 to look smaller than h2 in the main content
which caused confusion among the content editors.

Original commit: bb9512a

* Fix extra margin on the pages index page

Original commit: 7db7094

* [TAC025] Fix HTML validation issues

Original commit: 3087364

* Update the attachment title UI label

Original commit: 8b24705

* Update svg4everybody (was broken on IE11)

Original commit: 1a173c2

* Fix mysterious IE11 issue with missing forEach method

Original commit: 2b827ca

* Fix dynamic SVG icons on IE11

Original commit: 8958fbb

* Fix topbar search on IE11

Original commit: 2c84f8b

* Update the file help messages (attachment => file)

Original commit: 4f06c02

* [TAC034] Improve the help text on the dynamic filtering forms

Original commit: 2cc1198

* [TAC037] Add explanation to card "created at" status date

Original commit: 67afdac

* Add missing title translation for proposals update view

When the saving of a proposal fails, it wasn't showing the
correct title on the page.

Original commit: 3fb67d2

* Add missing translation key breaking an admin view

Original commit: 12ebd5c

* [TAC074] Improve the report inappropriate content alternative text

Original commit: 5412ba7

* [TAC042] Fix admin specs after the ALLCAPS change

* [TAC042] Fix ALLCAPS for budget list data elements

* [TAC019] Fix the already followin participatory space double text

After the changes described at [TAC019], the participatory space
title was written twice for the screen readers.

* [TAC019] Fix follows example specs after link context updates

* [TAC019] Validate HTML - Add section title ID

Original commit: 2da7fe9

* [TAC042] Fix the initiative page ALLCAPS texts

* [TAC065] Make the proposal creation steps more accessible

Original commit: 1a5654f

* [TAC064] Fix re-clicking a normal confirm link

* [TAC042] Fix initiatives versions spec after the ALLCAPS change

* [TAC022] Unify button and link styling across application

Fix typo in the previous re-commit.

Original commit: 1dd9438

* [TAC019] Fix unclosed if statement in proposal vote button

Fix a typo in the original re-commit.

Original commit: 2da7fe9

* [TAC042] Fix ALLCAPS in the proposal supports

* [TAC042] Fix vote proposal spec after supports ALLCAPS change

* Remove unused translation key

* Normalize the en locale translation files

* ERB lint

* [TAC042] Fix initiative signing spec after the ALLCAPS change

* Revert locales fi and sv

Revert the locale files back to commit:
204758a

This is needed for Decidim core pull requests.

* [TAC042] Fix initiative signing SMS spec after the ALLCAPS change

* [TAC019] Add unique link purpose text for see all meetings link

Original commit: 2da7fe9

* Fix topbar link focus state border

The border was spanning too wide because of the before element on
the link also on desktop widths.

* Add more margin after form help text

This change makes the form fields better distinguished from each
other when they have the help text after them.

* [TAC023] Fix the admin UI dropdowns according to WCAG criteria

* [TAC007] Mark the correct aria roles for icons

Most of the icons do not need to be announced by the screen
reader, so we apply the role "none presentation" to them.

* [TAC009] Generalize the search buttons next to free text search box

* Cleanup and lint (double space to single space)

* [TAC019] Add screen reader descriptions for the verifications view

* [TAC036] Add textual explanations for the date icons next to dates

* [TAC027] Improve the usability of the floating help

After the accessibility changes the floating help buttons were
making the user jump in the view.

* [TAC041] Make "Endorsements" translatable

* [TAC019] Add link context for marking notification as read

* [TAC027] Add the close help button translation

Related to: 9f03f9a

* Add textual explanation for the officialized badge icon

* [TAC019] Add translation for renewing a verification

Related to: aaa356b

* [TAC009] Generalize the search button next to intiatives filter

Related to: 3a6292b

* Fix initiatives comments count translation for multiple comments

* [TAC007] Mark the correct aria role for collaborative drafts

Related to: 8fc7b38

* [TAC063] Make the close modal texts translatable

* [TAC009] Add label text for screen reader in the header search

* [TAC010] Add footer nav element according to WCAG 1.3.1

* [TAC015] Add lang attribute to the language chooser

* [TAC019] Translatable screen reader explanations for footer links

* [TAC021] Add external link text explanation for screen readers

* [TAC021] Improve external link styling

* [TAC023] [HAC4.1] Update foundation for making dropdowns accessible

Updating foundation makes dropdowns more accessible.

See:
foundation/foundation-sites#8810

* [TAC023] [HAC4.1] Fix admin CSS after foundation update

Apply the foundation override to fix SCSS compilation crashing
for the admin views.

Related to: 6890387

* [TAC023] [HAC4.1] Improve the usability of the dropdown menus

These changes makes the dropdown menus accessible using a screen
reader.

* [TAC019] Add the organization name to the social media links

* [TAC024] Add user account dropdown menu aria link explanation

To emphasize for screen readers that the link is for the user
account menu.

* [TAC007] Add icon roles for some of the presentational icons

Some icons were still missing the aria roles.

* [TAC007] Add correct label for the show conversation icon link

* [TAC030] Back to process page link to process steps index page

* [TAC037] Add "created at" label next to created at date for proposals

* [TAC038] Remove <title> elements from the icons SVG

This causes the accessibility titles of the icons on the page to
show the icon's technical name as its title. This is not desired
functionality for accessibility.

* [TAC038] Fix SVG icon titles for accessibility

* [TAC023] [HAC4.1] Fix system CSS after foundation update

Apply the foundation override to fix SCSS compilation crashing for
the admin views.

Related to: 6890387

* [TAC023] Further improve the dropdown menu accessibility

* [TAC038] Remove unnecessary titles from the icon links

These titles did not add any valuable information for
accessibility and they were rather confusing.

* [TAC023] Add proper screen reader label for the language menu

This makes the language menu more accessible using a screen
reader. The user is no longer confused by the language name as the
menu title and instead they will get a proper label "Choose
language".

* [TAC051] Remove the tabindex from the Foundation progress bars

This caused the progress bar elements to be focusable using the
keyboard which is not necessary and not desired functionality as
there is nothing the progress bar allows the user to do.

Related to:
foundation/foundation-sites#12043

* [TAC070] Clarify scope and category tag links for accessibility

Clarify the purposes of the links for accessibility.

WCAG 2.1 AA / 4.2.1

* [TAC070] Fix the link purposes for proposal scope/category tags

WCAG 2.1 AA / 4.2.1

* [TAC074] Fix comments order by for screen reader accessibility

* [TAC023] [HAC4.1] Fix order by dropdown after Foundation update

This fixes the order by dropdown next to the comments section. The
background color got broken after Foundation was updated.

Related to: 6890387

* [TAC063] Make the alert dismiss buttons translatable

* [TAC074] Add labels/titles for the comment vote up/down buttons

* [TAC048] Refactor + Make the results per page work dynamically

Refactor the dynamic listing options for the results listing views
and make the results per page selector work dynamically.

* [TAC061] Improve form error validation for screen readers

- Automatically focus to the first erroneous field
- Announce there are errors on the form that need to be corrected

* [TAC58] [TAC083] Add general explanation for form required fields

* [TAC020] [TAC086] Improve the focus borders

- Implement alternative focus color to be used where the main
  color is not distinctive enough
- Add outline offset to better distinguish the focus border on
  certain elements

* Navbar styling fixes after the accessibility updates

* [TAC056] [TAC062] Improved the callout alert accessibility

Now the alert is announced by most screen readers automatically
after the page has loaded.

* Fix budgeting add/remove project labels

* Fix success/alert/etc. button coloring after Foundation update

* [HAC6.1] Remove new proposal button when creation is not enabled

The new proposal button was not implemented in accessible way
making it hard to understand for screen reader users. It is also
unnecessary when proposal creation is not enabled.

* [HAC5.13] Mark pagination current page with aria-current

This makes the screen reader announce the current page in the
pagination.

* Fix custom confirm dialog after Foundation update

* Fix translation location after core merge

* Fix comment report and link button screen reader titles + lint

* Clarify the link title for "report a problem"

* Bundle comments JS

* Fix CSS issue after the foundation update

The applied foundation SCSS patch was not working correctly. This
fixes the styling issues caused by the patch.

* Re-bundle core and admin JS

* Remove unused translation key

* Fix Gemfile sanity for design app and generators

* Fix save participatory texts draft

* Fix ambigious link clicks in spec after the ALLCAPS change

* Fix icon helper spec after the SVG role changes

* Fix reports examples after Foundation update

* Fix manage impersonations spec after the required field label change

* Fix comment by spec when user group name has special characters

* Normalize the locales

* Fix account deletion confirmation after Foundation update

* Fix forms spec after core merge + ALLCAPS change

* Revert "Fix success/alert/etc. button coloring after Foundation update"

This reverts commit 25c1fdf.

* Add results listing JS to the core manifest (broke non-dev envs)

* Stylelint

* Stylelint - Ignore newline before @else

* Stylelint

* Fix new initiatives spec after with the ALLCAPS changes

* All label to "back to all conversations"

* Fix initiatives filter spec for the ALLCAPS change

* Fix forms specs for dismissing the page unload notification

* Add title to meetings view defining the type of the results displayed

* Fix flanky test that did not always work correctly

* Make "more about cookies" link accessible

* Fixes after merge with develop

- Update specs
- Migrate parts broken by the versions functionality refactoring

* Fix SVG roles for valid HTML

Although suggested by some guides, "none", "presentation" or
"presentation none" are not valid SVG element ARIA roles according
to the specification or the HTML validators.

Change all SVGs marked with those roles to use the "img" role and
add the "aria-hidden" attribute to them.

* Fix syntax error after HTML validation

* HTML-validation: fix double <main> elements in various parts

* HTML-validation: fix budget voting button disabled attributes

* HTML-validation: fix form field prefix/suffix markup

* HTML-validation: add missing ALT-attribute to profile image

* HTML-validation: fix wizard invalid concecutive <ol> tags

* Add aria-current to wizard stepper current element

* HTML-validation: fix double data-open attribute for authorize btns

* HTML-validation: namespace the user related forms

This ensures there are no doubled ID attributes on the page in
case there are multiple user forms displayed at the same time,
e.g. on the login page (registration form and login modal).

* HTML-validation: remove autofocus from login modal

There can only be one autofocus element on the page.

* HTML-validation: invisible captcha styles to the page head

* HTML-validation: remove invalid label="false" attribute from input

* HTML-validation: change article tags to divs

This is because the article tags do not represent an actual
article and they do not have a h2-h6 defined within them.

* HTML-validation: validate the new conversation views

* HTML-validation: unique IDs for irreversible action modals

* HTML-validation: fix label for attribute missing reference

* HTML-validation: fix invalid <small> element contents

The small elements contained tags that are not allowed within
them.

* HTML-validation: fix disabled proposal support buttons

- Span elements cannot be marked with "disabled"
- For accessibility, the buttons should be represented as buttons

* [TAC022] Unify the conversations reply button styling

* Fix specs broken by the HTML validation

* Recovered uppercase styles. Anchor :hover with text-decoration. Button :hover styles. Input :focus styles

* Process phase uppercase. Topbar search general styles

* Stylelint fixes

* Fix broken en translation file in decidim-meetings

* Fix specs broken by the merge

* Fix decidim-meetings expore_versions_spec after the merge

* External link style fixes

* card footer upperclase and alignments

* Removed :hover styles from cards since cards are not clickable

* Flag button and support/follow button fixes

* Documents, meetings and other document lists with unified font sizes

* Removed unnecessary :hover styles

* Participatory space for 'already following' for screen readers only in English translation

* Cityhall logo position fix

* Cityhall discarded from external-link JS

* Contextual help position in forms

* Quill toolbar video icon margin fix

* Followers/Members counter style fixes

* update linters

* style lints

* revert vendor modifications

* downgrade rubocop, order locales

* more linting

* fix version diff javascript

* rebuild js

* revert tests uppercases

* core spec fixes

* fix sever modules specs

* fix more specs in modules

* fix last proposals specs

* revert css flex property

* fix chromdriver spec error

* Add remaining chars helper text in quill editors

* test characters only in proposals

* fix new proposal test

* fix case in debate version spec

Co-authored-by: Antti Hukkanen <antti.hukkanen@mainiotech.fi>
Co-authored-by: Ivan Vergés <ivan@platoniq.net>
# Conflicts:
#	Gemfile.lock
#	decidim-comments/app/assets/javascripts/decidim/comments/bundle.js
#	decidim-comments/app/frontend/comments/comment.component.tsx
#	decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6
#	decidim-core/app/cells/decidim/author/flag.erb
#	decidim-core/app/cells/decidim/diff/attribute.erb
#	decidim-core/app/views/decidim/scopes/_scopes_picker_input.html.erb
#	decidim-core/spec/cells/decidim/diff_cell_spec.rb
#	decidim-core/spec/system/registration_spec.rb
#	decidim-debates/app/views/decidim/debates/debates/_form.html.erb
#	decidim-debates/config/locales/en.yml
#	decidim-debates/spec/system/debates_versions_spec.rb
#	decidim-forms/app/views/decidim/forms/questionnaires/_answer.html.erb
#	decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb
#	decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_questions.rb
#	decidim-meetings/config/locales/en.yml
#	decidim-meetings/spec/system/explore_meetings_spec.rb
tramuntanal pushed a commit that referenced this pull request Jul 28, 2020
* Rework accessibility improvements (#6253)

Co-authored-by: Antti Hukkanen <antti.hukkanen@mainiotech.fi>
Co-authored-by: Ivan Vergés <ivan@platoniq.net>
# Conflicts:
#	Gemfile.lock
#	decidim-comments/app/assets/javascripts/decidim/comments/bundle.js
#	decidim-comments/app/frontend/comments/comment.component.tsx
#	decidim-core/app/assets/javascripts/decidim/diff_mode_dropdown.js.es6
#	decidim-core/app/cells/decidim/author/flag.erb
#	decidim-core/app/cells/decidim/diff/attribute.erb
#	decidim-core/app/views/decidim/scopes/_scopes_picker_input.html.erb
#	decidim-core/spec/cells/decidim/diff_cell_spec.rb
#	decidim-core/spec/system/registration_spec.rb
#	decidim-debates/app/views/decidim/debates/debates/_form.html.erb
#	decidim-debates/config/locales/en.yml
#	decidim-debates/spec/system/debates_versions_spec.rb
#	decidim-forms/app/views/decidim/forms/questionnaires/_answer.html.erb
#	decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb
#	decidim-forms/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_questions.rb
#	decidim-meetings/config/locales/en.yml
#	decidim-meetings/spec/system/explore_meetings_spec.rb

* rebuild bundle j

* fix scopes picker

* spec corrections

* fix scop test

Co-authored-by: Javier Usobiaga <javier@swwweet.com>
tramuntanal added a commit that referenced this pull request Nov 12, 2020
* Remove decidim-surveys legacy tables (#6178)

* Remove decidim-surveys legacy tables after migrating to decidim-forms

Removes legacy tables and also legacy columns in decidim_surveys_surveys.

* Add changelog entry

* Apply rubocop recomendations

* Remove `published_at` from SurveyType in graphql api

* Fix the edit link test failing randomly for participatory processes spec (#6180)

* Fix the edit link test failing seemingly randomly previously

The assemblies spec does multiple requests to the target pages
when testing with the assemblies spec. This was caused by warden
failing to authenticate the user on the correct request because
in certain situations the previous request's rendering caused
other requests to "use" the authenticated state before the edit
link test did its own request.

* Add CHANGELOG entry

* Add a developer note about edit_link_shared_examples

* Fix rest of the specs using "editable content for admins" examples

* Fix edit link test with the participatory_processes_spec.rb

Related to #6161

* Add CHANGELOG entry

* How to release following Gitflow (#5766)

* How to release a major PRE version

* Apply review recomendations

* Add a "During the validation period" chapter

* Update the doc for releasing minor versions, add Crowdin references

* Update styling for changelog contents

* Add the github release page creation step when releasing a minor

* Update the chagelog sections example

* Add step to remove unsupported branches from Crowdin on major/minor releases

* Clarify how Crowdin should be configured after a release

* Apply markdown linter corrections

* Extract release related doc from development_guide to advanced/releases

* Fix mispelling

* Add changelog entry

* Remove step to create a tag pointing to the beginning of the next release

* Fix mistype

`gem owner` instead of `gem owners`.

Co-authored-by: Ivan Vergés <ivan@platoniq.net>

* Apply review recommendations

Co-authored-by: Ivan Vergés <ivan@platoniq.net>

* New Crowdin translations (#6184)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* Rebuild comments JS bundle

Co-authored-by: Oliver Valls <oliver.vh@coditramuntana.com>

* Bump develop to next 0.23 version

* Fix rubocop errors arising from capybara upgrade (#6197)

* Fix some linterns errors arising from capybara upgrade

* Add PR link to changelog items

* Fix capybara visible option due to a rubocop documentation confusion and fix changelog

* Fix visible on have_selector

* Change linter to rubocop on changelog

* Elections questions and answers navigation consistency improve (#6139)

* feat: improve elections questions and answers navigation consistency

* test: update tests with the new navigation

* doc: add changelog entry

Co-authored-by: ivan-mr <ivan.mr@coditramuntana.com>

* Update stale.yml configuration for stale-bot (#6199)

* Remove "+" file, created by mistake (#6198)

* Fix comments JS errors and delays (#6193)

* Fix comments UI functionality broken by #5662

* Ensure there are no JS errors during the comments UI tests

* Lint the frontend spec helpers

* Add CHANGELOG entry

* Fix the meetings comments spec (static map requests HTTP 500)

* Fix CHANGELOG

* Document when contributors should contribute to changelog (#6209)

* Document when contributors should contribute to changelog

This simplifies our previous request to contributors to add a changelog entry for every PR.

* Add a note for contributors to check the `docs/development_guide`

* Remove the default check from the template

Co-authored-by: Agusti B.R. <agustibr@users.noreply.github.com>

* Fix little typo

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

Co-authored-by: Agusti B.R. <agustibr@users.noreply.github.com>
Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Import from proposals to answers (#6163)

* feat: add import proposal to answer form

* feat: add import proposal to elections class

* feat: add proposals imports controller

* feat: add permissions for proposals import

* feat: add route for proposals import

* feat: update resource_scope query

* feat: add en locales for proposals import

* feat: add button to import proposals to answers

* feat: add view for proposals import form

* fix: update and set question and answer associations

* test: complete import proposals to answers test

* doc: add changelog entry

* test: add permission test for proposals imports

* feat: apply feedback

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Fix link to previous changelog version (#6215)

* New Crowdin updates (#6211)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Greek)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Greek)

* New translations en.yml (Catalan)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (Romanian)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (Latvian)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (French, Canada)

* New translations en.yml (Irish)

* New translations en.yml (Irish)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Latvian)

* New translations en.yml (Swedish)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (Latvian)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Czech)

* New translations en.yml (Finnish)

* New translations en.yml (Catalan)

* New translations en.yml (French)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Hungarian)

* New translations en.yml (French, Canada)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Czech)

* New translations en.yml (Norwegian)

* Rebuild JS bundles

Co-authored-by: Oliver Valls <oliver.vh@coditramuntana.com>

* New Crowdin updates (#6219)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* Add line feeds at the end of paragraphs and lists (#6200)

* Add line feeds at the end of paragraphs and lists

Now it detects whether if a list is ordered or unordered, and adds numberings or bullet points respectively.

* Use double quotes to solve Rubocop offense

* Add Romanian as a new language (#6231)

* Publish and unpublish an election (#6152)

* Publish/Unpublish main logic

* Fix permissions for unpublish and delete

* Rubocop format

* Add CHANGELOG entry

* Format fixes

* Setting delete elections permission correctly

* Added translations pendign

* Added translations for email and notifications

* Applied i18n normalize

* Added unpublish election command test

* Trigger build

* Test and Type

* Exposed field published_at for graphql API

* Only expose published elections on GraphQL API

* Add some tests

* Permissions test

* Two more tests

* Added Publish Event TEst

* Add Test for Elections Log Class overwrite

* Allow actions on elections only when not started (date>now)

* Gemfile.lock changed after decidim update

* Made improvements of factories, format and translations structure

* Set the locale path as it was before

* Gemfile.lock changed

* Added test for presenter

* Added one more test

* Gemfile.lock changed

* Import and export for Assemblies (#5624)

* [WIP] added importation and exportation features

* [REFACTOR] removed TODO

* [FIX] locales missing translation

* [WIP] added more fields to importation

* [FIX] all attributes are imported properly

* [FIX] removed typos

* [FIX] test data, rspec tests, and chromedriver test

* [FIX] added chromedriver test

* [REFACTOR] assemblies type importation

* [FIX] added port to test json in order to improve coverage

* [FIX] step settings ids only override when there are steps

* [FIX] updated changelog

* [FIX] step settings ids only override when there are steps

* [FIX] added serializer test

* Solved only local urls being imported in assemblies and participatory_processes

* Solved not being able to export external attachments

* Update changelog

* Optimize test by replacing method call with a variable

* Update decidim-assemblies/spec/system/admin/admin_imports_assembly_spec.rb

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

Co-authored-by: Javier Jiménez <57717422+jarvisct@users.noreply.github.com>
Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Supersede "Manage conditions to hide or show questions in surveys" (#6241)

* Create QuestionCondition migration, model and spec

* Add validations and specs for QuestionCondition

* Specs for question_condition.fulfilled?

* Spec for match condition type

* Spec for match condition type

* Create QuestionConditionForm and its spec

* Add examples to QuestionConditionForm spec

* Rename model to more descriptive DisplayCondition

* Update DisplayCondition form and spec

* Add display_conditions association to question

* Create display_condition view elements and helpers

* Restructuring dynamic fields for display conditions

* Add utility methods

* Setup select tags

* Add question type in condition_question select

* Call url on condition question change

* Fetch json with answer_options from questionnaire form

* Load answer options into select

* Load answer options only when question type isMultipleOption

* Save display_conditions

* Update display condition form spec

* Improve DisplayConditionForm validations

* Fix question options for select

* Match attribute names in disp. condition form to database fields

* Load answer options from question

* Select options from URL js component

* Dynamic inputs for each display condition

* Filter condition types by condition question type

* Load saved condition question in select

* Load condition types in select depending on selected question type

* Update "move up" and "move down" buttons when questions dragged

* Implement display conditions behaviour when answering questionnaire

* Implement answer option condition type in answer questionnaire

* Handle multiple conditions on questionnaire answer

* Show errors and warning in admin display condition form

* Disable question in display condition select if type "sorting"

* Remove display conditions for first question after reordering

* Update labels in questionnaire form

* Manage multiple conditions on same question

* Manage free text choice for "match" display condition

* Erase unused values when saving display condition

* Update DisplayConditionForm specs

* Update DisplayConditionForm's questions_for_select

* Improve answer questionnaire with conditions UX

* Add examples to display condition form spec

* Add examples for #to_html_data in display condition model spec

* Add some missing details to model relations

* Stub examples for has_questionnaire spec

* Stub examples in manage_questionnaires spec

* "Answered" type user answer questionnaire specs

* DRY up spec for display conditions

* Simplify display conditions system specs

* Fix spec for not_equal display condition

* Specs for "match" display conditions

* Match single and multiple option with free text

* Non-working last two examples (only one question appears in html)

* Fixes for display conditions form

* First specs for admin manage questionnaire display conditions

* fix some javascript linter problems

* Admin manage questionnaire specs

* Admin add display condition spec

* Spec answer options loadin in display condition select

* Spec questions being load in display condition select

* Check parent question disabled in child select

* Lint (and refactor) javascript

* Fix multiple display conditions specs

* Remove unused translation

* Fix rubocop offenses

* Remove debug style for question with condition

* Update changelog

* Set positions for survey questions seeds

* Fix indentation in js

* Fix lines too long offense

* Fix erblint errors

* Move display conditions specs inside has_questionnaire shared_example

* Check data-types are set for options in questions select

* Add questions array

* Spec condition_type options loading after question select

* Add answer_options route to meetings

* Fix update_questionnaire command

* Wait 5 seconds for answer_options select to load

* Temporarily remove test failing on circleci but not locally

* DRY display condition admin  specs

* Split questionnaire shared system spec into multiple files

* Propagate question deletion to display conditions

* Specs for update display conditions

* Load stored answer option for display condition

* Update display conditions spec load answer option

* JS lint

* Fix rubocop offense

* Show only non-conditioned questions when questionnaire can't be answered

* Add factory spec for conditioned questions

* Spec private questionnaire readonly conditioned question

* update changelog

* Add seeds for display conditions

* Improve fulfilled? method in display condition model

* Validate mandatory attributes on answer if conditions fulfilled

* Spec for validate mandatory attributes on answer only if conditions fulfilled

* Fix spec

* Add conditions validation spec for answer_form

* Add message for disabled javascript when answering questionnaire

* Commit answers only for questions with fulfilled conditions

* Disable "Add condition" button unless question is saved

* Use standard naming for "as_json" in answer option presenter

* Document associations for question

* Add docstring in display_condition.rb

* Rename `conditions_fulfilled` to `display_conditions_fulfilled?`

* Fix merge error in forms.js

* Use as_json in has_questionnaire (method renamed)

* Refactor display condition specs to work with collapsible questions

* Remove duplicate line

* Move display conditions element inside question

* Fix specs

* Remove trailing whitespace

* Remove unused locale

* Add spec for forms admin application helper

* Add answer_option spec

* Add example for display conditions in update questionnaire spec

* Use bigint for ids

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Use option for variable name in block

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Use option for variable name in block

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Use "element" for variable name in block

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Typographic suggestion fix 1

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Typographic suggestion fix 2

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Typographic suggestion fix 3

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Typographic suggestion fix 4

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Typographic suggestion fix 5

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Clearer idx variable names in block

* Remove lines from 'Added' on CHANGELOG

Co-authored-by: Vera Rojman <vrojman@protonmail.com>
Co-authored-by: Ivan Vergés <ivan@platoniq.net>
Co-authored-by: Vera Rojman <8806781+verarojman@users.noreply.github.com>

* Fix crash when proposals meeting author is deleted (#6232)

* Introduce CoauthorableDummyResource so core don't have to depend upon other modules

* New factory for the CoauthorableDummyResource

* Introduce the NilPresenter

* Use NilPresenter when presenter can not be resolved

* Specs for CoauthorshipsCell

* Configure CoauthorableDummyResource as not searchable

* Refactor coauthorable_dummy_resource factory to not raise errors when being tested

* New Crowdin updates (#6226)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (French)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (French, Canada)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Turkish)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Hungarian)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* Rebuild JS bundles

* New translations en.yml (Czech)

* New translations en.yml (Czech)

Co-authored-by: Oliver Valls <oliver.vh@coditramuntana.com>

* Remove legacy Proposals endorsements table (#5643)

* [DOC] Update changelog upgrade notes.

* Remove legacy ProposalEndorsement related structures from database.

* Fix syntax error

* Fix bad automatic merge in changelog

* Clean changelog entries from bad merge

* Fix mistyped table name

* Rename stable branches and add changelog upgrade note (#6222)

* Memoizes and caches provider settings to improve performance (#6236)

* Memoizes provider settings to improve performance

* Caches the omniauth partials

* Meetings by participants or groups (#6095)

* feat(meetings): create meeting from public views

* feat(meetings): Edit from public views, enable user_groups to be organizer, polymorphic organizer association

* feat(meetings): reportable meetings

* feat(meetings): filter by origin and multiple checkboxes

* Remove duplicated method

* Fix typo

* Show meeting author

* Don't let admins perform actions on non-official meetings

* Add component setting

* Filter actions according to permissions

* Filter meetings by origin if setting is enabled

* Add newline

* Remove unused locale key

* Lint views

* Fix unit tests

* Fix tests

* Fix tests

* Fix unit tests

* Fix specs

* Remove extra line

* Fix tests

* Remove unused i18n key

* Fix class name

* Use Authorable concern instead of custom solution

* Lint code

* Fix factories

* Fix specs

* Use normalized author on meeting page

* Show normalized author on meeting card

* Fix spec

* Remove transparent and private meeting fields from public area

* Add version views for meetings

* Remove unused file

* Add changelog

* Ignore locale

* Fix specs

* Fix label

* Fix log visibility

* Fix typo

* Create Flaggable and Withdrawable controller concerns

This allos us to unlink decidim-core from deciim-proposals, decidim-meetings and decidim-blogs, and lets other modules (even external ones) to implements these features more easily.

* Fix concerns

Co-authored-by: Marc Riera Casals <mrc2407@gmail.com>
Co-authored-by: Ramon Costa <ramon.costa@gmail.com>

* Point simplecov to master to fix a coverage on monorepos (#6240)

* Point simplecov to master to fix a coverage on monorepos

* Bump simplecov for app design

* New Crowdin updates (#6252)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Dutch)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Finnish)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Bulgarian)

* New translations en.yml (Portuguese)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Spanish)

* New translations en.yml (Arabic)

* New translations en.yml (Catalan)

* New translations en.yml (Romanian)

* New translations en.yml (French)

* New translations en.yml (Basque)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (German)

* New translations en.yml (French, Canada)

* New translations en.yml (Russian with many plural form)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Ukrainian with many plural form)

* New translations en.yml (Galician)

* New translations en.yml (Turkish)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Icelandic)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Bulgarian)

* Retry `bundle install` step through an action (#5995)

* Add tests to proposal_presenter (#6265)

* Avoid deleting a meeting when it has at least one proposal originated in it (#6242)

* A meeting with proposals cannot be destroyed

* Normalize locale

* Add proposals method to Meeting model

* Refactor a little the destroy command

* Add alert when meeting has proposals

* Remove comments and logs

* Solve Rubocop offenses

* Use single quotes on locales

* Add tests to DestroyMeeting command

* Use load to memoize

* Use the standard I18n pluralization API

* Use .size instead of .count to minimize queries

* Remove specific error to avoid warning

* Remove newline adjacent spaces from alert

* Fix lint errors

* Add translation to ignore_unused

* Change method name 'proposals' from meeting model

* Add key to ignore missing as i18n-tasks is not resolving the scope

* Add tests to meeting_presenter

* Remove 'organizer' from meetings in tests

* Add tests to meetings controller (destroy)

* Solve linter error

* Solve linter offense

* Use delete instead of post

* Refactor test

* Be explicit on which controller is being tested

Co-authored-by: Oliver Valls <oliver.vh@coditramuntana.com>

* Enable debate reporting. Closes #6190 (#6254)

* Align icons in elections admin (#6218)

* Publish/Unpublish main logic

* Fix permissions for unpublish and delete

* Rubocop format

* Add CHANGELOG entry

* Format fixes

* Setting delete elections permission correctly

* Added translations pendign

* Added translations for email and notifications

* Applied i18n normalize

* Added unpublish election command test

* Trigger build

* Test and Type

* Exposed field published_at for graphql API

* Only expose published elections on GraphQL API

* Add some tests

* Permissions test

* Two more tests

* Added Publish Event TEst

* Add Test for Elections Log Class overwrite

* Allow actions on elections only when not started (date>now)

* Gemfile.lock changed after decidim update

* Made improvements of factories, format and translations structure

* Set the locale path as it was before

* Gemfile.lock changed

* Added test for presenter

* Added one more test

* Gemfile.lock changed

* Show disabled icons for elections admin not allowed actions

* Fix duplicate icons after merge

* Gemfile.lock changed

Co-authored-by: ivan-mr <ivan.mr@coditramuntana.com>

* Don't send notification if threshold has already been reached (#6261)

* Introduce a standardized branch naming (#6210)

* Introduce a standardized branch naming

* Remove trailing space

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* Better explain when to use each branch name prefix

* Add more prefixes and better explain fix/ and feature/

Co-authored-by: Jesús Di Bari <61017625+jesusdb@users.noreply.github.com>

* View and manage responses to surveys directly in the admin (#5770)

* Link to results from questionnaire edit view

* Define results_url in surveys controller

* Create and link questonnaire results view

* Remove answer-related statements from HasQuestionnaire concern

* Remove answer-related methods from general forms helper

* Create QuestionnaireAnswersHelper

* Redefine query method to be more general

* Add answers permissions to surveys module

* Enforce permission to view responses in questionnaire form

* Create HasQuestionnaireAnswers concern

* Add HasQuestionnaireAnswers to surveys controller

* Add questionnaire answers routes to surveys routes

* Create questionnaire answers index and show views

* Fix participant_fields method name

* Remove unnecessary 'participant_fields' method

* Fix empty line rubocop offense

* Add WickedPdf dependency to decidim-forms module

* Setup routes and permissions for questionnaire answers export

* Create queries to manage questionnaire participants

* Create presenter for questionnaire participant

* Refactor HasQuestionnaireAnswers to use new queries and presenters

* Refactor index and show views to use presenters

* Create views for questionnaire pdf export

* Return QuestionnaireUserAnswers to its previous state

* Create spec for QuestionnaireParticipants query

* Create spec for QuestionnaireParticipant query

* Create spec for QuestionnaireParticipantPresenter

* Add questionnaire_answers permissions specs

* Create spec for QuestionnaireAnswersHelper

* Create surveys controller spec

* Refactor pdf render in HasQuestionnaireAnswers

* Revert QuestionnaireUserAnswers to original state

* Remove trailing format from urls and set pdf title

* Display disabled button when no answers for questionnaire

* Display questionnaire completion percentage for participants

* Spec example for display_percentage

* Spec example for participant completion

* Style questionnaire answers pdf

* Update HasQuestionnaireAnswers usage explanation

* Move HasQuestionnaireAnswers helper methods to separate class

* Add #i18n-tasks-use comment in controller

* Fix usage of # i18n-tasks-use comment

* Normalize locales

* Update spec for helper ip_hash

* Refactor HasQuestionnaireAnswers helpers

* Normalize locales

* Create QuestionnaireAnswerPresenter

* Use answer presenter for participant answers

* Create spec for QuestionnaireAnswerPresenter

* Fix erblint errors

* Allow defining custom exporters derived from base PDF exporter

* Allow customizing controller for PDF exporters

* Modify exporters to take in any options

* Write spec for export manifest #options and #formats

* Remove options for exporters and set in child class instead

* Survey PDF spec

* Add doc comment to load_exporters in export_manifest

* Fix label in exports dropdown

* Add export label to locales

* Add doc comments

* update gemfile.lock

* Add CHANGELOG entry

* Normalize locales

* Simplify export locales

* Add i18n-use comments in exporters

* Update Gemfile.lock in decidim-generators and decidim_app-design

* Remove non-background answer exports

* Remove unused translations

* Remove unused translation

* Fix translations

* Normalize locales

* Fix answer presenter specs

* Add wicked_pdf gem to decidim-generators Gemfile

* Update decidim-generators Gemfile.lock

* requiire wickedpdf in initalizer file

* code optimizations

* refactor answer grouping query. Fix completion percentage

* refactor pdf exporter. bring back individual response export

* present first user answer to navigate

* fix tests

* changelog

* add alternate first td view if no short answers available

* add examples for admin answers pages

* Introduce i18n tasks use comments with another comment

* Export single answers as a background job

* Override questionnaire_participant_answers_url specifying engine in surveys controller

* Update changelog

* Create job for exporting a questionnaire participant's answers

* Relocate FormPDF spec in correct folder

* Spec for export questionnaire answers job

* decouple PDF exporter from questionnaires specific forms

* Style lint

* Try to fix translatable_attributes not found in ci spec

* Require form_pdf in spec instead of loading

* Require form_pdf in export survey answers spec

* Revert form_pdf's controller method (problem wasn't there)

* Add autoload FormPDF in forms module

* Autoload FormPDF exporter, not base PDF

* Remove "require" statements for form_pdf

* Add necessary require lines

* Load FormPDF into Exporters module

* Remove trailing whitespace

* add pdf css assets to the precompile list of sprockets

* Require 'form_pdf' exporter in HasQuestionnaireAnswers concern

* Require form_pdf exporter in decidim-forms spec_helper

* Require translations_helper in form_pdf

* refactor pdf rendering controller in its own class

* Remove unncessary requires for form_pdf

* Add final newline

* Delete unused #answered? method in answer model

* lint fix

* Clean changelog

* improve method comment

Co-authored-by: Ivan Vergés <ivan@platoniq.net>

* Polymorphic route support for ResourceLocatorPresenter (#6274)

* feature(core): add polymorphic support to resource locator

* chore: apply team review suggestions

* Fix and improve amendments diff visualizations (#6260)

* Fix and improve amendments diff visualizations

* ignore dropdown click if not changed

* New Crowdin updates (#6270)

* New translations en.yml (Catalan)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Czech)

* New translations en.yml (Bulgarian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Norwegian)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Bulgarian)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Finnish)

* New translations en.yml (Czech)

* New translations en.yml (French)

* New translations en.yml (Spanish)

* New translations en.yml (Romanian)

* New translations en.yml (French)

* New translations en.yml (Catalan)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (French, Canada)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (French, Canada)

* New translations en.yml (Dutch)

* New translations en.yml (Norwegian)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Italian)

* New translations en.yml (Swedish)

* New translations en.yml (Slovak)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* Truncate debate cell text & do not sanitize instructions (#6224)

* truncate debate cell text & do not sanitize instructions

* strip tags from debate cards

* avoid double sanitization in titles

* New Crowdin updates (#6282)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* Improve proposal selection (#6213)

* Implement proposals picker for budgeting projects

* Fix specs broken by the proposals picker implementation

* Add extra specs to test the proposals picker functionality

* Remove unnecessary newline

* Remove unnecessary published check from proposals with the picker

* Only display published proposals in the proposals picker

* Improve newsletter real time counters performance when using segmentation  (#6258)

* Improve newsletter_participant_ids retrieval for Comments

Comments is the most unperformant module of the retrieval of participant ids.

* Add spinner and cursor loading on recipients count ajax process

* Fix linter errors

* Fix spaces without component_ids on recipients_count_query

* Fix linter doing next if space has no component_ids

* Remove commented code

* Fix lint errors on newsletters.js.es6

* Fix linter error missing space

* Fix getting participant_ids for newsletter_recipients

* Unblock form when count recipients process start and put spinner only on counter message

Co-authored-by: Ivan Molinero <ivan.mr@coditramuntana.com>

* Update rack gem to patch CVE-2020-8184 (#6273)

* Fix linter on recipient counter text for newsletter helper (#6289)

* Remove validation rule that detects long words (#6272)

* fix detecting links as long words

* remove long words validator

* Fix admin initiative's answer redirection (#6279)

* update admin initiative answer redirection

* update changelog

* rubocop linting

* Revert "update changelog" according to decidim's changelog policy

This reverts commit e18f6fb2c59f6dd3a767d9f13ed2b495cd521583.

* Improve email notifications for reported content (#6053)

* Add more info to report email

* Add content to report email body

* Add some examples to spec report email body

* Add user_profile_url helper in report mailer

* Spec for user profile link

* Spec for reported content title and body in report mail

* Spec for reported content

* Add date to report mail

* Change author to creator_identity (it can be a group)

* Normalize locales

* Omit report details in email if not present

* Include full reason translation in email

* Try author if creator_identity not present in reportable

* Update changelog

* Account for different types of authorships in reported resource

* Show link to author url only when instance of UserBaseEntity

* Use proposal as resource for reported mailer spec

* Sync changelog with develop

* Elections authorizations (#6181)

* feat: allow to define scope attribute in settings

This field will be rendered as a scope picker.

* fix: prevent single scope picker to show values after prompt

Its style depends on it to work properly.

* feat: add vote action to elections

* feat: add dummy frontend pages for elections to be able to try it

* feat: support multiple extra explanations for verifications

* feat: add scope support to dummy authorization for users and permissions

* test: complete tests for permissions and changes on the dummy verifier

* style: fix lint issues

* fix: update docs and tests with the changes to dummy authorization

* doc: comment change suggestion applied

* test: ignore generators templates for coverage calculations

* test: upload coverage for generators

* Allow testing surveys prior to publication (#6176)

* Make questionnaire publicable

* Allow editing questionnaire when still unpublished, and destroy answers after every edit

* Fix questionnaire edit title

* Add hooks system to publicable concern

* Revert "Add hooks system to publicable concern"

This reverts commit 223286689de72f89e38f5bd0c2e32c6855e9271b.

* Make surveys listen to publish event to delete answers

* Add boolean and setting to determine if answers should be deleted

* Make deleting answers after editing questionnaire safer

* Fix specs

* Unify clean_on_publish name in model and settings

* Start specs for preview questionnaires

* Preview questionnaire specs

* Use settings to check if answers must be deleted after publishing survey

* Update spec for clean_after_publish (wip)

* test answers cleaning with ComponentPublish command

* Add wait to spec example

* Add warning to unpublished questionnaires

* Fix rb error

* Remove unused locale

* Fix erb lint error

* Add public_url in meetings' registration_form_controller

* Fix example in spec

* Fix spec

* Normalize locales

* Change "questionnaire_answers" to "questionnaire_responses" in spec

* Fix spec in admin manages surveys

* Add preview token system to surveys component

* Revert "Add preview token system to surveys component"

This reverts commit df10ffbad1e2cab553ae31c467b94beb2fead9b8.

* ensure papertrail is not creating extra versions of a meeting

* Remove touch: true from questionnaire_for association in questionnaire

Co-authored-by: Ivan Vergés <ivan@platoniq.net>

* New Crowdin updates (#6290)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* Make character limit for comments configurable (#6280)

* Opening commit :construction:

* Make comments length configurable

* Add missing translation

* Normalize locales

* Remove duplicated locales in debates i18n fields (#6283)

* Add migration to fix fields

* Improve code

* Move meeting services to their own model (#6269)

* Move meeting services to their own model

* Split in two migrations

* Fix seeds and factories

* Fix specs

* Simplify code

* Fix specs

* Add a migration to migrate data from legacy surveys' tables (#6299)

* Add a migration to migrate data from legacy surveys' tables

* Do not run the migration if Rails env is test

* Do not run the migration in the CI either

* Explain implementors how to migrate the data

* Add decidim_surveys_tasks.rake again

* Rubocopify

* Make comments handle i18n (#6276)

* Migrate comments body to an i18n JSONB column

* Handle i18n body

* Fix rubocop lints

* Fix specs

* Properly translate body

* Do not check surveys' legacy tables in development env (#6302)

* Fix newsletter target selection exception due to consultations (#5561)

* [FIX] consultation queries don't result in exception

* [FIX] added tests

* [FIX] updated changelog

* [FIX] refactored conditional style

* [FIX] consultation followers not being captured correctly

* Fixed changelog

* Added component_ids as an alias for question_ids

* Run rubocop

* Fix changelog

* Remove ajax methods and component factories

* Refactor conditional structure and flatten result

* CChange map in order to not modify original object

* Add questition to consultation in order to improve coverage

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Ivan Vergés <ivan@platoniq.net>
Co-authored-by: Gemma <gemmatm@coditramuntana.com>

* fix sorted questions mantaining order on submit errors (#6251)

* Memoize current_user (#6305)

This avoids querying the cache to check the `#managed_user` every time
`#current_user` is called.

This reduces the count of these cache checks in the default homepage
from 229 to 195 in development, which results in a ~100ms shorter
response time.

* Setup profiling tooling (#6281)

* Add --profiling flag to configure to dev app

This configures bullet and rack-mini-profiler for development apps to
perform all sorts of profiling: analyze memory, database, and call stack
with flamegraphs.

More details:
* https://github.com/flyerhzm/bullet,
* https://github.com/MiniProfiler/rack-mini-profiler.

* Replace gem list with decidim's gem name pattern

Bullet treats `stacktrace_includes` as a pattern to match against
backtrace lines so there's no need to specify all gems. This works
already.

* New Crowdin updates (#6296)

* New translations en.yml (German)

* New translations en.yml (Czech)

* New translations en.yml (Basque)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (French)

* New translations en.yml (Romanian)

* New translations en.yml (Catalan)

* New translations en.yml (Spanish)

* New translations en.yml (Arabic)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Turkish)

* New translations en.yml (Galician)

* New translations en.yml (Indonesian)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (French, Canada)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Italian)

* New translations en.yml (Dutch)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Swedish)

* New translations en.yml (Norwegian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Russian with many plural form)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Ukrainian with many plural form)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Czech)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Bulgarian)

* New translations en.yml (Portuguese)

* Rebuild JS bundle

* Rebuild JS bundle

Co-authored-by: Ramon Costa <ramon.costa@gmail.com>

* Custom validator that checks string fields (#6304)

* create sanity validator

* add sanitize validator to initiative form

* sanitize first char for proposal create form

* light update sanitize validator

* New Crowdin updates (#6311)

* New translations en.yml (Spanish)

* New translations en.yml (Finnish)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Dutch)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Spanish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Spanish)

* New translations en.yml (Portuguese)

* Revert "Custom validator that checks string fields (#6304)" (#6316)

This reverts commit 06824a884de33fdfc03896d6cee8c249d1b3e762.

* New Crowdin updates (#6319)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (French)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (Catalan)

* New translations en.yml (French, Canada)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* New translations en.yml (Spanish)

* New translations en.yml (Spanish)

* New translations en.yml (Catalan)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* Rebuild JS bundles

Co-authored-by: Oliver Valls <oliver.vh@coditramuntana.com>

* Edit debates (#6268)

* Users can edit their debates.

* Users can explore debate versions

* Make debate author follow the debate

* New translations en.yml (Polish) (#6324)

* remove admin role when user destroys account (#6312)

* Fix election presenter namespace (#6293)

* Fix election presenter namespace

* Ignore unused keys for locales elections admin_log

* Ignore unused keys for locales elections admin_log

* Revert adding tag to i18 directly in elections module

* Gemfile.lock changed

* Set presenters tags as static values

* Add elections.admin_log tag again to ignored_unused

* Refer tags with variable action in elections presenter

* New Crowdin updates (#6328)

* New translations en.yml (Basque)

* New translations en.yml (Finnish)

* New translations en.yml (Hungarian)

* New translations en.yml (German)

* New translations en.yml (Spanish)

* New translations en.yml (Romanian)

* New translations en.yml (French)

* New translations en.yml (Czech)

* New translations en.yml (Arabic)

* New translations en.yml (Catalan)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Portuguese, Brazilian)

* New translations en.yml (Indonesian)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (French, Canada)

* New translations en.yml (Icelandic)

* New translations en.yml (Polish)

* New translations en.yml (Norwegian)

* New translations en.yml (Norwegian)

* New translations en.yml (Polish)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Italian)

* New translations en.yml (Dutch)

* New translations en.yml (Portuguese)

* New translations en.yml (Polish)

* New translations en.yml (Turkish)

* New translations en.yml (Galician)

* New translations en.yml (Slovak)

* New translations en.yml (Swedish)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Ukrainian with many plural form)

* New translations en.yml (Russian with many plural form)

* Add CSV/Excel exporter sanitizer (#6325)

* Add csv exporter sanitizer

* Fix rubocop offense

* Clean comments

* Fix rubocop offense

* Add new sanitized csv export test checkings

* Add excel export sanitazer

* Move helper's sanitazion methods to expoter

* Apply migration of data in surveys legacy tables automatically (#6308)

* Execute migration only for development_app instead of all development envs

* Rubocopify

* Apply migrations automatically

* Add upgrade notes

* Rubocopify

* Remove upgrade notes

* New Crowdin updates (#6332)

* New translations en.yml (Czech)

* New translations en.yml (Finnish)

* New translations en.yml (Finnish)

* New translations en.yml (French)

* New translations en.yml (Catalan)

* New translations en.yml (Spanish)

* New translations en.yml (Spanish, Mexico)

* New translations en.yml (Spanish, Paraguay)

* New translations en.yml (French, Canada)

* New translations en.yml (Italian)

* New translations en.yml (Hungarian)

* New translations en.yml (Portuguese)

* New translations en.yml (Finnish (plain))

* New translations en.yml (Finnish (plain))

* Rework accessibility improvements (#6253)

* [TAC025]…
@alecslupu alecslupu mentioned this pull request Jan 14, 2021
12 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Titles without ALLCAPS interfere with the current design system Contextual help in proposals forms

5 participants