X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=auth%2Fauth-gui%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Faaf%2Fauth%2Fgui%2Fpages%2FPermGrantForm.java;h=ac9cdf1ebc31fc084122550e0d72b17e7ced4b98;hb=1296352d8eafee57f982a4342ad79ada4aa56d28;hp=db3d741b2b9644e459b017356e814136d66f7f33;hpb=f85f0889b3b0e5e9694afab4dd01a4a97a155188;p=aaf%2Fauthz.git diff --git a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermGrantForm.java b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermGrantForm.java index db3d741b..ac9cdf1e 100644 --- a/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermGrantForm.java +++ b/auth/auth-gui/src/main/java/org/onap/aaf/auth/gui/pages/PermGrantForm.java @@ -7,9 +7,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -50,108 +50,108 @@ import aaf.v2_0.Role; import aaf.v2_0.Roles; public class PermGrantForm extends Page { - static final String HREF = "/gui/permgrant"; - static final String NAME = "Permission Grant"; - static final String fields[] = {"type","instance","action","role"}; - - public PermGrantForm(final AAF_GUI gui, final Page ... breadcrumbs) throws APIException, IOException { - super(gui.env,NAME,HREF, fields, - new BreadCrumbs(breadcrumbs), - new NamedCode(true,"content") { - @Override - public void code(final Cache cache, final HTMLGen hgen) throws APIException, IOException { - final Slot type = gui.env.slot(NAME+".type"); - final Slot instance = gui.env.slot(NAME+".instance"); - final Slot action = gui.env.slot(NAME+".action"); - final Slot role = gui.env.slot(NAME+".role"); - // p tags not closing right using .p() - causes issues in IE8 password form - so using leaf for the moment - hgen.leaf("p").text("Choose a role to grant to this permission").end() - .incr("form","method=post"); - Mark table = new Mark(TABLE); - hgen.incr(table); - cache.dynamic(hgen, new DynamicCode() { - @Override - public void code(final AAF_GUI gui, final AuthzTrans trans, final Cache cache, final HTMLGen hgen) throws APIException, IOException { - - Mark copyRoleJS = new Mark(); - hgen.js(copyRoleJS); - hgen.text("function copyRole(role) {"); - hgen.text("var txtRole = document.querySelector(\"#role\");"); -// hgen.text("if (role==;"); - hgen.text("txtRole.value=role;"); - hgen.text("}"); - hgen.end(copyRoleJS); - - String typeValue = trans.get(type, ""); - String instanceValue = trans.get(instance, ""); - String actionValue = trans.get(action, ""); - String roleValue = trans.get(role,null); - List myRoles = getMyRoles(gui, trans); - hgen - .input(fields[0],"Perm Type",true,"value="+typeValue,"disabled") - .input(fields[1],"Perm Instance",true,"value="+instanceValue,"disabled") - .input(fields[2],"Perm Action",true,"value="+actionValue,"disabled"); - - // select & options are not an input type, so we must create table row & cell tags - Mark selectRow = new Mark(); - hgen - .incr(selectRow, "tr") - .incr("td") - .incr("label", "for=myroles", "required").text("My Roles").end() - .end() - .incr("td") - .incr("select", "name=myroles", "id=myroles", "onchange=copyRole(this.value)") - .incr("option", "value=").text("Select one of my roles").end(); - for (String role : myRoles) { - hgen.incr("option", "value="+role).text(role).end(); - } - hgen - .incr("option", "value=").text("Other").end() - .end(selectRow); - if(roleValue==null) { - hgen.input(fields[3],"Role", true, "placeholder=or type a role here"); - } else { - hgen.input(fields[3],"Role",true, "value="+roleValue); - } - hgen.end(); - } - }); - hgen.end(); - hgen.tagOnly("input", "type=submit", "value=Submit") - .end(); + static final String HREF = "/gui/permgrant"; + static final String NAME = "Permission Grant"; + static final String fields[] = {"type","instance","action","role"}; + + public PermGrantForm(final AAF_GUI gui, final Page ... breadcrumbs) throws APIException, IOException { + super(gui.env,NAME,HREF, fields, + new BreadCrumbs(breadcrumbs), + new NamedCode(true,"content") { + @Override + public void code(final Cache cache, final HTMLGen hgen) throws APIException, IOException { + final Slot type = gui.env.slot(NAME+".type"); + final Slot instance = gui.env.slot(NAME+".instance"); + final Slot action = gui.env.slot(NAME+".action"); + final Slot role = gui.env.slot(NAME+".role"); + // p tags not closing right using .p() - causes issues in IE8 password form - so using leaf for the moment + hgen.leaf("p").text("Choose a role to grant to this permission").end() + .incr("form","method=post"); + Mark table = new Mark(TABLE); + hgen.incr(table); + cache.dynamic(hgen, new DynamicCode() { + @Override + public void code(final AAF_GUI gui, final AuthzTrans trans, final Cache cache, final HTMLGen hgen) throws APIException, IOException { + + Mark copyRoleJS = new Mark(); + hgen.js(copyRoleJS); + hgen.text("function copyRole(role) {"); + hgen.text("var txtRole = document.querySelector(\"#role\");"); +// hgen.text("if (role==;"); + hgen.text("txtRole.value=role;"); + hgen.text("}"); + hgen.end(copyRoleJS); + + String typeValue = trans.get(type, ""); + String instanceValue = trans.get(instance, ""); + String actionValue = trans.get(action, ""); + String roleValue = trans.get(role,null); + List myRoles = getMyRoles(gui, trans); + hgen + .input(fields[0],"Perm Type",true,"value="+typeValue,"disabled") + .input(fields[1],"Perm Instance",true,"value="+instanceValue,"disabled") + .input(fields[2],"Perm Action",true,"value="+actionValue,"disabled"); + + // select & options are not an input type, so we must create table row & cell tags + Mark selectRow = new Mark(); + hgen + .incr(selectRow, "tr") + .incr("td") + .incr("label", "for=myroles", "required").text("My Roles").end() + .end() + .incr("td") + .incr("select", "name=myroles", "id=myroles", "onchange=copyRole(this.value)") + .incr("option", "value=").text("Select one of my roles").end(); + for (String role : myRoles) { + hgen.incr("option", "value="+role).text(role).end(); + } + hgen + .incr("option", "value=").text("Other").end() + .end(selectRow); + if (roleValue==null) { + hgen.input(fields[3],"Role", true, "placeholder=or type a role here"); + } else { + hgen.input(fields[3],"Role",true, "value="+roleValue); + } + hgen.end(); + } + }); + hgen.end(); + hgen.tagOnly("input", "type=submit", "value=Submit") + .end(); + + } + }); + } - } - }); - } - - private static List getMyRoles(final AAF_GUI gui, final AuthzTrans trans) { - final List myRoles = new ArrayList<>(); - try { - gui.clientAsUser(trans.getUserPrincipal(), new Retryable() { - @Override - public Void code(Rcli client) throws CadiException, ConnectException, APIException { - TimeTaken tt = trans.start("AAF get my roles",Env.REMOTE); - try { - Future fr = client.read("/authz/roles/user/"+trans.user(),gui.getDF(Roles.class)); - if(fr.get(5000)) { - tt.done(); - tt = trans.start("Load Data", Env.SUB); - if (fr.value != null) for (Role r : fr.value.getRole()) { - myRoles.add(r.getName()); - } - } else { - gui.writeError(trans, fr, null, 0); - } - } finally { - tt.done(); - } - return null; - } - }); - } catch (Exception e) { - e.printStackTrace(); - } + private static List getMyRoles(final AAF_GUI gui, final AuthzTrans trans) { + final List myRoles = new ArrayList<>(); + try { + gui.clientAsUser(trans.getUserPrincipal(), new Retryable() { + @Override + public Void code(Rcli client) throws CadiException, ConnectException, APIException { + TimeTaken tt = trans.start("AAF get my roles",Env.REMOTE); + try { + Future fr = client.read("/authz/roles/user/"+trans.user(),gui.getDF(Roles.class)); + if (fr.get(5000)) { + tt.done(); + tt = trans.start("Load Data", Env.SUB); + if (fr.value != null) for (Role r : fr.value.getRole()) { + myRoles.add(r.getName()); + } + } else { + gui.writeError(trans, fr, null, 0); + } + } finally { + tt.done(); + } + return null; + } + }); + } catch (Exception e) { + e.printStackTrace(); + } - return myRoles; - } + return myRoles; + } }