Mercurial > lada > lada-server
changeset 862:04bec189ca19
Check if current status stufe is lower or equal to the users funktion.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Thu, 04 Feb 2016 13:50:24 +0100 |
parents | 68348c675b13 |
children | e701e2df6516 |
files | src/main/java/de/intevation/lada/util/auth/MessungAuthorizer.java |
diffstat | 1 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/util/auth/MessungAuthorizer.java Thu Feb 04 09:40:20 2016 +0100 +++ b/src/main/java/de/intevation/lada/util/auth/MessungAuthorizer.java Thu Feb 04 13:50:24 2016 +0100 @@ -86,14 +86,14 @@ else { messung.setOwner(false); } + LStatusProtokoll status = repository.getByIdPlain( + LStatusProtokoll.class, + messung.getStatus(), + "land"); if (messung.getStatus() == null) { messung.setReadonly(false); } else { - LStatusProtokoll status = repository.getByIdPlain( - LStatusProtokoll.class, - messung.getStatus(), - "land"); messung.setReadonly( status.getStatusWert() != 0 && status.getStatusWert() != 4); } @@ -113,11 +113,14 @@ } } else if (userInfo.getFunktionen().contains(2) && - userInfo.getNetzbetreiber().contains(probe.getNetzbetreiberId())) { + userInfo.getNetzbetreiber().contains(probe.getNetzbetreiberId()) && + status.getStatusStufe() <= 2) { statusEdit = true; } else if (userInfo.getFunktionen().contains(1) && - userInfo.getMessstellen().contains(probe.getMstId())) { + userInfo.getMessstellen().contains(probe.getMstId()) && + status.getStatusStufe() <= 1 + ) { statusEdit = true; } messung.setStatusEdit(statusEdit);