X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Fclub%2Fwpia%2Fgigi%2FdbObjects%2FUser.java;h=3d88aa6a49ec242b33f3c5b3092b779b4f3a370d;hp=3b4f4671d2a01b8462e2c0b6238ea7c48b7e3d0a;hb=a7dd0d91bd94ec5eb3ff4e066c8e3492659c7174;hpb=7f81b5f6ba9c40a10705bc0f1b3b5fe1969c93b0 diff --git a/src/club/wpia/gigi/dbObjects/User.java b/src/club/wpia/gigi/dbObjects/User.java index 3b4f4671..3d88aa6a 100644 --- a/src/club/wpia/gigi/dbObjects/User.java +++ b/src/club/wpia/gigi/dbObjects/User.java @@ -209,7 +209,7 @@ public class User extends CertificateOwner { setPassword(newPass); } - private void setPassword(String newPass) throws GigiApiException { + public void setPassword(String newPass) throws GigiApiException { Name[] names = getNames(); TreeSet nameParts = new TreeSet<>(); for (int i = 0; i < names.length; i++) { @@ -242,6 +242,10 @@ public class User extends CertificateOwner { return false; } + if ( !Contract.hasSignedContract(this, Contract.ContractType.RA_AGENT_CONTRACT)) { + return false; + } + return hasPassedCATS(); } @@ -334,6 +338,15 @@ public class User extends CertificateOwner { return false; } + public boolean isValidNameVerification(String name) { + for (Name n : getNames()) { + if (n.matches(name) && n.isValidVerification()) { + return true; + } + } + return false; + } + public void updateDefaultEmail(EmailAddress newMail) throws GigiApiException { for (EmailAddress email : getEmails()) { if (email.getAddress().equals(newMail.getAddress())) { @@ -700,4 +713,13 @@ public class User extends CertificateOwner { public boolean hasValidTTPAgentChallenge() { return CATS.isInCatsLimit(getId(), CATSType.TTP_AGENT_CHALLENGE.getId()); } + + public void writeUserLog(User actor, String type) throws GigiApiException { + try (GigiPreparedStatement prep = new GigiPreparedStatement("INSERT INTO `adminLog` SET uid=?, admin=?, type=?")) { + prep.setInt(1, actor.getId()); + prep.setInt(2, getId()); + prep.setString(3, type); + prep.executeUpdate(); + } + } }