Commit Graph

57 Commits

Author SHA1 Message Date
Javi Martín
b51aa31e6a Use HTML beautifier to indent ERB files
We had inconsistent indentation in many places. Now we're fixing them
and adding a linter to our CI so we don't accidentally introduce
inconsistent indentations again.
2025-03-07 16:31:08 +01:00
Javi Martín
db274e9a44 Apply Lint/SymbolConversion rule in ERB files 2024-06-18 18:27:32 +02:00
Javi Martín
b9e137619a Simplify the way we provide the title in most cases
This is consistent with the way we're providing the main class.

Note we're still setting the title using a block in more complex cases.
2024-03-23 00:35:47 +01:00
Sebastia
c816c51787 Merge pull request #5173 from consuldemocracy/budget_results
Replace back link on budget results
2023-11-14 10:08:31 +01:00
Alberto
ea38b6d6c5 Replace back link on budget stats 2023-11-03 10:57:07 +01:00
Javi Martín
629e208e9d Add and apply ArgumentAlignment rubocop rule
We're choosing the default `with_first_argument` style because it's the
one we use the most.
2023-08-18 14:56:16 +02:00
Senén Rodero Rodríguez
320e1948fc Do not render message when there are zero participants without demographic data 2022-06-14 10:48:48 +02:00
Javi Martín
6b1864fbcd Sanitize translations instead of using _html
Using the `_html` suffix in an i18n key is the same as using `html_safe`
on it, which means that translation could potentially be used for XSS
attacks.
2019-10-09 19:46:47 +02:00
Javi Martín
eb7dc3ef2d Extract partial to render budget navigation links 2019-06-06 12:17:52 +02:00
voodoorai2000
cb9c3696f4 Use budget investments in useful specs 2019-05-31 18:23:03 +02:00
Javi Martín
45a3d8daf0 Add option to enable advanced stats 2019-05-22 11:50:03 +02:00
Javi Martín
a34b97e843 Extract partials to show advanced stats 2019-05-22 11:50:03 +02:00
Javi Martín
dc8c4a998f Fix budget stats social meta tags
We had forgotten to update these tags for stats after updating them for
budget results in commit 153b46b4 and commit a6baaa93.
2019-05-21 13:50:19 +02:00
Javi Martín
66ecb2835b Show only available budget stats phases
This way we can show statistics for the supports phase before the vote
phase is over.
2019-05-21 13:50:18 +02:00
Javi Martín
bf2292ba18 Rename budget stats "all phase" to "every phase"
"All phase" doesn't sound right in English, and we're going to refactor
the code related to the phases.
2019-05-21 13:50:18 +02:00
Javi Martín
e146fafb60 Only show "no demographic data" when necessary
If there's demographic data for all participants, it doesn't make sense
to show the message.

We're using translations instead of an `if` in the view because the text
is also different when there's only one participant. In some languages
the text might also be different depending on how many people with no
demographic data participated.

Another possibility would be to use an `if` in the view so we don't
display an empty paragraph when the cont is zero, and then using
translation for `one` and `other`. I haven't gone that way because I
thought the logic would be more complex and the benefits wouldn't be
that great.
2019-05-21 13:50:18 +02:00
Javi Martín
ae4cd06c24 Include no geozone in no demographic data 2019-05-21 13:50:18 +02:00
Javi Martín
793bfed372 Display only existing stats
So if we don't have information regarding gender, age or geozone, stats
regarding those topics will not be shown.

Note we're using `spec/models/statisticable_spec.rb` because having the
same file in `spec/models/concerns` caused the tests to be executed
twice.

Also note the implementation behind the `gender?`, `age?` and `geozone?`
methods is a bit primitive. We might need to make it more robust in the
future.
2019-05-21 13:50:18 +02:00
Javi Martín
76c7827cf4 Use stats objects instead of hashes
It will make it far easier to call other methods on the stats object,
and we're already caching the methods.

