* destroy notifications upon journal destruction
* breakup spec by journable
* have a dedicated job for scheduling journal completed events
* generate notifications in delayed job
* route wiki journal events through notifications
* combine mail sending for notifications into single job
* robustness if a journal is deleted
* linting
* differentiate BaseJournal and AssociatedJournal
BaseJournal holds the data of a journal that reflects the columns in the journaled model while AssociatedJournal reflects the columns of a model associated to the journaled model via a has_many/one association
* route news journal events through notifications
This does not yet include notifications for comments on news
* include news comment in notification workflow
* have the whole workflow in a single state machine job
* include forum message in notification workflow
* include document in notification workflow
* less dependencies from acts as watchable
* fix, test and document workflow job
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.
Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
* rename timestamps on time entry
* add updated_at filter/order for time entries
* rename on cost entries as well
This will make handling in the cost query easier
* adapt specs
* linting
* adapt project activity
* update references to updated_on
* remove outdated docs/code
* global memberships are just memberships
* rewire global membership creation/update/deletion
* delete no longer required code and patches
* move code to core
* move specs to core
* completely remove global roles in the form of a plugin
* adapt specs
* remove unused methods
* migrate existing data
* adapt membership representer to changed timestamps
* global memberships available via API
* implements created/update_at filters on memberships
* update member on roles being added/removed
* specify default value for created_at
* fix project permission check and validation on members
* adapt membership schema
* adapt usage of sort by on members widget
* support created/updated_on for api sort and filter
* remove outdated model file
* rename timestamps
* allow specifying timestamp column for aaj
* reload column information
* further rename of created_on
* include updated_at into journal creation
* adapt document updated_at calculation
* remove references to JournalVersion
Uses FactoryBot to keep and maintain specific records in a special transaction that does not get removed after each spec.
They automatically are created whenever first hitting them.
This makes an excellent time saver for items that are commonly used, such as an admin user account
We're getting more and more reports on synchronous Timeouts and SMTP
errors causing internal errors for users when trying to send mail in the
request of the browser.
With rails 5.2, we can assign a custom job that handles the
`deliver_later` delayed sending. We can hook this into the
ApplicationJob with delayed_job.
Since rails now also has GlobalID serialization of ActiveRecord, we
don't even need to do the serialization ourselves!
It was an early implementation of strong_parameters, more or less.
Going forward, we should strive to make the whitelisting of attributes
a controller responsibility only.