-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[dicom archive] add project permission check based on tarchiveID #9359
base: main
Are you sure you want to change the base?
[dicom archive] add project permission check based on tarchiveID #9359
Conversation
$tarchiveID = intval($_REQUEST['tarchiveID']); | ||
$projectID = self::getProjectFromTarchiveID($tarchiveID); | ||
if (is_null($projectID)) { | ||
return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be return true? Otherwise no one will ever be able to see it?
(Maybe a discussion for an imaging meeting?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That means the TarchiveID does not exist in db or is not linked to a project.. ?
I was not sure about this. It is even possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we can involve @cmadjar
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Point added to next imaging meeting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm assuming it would mean the TarchiveID is not linked to a project
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Imaging meeting: no one should see it by default.
There should be a specific permission to see the list of "dangling TarchiveIDs" (Tarchive not assigned to any Project). Also might be good to have a front-end page for that.
It will be linked to a new issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Created here: #9389
*/ | ||
private function _getProjectFromTarchiveID(): ?\ProjectID | ||
{ | ||
$db = \NDB_Factory::singleton()->database(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$db = \NDB_Factory::singleton()->database(); | |
$db = $this->loris->getDatabaseConnection(); |
Brief summary of changes
This PR checks the user attached projects on top of the
dicom_archive_view_allsites
permission when trying to access theview details
page.Link(s) to related issue(s)
Resolves #6658