import java.io.IOException;
import java.text.ParseException;
import java.util.Calendar;
-import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Map;
}
public static boolean checkVerificationIsPossible(User agent, Name target) {
- try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT 1 FROM `notary` where `to`=? and `from`=? and `method` = ? ::`notaryType` AND `deleted` IS NULL AND `when` > (now() - interval '1 days' * ?)")) {
+ try (GigiPreparedStatement ps = new GigiPreparedStatement("SELECT 1 FROM `notary` where `to`=? and `from`=? and `method` = ? ::`notaryType` AND `deleted` IS NULL AND `when` > (now() - interval '1 days' * ?::INTEGER)")) {
ps.setInt(1, target.getId());
ps.setInt(2, agent.getId());
ps.setEnum(3, VerificationType.FACE_TO_FACE);
gae.mergeInto(new GigiApiException("You must enter the date when you met the applicant."));
} else {
try {
- Date d = DateSelector.getDateFormat().parse(date);
- Calendar gc = GregorianCalendar.getInstance();
- gc.setTimeInMillis(System.currentTimeMillis());
- gc.add(Calendar.HOUR_OF_DAY, 12);
- if (d.getTime() > gc.getTimeInMillis()) {
+ DayDate d = new DayDate(DateSelector.getDateFormat().parse(date).getTime());
+ if (d.start().getTime() > System.currentTimeMillis()) {
gae.mergeInto(new GigiApiException("You must not enter a date in the future."));
}
+ Calendar gc = GregorianCalendar.getInstance();
gc.setTimeInMillis(System.currentTimeMillis());
gc.add(Calendar.MONTH, -LIMIT_MAX_MONTHS_VERIFICATION);
if (d.getTime() < gc.getTimeInMillis()) {
}
return;
} else if (t == VerificationType.TTP_ASSISTED) {
- if ( !agent.isInGroup(Group.TTP_AGENT)) {
- throw new GigiApiException("RA Agent needs to be TTP RA Agent.");
+ if ( !agent.isInGroup(Group.TTP_AGENT) || !agent.hasValidTTPAgentChallenge()) {
+ throw new GigiApiException("RA Agent needs to be TTP RA Agent and have a valid TTP RA Agent Challenge.");
}
if ( !applicant.isInGroup(Group.TTP_APPLICANT)) {
throw new GigiApiException("Applicant needs to be TTP Applicant.");