Files
VisualSapfor/src/Common/Passes/All/EditAccount.java

71 lines
2.8 KiB
Java
Raw Normal View History

package Common.Passes.All;
2023-09-17 22:13:42 +03:00
import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils;
import Repository.EmailMessage;
import Repository.ComponentsServer.Subscribes.Subscriber;
import Repository.ComponentsServer.Subscribes.UI.SubscriberForm;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
import java.util.Vector;
public class EditAccount extends Email {
public String name;
public String email;
String password;
SubscriberForm f = new SubscriberForm(){
{
fields.cbRole.setEnabled(false);
}
};
public static int getRandomIntegerBetweenRange(int min, int max) {
return (int) ((Math.random() * ((max - min) + 1)) + min);
}
@Override
protected boolean canStart(Object... args) throws Exception {
Subscriber res = new Subscriber(); // объект для заполнения полей.не более.
if (f.ShowDialog("Регистрация", res)) {
if (!Utils.validateEmail(res.address, Log)) {
return false;
}
name = res.name;
email = res.address;
Vector<String> rec = new Vector<>();
rec.add(email);
password = String.valueOf(getRandomIntegerBetweenRange(1111, 9999));
return super.canStart(new EmailMessage("Код подтверждения визуализатора для: " + Utils.Brackets(name), password, rec));
}
return false;
}
@Override
protected boolean validate() {
String attempt = null;
do {
attempt = JOptionPane.showInputDialog(null,
new String[]{"Введите код активации, полученный по почте"},
"Подтверждение адреса почты",
JOptionPane.INFORMATION_MESSAGE);
if (attempt != null) {
System.out.println("Введенный код: " + Utils.Brackets(attempt));
if (attempt.equals(password)) {
UI.Info("Почта успешно подтверждена!");
return true;
} else {
UI.Error("Неверный код активации.\овторите попытку.");
}
} else {
UI.Info("Подтверждение почты отменено");
return false;
}
} while (true);
}
@Override
protected void performDone() throws Exception {
super.performDone();
Current.getAccount().name = name;
Current.getAccount().email = email;
Global.db.Update(Current.getAccount());
//это не регистрация. только заполнение почты в своей бд и ее подтверждение на реальность.
}
}