20681 Commits

Author SHA1 Message Date
Javi Martín
b4eba055c7 Correctly align radio buttons with their labels
We were using a `height: $line-height` property for this task. One of
the disadvantages of this approach is that things don't look so great
when the label expands over more than one line.

Back when we added that property, browser support for flex layouts
wasn't that great. Now there's universal support for it, so we can use
it instead.
2025-08-07 15:24:51 +02:00
Javi Martín
d5b4e5b7b9 Use <legend> tags to group radio button fields
In a few places, we were using <label> tags that pointed to elements
that didn't exist.
2025-08-07 15:24:51 +02:00
Javi Martín
cb57b0c0c1 Extract methods in draft version form component
This way we don't get lines with 150+ characters.
2025-08-07 15:24:51 +02:00
Javi Martín
0f54e220ba Move draft version form partial to a component
This way changing it will be easier.

Note we're moving the `legislation-draft-versions-form` class into the
form component itself, which is wat we usually do in components.
2025-08-07 15:24:51 +02:00
Javi Martín
1d90f68088 Remove unused CSS in legislation draft version forms
This code isn't used since commit d679c1eb7.
2025-08-07 15:24:51 +02:00
Javi Martín
00eb1149b9 Move custom pages form partial to a component
This way changing it will be easier.

Note we're changing the name of the HTML class to follow our naming
conventions; the `edit_page` class wasn't used anywhere, so we don't
need to change anything else.
2025-08-07 15:24:51 +02:00
Javi Martín
2c0f7cf99d Move dashboard actions partial to a component
Note that, in order to be consistent with most form components, we're
also moving the `form_for` part of the code to the component.
2025-08-07 15:24:51 +02:00
Sebastia
c7a2389d6b Merge pull request #6022 from consuldemocracy/dependabot/bundler/capistrano3-puma-6.2.0
Bump capistrano3-puma from 6.0.0 to 6.2.0
2025-08-04 16:22:05 +02:00
Javi Martín
3504d9aeac Merge pull request #6048 from consuldemocracy/dependabot/bundler/ruby-saml-1.18.1
Bump ruby-saml from 1.18.0 to 1.18.1
2025-08-04 14:10:02 +02:00
dependabot[bot]
bebbe8b3a9 Bump ruby-saml from 1.18.0 to 1.18.1
Bumps [ruby-saml](https://github.com/saml-toolkits/ruby-saml) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/saml-toolkits/ruby-saml/releases)
- [Changelog](https://github.com/SAML-Toolkits/ruby-saml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/saml-toolkits/ruby-saml/compare/v1.18.0...v1.18.1)

---
updated-dependencies:
- dependency-name: ruby-saml
  dependency-version: 1.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-04 11:40:10 +00:00
Anamika Aggarwal
eab5f52e19 Add omniauth_openid_connect gem for OIDC auth 2025-07-24 16:31:33 +00:00
Javi Martín
eba1c4443c Merge pull request #6010 from Anamika1608/saml
Add support for SAML authentication
2025-07-23 15:02:28 +02:00
Anamika Aggarwal
c9bf7797a0 Add multi-tenancy support for SAML 2025-07-23 14:43:45 +02:00
Anamika Aggarwal
5726bcef07 Update the omniauth-saml to 2.2.4 2025-07-23 14:43:44 +02:00
Anamika Aggarwal
26df59af02 Add SAML Integration doc to setup secrets file 2025-07-23 14:43:44 +02:00
Javi Martín
b3737ae973 Adjust spacing in OAuth documentation
We're also fixing a missing "/" in one URL.
2025-07-23 14:43:44 +02:00
taitus
fcbace069e Only load saml settings when we have related secrets
Without this change the IdpMetaParser would give an error
in the Devise initializer when starting the application.

I found it annoying to have to connect to the VPN so
I decided to add this condition.

Reviewer, feel free to consider this commit unnecessary
and ask to revert it.
2025-07-23 14:43:44 +02:00
Senén Rodero Rodríguez
5cb5f19e4f Use IDPMetadataParse to set up the Idp SAML settings
Co-authored-by: Anamika Aggarwal <anamikaagg18@gmail.com>
2025-07-23 14:43:44 +02:00
Javi Martín
6190d808ba Allow different times between IDP and SP machines
We were having an issue because there was a difference of about 11
seconds between the local times of our machines and the time of the IDP
server. Since right now we can't guarantee the time of these machines is
fully synchronized, for now we're adding a margin of error of one
minute.
2025-07-23 14:43:44 +02:00
taitus
a4709f9da0 Add omniauth saml section for sign in and sign up page
Co-authored-by: Anamika Aggarwal <anamikaagg18@gmail.com>
2025-07-23 14:43:44 +02:00
Sebastia
9d216084a7 Merge pull request #6044 from consuldemocracy/dependabot/bundler/thor-1.4.0
Bump thor from 1.3.2 to 1.4.0
2025-07-22 09:40:36 +02:00
Sebastia
22f2e4b5ca Merge pull request #6045 from consuldemocracy/dependabot/bundler/nokogiri-1.18.9
Bump nokogiri from 1.18.8 to 1.18.9
2025-07-22 09:17:16 +02:00
dependabot[bot]
c3c7ba339e Bump nokogiri from 1.18.8 to 1.18.9
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.18.8 to 1.18.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.18.8...v1.18.9)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 05:30:09 +00:00
dependabot[bot]
18f7e88524 Bump thor from 1.3.2 to 1.4.0
Bumps [thor](https://github.com/rails/thor) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/rails/thor/releases)
- [Commits](https://github.com/rails/thor/compare/v1.3.2...v1.4.0)

---
updated-dependencies:
- dependency-name: thor
  dependency-version: 1.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 01:37:44 +00:00
Sebastia
f4189365ea Merge pull request #5955 from cyrillefr/ReplaceLinkWithButtonInVariousComponentsPartI
Replace link with button in various components part i
2025-07-09 15:26:38 +02:00
cyrillefr
f0e696b972 Replace link with button in letter verification 2025-07-09 13:48:58 +02:00
cyrillefr
c989210e74 Replace link with button in finish signup in registrations 2025-07-09 13:48:58 +02:00
cyrillefr
3eba2d27a4 Replace link with button in Topics show 2025-07-09 13:48:58 +02:00
cyrillefr
50076504b5 Replace link with button in flag unflag actions 2025-07-09 13:48:58 +02:00
cyrillefr
a6046155a2 Replace link with button in relationable scores 2025-07-09 13:48:58 +02:00
cyrillefr
d4b7939d2c Replace link with button in Proposal created 2025-07-09 13:48:58 +02:00
cyrillefr
ddd34d5cd0 Replace link with button in index notifications 2025-07-09 13:48:58 +02:00
cyrillefr
75ed7ae3ef Replace link with button in nofications 2025-07-09 13:48:58 +02:00
cyrillefr
267dd931d8 Replace link with button in change user link 2025-07-09 13:48:58 +02:00
cyrillefr
e370a52650 Replace link with buttons in follow button 2025-07-09 13:48:58 +02:00
cyrillefr
ddfd1bedb3 Replace link with button in devise shared links
Cf. conversation https://github.com/consuldemocracy/consuldemocracy/pull/5955#discussion_r2158715957
Need to get this i18n_spec.rb to run to delete the key
shared.links.signin_with_provider.
2025-07-09 13:48:47 +02:00
Sebastia
4eaf0c5a41 Merge pull request #6023 from consuldemocracy/dependabot/bundler/puma-6.6.0
Bump puma from 5.6.9 to 6.6.0
2025-07-08 11:31:04 +02:00
taitus
a9ba7425bf Remove redundant puma_bind override
The default "puma_bind" setting was reintroduced in capistrano3-puma 6.2.0
as "unix://.../tmp/sockets/puma.sock". We no longer need to define it
explicitly in deploy.rb.

NOTE: Although the official capistrano3-puma README still states
that "puma_bind" must be explicitly set after upgrading to v6,
this is no longer true since version 6.2.0. The default value
("unix://.../tmp/sockets/puma.sock") has been restored.
2025-07-07 15:06:01 +02:00
taitus
84a88ee1fb Remove overridden puma.service.erb template
We remove our custom puma.service.erb template located at
lib/capistrano/templates, as the upstream capistrano3-puma gem (v6.2.0)
now supports all the adjustments we previously needed.

This template was originally copied and modified in
PR #5842 (Bump capistrano3-puma from 5.2.0 to 6.0.0),
with the following relevant changes:

1. WatchdogSec=0
We disabled systemd's watchdog feature by setting WatchdogSec=0.
This is now covered upstream since v6.1.0 via:
> <% if fetch(:puma_systemd_watchdog_sec) && fetch(:puma_systemd_watchdog_sec) > 0 %>
> WatchdogSec=<%= fetch(:puma_systemd_watchdog_sec) %>
> <% end %>

To preserve the same behavior, we now explicitly set:
> set :puma_systemd_watchdog_sec, 0
in config/deploy.rb, instead of relying on the template override.

2. SyslogIdentifier=puma
In our custom template, we replaced the default line:
> SyslogIdentifier=<%= fetch(:puma_service_unit_name) %>
with:
> SyslogIdentifier=puma

This was done to avoid introducing a new config variable
in the installer. However, now that we want to remove the overridden template,
we must accept the default behavior from the gem:
> set :puma_service_unit_name, -> { "puma_#{fetch(:application)}_#{fetch(:stage)}" }

As a result, the generated SyslogIdentifier will change from "puma" to something
like "puma_consul_staging".

The only implication is that we'll open a PR in the installer
to replace the hardcoded "puma" with the dynamic default,
so everything stays consistent.

Another option would be to override puma_service_unit_name
with "puma" to keep the SyslogIdentifier exactly as before.
However, this would also affect the names of the systemd services and sockets
(e.g., puma.service instead of puma_consul_staging.service),
which may lead to conflicts or require manual cleanup steps like disabling
and removing the old units. For now, we prefer to avoid that.

3. After=network.target
We had removed the "syslog.target" from the "After=" directive,
as we didn't depend on syslog.

However, keeping "After=syslog.target network.target" does not negatively impact us,
since Puma logs to files directly using StandardOutput=append:....
So we can also adopt the default value from template here.

4. ExecStart
In version 6.2.0, a small change was made to the template logic for the ExecStart line.
This change does not affect us. Since we don't define puma_use_login_shell,
the behavior remains exactly the same as before.

With these changes already supported in the gem, we no longer need
a local copy of the puma service template.
2025-07-07 15:05:01 +02:00
dependabot[bot]
65a9219d02 Bump puma from 5.6.9 to 6.6.0
Bumps [puma](https://github.com/puma/puma) from 5.6.9 to 6.6.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v5.6.9...v6.6.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-version: 6.6.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 09:54:34 +02:00
cyrillefr
31ceb31256 Replace link with button in Dashboard show 2025-07-03 11:14:53 +02:00
dependabot[bot]
80ca31f83e Bump capistrano3-puma from 6.0.0 to 6.2.0
Bumps [capistrano3-puma](https://github.com/seuros/capistrano-puma) from 6.0.0 to 6.2.0.
- [Changelog](https://github.com/seuros/capistrano-puma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seuros/capistrano-puma/compare/v6.0.0...v6.2.0)

---
updated-dependencies:
- dependency-name: capistrano3-puma
  dependency-version: 6.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 22:39:58 +00:00
Javi Martín
cc3f8d682d Merge pull request #6014 from consuldemocracy/stringio-3.1.1
Upgrade default gems included in Ruby 3.3.8
2025-06-30 15:20:01 +02:00
Javi Martín
11b0b8be44 Bump irb from 1.12.0 to 1.13.1
Version 1.13.1 is the default one in Ruby 3.3.8. The reason we're
updating it is that IRB improves in every version of Ruby, making
development a bit easier.

We're also upgrading the reline gem (which IRB depends on) to the
version included in Ruby 3.3.8.
2025-06-30 14:58:02 +02:00
Javi Martín
847e8b28f5 Merge pull request #6018 from consuldemocracy/username_message
Avoid side-effects when removing username message
2025-06-27 16:08:48 +02:00
Javi Martín
9c13a331ec Avoid side-effects when removing username message
In the registration form, after changing the username, we were removing
the message about whether a username was available. However, we were
also removing every `<small>` tag on the page. This affected the demo
branch, where we add a `<small>` tag on every page.

So we're now removing a specific element instead.
2025-06-27 15:52:33 +02:00
Sebastia
93396c676b Merge pull request #5967 from consuldemocracy/update_readme
Update readme
2025-06-23 10:13:05 +02:00
Sebastia
b9fca0af98 Merge pull request #6011 from consuldemocracy/update-pr-template
Update Pull Request template
2025-06-23 10:12:19 +02:00
Lucía Luzuriaga
4ffae5a6fa Add links to OS-specific installation guides in README 2025-06-20 16:58:50 +02:00
Lucía Luzuriaga
58b3f09595 Improve Pull Request template 2025-06-20 15:36:05 +02:00