* Fix argument alignment since f08bea3467
The FactoryBot.* prefix has been removed in f08bea3467. Since then
rubocop complains about Layout/ArgumentAlignment. This commit fixes it.
* do not fix alignments for modules/*/spec yet
hoping to be under the limit of 65535 characters for reviewdog to report on rubocop errors
* 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>
* Reuse contracted services in memberships controller
* Show only manageable projects
* Show only manageable projects in select box
* Reject empty values in role_ids
* Add spec for when user has no manage_members permission
* Also handle delete through service
* Extend spec for when user has no manage_members permission
* Extend Members SetAttributesSpec
* Make manageable_Members an instance method and add spec
* hide buttons if user is not allowed to use them
* Rename manageable_projects to assignable_projects
* Build a membership for the contract
* Fix url for global_roles to work with update and create methods
Co-authored-by: ulferts <jens.ulferts@googlemail.com>
* Add global permission to manage (but not delete) placeholders
https://community.openproject.com/work_packages/35508
* Restore breadcrumbs for non-show routes
* Remove permissions to memberships for add_placeholder_user permission
* Allow non-admins with global permission to access membership
* Remove permissions to memberships for add_placeholder_user permission
* Rename shared_examples for admin contract validations
Co-authored-by: ulferts <jens.ulferts@googlemail.com>