Commit Graph

74 Commits

Author SHA1 Message Date
Javi Martín
7bf4e4d611 Sanitize descriptions in the views
Sanitizing descriptions before saving a record has a few drawbacks:

1. It makes the application rely on data being safe in the database. If
somehow dangerous data enters the database, the application will be
vulnerable to XSS attacks
2. It makes the code complicated
3. It isn't backwards compatible; if we decide to disallow a certain
HTML tag in the future, we'd need to sanitize existing data.

On the other hand, sanitizing the data in the view means we don't need
to triple-check dangerous HTML has already been stripped when we see the
method `auto_link_already_sanitized_html`, since now every time we use
it we sanitize the text in the same line we call this method.

We could also sanitize the data twice, both when saving to the database
and when displaying values in the view. However, doing so wouldn't make
the application safer, since we sanitize text introduced through
textarea fields but we don't sanitize text introduced through input
fields.

Finally, we could also overwrite the `description` method so it
sanitizes the text. But we're already introducing Globalize which
overwrites that method, and overwriting it again is a bit too confusing
in my humble opinion. It can also lead to hard-to-debug behaviour.
2019-10-21 21:32:02 +02:00
Javi Martín
928312e218 Use sanitize in translations with links
Sometimes we're interpolating a link inside a translation, and marking
the whole translations as HTML safe.

However, some translations added by admins to the database or through
crowdin are not entirely under our control.

Although AFAIK crowdin checks for potential cross-site scripting
attacks, it's a good practice to sanitize parts of a string potentially
out of our control before marking the string as HTML safe.
2019-10-08 18:46:21 +02:00
Javi Martín
2aabf79fb4 Rename methods to add auto links to HTML
The name `safe_html_with_links` was confusing and could make you think
it takes care of making the HTML safe. So I've renamed it in a way that
makes it a bit more intuitive that it expects its input to be already
sanitized.

I've changed `text_with_links` as well so now the two method names
complement each other.
2019-10-08 18:46:20 +02:00
Javi Martín
86a205c8fc Extract link to verify account to a mehtod
We were using the same text and the same route in many places.
2019-10-05 14:20:03 +02:00
Javi Martín
f8bd3d4f39 Extract links to signin and signup to methods 2019-10-05 14:07:24 +02:00
Javi Martín
2ccc283bb7 Use the same I18n key for "verify account" text
We were using several different keys, all of them having the same text.
2019-10-05 14:07:24 +02:00
Javi Martín
78c6f6f7e9 Use the same key for "signin" and "signup" texts
We were using the same texts in several places
2019-10-05 14:07:23 +02:00
Javi Martín
da59315530 Don't show links to budget results if disabled 2019-06-06 12:18:05 +02:00
Javi Martín
99fd838ca1 Extract partial to render finished budgets 2019-06-06 12:17:49 +02:00
Javi Martín
241ee313f1 Use paths instead of URLs where possible
It simplifies the code and solves any issue we might have configuring
the host in the test environment.
2019-05-28 16:38:45 +02:00
Julian Herrero
c87267d34f Use double quotes in app/views/budgets 2019-03-19 12:16:50 +01:00
decabeza
be8f2dca88 Remove unnecessary anchor link for finished budgets 2019-03-14 11:31:33 +01:00
Julian Herrero
a963a99c55 Use correct scope to sort headings by name 2019-02-13 13:35:09 +01:00
decabeza
5c7cc5a20f Improve space for links on budget index 2019-02-05 17:16:10 +01:00
decabeza
849dcb7a1a Fix map overlapping links 2019-01-30 14:16:19 +01:00
decabeza
7de846f55c Hide heading links if budget is finished 2019-01-30 14:15:49 +01:00
decabeza
9edabb5bf4 Fix links on budgets index page 2019-01-30 14:15:40 +01:00
Matheus Miranda
06f07b1139 Add map to sidebar on Heading's page
Signed-off-by: Matheus Miranda <matheusmirandalacerda@gmail.com>
2018-11-16 09:05:23 +01:00
decabeza
7d55f64aac Adds link to milestones on budgets index page 2018-11-07 18:08:03 +01:00
Javi Martín
9bacf39647 Fix link to create a new budget investment 2018-11-06 13:19:34 +01:00
decabeza
dbf41421ed Removes guide feature 2018-10-17 14:58:29 +02:00
decabeza
52fa9d27ac Removes custom content on index views pages 2018-07-30 17:55:56 +02:00
iagirre
0d9da5398b Fix banners in user pages
Banners were not been shown in certain pages; now
they are.

