Open fm3 opened 1 week ago
Probably, it would also be better to not even have the button for these datasets
I agree! I think this can be done in two separate PRs though. The backend improved error message thing should be a very quick change, while adding the permission logic to the frontend seems a little more complex.
Starting processing jobs for datasets of other organizations is not currently allowed, even if the datasets are public or viewed by a valid sharing token.
While fully allowing this for some jobs/situations is a topic for another day (also compare discussion at https://github.com/scalableminds/webknossos/issues/7360 ), what can be improved now is the error message.
Some jobs already have a readable error message, like “Currently nuclei inferral is only allowed for datasets of your own organization.”. However, some, like render_animation, just show “Organization b2275d664e4c2a96 could not be found”. This should be unified, e.g. by passing GlobalAccessContext to
organizationDAO.findOne
, and then checkingrequest.identity._organization == organization._id
with a suitable message.The same should be done for runTraining and runInference in AiModelController. Looks like the frontend does not currently send the organizationId there at all, which leads to unusable 404 errors if tried on another orga’s dataset