Commit Graph

38 Commits

Author SHA1 Message Date
Machine Learning
4d27bbebad Add experimental machine learning 2021-08-16 16:31:04 +02:00
Javi Martín
ed223e0bd1 Use audited to track investment changes
Our manual implementation had a few issues. In particular, it didn't
track changes related to associations, which became more of an issue
when we made investments translatable.

Using audited gives us more functionality while at the same time
simplifies our code. However, it adds one more external dependency to
our project.

The reason for choosing audited over paper trail is audited seems to
make it easier to handle associations.
2019-11-05 13:02:37 +01:00
Javi Martín
6f4dc11dc4 Remove validations in investment changelog entries
If we validate the presence of the old value and the new value, changes
in optional fields will not be stored if either the old value or the new
value are blank.
2019-11-05 12:54:32 +01:00
Javi Martín
94d2496f8f Add missing has_many relations for users
Usually when we specify a `belongs_to` relations, we also specify its
equivalent `has_many`. That allows us to write, for example:
`topic.user.topics`.
2019-10-25 19:27:30 +02:00
Javi Martín
fda53a0a2a Remove unnecessary foreign_key options
When we specify `belongs_to :author`, ActiveRecord automatically uses
`author_id` as the foreign key.
2019-10-25 19:03:10 +02:00
Javi Martín
57ef380379 Add and apply Layout/ExtraSpacing rubocop rule 2019-10-24 18:11:58 +02:00
Javi Martín
db97f9d08c Add and apply rubocop rules for empty lines
We were very inconsistent regarding these rules.

Personally I prefer no empty lines around blocks, clases, etc... as
recommended by the Ruby style guide [1], and they're the default values
in rubocop, so those are the settings I'm applying.

The exception is the `private` access modifier, since we were leaving
empty lines around it most of the time. That's the default rubocop rule
as well. Personally I don't have a strong preference about this one.


[1] https://rubystyle.guide/#empty-lines-around-bodies
2019-10-24 17:11:47 +02:00
Javi Martín
47b2c42a1d Apply IndentationConsistency rubocop rule 2019-09-10 20:02:15 +02:00
Javi Martín
765d405df1 Use Rails 5 conventions in migrations and models
We forgot to add these changes to pull requests which were in
development before we upgraded to Rails 5.

We're also moving the rubocop rules to the basic files, so we're
notified when we inherit from `ActiveRecord::Base`.
2019-08-07 13:53:27 +02:00
German Galia
16ffa2a259 Add change log in investment participatory budget 2019-06-12 13:06:20 +02:00
Javier Martín
d85743bf68 Merge pull request #3356 from LextrendIT/feature/module_15_extract_costs_from_admin_investments_feasability_column
Add price column in the admin budget investments table
2019-04-03 21:29:31 +02:00
lalo
9edaf44b9c Add new admin budget investments advanced filter for max supports 2019-04-03 13:39:59 +02:00
Julian Herrero
3ba961a2d7 Use double quotes in models 2019-03-14 17:25:43 +01:00
Marko Lovic
c0f6fa182f Make Milestones general, and not specific to Budget Investments
Generalize the Budget::Investment::Milestone model to a
polymorphic Milestone model so it can be used for entities
other than Budget::Investment.
2018-11-30 14:15:21 +01:00
Marko Lovic
81f516efd7 Change BudgetInvestmentStatus to Milestone::Status
Generalize the BudgetInvestmentStatus model to Milestone::Status so it
is not specific to budget investments, but can be used for any entity
which has milestones. This is in preparation to make the Milestone
model polymorphic and usable by entities other than budget investments.
2018-11-30 14:15:21 +01:00
decabeza
1d5335c782 Display last milestones image
Also adds a second order to ensure the order to display milestones with same publication date is always the same
2018-11-07 18:25:02 +01:00
Javi Martín
ab870c756a Use Date.current to find published milestones
Using `Date.today` caused some milestones to be published before/after
the date defined by `Rails.application.config.time_zone`.

