Skip to content
Snippets Groups Projects
Commit 7a53ac2b authored by srosse's avatar srosse
Browse files

OO-5610: rework events send by profile form, save SMS phone number

parent e9a09c15
No related branches found
No related tags found
No related merge requests found
......@@ -421,12 +421,12 @@ public class ProfileFormController extends FormBasicController {
if (source == dialogCtr) {
dialogCtr.dispose();
dialogCtr = null;
if (DialogBoxUIFactory.isYesEvent(event)) {
if (changedEmail != null) {
createChangeEmailWorkflow(ureq);
}
if (DialogBoxUIFactory.isYesEvent(event) && changedEmail != null) {
createChangeEmailWorkflow(ureq);
fireEvent(ureq, Event.DONE_EVENT);
} else {
fireEvent(ureq, Event.FAILED_EVENT);
}
fireEvent(ureq, Event.FAILED_EVENT);
}
super.event(ureq, source, event);
}
......@@ -568,9 +568,6 @@ public class ProfileFormController extends FormBasicController {
conf.setTextAboutMe(textAboutMe.getValue());
hpcm.saveConfigTo(identityToModify, conf);
// fire the appropriate event
fireEvent(ureq, Event.DONE_EVENT);
// update the user profile data
CoordinatorManager.getInstance().getCoordinator().getSyncer().doInSync(
OresHelper.createOLATResourceableInstance(Identity.class, identityToModify.getKey()), new SyncerExecutor() {
......@@ -595,6 +592,7 @@ public class ProfileFormController extends FormBasicController {
emailChanged = true;
// change email address to old address until it is verified
identityToModify.getUser().setProperty(UserConstants.EMAIL, currentEmail);
emailEl.setValue(currentEmail);
}
}
if (!userManager.updateUserFromIdentity(identityToModify)) {
......@@ -606,10 +604,6 @@ public class ProfileFormController extends FormBasicController {
OLATResourceable modRes = OresHelper.createOLATResourceableInstance(Identity.class, identityToModify.getKey());
CoordinatorManager.getInstance().getCoordinator().getEventBus()
.fireEventToListenersOf(new MultiUserEvent("changed"), modRes);
if (!emailChanged) {
fireEvent(ureq, Event.FAILED_EVENT);
}
}
});
......@@ -625,6 +619,8 @@ public class ProfileFormController extends FormBasicController {
dialogCtr = DialogBoxUIFactory.createYesNoDialog(ureq, getWindowControl(), translate("email.change.dialog.title"), dialogText);
listenTo(dialogCtr);
dialogCtr.activate();
} else {
fireEvent(ureq, Event.DONE_EVENT);
}
}
......@@ -676,10 +672,12 @@ public class ProfileFormController extends FormBasicController {
if (isMailSent) {
tk.setMailSent(true);
// set key
User user = this.identityToModify.getUser();
User user = identityToModify.getUser();
user.setProperty("emchangeKey", tk.getRegistrationKey());
UserManager.getInstance().updateUser(user);
userManager.updateUserFromIdentity(identityToModify);
getWindowControl().setInfo(translate("email.sent"));
updateEmailForm(identityToModify.getUser());
flc.setDirty(true);
} else {
tk.setMailSent(false);
registrationManager.deleteTemporaryKeyWithId(tk.getRegistrationKey());
......
......@@ -59,7 +59,10 @@ public class SmsPhonePropertyHandler extends PhonePropertyHandler {
@Override
public void updateUserFromFormItem(User user, FormItem formItem) {
//update is done during confirmation
if(formItem instanceof SmsPhoneElement && ((SmsPhoneElement)formItem).hasChanged()) {
SmsPhoneElement el = (SmsPhoneElement)formItem;
setInternalValue(user, el.getPhone());
}
}
@Override
......
......@@ -57,6 +57,7 @@ public class SmsPhoneElement extends FormItemImpl implements FormItemCollection,
private String phone;
private boolean forceFormDirty;
private boolean hasChanged = false;
private final User editedUser;
private final UserPropertyHandler handler;
......@@ -81,6 +82,10 @@ public class SmsPhoneElement extends FormItemImpl implements FormItemCollection,
public void setPhone(String phone) {
this.phone = phone;
}
public boolean hasChanged() {
return hasChanged;
}
public FormLink getEditLink() {
return editLink;
......@@ -104,6 +109,7 @@ public class SmsPhoneElement extends FormItemImpl implements FormItemCollection,
} else if(smsPhoneCtrl == source) {
if(event == Event.DONE_EVENT || event == Event.CHANGED_EVENT) {
setPhone(smsPhoneCtrl.getPhone());
hasChanged = true;
forceFormDirty = true;
component.setDirty(true);
}
......@@ -198,6 +204,7 @@ public class SmsPhoneElement extends FormItemImpl implements FormItemCollection,
private void doRemove() {
setPhone(null);
hasChanged = true;
component.setDirty(true);
}
}
\ No newline at end of file
......@@ -31,7 +31,7 @@
-->
<property name="firefoxDriverVersion">${webdriver.firefox.version:v0.29.0}</property>
<property name="firefoxUserPreferences">src/test/profile/firefox/prefs.js</property>
<property name="chromeDriverVersion">${webdriver.chrome.version:90.0.4430.24}</property>
<property name="chromeDriverVersion">${webdriver.chrome.version:92.0.4515.43}</property>
<property name="chromeArguments">${webdriver.chrome.arguments}</property>
<property name="chromeExperimentalOption">{
"prefs":{"credentials_enable_service": false, "profile.password_manager_enabled": false }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment