* Introduce RemoteIndentity to decouple remote user ids from oauth tokens
* Introduce RemoteIndentity to decouple remote user ids from oauth tokens
* Move dependent destroy to DB layer via ON DELETE CASCADE for remote identities
* Appease rubocop on has_many
---------
Co-authored-by: Wieland Lindenthal <w.lindenthal@forkmerge.com>
By causing aggregated journals to update mentioned notifications before
the predecessor journal is destroyed, we can keep information about a
mention in the notification realm and skip creating another notification
for the same mention.
https://community.openproject.org/wp/39177
* 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
* spec with correctly scoped links
* move db check into own file - fix deprecation
* basic spec for member creation service
* use constants for all notifications
* send an OP notification after member has been created
* send an OP notification after member has been updated
* mails on group member added
Depending on whether the membership existed before or not, an updated or
a created notification is send. This is done asynchronously.
* move all mail sender background jobs into namespace
* wip
* wip
* correct handling group member notifications
* add setting enable/disable mail sending on member alterations
* use services in members controller
* move Notifiable to OpenProject
* remove member after save hooks
* cleanup/testing/linting
* render member mails in receiver locale
* remove add_member! method
* use mailer layout for all mailers
* Update app/services/groups/cleanup_inherited_roles_service.rb
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
* use around callback to avoid prepending
* handle nil params
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
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 to convey applicability to all journal notifications
* adapt journal completed job to handle wiki content
* remove empty module
* create wiki_content mail service
* introduce copy/create service and contract for wiki pages
* specify set attributes and create contract for wiki pages
* copy the content attributes
* use wiki page create service when copying wiki
* introduce specifc service for copying wiki pages
The contract disables checks for permissions on the wiki page. The copy_projects permission should suffice to copy everthing in a project
* copy wiki pages top down to rewrite hierarchy
* limit copied attachments to copied type