We had to remove the view fragment caching because the stats object
isn't as easy to cache. The good thing about it is the view will
automatically be updated when we change logic regarding which stats to
show, and the methods taking long to execute are cached in the model.
2019-05-21 13:50:18 +02:00
Javi Martín
dc077bb03c Simplify budget stats in voting phase
So we only show the total number of participants, and not divided by web
participants and booth participants.
2019-05-21 13:50:17 +02:00
decabeza
6410d4c3e5 Replace data equalizer with css
Data equalizer was used to show a border to separate sidebar from the content. Now is the same with only css avoiding use js.
2019-05-21 13:50:17 +02:00
Javi Martín
2d7b8bc8df Use new design for advanced budget stats 2019-05-21 13:50:17 +02:00
Javi Martín
6ad3bc063c Move budget stats translations to stats files
We were using custom translations, but now this code is going to be
included in the main CONSUL repository.
2019-05-21 13:50:17 +02:00
Javi Martín
cf32dcd6d5 Use the new stats layout in budget stats
So now stats by gender and age are replaced by shared participation
stats (which also includes stats by district), reusing the code already
used in poll stats, and advanced statistics (which used to be at the top
of the page) are now displayed after partipation stats.
2019-05-21 13:50:17 +02:00
Javi Martín
4d520a3a47 Rename age_groups method
The name was confusing because it seemed to return a list of age groups.
2019-05-21 13:50:16 +02:00
decabeza
b91b766e96 Adds styles and updates html markup to stats 2019-05-21 13:50:16 +02:00
Javi Martín
7ce57f649f Use a <meter> tag to display age percentages 2019-05-21 13:50:16 +02:00
Javi Martín
9a01ff5323 Refactor age groups method
We try to make the method return data which is easier to handle in the
view.
2019-05-21 13:50:15 +02:00
Javi Martín
c0044f4e56 Extract method to show stats percentage 2019-05-21 13:50:15 +02:00
Javi Martín
5a3eb70a46 Use same translations for poll and budget stats 2019-05-21 13:50:15 +02:00
voodoorai2000
abb6eb18b0 Order headings by name and group
Note that we are relying on the existing `sort_by_name`[1] method in the `Budget::Heading` class.

This method sorts by DESC group name first and then ASC heading name.

[1] https://github.com/AyuntamientoMadrid/consul/pull/1875
2019-05-16 22:01:42 +02:00
decabeza
7b2495845d Moves social tags outside cache on budget stats 2019-05-16 22:01:42 +02:00
Angel Perez
3bbdffceaf Remove conditional to render tabs on budgets/stats#show
'Results' and 'Execution' tabs are now shown to the user regardless
of the budget's current status
2019-05-16 22:01:42 +02:00
Angel Perez
c2b9042ad7 Add 'Execution' tab to a finished Budget stats
This tab will show all winner investments projects with milestones
2019-05-16 22:01:42 +02:00
María Checa
fac99cfb10 Add web and booth participants in budget stats 2019-05-16 22:01:42 +02:00
decabeza
99d0ac52c0 Fixes budgets stats ui for all phases 2019-05-16 22:01:42 +02:00
decabeza
7b2f77dfbd removes duplicated thead tag 2019-05-16 22:01:42 +02:00
Bertocq
6a46719ff8 Link to results without heading unless its on the results menu 2019-05-16 22:01:42 +02:00
Bertocq
c5a4a427c4 Add links between Budget stats and results routes 2019-05-16 22:01:42 +02:00
Bertocq
4691b486b0 Improve budget stats investments sent text to have a breakline on spanish 2019-05-16 22:01:42 +02:00
Bertocq
e5a2440e91 Remove the last totals row on Budget stats view 2019-05-16 22:01:42 +02:00
Bertocq
07cef9cd78 Order headings by id on budget stats view 2019-05-16 22:01:42 +02:00
Bertocq
4b2a2dd995 Improve percent round 2019-05-16 22:01:42 +02:00
Bertocq
be89289b09 Improve budget stats page with a new row showing each column totals 2019-05-16 22:01:42 +02:00
decabeza
9f6f7496c1 changes text classes on gender stats 2019-05-16 22:01:42 +02:00
Bertocq
427781a253 Reorder gender statistics to match gender image 2019-05-16 22:01:42 +02:00
Bertocq
1f3bc2c8d9 Switch from feasible to selected investments on budget stats 2019-05-16 22:01:42 +02:00
rgarcia
f9e45dc2e2 displays selected instead of feasible investments 2019-05-16 22:01:42 +02:00
decabeza
eb57b5c375 adds multiplier on progress meter stats age table 2019-05-16 22:01:42 +02:00
Bertocq
6c214c266f Correct budget stats age group id's and labels 2019-05-16 22:01:42 +02:00