Commit 26502715 by Antti Tönkyrä

Fixes...

- Do not try to flush PDF if there are no contents in it (will throw exception), besides we don't use the result since we throw out ourselves
- We can log the error even when there is no mail address
- In case we hit an user with too much power on their card, revoke the old card (set it to disabled) and try to refresh with a better one
- Remove unneeded flush (what is this supposed to do?)
1 parent 2673f996
...@@ -332,12 +332,17 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -332,12 +332,17 @@ public class CardPrintBean implements CardPrintBeanLocal {
mpr.getAffectedUsers().add(user); mpr.getAffectedUsers().add(user);
} }
} }
if (mpr.getAffectedUsers().size() == 0) {
outputStream.close();
throw new Exception("No cards generated");
}
pdf.flush(); pdf.flush();
outputStream.close(); outputStream.close();
if (mpr.getAffectedUsers().size() == 0)
throw new Exception("No cards generated");
mpr.setPdf(outputStream.toByteArray()); mpr.setPdf(outputStream.toByteArray());
return mpr; return mpr;
} }
......
...@@ -192,17 +192,19 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -192,17 +192,19 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
msg.setFromName("Lippukauppa"); msg.setFromName("Lippukauppa");
msg.setToAddress(value.getTextvalue()); msg.setToAddress(value.getTextvalue());
msg.setSubject("User " + user.getUser().getLogin() + " has too powerful card!"); msg.setSubject("User " + user.getUser().getLogin() + " has too powerful card!");
msg.setMessage("User ", user.getUser().getLogin(), "has too powerful card!\nCurrent power ", existingPower, ". Should be ", newPower, "\n\n-- \nLippukauppa"); msg.setMessage("User ", user.getUser().getLogin(), "has too powerful card!\nCurrent power ", existingPower, ". Should be ", newPower, ". Card replaced with less power.\n\n-- \nLippukauppa");
mailbean.sendMail(msg); mailbean.sendMail(msg);
logger.info("User {} has too much power old role {} New role {}", new Object[] { user.getUser().getLogin(), existingPower, newPower });
} }
logger.info("User {} has too much power old role {} New role {}, old card revoked.", new Object[] { user.getUser().getLogin(), existingPower, newPower });
biggestCard.setEnabled(false);
return this.checkPrintedCard(user);
} else { } else {
logger.info("User {} has power {} and roles has power {}", new Object[] { user.getUser().getLogin(), existingPower, newPower }); logger.info("User {} has power {} and roles has power {}", new Object[] { user.getUser().getLogin(), existingPower, newPower });
} }
eventPropertyFacade.flush();
return biggestCard; return biggestCard;
} }
@Override @Override
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!