Skip to content

Allow supporting for proposals based on the "status" parameter #572

@paarals

Description

@paarals

A new configuration parameter is added to the Proposals component, allowing administrators to define in which statuses a proposal can receive support. This way, only proposals in one of the enabled statuses can be voted on by participants. Proposals in any other status will have the support feature disabled.

In Decidim, the Proposals component already features a status system to classify proposals at different stages of the participatory process. This functionality extends that system by adding the ability to condition voting based on the specific status of each proposal—a control that is currently only possible at the participatory process phase level.

The development will be carried out as a contribution to the unofficial module Decidim Awesome, as it is the most widely used module by the Decidim community and a feature of general interest for any organization managing participatory processes with proposal statuses.

Acceptance Criteria

As an Administrator:

  • The administrator can enable the "support by status" configuration from the Proposals component administration panel.
  • It is possible to select one or more statuses as enabled statuses for receiving supports.
  • The new parameter is compatible with existing phase configurations in Decidim, without interfering with current behavior.

As a Participant:

  • Proposals in an enabled status display the support button and allow voting.
  • Proposals in a non-enabled status show supports as disabled and do not allow voting.

Admin

  1. The administrator accesses the Proposals component administration panel.
  2. Navigates to the component settings.
  3. Enables the "Supports enabled by status" parameter.
  4. Selects one or more statuses for which supports will be active (e.g., "Accepted", "Evaluating").
  5. Saves the configuration.
Image

Participant Flow (User Flow)

  1. The participant accesses the list of proposals in the participatory process.
  2. The participant views the available proposals along with their corresponding status.
  3. Proposals in an enabled status display the "Vote" button and an active support counter.
  4. Proposals in a non-enabled status display the message "Not accepted for voting" and a disabled vote button.
  5. The participant votes for the desired proposal.
Image

Technical Implementation Details
In the Proposals component configuration:
Add a multi-select option (TomSelect) to choose which statuses are allowed for voting.
This selection will only be displayed if the "Supports enabled" option is activated.

In the public frontend:
Prevent voting on proposals that are not in the selected statuses (if any are defined).
Instead of the vote button, display a brief message on proposals that do not have a permitted status.

UI/UX Constraints:
The view for displaying supports/votes does not include status-based filtering parameters.
The display of the support count will continue to follow Decidim's current standard behavior.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions