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.*; 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 isSafe() { return false; } @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; password = String.valueOf(getRandomIntegerBetweenRange(1111, 9999)); return super.canStart( new EmailMessage("Код подтверждения визуализатора для: " + Utils_.Brackets(name), password), email ); } 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()); //это не регистрация. только заполнение почты в своей бд и ее подтверждение на реальность. } }