merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / password / EditPasswordElement.java
index b3a720b6aab187e5c823e133c6cf85bac2c2ac16..85df5d02ef7c05b7b6888661e6e1a4229683dbae 100644 (file)
@@ -19,11 +19,14 @@ import org.eclipse.swt.widgets.Label;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
+import eu.etaxonomy.cdm.api.service.IUserService;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.element.AbstractCdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
 
 /**
@@ -66,10 +69,13 @@ public class EditPasswordElement extends AbstractCdmFormElement implements Selec
         */
        @Override
        public void widgetSelected(SelectionEvent e) {
-               PasswordWizard wizard = new PasswordWizard(conversation, user);
-               WizardDialog dialog = new WizardDialog(getLayoutComposite().getShell(), wizard);
-               
-               dialog.open();
+               if(!CdmStore.getService(IUserService.class).userExists(user.getUsername())) {
+                       MessagingUtils.warningDialog("Username does not exist", this, "Please create or save user '" + user.getUsername() + "' before changing password");
+               } else {
+                       PasswordWizard wizard = new PasswordWizard(user, conversation);
+                       WizardDialog dialog = new WizardDialog(getLayoutComposite().getShell(), wizard);                
+                       dialog.open();
+               }
        }
 
        /* (non-Javadoc)