/******************************************************************************* * Copyright (c) 2009, G. Weirich and Elexis * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * G. Weirich - initial implementation * *******************************************************************************/ package ch.elexis.core.ui.dialogs; import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import ch.elexis.core.constants.StringConstants; import ch.elexis.core.ui.icons.ImageSize; import ch.elexis.core.ui.icons.Images; import ch.elexis.core.ui.util.SWTHelper; import ch.elexis.data.Kontakt; import ch.elexis.data.Mandant; import ch.elexis.data.Person; import ch.rgw.tools.StringTool; public class ErsterMandantDialog extends TitleAreaDialog { Text tUsername, tPwd1, tPwd2, tTitle, tFirstname, tLastname, tEmail, tStreet, tZip, tPlace, tPhone, tFax; String[] anreden = { Messages.ErsterMandantDialog_Herr, Messages.ErsterMandantDialog_Frau, Messages.ErsterMandantDialog_Firma }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ Combo cbAnrede; public ErsterMandantDialog(Shell parent){ super(parent); } @Override protected Control createDialogArea(Composite parent){ Composite rx = (Composite) super.createDialogArea(parent); Composite ret = new Composite(rx, SWT.NONE); ret.setLayoutData(SWTHelper.getFillGridData(1, true, 1, true)); ret.setLayout(new GridLayout(2, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Username); //$NON-NLS-1$ tUsername = new Text(ret, SWT.BORDER); tUsername.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Password); //$NON-NLS-1$ tPwd1 = new Text(ret, SWT.BORDER | SWT.PASSWORD); tPwd1.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_PasswordRepeat); //$NON-NLS-1$ tPwd2 = new Text(ret, SWT.BORDER | SWT.PASSWORD); tPwd2.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Anrede); //$NON-NLS-1$ cbAnrede = new Combo(ret, SWT.SIMPLE | SWT.SINGLE); cbAnrede.setItems(anreden); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Title); //$NON-NLS-1$ tTitle = new Text(ret, SWT.BORDER); tTitle.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Firstname); //$NON-NLS-1$ tFirstname = new Text(ret, SWT.BORDER); tFirstname.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Lastname); //$NON-NLS-1$ tLastname = new Text(ret, SWT.BORDER); tLastname.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_EMail); //$NON-NLS-1$ tEmail = new Text(ret, SWT.BORDER); tEmail.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_Street); //$NON-NLS-1$ tStreet = new Text(ret, SWT.BORDER); tStreet.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_zip); //$NON-NLS-1$ tZip = new Text(ret, SWT.BORDER); tZip.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_place); //$NON-NLS-1$ tPlace = new Text(ret, SWT.BORDER); tPlace.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_phone); //$NON-NLS-1$ tPhone = new Text(ret, SWT.BORDER); tPhone.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); new Label(ret, SWT.NONE).setText(Messages.ErsterMandantDialog_fax); //$NON-NLS-1$ tFax = new Text(ret, SWT.BORDER); tFax.setLayoutData(SWTHelper.getFillGridData(1, true, 1, false)); return rx; } @Override public void create(){ super.create(); getShell().setText(Messages.ErsterMandantDialog_createFirstMandatorCaption); //$NON-NLS-1$ setMessage(Messages.ErsterMandantDialog_createFirstMandatorMessage); //$NON-NLS-1$ setTitleImage(Images.IMG_LOGO.getImage(ImageSize._75x66_TitleDialogIconSize)); } @Override protected void okPressed(){ String pwd = tPwd1.getText(); if (!pwd.equals(tPwd2.getText())) { SWTHelper.showError(Messages.ErsterMandantDialog_passwordErrorCaption, Messages.ErsterMandantDialog_passwordErrorBody); //$NON-NLS-1$ //$NON-NLS-2$ return; } String email = tEmail.getText(); if (!StringTool.isMailAddress(email)) { SWTHelper.showError(Messages.ErsterMandantDialog_mailnvalidCaption, Messages.ErsterMandantDialog_mailInvaildBody); //$NON-NLS-1$ //$NON-NLS-2$ return; } String username = tUsername.getText(); if (StringConstants.EMPTY.equals(username)) { SWTHelper.showError(Messages.ErsterMandantDialog_noUsernameCaption, Messages.ErsterMandantDialog_noUsernameBody); //$NON-NLS-1$ //$NON-NLS-2$ return; } Mandant m = new Mandant(username, pwd); String g = Person.MALE; if (cbAnrede.getText().startsWith("F")) { //$NON-NLS-1$ g = Person.FEMALE; } m.set(new String[] { Person.NAME, Person.FIRSTNAME, Person.TITLE, Person.SEX, Person.FLD_E_MAIL, Person.FLD_PHONE1, Person.FLD_FAX, Kontakt.FLD_STREET, Kontakt.FLD_ZIP, Kontakt.FLD_PLACE }, tLastname.getText(), tFirstname.getText(), tTitle.getText(), g, email, tPhone.getText(), tFax.getText(), tStreet.getText(), tZip.getText(), tStreet.getText()); super.okPressed(); } }