X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FUser.java;h=6363757eaafa55ec51faf049d81f4c85700ae282;hb=5fd49eb7182b2522ee36be1f413f85271a20766c;hp=0b77b97d6e53d76be0cdc2759eff6ae73ae45fe7;hpb=940c5fc153cd6023221220ad0f4f6c948f649d32;p=gigi.git diff --git a/src/org/cacert/gigi/dbObjects/User.java b/src/org/cacert/gigi/dbObjects/User.java index 0b77b97d..6363757e 100644 --- a/src/org/cacert/gigi/dbObjects/User.java +++ b/src/org/cacert/gigi/dbObjects/User.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; import java.util.HashSet; +import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Set; @@ -140,9 +141,11 @@ public class User extends CertificateOwner { ps = DatabaseConnection.getInstance().prepare("UPDATE users SET `password`=? WHERE id=?"); ps.setString(1, PasswordHash.hash(newPass)); ps.setInt(2, getId()); - if (ps.executeUpdate() != 1) { - throw new GigiApiException("Password update failed."); - } + ps.executeUpdate(); + } + + public void setName(Name name) { + this.name = name; } public boolean canAssure() { @@ -443,6 +446,17 @@ public class User extends CertificateOwner { return User.getById(rs.getInt(1)); } + public static User[] findByEmail(String mail) { + LinkedList results = new LinkedList(); + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT users.id FROM users inner join certOwners on certOwners.id=users.id WHERE users.email LIKE ? AND deleted is null GROUP BY users.id ASC LIMIT 100"); + ps.setString(1, mail); + GigiResultSet rs = ps.executeQuery(); + while (rs.next()) { + results.add(User.getById(rs.getInt(1))); + } + return results.toArray(new User[results.size()]); + } + public boolean canIssue(CertificateProfile p) { switch (p.getCAId()) { case 0: @@ -453,9 +467,10 @@ public class User extends CertificateOwner { return getAssurancePoints() > 50 && isInGroup(Group.getByString("codesigning")); case 3: case 4: - return false; // has an orga + return getOrganisations().size() > 0; default: return false; } } + }