We accidentally changed the schema when modifying an existing migration.
It wasn't critical because we're going to remove that table in the
future, but it resulted in conflicts for users who had already run the
migration before its modification.
This commit fixes commit 4a7f479.
We'd rather keep the table so future data migrations work smoothly, so
we change the migration in order to create the translation table without
using models.
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.
Instead of using I18n for the field texts and forcing the
locale (e.g. `I18n.t('seeds...', locale: :es)`), I'm moving
content out of `config/locales/` and into the seed file.
This is because this content is less about reacting to different
locales (the locale would always be forced so we don't actually
use the main i18n functionality), and more about demonstrating
the "translatable fields" feature.
We can use the `config.authorize_with` option, so we don't need to copy
the controller in order to load and authorize resource.
Besides, only administrators can upload images, so we don't need to
track the image's user id.
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.
With this commit we are logging which emails have already received the
newsletter
This could be important if something goes wrong sending the newsletter,
to be able to identify which users have already received the newsletter
and be able to skip them
We’ve had to add a new action to the Activity model (email) and add
paranoia features to be able to deal gracefully with the default
`with_hidden` scope in Activities[1]
[1]
https://github.com/AyuntamientoMadrid/consul/blob/master/app/models/acti
vity.rb#L2