* add a new helper for breadcrumb in wiki page
* set page header in destroy page
* set page header in edit page
* set page header in history and rename and edit parent pages
* change toolbar items into page header items
* add new wiki action to sub header
* remove version edit page which is not in use any more
* add export as a menu item of the header
* fix rubocup errors
* fix failing tests
* replace page header in annotate page
* replace page header in diff page
* add page header in select menu page
* fix rubocup errors
* fix errors on rename test
* fix errors on selecting items from toolbar
* fix errors on tests for child pages
* set correct permission for configure menu item
* replace page header in summary page
* replace page header in summary details page
* edit docs of sub header
* add page header in wiki new page
* remove controller and a route for edit method
* undo changes for docs of sub header
* extract header in show page into a new component
* use helper method in header component
* add wiki module to the breadcrumb
* rename page header component for wiki page
* simplify how lock and lock implemented
* extract sub header
* remove wiki title from header of history page
* fix page header in new page
* use page.find_test_selector in test
* fix failing test for summary page
* fix failing test for wiki child pages
* change the summary test
* use test selector for page header title
* undo changes for activate user in admin
* use test selector in adding editing history test
* use test selector in attachment upload test
* use test selector in child pages tests
* use test selector in wiki menu items tests
* change test selector for breadcrumbs
* extract conditions to show edit button into a method
* extract conditions to show rollback action menu item into a method
* extract conditions to show create button into a method
* fix duplicated code in test
* Remove outdated `show_local_breadcrumb` method which is replaced by the Primer::PageHeader breadcrumb
* Remove `default_breadcrumb` method as it serves no prupose any more
* Remove the old breadcrumb and its hook completely
* remove breadcrumbs path from rename
* fix translations errors in storages
* undo changes on translations
* remove default breadcrumbs in time tracking controller
---------
Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
Co-authored-by: Behrokh Satarnejad <62008897+bsatarnejad@users.noreply.github.com>
* Refactoring: Rename permission :add_user and :add_placholder_user
to :manage_user and :manage_placeholder_user
* Add deletion to :manage_placeholder_user permission label
* WIP: Check :manage_placeholder_user permission before deletion
Specs still missing
* In controller rely on authorize_global for deleting placeholder users
* Add deletion_info for placeholder users
* Extend specs
* Set placeholder users to locked when deleting
* Review feedback
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
* 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>
* Move replacing invalid references into separate job for principals
* Write migration to remove existing invalid custom values and responsible
* Fix other specs
* Fix other specs
* rewrite replacing user in records
* consolidate principal deletion
* include placeholder users in spec
Co-authored-by: ulferts <jens.ulferts@googlemail.com>
* 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>