The decision on which fields are writable has been moved into
the user's contract. Previously the fields in the My Account form were only
disabled in the frontend, but when changing the browser form, the user could
still update values. Now the contract has been updated to check the
authentication method as well, denying changes to the own name and email address.
Similarly when the contract prevents edits, this is also reflected in the admin
UI for users. It's not pretty, because there seems to be no formatting for disabled
text boxes in our old forms, but it still gives faster feedback than the
old forms, where you had to submit to see that a change to your own login
was rejected.
In the My Accounts form, this change leads to the curious case, where
an admin CAN change their own name in the My Account view, because admins
could do it in other forms as well. It's surprising, but consistent.
Additionally the behaviour has been harmonized across LDAP and other auth providers.
Editing the email address is now also forbidden in all cases for the user themselves.
* 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>
* replace page header in profile, settings,sessions, password pages
* replace page header in user email reminder page
* replace page header in user access token page
* fix layout error on access token
* add page header component to two factor authentication page
* remove toolbar for email reminder
* use page header component in change avatar page
* unify menu entry and page header title for avatar page
* add page header for delete account pages
* add users and permissions to the breadcrumb of delete account from admin side
* create a separate component for page header in delete account page
* use page header component in n notifications settings and remove toolbar component in notification settings component and reminder settings component
* add page header component to 2fa new page
* add page header component to 2fa new pages and chnage the name of delete account page header component
* change user path in breadcrumb of delete account page
* remove show_toolbar of the component from reminders pages
* move page header to the top of the page in 2fa devices page
* remove the container element from access token page
* remove new type html and use action menu instead
* add description to menu item and change descriptions and titles
* Remove inline create button at the bottom of table
* fix failing specs
* fix failing spec
* fix rubocop error
* undo removing the page that is used for creating a new 2fa device in a state that is enforced by admin
* fix specs for selecting a device from action menu
* set the correct breadcrumb for add a new device
* undo changes for tests of forced registration
* undo changes for tests of new method when reverting deleted file
* add page header to the 2fa add new device page
* change html title in the 2fa add new device page
* change breadcrumbs in 2fa new device page
* use test selector helper in specs
* add page header to backup codes page
* shorten title an breadcrumb in backup code page
* remove closed tag