Commit Graph

6051 Commits

Author SHA1 Message Date
Bertocq
e59ed81528 Return 404 accesing community without communitable
Why:

Somehow we're seeing communities without proposals at production. We
must find why and fix it, but first we need to throw a 404 at the user
instead of a 500 internal server error

How:

First catching the scenario of non-existent communitable at the
controller and raising a 404 error. Secondly preventing the author_id
access over a possibly nil object, this is a smell but it can't be
easily fixed right now... we need to correctly implement a relation
between Community and communitable and avoid the multiple occurences of
`community.from_proposal?` in the codebase that makes it impossible to
extend to a fourth communitable model.
2018-01-23 00:22:53 +01:00
Bertocq
cc69225b7a Assert phases list order in admins budget edit form 2018-01-23 00:15:06 +01:00
Bertocq
217f62116e Correctly scape budget phase summary on phases list 2018-01-22 23:29:48 +01:00
Angel Perez
1027896617 Reenable 'winners' tab under Admin::Budget::Investment 2018-01-22 14:04:57 -04:00
Angel Perez
a79e60ecd1 Add spec for Admin::Budget::Investment 'max_per_heading' filter 2018-01-22 14:04:56 -04:00
Angel Perez
dddf026a59 Adapt Admin::Budget::Investment failing specs to new filter UI 2018-01-22 14:04:56 -04:00
María Checa
1f461b09f0 Merge pull request #2353 from consul/2339-admin_budgets_phases
Allow admins to edit Budget phases
2018-01-22 18:07:34 +01:00
María Checa
b706f0c8bb Merge pull request #2142 from wairbut-m2c/rfuentes-add-advanced-menu-to-order-proposals
Add advanced search menu to investments list
2018-01-22 17:46:19 +01:00
rgarcia
e456f5fc1c Remove duplicate dev_seed execution 2018-01-22 17:40:56 +01:00
rgarcia
8fb9be9d07 Fix RSpec's should deprecation warning
Using `stub` from rspec-mocks' old `:should` syntax without explicitly
enabling the syntax is deprecated. Use the new `:expect` syntax or
explicitly enable `:should` instead
2018-01-22 17:40:56 +01:00
Bertocq
155840a130 Sanitize & truncate text for socialmedia metatags
Why:

The html tags weren't removed from the text that was rendered at the
social metatags (twitter & facebook), neither scaped so adding a quoted
text would endup breaking the metatag content and writting in plain
sight the description at the browser view.

How:

Saniziting the text and truncating it afterwards since we don't need to
send more than 140 chars for twitter/facebook social cards.
2018-01-22 11:52:35 +01:00
Raúl Fuentes
93268fc5d6 changed advanced filter from budgets to budgets/investments 2018-01-22 09:59:09 +01:00
Raúl Fuentes
bb39f8af0a issue #1436, mirrored behavior from proposals 2018-01-22 09:59:09 +01:00
Bertocq
8eaf0982b1 Fixed Admin Budget's destroy button to a link
Why:

The Admin Budget form has a submit button for saving the record, adding
another submit input to destroy the record actually adds to the html:
`<input type="hidden" name="_method" value="delete">` and it collides
with the save button, forcing it to perform a destroy instead of save.

Previously the destroy button was not in the same div as the save button

How:
Just changing the Destroy from a button_to to a link_to.
2018-01-20 14:03:14 +01:00
María Checa
94279448f3 Replaced 'participatory budget' with 'budget' 2018-01-20 14:03:14 +01:00
María Checa
2fd53d6394 Added admin budget phases tests 2018-01-20 14:03:13 +01:00
Bertocq
28008d64e2 Improve performance swapping keys.each for each_key, plus line lenght comply 2018-01-19 23:44:08 +01:00
Bertocq
7f6c1f4e97 Fix to_not for not_to in guides spec 2018-01-19 23:42:39 +01:00
Angel Perez
10fac6d2d1 Admins can delete an answer's associated images (#1999) 2018-01-19 15:29:18 -04:00
decabeza
f722caac24 removes budget steps on header 2018-01-19 14:35:05 +01:00
rgarcia
8a669b86bd Fix English grammar in translations 2018-01-18 21:09:21 +01:00
rgarcia
d3d05f9cee Add guide to create a proposal or investment
During a Participatory Budget, some users are getting confused and
creating a proposal instead of a budget investment. This intermediate
page should help them create investments