See also commit AyuntamientoMadird/consul@088c76d for a more detailed
explanation.
2018-11-06 13:02:35 +01:00
María Checa
d089cc14a5 Add logic to handle budget investments with an execution process 2018-11-06 13:02:35 +01:00
Javi Martín
2ab49a1832 Refactor globalize models code using a concern
I've chosen the name "Globalizable" because "Translatable" already
existed.
2018-10-22 16:28:53 +02:00
Javi Martín
01a254545f Update milestones translatable fields
Note the title field was hidden since commit 01b9aa8, even though it was
required and translatable. I've removed the required validation rule,
since it doesn't seem to make much sense and made the translatable
tests harder to write.

Also note the method `I18n.localize`, which is used to set the
milestone's title, uses `I18n.locale` even if it's inside a
`Globalize.with_locale` block, and so the same format is generated for
every locale.
2018-10-22 15:44:14 +02:00
Marko Lovic
c7fcdd9b0e Use standard locale names for Globalize
It turns out it is not necessary to downcase and underscore
locale names to use the globalize-accessor gem. The gem
will automatically underscore the locale name when defining and
calling the accessor methods.
2018-09-11 18:48:14 +02:00
Marko Lovic
3f277c5cdf Avoid duplicating list of locales 2018-09-11 18:46:58 +02:00
Marko Lovic
601e3058d8 Add visible_to_valuators and author username to admin investments CSV
Backport based on 012e4be by María Checa from AyuntamientoMadrid/consul fork
2018-07-25 15:10:56 +02:00
Marko Lovic
5413c34458 Restructure and rename translations
Based on 012e4be by María Checa from AyuntamientoMadrid/consul fork
2018-07-25 15:10:09 +02:00
María Checa
551e2bb1c4 Changed Budget::Investment::Milestones model
Added relation with Status and set condition to validate milestone's description presence if there's no status set.
2018-06-27 18:19:33 +02:00
María Checa
87b13bab72 Add Budget::Investment::Statuses model 2018-06-27 16:44:48 +02:00
iagirre
8b9d1ebd33 Make portuguese locale work
There was a problem with the portuguese locale.
The locale was pt-BR, but `globalize_accessors` gem
doesn't allow the creation of methods using locales
with that format.

To avoid transforming pt-BR to pt and lose the distinction
of the different variations of the language, a function has
been added to transform pt-BR into pt_br (without changing
the locale itself). That way, when globalize uses the locales,
all of them will have a valid format (downcased and underscored)
AND they will be always the same (comparing pt-BR with pt_br
doesn't work).
2018-05-09 16:07:21 +02:00
rgarcia
f7486b9238 Add Globalize to Milestones 2018-05-09 16:05:44 +02:00
Bertocq
aacac71362 Extract Budget Investment to_csv to its own class
The csv generation doesn't seem like a Model concern, at least not taking
into account the amount of lines of the method (36+). Just a simple ruby
class that encapsulates the logic makes it easier to read and maintain as
we increase the columns exported.. also customize in case other forks need
different values.
2018-04-11 21:30:16 +02:00
Bertocq
7e67e8c93b Remove unnecesary empty line at milestone model 2018-02-05 15:54:33 +01:00
Bertocq
a297faec4b Add order scope to milestone for publication date 2018-02-03 19:15:31 +01:00
Bertocq
900d8a00b1 Make milestone's description a required attribute 2017-12-15 16:38:21 +01:00
Alberto García
1737f85398 Merge branch 'master' into aperez-dates-for-milestones 2017-12-14 20:50:55 +01:00
iagirre
01a8c55936 Make Budget::Investment::Milestone class Documentable.
Add fields to the milestone form so that the admin can attach 0, 1 or multiple documents.
Add column to milestone list with a link to documents (if there is any).
Make documents accessible from the milestone view for users.
2017-12-14 10:53:01 +01:00
Angel Perez
6d57d76071 Admins can add a 'publication date' to milestones 2017-12-13 20:17:54 -04:00
iagirre
35986ea6b5 Budget::Investment::Milestone is imageable
Admin form attaches an image
Milestone list has a column "Image", empty or with a link to the image
2017-12-13 08:59:36 +01:00
taitus
f220952883 Add CRUD Milestone on Admin::BudgetInvestment. Rename Checkpoint to Milestone. 2017-06-24 22:38:48 +02:00
taitus
beeb5412d7 New Checkpoint model. Update factories. Model specs. 2017-06-24 22:38:48 +02:00