* Create a FullView::CopyComponent for WorkPackages which is routed from rails
* Remove angular splitCopy route and component as it was overwritten by the angular fullCopy route for quite some time already and nobody complained. So we decided to remove the splitCopy completely
* Create FullView::CreateComponent for WorkPackages which is now routed from rails instead of Angular
* First draft of implementing the FullView route for WorkPackages from rails
* Pass correct tab from the URL to the FullView::ShowComponent
* Do a hard reload to "create" route when we are not routed from Angular
* Adapt routing spec to new WorkPackage routes and to some fine-tuning with the WP routes
* Show correct tab in WP Full view and change URL when clicking a tab entry
* Adapt to new rails based routing
* Fix some routes and redirects
* Make sure, the split screen stil renders correctly
* Remove back button from WP full view
* Fix routing issues
* Start fixing specs
* Attempt to override the browser history to be able to use browser back
* Use helper function to build new WP url string
* Adapt spec that now partially renders backend toasts
* Remove ability to move to fullscreen
Theoretically, we can re-add it by posting to some form endpoint, but
not worth it for the first iteration
* Disable cache-control on angular routed pages, so back links work
* Fix double click to fullscreen
* Adapt navigation and title setting
* Let WP breadcrumb to a hard reload instead of Angular transition
* Redirect when the WP route is incomplete (this is the attempt to re-implement an angular functionality)
* Navigate with Turbo when double clicking a card
* Adapt onboarding tour to new hard reload when switching to WP full view
* Fix some specs
* Fix more tests
* Hide Overview tab on FullView
* Correct check for incomplete routes
* Do a hard refresh when coming from slpit screen to full view
* Fix notification navigation
* Adapt attachment spec as the tab switch cannot be done anymore while dragging
* Fix more tests
* Please rubocop and fix more tests
* Attempt to fix navigation_spec
* Add debian_base for pullpreview
---------
Co-authored-by: Oliver Günther <mail@oliverguenther.de>
* 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>
Instead of having a where subquery for each project, the number of memberships which grant assignability (DISTINCT) need to be equal or higher to the number of projects
* remove intermediate placeholder scope
Doing so, placeholder users will begin to show up in the system
* remove scope without value
* extract scope
* use enum for status
* allow placeholder users to become project members
* display placeholder user member on members widget
* remove now superfluous method
The status name can simply be queried via #status now
* replace possible_assignees/responsibles on project
This also leads to placeholder users becoming eligible as assignees and
responsibles.
* fix aggregated scope on bulk edit
* linting
* remove IssueHelper
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
* basic members collection response
* complete member index end point
* document versions#index
* remove user association from members
There is already a more generic principals association. Having both causes confusion and leads to duplicate loading of models
* linting
* remove disabled test
* add members#show api end point
* add project and principal to member representer
* replace member.user reference with principal
* use principal reference in project members association
* modernize roles api
* complete member representer rendering
* replace remnants of user association
* add member schema api endpoint
* have dedicated available projects end point for versions
* linting
* limit roles to assignable ones in schema
* rename member to membership in api
* remove remnants of user in member
* spec fixes
* use available_projects endpoint in versions board
* add eager loading to memberships#index
* members create form api endpoint
* ensure role exists for default assignment
* extract switch for users/groups to work_packages representer
* document membership create form
* add l10n expected in specs
* strengthen the usage of a delete base service
* use base class for set attributes service
* fix alias in service
* add create endpoint to members api
* document members create endpoint
* linting
* adapt to altered service signature
* use default endpoint for wp#get
* use CF infused representer
[ci skip]
Instead of having the tree/hierarchy information for work packages and
the relations between the work packages separated into two tables all
the information is now stored in the relations table.
To support this, the typed_dag plugin is used.
Notable changes:
* relations_to and relations_from are swapped. relations_to has all
relations that point to another work package (from_id = work_package.id)
and relations_from contains all relations that lead to the work package
from another one (to_id = work_package.id). This change is merely in the
code. The db information is left untouched.
* For follows/precedes to_id and from_id are swapped in the db. Because
of that, "follows" is now the canonical name instead of "precedes". This is
done so that hierarchy relations and follows relations point into the
same direction which allows to easily detect cyclic relationships that
would lead to infinit scheduling.
* the columns `root_id`, `lft`, `rgt` do no longer exist in the wp
table.
* the column `relation_type` does no longer exist in the relations
table.
* For every type of relation a column (integer) does now exist in the
relations table (e.g. hierarchy, block, follow)
* Separate associations exist for every type of relation into two
directions. E.g. Work packages following the current one can be accessed
via `work_package.precedes`
https://github.com/rails/rails/pull/13314 removed mutator methods
(e.g., `Array#sort!`) from relations.
This commit enforces either an ordering on the query itself where
applicable, or uses a non-mutator sort.