Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MIGRATIONS.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ User-facing changes are documented in the [changelog](CHANGELOG.released.md).
## Unreleased
[Commits](https://github.com/scalableminds/webknossos/compare/25.02.1...HEAD)


### Postgres Evolutions:
- [126-mag-real-paths.sql](conf/evolutions/126-mag-real-paths.sql)
- [127-job-retried-by-super-user.sql](conf/evolutions/127-job-retried-by-super-user.sql)
- [128-replace-text-types.sql](conf/evolutions/128-replace-text-types.sql)
4 changes: 2 additions & 2 deletions app/models/folder/Folder.scala
Original file line number Diff line number Diff line change
Expand Up @@ -320,9 +320,9 @@ class FolderDAO @Inject()(sqlClient: SqlClient)(implicit ec: ExecutionContext)
def moveSubtree(idValidated: ObjectId, newParentIdValidated: ObjectId)(implicit ctx: DBAccessContext): Fox[Unit] = {
val deleteObsoletePathsQuery =
q"""
DELETE FROM webknossos.folder_paths
DELETE FROM webknossos.folder_paths fp1
WHERE _descendant IN (SELECT _descendant FROM webknossos.folder_paths WHERE _ancestor = $idValidated)
AND _ancestor NOT IN (SELECT _descendant FROM webknossos.folder_paths WHERE _ancestor = $idValidated)
AND NOT EXISTS(SELECT FROM webknossos.folder_paths fp2 WHERE fp2._ancestor = $idValidated AND fp2._descendant = fp1._descendant);
""".asUpdate
val insertNewPathsQuery =
q"""
Expand Down
7 changes: 4 additions & 3 deletions app/models/user/User.scala
Original file line number Diff line number Diff line change
Expand Up @@ -170,11 +170,12 @@ class UserDAO @Inject()(sqlClient: SqlClient)(implicit ec: ExecutionContext)
editablePredicate = isEditableOpt match {
case Some(isEditable) =>
val usersInTeamsManagedByRequestingUser =
q"(SELECT _user FROM webknossos.user_team_roles WHERE _team IN (SELECT _team FROM webknossos.user_team_roles WHERE _user = ${requestingUser._id} AND isTeamManager)))"
q"""(SELECT 1 FROM webknossos.user_team_roles AS utr1 WHERE utr1._user = ${userPrefix}_id AND utr1._team IN
(SELECT _team FROM webknossos.user_team_roles AS utr2 WHERE utr2._user = ${requestingUser._id} AND utr2.isTeamManager) ))"""
if (isEditable) {
q"(${userPrefix}_id IN $usersInTeamsManagedByRequestingUser OR (${requestingUser.isAdmin} AND ${userPrefix}_organization = ${requestingUser._organization})"
q"(EXISTS $usersInTeamsManagedByRequestingUser OR (${requestingUser.isAdmin} AND ${userPrefix}_organization = ${requestingUser._organization})"
} else {
q"(${userPrefix}_id NOT IN $usersInTeamsManagedByRequestingUser AND (NOT (${requestingUser.isAdmin} AND ${userPrefix}_organization = ${requestingUser._organization}))"
q"(NOT EXISTS $usersInTeamsManagedByRequestingUser AND NOT (${requestingUser.isAdmin} AND ${userPrefix}_organization = ${requestingUser._organization})"
}
case None => q"TRUE"
}
Expand Down
Loading