Commit Graph

5324 Commits

Author SHA1 Message Date
rgarcia
c908e91f00 Order budget headings by id
To maintain order after editing a heading’s name

We should probably add timestamps to `groups` and `headings` and order
by `created_at` instead

Could have done it in a separate PR, but gotta keep moving to other
priority issues. Creating issue for timestamps to do correctly and with
tests 😌
2018-03-22 10:20:07 +01:00
rgarcia
1083213ac7 Order budget groups by id
To maintain order after editing a group’s name

We should probably add timestamps to `groups` and `headings` and order
by `created_at` instead
2018-03-22 10:19:56 +01:00
rgarcia
86e4a5d853 Find group inside budget
We were having a problem were some groups where not updating correctly.

That was because it was finding the first group with that name. However
we were looking for another group with the same name from another budget

Apart from the group_id, we also get the budget_id in the params for
updating a group. By finding groups within that budget we get the
expected behaviour
2018-03-22 10:19:43 +01:00
Bertocq
316c0aab3e Remove unnecesary slug generation trigger 2018-03-02 09:17:34 +01:00
Bertocq
d9a8474793 Refactor Group partial to be easier to read 2018-03-02 09:17:26 +01:00
Bertocq
7c02f9c82e Fix missing I18n.t usage 2018-03-02 09:17:21 +01:00
Raúl Fuentes
78fc4010d0 fixed the style 2018-03-02 09:17:08 +01:00
Raúl Fuentes
6d8d44a5e3 Added interface and methods for edit the name of a Budget::Group if the budget is still inthe drafting phase 2018-03-02 09:16:57 +01:00
Alberto Calderón Queimadelos
0decaf43a3 Merge pull request #2492 from consul/fix_newsletter_send_performance
Fixed how newsletters controller and mailer handle recipients
2018-02-28 19:03:58 +01:00
Alberto Calderón Queimadelos
0acb4988f0 Merge pull request #2490 from consul/documents-tab
Documents list
2018-02-28 17:14:58 +01:00
María Checa
8d2a103744 Changed how newsletters controller and mailer handle recipients
Now newsletters controller calls the Mailer method to send a newsletter once per user.
2018-02-28 17:02:31 +01:00
decabeza
1546f67367 Removes document tab on legislation proposals 2018-02-28 16:21:08 +01:00
decabeza
7a888b71fd Removes duplicate heading info, fixes headings structure 2018-02-28 16:10:14 +01:00
decabeza
46f21330bd Removes document tab on budgets investments 2018-02-28 15:23:39 +01:00
decabeza
5b7a5a2b4b Removes document tab on proposals 2018-02-28 15:23:32 +01:00
decabeza
5c0a10699a Refactors documents partials and reorganices css 2018-02-28 15:22:33 +01:00
decabeza
ddc4ff329b Fixes button vertical align on polls list 2018-02-28 15:19:33 +01:00
Bertocq
dbe723079e Disable guide page when Budget is not accepting
Why:

When there is not Budget accepting (Investment creation) the guide page
doesn't have much sense as it will give the user an option that can't be
used (creating an Investment).

How:

Using `Budget.current&.accepting?` conditional at GuidesHelper to link
to new proposal link instead of guide page, and adding an scenario to
guides feature spec for it.
2018-02-26 10:01:30 +01:00
Bertocq
7d88b25741 Revert "Revert default map change"
This reverts commit 418dc6a1d6.
2018-02-22 07:40:59 +01:00
Bertocq
65288573b5 Fix user administrators scope relation 2018-02-22 00:42:40 +01:00
Bertocq
24aa157998 Fix invalid Newsletter recipients count to 0
When a newsletter doesn't have a valid user segment for the recipients
list, the number of users should be 0.
2018-02-21 11:47:24 +01:00
Bertocq
f34d6c1c1d Prevent invalid newsletters from being sent
Why:

Newsletters without a valid user segment can't be sent since there is no
recipient user email list.

How:

* Hiding the send button at the form
* Preventing an invalid newsletter from being delivered at the controller
2018-02-21 11:47:16 +01:00
Bertocq
38f7a222f5 Add error message for invalid Newsletter user segment
Instead of the name of the User Segment we'll display an error message
2018-02-21 11:46:30 +01:00
Bertocq
7cfa7b18f9 Validate Newsletter segment_recipient value
Why:

A Newsletter can only be sent if the are available user recipient emails
and that means the `segment_recipient` value actually corresponds to a
function on the UserSegments class.

We could rely on the UserSegments::SEGMENTS constant as the list of
possible user segments functions that a Newsletter can use to gather
emails, so any value not included in that hash would not be valid.

But to be 100% sure the newsletter can get a recipients_list we should
just check if the UserSegments class has a method with same name as the
`segment_recipient` value.

How:

* Adding an validation method that checks if UserSegment has a method
with same name as the `segment_recipient` value.
* Adding an scenario to the Newsletter model spec to check this
2018-02-21 11:46:16 +01:00
Bertocq
4becd0eb35 Change Newsletter's segment_recipient to string
Why:

