69 lines
2.8 KiB
Java
69 lines
2.8 KiB
Java
package _VisualDVM.Passes.All;
|
||
import Common.Utils.Utils_;
|
||
import Common.Visual.UI;
|
||
import _VisualDVM.Global;
|
||
import _VisualDVM.Repository.EmailMessage;
|
||
import _VisualDVM.Repository.Subscribes.Subscriber;
|
||
import _VisualDVM.Repository.Subscribes.UI.SubscriberDialog;
|
||
|
||
import javax.swing.*;
|
||
import java.util.Vector;
|
||
public class EditAccount extends Email {
|
||
public String name;
|
||
public String email;
|
||
String password;
|
||
SubscriberDialog f = new SubscriberDialog() {
|
||
{
|
||
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) {
|
||
if (attempt.equals(password)) {
|
||
UI.Info("Почта успешно подтверждена!");
|
||
return true;
|
||
} else {
|
||
UI.Error("Неверный код активации.\nПовторите попытку.");
|
||
}
|
||
} else {
|
||
UI.Info("Подтверждение почты отменено");
|
||
return false;
|
||
}
|
||
} while (true);
|
||
}
|
||
@Override
|
||
protected void performDone() throws Exception {
|
||
super.performDone();
|
||
Global.mainModule.getAccount().name = name;
|
||
Global.mainModule.getAccount().email = email;
|
||
Global.mainModule.getDb().Update(Global.mainModule.getAccount());
|
||
//это не регистрация. только заполнение почты в своей бд и ее подтверждение на реальность.
|
||
}
|
||
}
|