Spec to check if the banner is been shown correctly
added. Before it was in admins specs, now it has it's
own spec out of admins folder.
2018-07-12 10:17:25 -04:00
decabeza
9ecb4f4f22 Fixes heading name on budgets index view 2018-07-05 18:14:15 +02:00
Alberto
88ff6560ee Merge pull request #2620 from consul/budgets-see-results
Budgets see results
2018-06-06 19:21:04 +02:00
decabeza
47050292b2 Shows see results button only if budget finished 2018-06-06 17:40:49 +02:00
decabeza
fbf917d9b0 Fixes headings height on budgets index 2018-06-06 17:32:17 +02:00
decabeza
0bf31bde6c Updates all active to is-active classes 2018-06-06 12:02:13 +02:00
decabeza
563c1ebc93 Adds styles to no budgets message 2018-04-05 14:25:38 +02:00
rgarcia
39c6ac4a91 Display message in budget's index when there are no budgets
When there are no budgets we were seeing an exception in the budgets’
index

There are two parts to take into account here:
1) Making sure there is a current_budget present, otherwise we display
the “no budgets” message

2) The map helper is called from the controller, so we need to make
sure current_budget is present there too

Note: We could have added a bunch of `try` statements in the budgets’s
index, instead of using a conditional, however there are quite a few
`current_budget` calls so it seems more appropriate to use a conditional
2018-04-05 14:25:32 +02:00
decabeza
4fbc10d85e Fixes budgets ui for all phases 2018-03-14 15:01:56 +01:00
Bertocq
a46e9f756a Fix end's indentations at budget index page 2018-02-10 18:23:38 +01:00
Bertocq
9f47bce7f5 Improve budget index info page with classes 2018-02-10 18:22:45 +01:00
Bertocq
2915788487 Add budget id to finished budgets list on budget index 2018-02-10 18:20:15 +01:00
Raúl Fuentes
5b16d395e7 Added logic to not show invetment links is the budget phase isn't reviewing_ballots or finished 2018-02-10 15:27:40 +01:00
Bertocq
c01c08a3f4 Use current_budget directly instead of instance variable 2018-01-25 00:48:52 +01:00
Bertocq
8749b46ec4 Remove budget_published? usage on budget index, drafting budgets no longer listed 2018-01-25 00:48:52 +01:00
Bertocq
791f081a91 Rename @budget to @current budget at budget index
Clear instance variable names help understand what's going around when
you're deep 2 or 3 partials. In this case @budget is only used to carry
around the current_budget so @current_budget is more descriptive.

Using `current_budget` directly around would be an alternative, but
maybe not as maintainable in case we want to change which budget is
being shown (for example the drafting one if you're admin).
2018-01-25 00:48:52 +01:00
Bertocq
e62ca48a94 Show only finished budgets at budget's index
We only need finished budget's at budget's index "Finished budgets"
section. So we add the `finished` scope to @budgets variable, and rename
it so its clear what it contains.

Also avoid showing the "Finished budgets" section if there is none
2018-01-25 00:48:52 +01:00
María Checa
0dd71e6bea Merge pull request #2349 from wairbut-m2c/iagirre-budgets-new-information-phase
Budget new "Information" phase
2018-01-23 19:46:49 +01:00
rgarcia
eee19ad690 Use scope to order headings by name 2018-01-23 19:35:42 +01:00
Raúl Fuentes
82b750de68 moved duplicated code to helper 2018-01-23 15:42:01 +01:00
iagirre
846898f3ec New phase "Information" added and UI modified to not show the links.
Specs to test the functionality added.
2018-01-23 15:42:01 +01:00
decabeza
cb170766b4 orders budgets groups headings by name 2018-01-23 13:55:42 +01:00
decabeza
32c442ec66 removes description on finished participatory budgets 2018-01-19 14:35:05 +01:00
decabeza
27111b95c3 makes sure description has white color 2018-01-19 14:35:05 +01:00
decabeza
f722caac24 removes budget steps on header 2018-01-19 14:35:05 +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
e6e9e2db05 Render budget description html with links on budget index 2018-01-18 17:40:37 +01:00
Bertocq
95a7942372 Some css class improvements at budget list on /budget 2018-01-18 17:37:08 +01:00