Commit Graph

19975 Commits

Author SHA1 Message Date
taitus
f67dfcc858 Set version number 2025-01-29 13:51:15 +01:00
Sebastia
a0eec45ce3 Merge pull request #5846 from consuldemocracy/release_2.3.0
Release version 2.3.0
2025-01-29 13:41:30 +01:00
taitus
58b3f98553 Release version 2.3.0 2025-01-29 13:18:53 +01:00
Sebastia
59f9658c33 Merge pull request #5856 from consuldemocracy/i18n_crowdin
Update translations from Crowdin
2025-01-28 17:32:49 +01:00
taitus
7750dfa9f6 Update translations from Crowdin 2025-01-28 17:09:36 +01:00
Sebastia
251ceebbbf Merge pull request #5845 from consuldemocracy/dependabot/bundler/pronto-rubocop-0.11.6
Bump pronto-rubocop from 0.11.5 to 0.11.6
2025-01-27 14:07:00 +01:00
taitus
d8381204f1 Add faraday-retry gem
In order to remove an information text related to Faraday every time we
execute `pronto run`:
> To use retry middleware with Faraday v2.0+, install faraday-retry gem
2025-01-27 13:42:29 +01:00
Sebastia
b8460f2065 Merge pull request #5847 from consuldemocracy/i18n_crowdin
Update translations from Crowdin
2025-01-23 18:41:10 +01:00
taitus
c65495af6e Enable Portuguese (Portugal) by default 2025-01-23 18:22:36 +01:00
taitus
4126f03a58 Update translations from Crowdin 2025-01-23 17:49:58 +01:00
Sebastia
40a81607c2 Merge pull request #5790 from consuldemocracy/cookies_consent
Add GDPR-compliant cookie consent banner with preferences modal
2025-01-23 17:32:15 +01:00
taitus
7c48ba0116 Do not display the cookie banner when JS is disabled 2025-01-23 17:16:57 +01:00
taitus
018b00cd6e Allow managing versions of cookies consent
This can be useful when adding a new cookie or making
modifications that require asking the user again.
2025-01-23 17:16:57 +01:00
taitus
5ffaf7a80e Add scripts component in order to enable/disable vendor scripts 2025-01-23 17:16:57 +01:00
taitus
7407c386a6 Render third party cookies in the management component
Set cookie duration to 365 days based on the AEPD's cookie usage guidelines.

Note from the document: "Cookies with a duration of up to 24 months are
considered acceptable as long as they are periodically updated."
Reference: https://www.aepd.es/guias/guia-cookies.pdf
2025-01-23 17:16:55 +01:00
taitus
dc54fda71b Allow accepting all cookies in consent banner and management component
Create cookie consent "all" when accept all cookies

Set cookie duration to 365 days based on the AEPD's cookie usage guidelines.

Note from the document: "Cookies with a duration of up to 24 months are
considered acceptable as long as they are periodically updated."
Reference: https://www.aepd.es/guias/guia-cookies.pdf
2025-01-23 17:03:30 +01:00
taitus
6753505e7c Allow administrators to define the cookies vendors the application uses 2025-01-23 17:03:30 +01:00
taitus
390c749d24 Add switch to management component for essentials cookies 2025-01-23 16:48:55 +01:00
taitus
c95c80dc32 Create a new component to render checkboxes as switches
https://get.foundation/sites/docs/switch.html
2025-01-23 16:48:55 +01:00
taitus
0121e57fd0 Render more info link in management component 2025-01-23 16:48:55 +01:00
taitus
d35455624f Allow accept essential cookies from management modal 2025-01-23 16:48:55 +01:00
taitus
df34853792 Add link to management modal in footer 2025-01-23 16:48:55 +01:00
taitus
119c4202fe Allow accessing to management modal from cookies consent banner 2025-01-23 16:48:55 +01:00
taitus
5d590a0aee Add modal management for show essential cookies information
Note that in order to avoid display duplicated vertical scroll when
render a modal, we are add an `overflow: unset` rule. This rule
overwrite a vendor rule both in the modal we are adding and in the
modal we already have when creating a budget in admin section.
2025-01-23 16:48:55 +01:00
taitus
0ef7f9f1fa Extract close button definition to mixin 2025-01-23 16:48:54 +01:00
taitus
d7f701cc9a Add an optional setting with the link to the cookies policy page 2025-01-23 16:48:54 +01:00
taitus
1958a77842 Allow accept essential cookies from consent banner
Set cookie duration to 365 days based on the AEPD's cookie usage guidelines.

