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;
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() {
return User.getById(rs.getInt(1));
}
+ public static User[] findByEmail(String mail) {
+ LinkedList<User> results = new LinkedList<User>();
+ 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:
return getAssurancePoints() > 50 && isInGroup(Group.getByString("codesigning"));
case 3:
case 4:
- return false; // has an orga
+ return getOrganisations().size() > 0;
default:
return false;
}
}
+
}