irods-contrib / metalnx-web

Metalnx Web Application
https://metalnx.github.io/
BSD 3-Clause "New" or "Revised" License
36 stars 36 forks source link

Having a read only access to a collection or a data object should prevent you seeing the 'rename' and 'delete' button #254

Closed mstfdkmn closed 3 years ago

mstfdkmn commented 3 years ago

Once you go inside a collection or a data object that you have “read” access by clicking on “view info”, the "read" access does not disable the “Action” drop-down menu. Nevertheless, this doesn’t mean you can rename or delete the item that you have read only access to. When you want to rename it, you are sent back to your home collection without any warning. And it throws the following on logs:

image

Jul 12 16:12:35 pid:20901 NOTICE: _rsGenQuery: genQuery status = -818000 Jul 12 16:12:35 pid:20901 NOTICE: rsGenQuery: _rsGenQuery failed, status = -818000 Jul 12 16:12:35 pid:20901 NOTICE: getDataObjInfo: rsGenQuery error, status = -818000 Jul 12 16:12:35 pid:20901 remote addresses: 127.0.0.1, 2a02:2c40:0:221::3306:9, 2a02:2c40:0:451:70:242:ac11:18 ERROR: _rsDataObjRename: src data /kuleuven_tier1_poc/home/vsc33586/test_file.txt does not exist, status = -818000

Once you want to delete it, you will receive a wrongly named a failure message and the following errors on logs.

image

Jul 12 16:15:37 pid:7172 NOTICE: _rsGenQuery: genQuery status = -818000 Jul 12 16:15:37 pid:7172 NOTICE: rsGenQuery: _rsGenQuery failed, status = -818000 Jul 12 16:15:37 pid:7172 NOTICE: getDataObjInfo: rsGenQuery error, status = -818000 Jul 12 16:15:37 pid:7172 remote addresses: 127.0.0.1, 2a02:2c40:0:221::3306:9, 2a02:2c40:0:451:68:242:ac11:d ERROR: [-] /repos/irods/server/api/src/rsDataObjUnlink.cpp:414:int (anonymous namespace)::rsDataObjUnlink_impl(rsComm_t *, dataObjInp_t *) : status [CAT_NO_ACCESS_PERMISSION] errno [] -- message [rsDataObjUnlink_impl - Failed to get data objects. - CAT_NO_ACCESS_PERMISSION ]

This seems a bit misleading for end-users. Could you disable "Action" drop-down menu here in case the user has only "read" access?

Thanks.

Tested both in 4.2.8 - 2.4.0 and in 4.2.9 - 2.4.0. And ICAT is MySQL.

trel commented 3 years ago

now fixed - closing.