Newsletter attribute `segment_recipient` is an integer to be used as
enum. There's no advantage to store a number instead of an string if the
ammount of elements in the table is not going to be huge, or we can take
advantage of using an enum.

Also maintaining both Newsletters enum paired with UserSegments::SEGMENTS
would be a maintenance burden.

How:

* Migration to change segment_recipient column from integer to string
* Removing enumeration from Newsletter model class
* Using UserSegments::SEGMENTS instead of Newsletter.segment_recipients
or integer values
2018-02-21 11:46:11 +01:00
Bertocq
bdbb32e824 Move newsletter User scope outside UserSegments
Why:

UserSegments are not only used for Newsletters or Email downloads, but
also for internal Global Notifications. We don't want to have that scope
hardcoded inside UserSegments as users that have opted-out from the
newsletter should still be recipients of global notifications.

How:

Removing the scope from the UserSegments `all_users` method that acts as
base for all the other segments. Including that `newsletter` scope only
on the places that is relevant:
* When listing recipients for a newsletter
* When downloading a listing emails that can be newsletter recipients

Also updated relevant tests
2018-02-21 11:45:38 +01:00
Bertocq
f873bff5c6 Fix admin menu controller name conditionals 2018-02-20 22:33:01 +01:00
rgarcia
7f30d0c620 Fix doble submit specs
We have a custom implementation to avoid doble submissions which causes
some custom problems 😌

This commit should fix the following three specs
spec/features/comments/legislation_annotations_spec.rb:367
spec/features/comments/legislation_questions_spec.rb:333
spec/features/custom/probe_option_comments_spec.rb:298

One of the custom problems comes from ajax:success[1] not being
triggered, instead only ajax:complete seems to be triggered

We should remove this custom implementation and use the standard
solution provided in rails[2]

[1]
https://github.com/AyuntamientoMadrid/consul/blob/master/app/assets/java
scripts/prevent_double_submission.js.coffee#L28

[2]
https://stackoverflow.com/questions/9570912/how-to-disable-a-form-submit
-button-a-l%C3%A0-ruby-on-rails-way/9572893#9572893
2018-02-20 22:33:01 +01:00
María Checa
1c458d4be3 Added emails download views 2018-02-20 22:33:01 +01:00
María Checa
cb15a2e25b Added EmailsDownload controller and routes
Removed original method to return emails file from Newsletters controller and NewsletterZip class, included `rubyzip` gem that's no longer necessary.
2018-02-20 22:33:01 +01:00
Bertocq
1c653a7096 Improve admin menu active item conditionals 2018-02-20 18:50:39 +01:00
María Checa
017c242085 Merge pull request #2462 from consul/admin-newsletter-emails
Admin newsletter emails
2018-02-20 16:17:37 +01:00
Bertocq
1434449b84 Fix line length issues at User model 2018-02-19 11:09:19 +01:00
Bertocq
9925e2b02f Extract inline query to User scope & refactor 2018-02-19 11:09:19 +01:00
Bertocq
62d75af892 Fix line lenght offenses at multiple controllers 2018-02-19 11:09:19 +01:00
Bertocq
4fb9f6829c Extract inline query to an OfficerAssignment scope 2018-02-19 11:09:19 +01:00
Bertocq
118deb9fc4 Fix line lenght offenses at multiple controllers 2018-02-19 11:09:19 +01:00
decabeza
9e51d47012 Fixes image height on items list with tags 2018-02-14 19:19:28 +01:00
decabeza
9c887f5ee9 Removes old unused css 2018-02-14 18:21:04 +01:00
decabeza
1cc799ef11 Adds links to milestone description 2018-02-14 18:13:46 +01:00
decabeza
a950bb03a7 Removes unnecessary p tag on investment partial 2018-02-14 18:04:17 +01:00
decabeza
990dc072be Refactors custom page view and include specs 2018-02-14 17:52:10 +01:00
decabeza
f7c7f0201a Fixes heading structure and i18n format on legislation processes 2018-02-14 17:06:26 +01:00
María Checa
24bca36639 Merge branch 'master' into admin-newsletter-emails 2018-02-14 16:07:13 +01:00
María Checa
d786284ce9 Added newsletter custom stylesheets and js alert 2018-02-14 16:06:02 +01:00
María Checa
f1fbe7ff29 Modified administrator abilities for newsletters 2018-02-14 16:05:31 +01:00
María Checa
881059811f Added newsletter admin views 2018-02-14 16:05:29 +01:00
decabeza
c0c4d9e01f Fixes back link to on how to use help page 2018-02-14 16:00:01 +01:00
Raimond Garcia
8bec36500a Merge pull request #2385 from wairbut-m2c/2363-alert-delete-investment-project
Add alert message when a user deletes an investment project from "My activity"
2018-02-13 14:06:08 +01:00
María Checa
20173f9870 Added newsletter mailer method and view 2018-02-13 13:12:00 +01:00