Adding a feature flag just in case other forks don’t need this feature
and setting seeds and dev_seeds for appropriate initial setup
2018-01-18 21:09:21 +01:00
BertoCQ
3e316edc40 Merge pull request #2185 from consul/improve_consul_json_spec
Improve consul.json request spec
2018-01-18 21:08:54 +01:00
Bertocq
808c4eddfc Fix budget investment feature spec 2018-01-18 18:59:57 +01:00
Bertocq
e4e9a149b0 Update expectations after decreasing end date of budget phase 2018-01-18 17:18:05 +01:00
decabeza
b48fb7a41e adds specs 2018-01-18 17:18:05 +01:00
Bertocq
a6b06ca730 Improve Budget's homepage
* Add budget's phases number status
* Add budget's headings and groups list
* Placeholders for future improvements
2018-01-17 19:11:58 +01:00
María Checa
4d97d349a1 Added tests for alert 2018-01-17 19:11:48 +01:00
Bertocq
2fb1112066 Replace existing Time.zone.today.to_date for just Date.current 2018-01-17 00:45:30 +01:00
Bertocq
a2b950d8de Fix to_not to not_to on rspec expectations 2018-01-17 00:03:23 +01:00
Bertocq
8b469c5d98 Fix conflicts with merged branch, Budget::PHASES have moved, and described_class usage is a must 2018-01-16 18:44:21 +01:00
BertoCQ
d44db9cec4 Merge branch 'master' into feature/budget_phases 2018-01-16 17:47:47 +01:00
Raimond Garcia
a215c9c603 Merge pull request #2322 from consul/current_budget
Change concept of current budget to account for multiple budgets
2018-01-16 16:53:10 +01:00
Bertocq
313d8d2e11 Adjust date ranges of prev/next phases when enabling/disabling a Budget::Phase, with model specs 2018-01-16 15:20:18 +01:00
Bertocq
601351d160 Validate next/prev phases before saving a Budget::Phase, with model specs 2018-01-16 15:20:17 +01:00
Bertocq
d505cda949 Add description sanitization to Budget::Phase with model specs 2018-01-16 12:18:13 +01:00
Bertocq
21b62106e5 Add next/prev enabled phase helper functions to Budget::Phase with model specs 2018-01-16 12:18:13 +01:00
Bertocq
59fb0b562c Create all Phases after a Budget creation 2018-01-16 12:18:13 +01:00
Bertocq
ca3d759d9f Refactor Budget publishing prices phases constant to Budget::Phase model 2018-01-16 12:18:13 +01:00
Bertocq
66691b644a Refactor Budget::PHASES constant to Budget::Phase::PHASE_KINDS 2018-01-16 12:18:13 +01:00
Bertocq
36e74d0ef2 Add Budget::Phase model, spec and factory
Create a new Budget::Phase model that:
* Stablishes a relation with its budget
* Stablishes relation with two other Budget::Phases (previous and next)
* Validates basic dates range, kind and description rules.
* Adds scopes to get the ones enabled as well as each individual phase

Create a factory that generates a basic and valid Budget::Phase

Create a model spec that checks kind, date range and budget validations.
2018-01-16 12:18:13 +01:00
rgarcia
34e0c23bb3 Fix valuators authorization spec
This spec used to pass, because even though there were no budgets, as
Budget.current returned an array, it gracefully handled situations
without budgets

Now we assume that there can only be a single current budget, and so
calling any method of budget will raise an exception unless there is a
current budget present

Valuators should not access this page when there is no budget present,
however it might be wise to create an issue to cover this case, just in
case
2018-01-15 22:02:05 +01:00
rgarcia
5086314bee Display only current budget for Valuators
Before we could have multiple current budgets, as we now only have one
current_budget, some specs broke.

As there is no need to display multiple budgets to Valuators, only the
current budget is necessary, we can remove arrays and assume that only
a single budget, the current budget, is displayed to Valuators
2018-01-15 22:02:04 +01:00
rgarcia
01ef439053 Display only current budget to Managers printing investments
In the specs, some investment were missing a heading_id, thus creating
another unexpected budget

By explicitly setting the heading_id we can control better which
budgets are created in each test
2018-01-15 22:02:04 +01:00
rgarcia
349780922d Add Budget.open scope
Before Budget.current could return multiple budgets, now there can only
be a single current_budget.

Adding the concept of open, which better reflects what the admin sees
in this page: A tab for open budgets and a tab for finished budgets
2018-01-15 22:01:59 +01:00
BertoCQ
3d5bf04829 Merge pull request #2311 from consul/2299-budget_investments_related_content
Budget investments related content
2018-01-15 20:02:34 +01:00
rgarcia
be554a629c Make current_budget accessible in controller and views 2018-01-15 19:13:45 +01:00
rgarcia
9176de949a Refactor concept of current budget
When there was only one budget this implementation worked fine

Nowadays there can be multiple budgets, and therefore the definition of
the current_budget has changed. It is no longer a budget that has not
finished, but rather, the last budget created that is not in the
initial drafting phase.

Budgets in the drafting phase are not considered the current_budget,
but rather a budget that is still being prepared and that soon will
become the current_budget
2018-01-15 19:13:37 +01:00
BertoCQ
61f52b3483 Merge pull request #2293 from wairbut-m2c/aperez-fix-deprecation-warnings
Fix for test suite deprecations warnings
2018-01-15 18:23:42 +01:00
Bertocq
7179dbbba0 Remove deprecated on hold budget phase group, no longer used in code 2018-01-14 20:41:24 +01:00