Why:
* Crowdin now hosts all consul translations publicly so anyone can contribute https://crowdin.com/project/consul/invite
* Crowdin makes easy for non-tech people to contribute, once we have a demo site we'll be able to offer "on site" translation
* If you still use Tolk, we recommend removing this commit (but adding tolk gem to ./Gemfile_custom file to avoid future merge conflicts)
How:
* Reverting changes introduced with 9610a6a933
Why:
* Slug must be unique among:
1. Budget slug: among other budgets
2. Group slug: among other groups from its budget
3. Heading slug: among other headings from all the groups from its budget
How:
* Adding checks for all possible scenarios on each model specs
Why:
* Once slug presence validation and usage is merged on to a code base, existing objects without it will become invalid and unusable
How:
* Running `bundle exec slugs:gnerate` will look for all models that include the concern, and generate a slug for each object
* What: We need to generate slug on Budget, Group and Heading classes, validating its unique for its scope
* How: Adding a presence and unique validation using Budget always as scope.
Why:
* Those classes have a slug attribute that needs to be filled
How:
* Just adding the shared example to Budget model spec, and creating the model spec file for Heading and Group to include it as well
Why:
* We need certain models that use a Sluggable to generate a slug based on name attribute on save
How:
* Creating a shared example that knows how to create a factory of the described class
* Checking in it that new objects of the described class get the correct slug
Why:
* We're still using id's on routes and other parts of the app, using slugs are more friendly and nice
How:
* Just a migration with a slug column with string type
Why:
* Admins can now mark/unmark a investment as incompatible
How:
* With a new checkbox in the edit form and a section at the investment details view to show the current status
Why:
* A incompatible investment can't be chosen as a winner
* When a winner investment is marked as incompatible, winnersmust be recalculated and it can't be a winner
How:
* Increasing existing scenarios to include a incompatible investment
* Adding a new scenario where a winner investment gets flagged as incompatible