liquidvotingio / decidim-module-liquidvoting

GNU Affero General Public License v3.0
4 stars 0 forks source link

Decidim should send a url for the proposal, not the process #5

Closed davefrey closed 3 years ago

davefrey commented 3 years ago

Currently when we delegate from the decidim app, we store a proposal_url that corresponds to the process, not the proposal itself. For example, we are storing

http://localhost/processes/officia-enim/f/12/

rather than

http://localhost/processes/officia-enim/f/12/proposals/7

We can certainly talk about delegating/voting at other "scopes" but our semantics today are that both delegation and voting happen at a proposal (or global, to the api key=org) level.

oliverbarnes commented 3 years ago

Does this happen when you delegate from the process page where you can view the proposal card, as opposed to the proposal detail page?

If so, I think we might be using the current location based on the request env, or something to that effect, which will be enough on the proposal detail page, but not elsewhere of course. We should switch to getting the proposal url specifically, somehow. Need to investigate whether it's stored on the proposal model, or somewhere else

davefrey commented 3 years ago

It's from the proposal-specific page, i.e. "http://localhost/processes/officia-enim/f/12/proposals/10"; our view code captures the root_url, like this:

name="proposal_url" value="<%= root_url %>"

Using the Decidim helper method proposal_path(proposal) gives us a uri without the server, like this:

"proposal_url" => "/processes/officia-enim/f/12/proposals/10"

That doesn't pass the URL validation we have in our api. I'm thinking again that validating urls might be costing us more than it's gaining...liquidvoting isn't serving links, just vote results for a proposal url.

Still trying to find a helper that gives the whole thing :-D

davefrey commented 3 years ago

NM we found proposal_url(proposal) 🤦🏻‍♂️