Erro de lógica?

2 respostas
brizola727

Bom dia!
Galera existe uma condição “somente” no java?
Nesse codigo abaixo, eu preciso delimitar provilegio, onde se o cara tiver adm_rec_quality_ print ou ADM_RECEIVING_QUALITY ou ADMIN
ele pode imprimir, porem isso se o Status do laudo nao estiver encerrado (closed), porem mesmo ele estando closed, o ADMIN podera imprimir,
como faço isso?! existe algum operador “somente”? Veja o codigo…

KButton btnPrintTag = new KButton(core, btnPrintTag, tBar);

btnPrintTag.setText(MlGeneralItem.PRINT_TAGS, getUser());

btnPrintTag.setIconCls(btn16print);

if (core.getSecurityCore().checkPrivileges(user,

new KrakenPrivilege[]{PGGeneral.ADM_REC_QUALITY_PRINT, PGGeneral.ADM_RECEIVING_QUALITY, PGGeneral.ADMIN}))

&& !paramStatus.equals(TraceUtil.getML(MlGeneralItem.CLOSED, user)))

{

btnPrintTag.setHandler(printTag);

} else {

btnPrintTag.setHandler(printPermissionDenied);

}

Fico no aguardo!

2 Respostas

TerraSkilll

marcogabriel30
Dica: use a tag code quando for postar códigos.

Se entendi o que você quer fazer, só um or basta:

KButton btnPrintTag = new KButton(core, "btnPrintTag", tBar); btnPrintTag.setText(MlGeneralItem.PRINT_TAGS, getUser()); btnPrintTag.setIconCls("btn16print"); if ((core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADM_REC_QUALITY_PRINT, PGGeneral.ADM_RECEIVING_QUALITY})) && !paramStatus.equals(TraceUtil.getML(MlGeneralItem.CLOSED, user))) || core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADMIN}))) { btnPrintTag.setHandler("printTag"); } else { btnPrintTag.setHandler("printPermissionDenied"); }

Note o “) || core.getSecurityCore().checkPrivileges(user, new KrakenPrivilege[]{PGGeneral.ADMIN})” no if. Se for administrador, imprime independente de estar fechado ou não.

Obs: verifique os parênteses e chaves. Não os contei por aqui :smiley:

Abraço.

brizola727

Obrigado!!!
Funcionou!!!

Criado 10 de maio de 2011
Ultima resposta 10 de mai. de 2011
Respostas 2
Participantes 2