Files
VisualSapfor/src/_VisualDVM/Passes/All/ConfirmEmail.java

62 lines
2.4 KiB
Java
Raw Normal View History

2025-02-18 16:21:20 +03:00
package _VisualDVM.Passes.All;
import Common.Utils.Utils_;
import Common.Visual.UI;
import _VisualDVM.ComponentsServer.UserAccount.UI.UserAccountDialog;
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Passes.Server.ComponentsServerPass;
import _VisualDVM.Repository.EmailMessage;
import _VisualDVM.Repository.Server.ServerCode;
import javax.swing.*;
public class ConfirmEmail extends ComponentsServerPass<UserAccount> {
String password;
UserAccountDialog f = new UserAccountDialog() {
{
fields.cbRole.setEnabled(false);
}
};
public static int getRandomIntegerBetweenRange(int min, int max) {
return (int) ((Math.random() * ((max - min) + 1)) + min);
}
@Override
protected boolean isSafe() {
return false;
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = (UserAccount) args[0]; // объект для заполнения полей.не более.
2025-02-18 16:21:20 +03:00
password = null;
if (f.ShowDialog("Регистрация", target)) {
if (!Utils_.validateEmail(target.email, Log)) {
return false;
}
password = String.valueOf(getRandomIntegerBetweenRange(1111, 9999));
2025-03-13 00:32:20 +03:00
return SendRequest(ServerCode.Email,
2025-02-18 16:21:20 +03:00
target.email,
new EmailMessage("Код подтверждения визуализатора для: " + Utils_.Brackets(target.name), password));
}
return false;
}
@Override
protected boolean validate() {
String attempt = null;
do {
attempt = JOptionPane.showInputDialog(null,
new String[]{"Введите код активации, полученный по почте"},
"Подтверждение адреса почты",
JOptionPane.INFORMATION_MESSAGE);
if (attempt != null) {
if (attempt.equals(password)) {
UI.Info("Почта успешно подтверждена!");
return true;
} else {
UI.Error("Неверный код активации.\овторите попытку.");
}
} else {
UI.Info("Подтверждение почты отменено");
return false;
}
} while (true);
}
}