* Adding placeholder user contracts
* Adding create, update, and delete services for placeholder users
* WIP: Adding Placeholder User contract specs [ci skip]
* Extract contract validation into common helper
* Add common validation in BaseContract + common example for admin checks
* Introduce common ModelContract shared context for validations
* WIP: PlaceholderUser controller, i18n, and routes [ci skip]
* Placeholder users index page and query
- moved all group related scopes from User to Principal to make them also available in PlaceholderUser.
* end
* Create PlaceholderUser
* Feature spec for editing a placeholder user
* Manage PlaceholderUser memberships
The managment of memberships is pretty similar for User and PlaceholderUser. This commit extacts the similarities and uses them for both.
* General partial and show view for PlaceholderUser
* Delete obosolete partial
* Allow RequireAdminGuard to be used as a module function
* Fix I18n for confirmation text
* Smaller code improvements
* Fix: Syntax for accessing status enums was wrong.
* Use UpdateService for updating a placeholder user
* Add spec for PlaceholderUsersController
* First code improvements after code review.
- more improvements to come.
* Further code improvements after review
... still more to come
* Correct namespace of delete service
* Fix: Make placeholder user contract validate
* Remove :type attribute from base contract of User and PlaceholerUser
...and add it to the CreateContracts.
Also add type validations.
Further extract shared examples for placeholder user attribute
validation
* Refactor: Extract membership hook calls to helper
* Fix redirect paths for membership controllers
* Specs already present in shared exampels.
* Fix duplicates routes for users and placeholder users
* Fix user path
* Add attribute name and lastname
We don't need a writeable check as both are equally writable
* Replace more references to tab_edit_user_path
* Skip specs for PlaceholderUsers::DeletionService
We will tackle that service in a separate PR.
* Fix module usage of RequireAdminGuard
* Fix group filter for placeholder users
* Fix invalid reference to expect_valid
* Fix: Fix tabbed edit path for placeholder users
* Fix status filtering on users
* Linting
* Improve generalisation of individual principal filter cell
- Check for presence of groups and statuses in order
to toggle visibility of their UI element.
- Remove groups from placeholder user controller and
cell initialization and options
* Fix selector on groups assign
* Remove using_shared_fixtures
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
Replaces reform by a simple layer of Disposable +
ActiveModel::Validations for contracts.
Additionally removes the custom error handling where OpenProject added
symbols to keep the ability to identify faulty attributes while having
non standard format (deviates from `%{attribute} %{message}`).
Changes to active record now allow us to define the format of a message
on i18n level, e.g. `%{message}`. Therefore the patching can be removed.
Reform plans to remove support for ActiveModel::Validations in version
4.0 at the latest but even today, support for it is hapazard. As we do
not need the full stack of Reform anyway, we can solely rely on
Disposable.
Attribute help text so far could only be added to work packages.
This commit adds support for projects and adds the help texts to
widget headers for status and description modals in the overview tab
as well as extending the attachable mixin to allow uploading images.
Uploaded attachments are to be expected to be visible regardless of permissions,
thus this also adds an option to make attachments visible to all