Note from the document: "Cookies with a duration of up to 24 months are
considered acceptable as long as they are periodically updated."
Reference: https://www.aepd.es/guias/guia-cookies.pdf
2025-01-23 16:48:53 +01:00
taitus
f4c3c4e639 Add cookies methods as support common actions 2025-01-23 16:05:41 +01:00
taitus
4c0b6455f6 Add cookies consent banner
Allow enabling from settings admin section.

Note that we set the z-index to 20 in order to will be greater than
the others z-index elements in the application like <header> on
mobile devices.
2025-01-23 16:05:40 +01:00
taitus
211b3263dc Bump pronto-rubocop from 0.11.5 to 0.11.6
Bumps [pronto-rubocop](https://github.com/mmozuras/pronto-rubocop) from 0.11.5 to 0.11.6.
- [Release notes](https://github.com/mmozuras/pronto-rubocop/releases)
- [Commits](prontolabs/pronto-rubocop@v0.11.5...v0.11.6)

NOTE:
Keeping the current version of the rugged gem instead of upgrading seems to solve the issue,
as mentioned in prontolabs/pronto#447.
2025-01-22 16:29:13 +01:00
Javi Martín
73ec07174e Merge pull request #5824 from consuldemocracy/coding_practices
Add document about our coding conventions
2025-01-14 16:12:16 +01:00
Javi Martín
6f7d4096f5 Add document about our coding conventions
There are some conventions that can't be checked by linters and were not
documented anywhere.
2025-01-13 16:26:42 +01:00
Javi Martín
3b62474f5d Merge pull request #5821 from consuldemocracy/ruby3.2.6
Upgrade Ruby to version 3.2.6
2025-01-10 16:38:24 +01:00
Javi Martín
ff76d65b43 Merge pull request #5825 from consuldemocracy/maintainers_update
Update list of maintainers
2025-01-10 16:37:27 +01:00
Javi Martín
28dde2e798 Merge pull request #5820 from consuldemocracy/ruby_version_in_gemfile
Add Ruby version to Gemfile
2025-01-09 17:47:56 +01:00
Javi Martín
453c4d2427 Upgrade Ruby to version 3.2.6 2025-01-09 17:15:33 +01:00
Javi Martín
cf6d9ce753 Add Ruby version to Gemfile
Since Bundler 2.4.19, including in Ruby 3.2.3, it's possible to define
the Ruby version in the Gemfile by indicating which file contains the
version [1].

There are at least two practical cases where this is an advantage.

First, people using RVM in development will no longer accidentally run
the application using the wrong Ruby version (which, before these
changes, might happen if they switch to a branch using a different Ruby
version and forget to run `rvm use` or exit the current folder and enter
it again) because they will get an error when trying to do so.

Second, people using services like Heroku no longer need to modify the
Gemfile.

The disadvantage is that, now, every time we update the Ruby version, we
have to remember to run `bundle` so our `Gemfile.lock` gets the new
version.

[1] https://github.com/rubygems/rubygems/releases/tag/bundler-v2.4.19
2025-01-09 17:14:42 +01:00
Javi Martín
7204b8bbec Merge pull request #5818 from consuldemocracy/split_vendored_css
Extract CSS files for vendored and admin styles
2025-01-08 20:35:08 +01:00
Javi Martín
ed1713d5e2 Merge pull request #5819 from consuldemocracy/remove_code_to_upgrade_to_2.2
Remove tasks to upgrade to version 2.2
2025-01-08 20:10:29 +01:00
Javi Martín
d7c373509a Remove tasks to upgrade to version 2.2
Note that, while we're no longer including them as part of the
`execute_release_2.2.0_tasks` task, we're keeping the tasks to remove
duplicate poll voters and poll options just in case there are some
unexpected issues when adding a unique database index while upgrading to
version 2.3.0. We'll remove them in version 2.4.0.
2025-01-08 16:47:57 +01:00
Javi Martín
8d1a848e60 Remove code to rotate non-SHA256 cookies
This code was added in commit b3f570512 in order to rotate existing
cookies used by Consul Democracy 2.1 and earlier. Since the code was
included in Consul Democracy 2.2, existing installation using Consul
Democracy 2.2 will have already rotated the old cookies, which means we
don't need the cookie rotator anymore.
2025-01-08 16:47:57 +01:00
Javi Martín
e5bfb92564 Compile admin CSS in a different stylesheet
With this change, on my browser, reloading a page in development after
changing a CSS file is about 25% faster than simply splitting the CSS
code between `application.css` and `vendored.css`. Compared to using
only one `application.css` file containing everything, reloading a page
in development is about 35% faster.

The combined size of all the generated stylesheets is now about 0.5%
bigger. Not sure why (maybe placeholder selectors?), but the difference
is negligible.

Note that we could load the `administration.css` file only in the admin
area, reducing the size of the page for people accessing the public
area. However, the size of this stylesheet (compressed) is 28K, which is
less than 3% of the overall size of a page and, on the other hand,
there's a risk of some styles no longer being applied because we might
have overlooked the fact that some styles in the `administration.css`
are also applied to the public area.

So, for now, we're still loading the administration styles in the public
area. We might reconsider in the future.
2025-01-08 16:37:43 +01:00
Javi Martín
4646c056a7 Compile vendored CSS in a different stylesheet
With this change, on my browser, reloading a page in development after
changing a CSS file is about 10%-15% faster.

On the minus side, this change results in an extra request when browsing
the page; AFAIK it isn't that big of a deal, even when the server isn't
using HTTP/2.
2025-01-08 16:27:52 +01:00
Javi Martín
b6ffeeca62 Move styles from admin to layout
These styles are used in places other than the admin section. In
particular, the `.button.small.success` style is no longer used in the
admin section but only in the verified user form.

Note: I'm not sure whether the `table .callout` selector matches any
element, either in the admin or in the public section, so I'm leaving it
where it was.
2025-01-08 16:27:43 +01:00
Javi Martín
111516f660 Move stats styles to the stats stylesheet
These styles aren't only used in the admin section but also in the
public stats page.
2025-01-08 16:20:37 +01:00
Javi Martín
b3588b1865 Remove no-margin-bottom HTML class
It was only used once, and we can use a selector that makes it obvious
where it is used. Besides, the style for the no-margin-bottom class was
to remove the bottom margin, which was inconsistent with the style for
the no-margin-top class, which adds a negative margin to the element.

I'm not sure why we're removing the margin here, though, since it isn't
consistent with the rest of the forms in the application. For now, we're
keeping it the way it used to look.
2025-01-08 16:20:37 +01:00
Javi Martín
02aac86b04 Move edit password manually view to a component
We're restructuring the CSS of the admin stylesheet, and there was a
rule that is only applied to this component.
2025-01-08 16:20:37 +01:00
Javi Martín
0657749ead Remove unused CSS in admin stylesheet
* The `archived` class isn't used since commit cd982768f
* The `ignored` class isn't used since commit 343025872
* The `count-error` class isn't used since commit bddfee2b8
* The `edit-legislation-draft-version`, `edit-legislation-process` and
  `legislation-questions-answers` classes aren't used since commit
  d679c1eb7
* The `legislation-process-save`, `legislation-question-delete`,
  `legislation-process-version` and `legislation-process-question`
  classes aren't used since commit f8707a73cd
* The `is-featured` class isn't used since e60ffa3c0
* The `on-hover` and `on-hover-block` classes aren't used since commit
  d91388b2b
* The `total-price` class isn't used since commit d0b8fef6b
* The `login-as` class was never used in the first place
2025-01-08 16:19:44 +01:00
Javi Martín
89ffec2b87 Fix typo in investments stylesheets folder name
The styles were being loaded anyway because we use `budgets/**/*` to
load the stylesheets related to budgets.
2025-01-08 16:10:05 +01:00
Javi Martín
7c988e2568 Merge pull request #5829 from consuldemocracy/dependabot/bundler/rails-7.0.8.7
Bump rails from 7.0.8.6 to 7.0.8.7
2025-01-08 14:48:12 +01:00