Changes from Batch Test
[aaf/authz.git] / auth / auth-gui / src / main / java / org / onap / aaf / auth / gui / pages / RequestDetail.java
index 0d0d03a..8628d4b 100644 (file)
@@ -28,6 +28,9 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.UUID;
 
+import javax.servlet.http.HttpServletRequest;
+
+import org.onap.aaf.auth.common.Define;
 import org.onap.aaf.auth.env.AuthzEnv;
 import org.onap.aaf.auth.env.AuthzTrans;
 import org.onap.aaf.auth.gui.AAF_GUI;
@@ -80,7 +83,7 @@ public class RequestDetail extends Page {
         public Cells get(final AuthzTrans trans, final AAF_GUI gui) {
             Cells rv=Cells.EMPTY;
             final String ticket = trans.get(sTicket, null);
-            if(ticket!=null) {
+            if (ticket!=null) {
                 try {
                     rv = gui.clientAsUser(trans.getUserPrincipal(), new Retryable<Cells>() {
                         @Override
@@ -93,10 +96,19 @@ public class RequestDetail extends Page {
                                     gui.getDF(Approvals.class)
                                     );
                                 
-                                if(fa.get(AAF_GUI.TIMEOUT)) {
-                                    if (!trans.user().equals(fa.value.getApprovals().get(0).getUser())) {
-                                        return Cells.EMPTY;
-                                    }
+                                if (fa.get(AAF_GUI.TIMEOUT)) {
+                                       Approval app = fa.value.getApprovals().get(0);
+                                       if(app==null) {
+                                               return Cells.EMPTY;
+                                       } else {
+                                           if (!(trans.user().equals(app.getUser()) ||
+                                                 trans.user().equals(app.getApprover()))) {
+                                               HttpServletRequest req = trans.get(gui.slot_httpServletRequest,null);
+                                               if(req==null || !req.isUserInRole(Define.ROOT_NS()+"|access|*|*")) {
+                                                       return Cells.EMPTY;
+                                               }
+                                           }
+                                       }
                                     tt.done();
                                     tt = trans.start("Load Data", Env.SUB);
                                     boolean first = true;