83b8e3a6ee6719f85ccc977d1e71652918d58010
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / user / UserDetailElement.java
1 /**
2 *
3 */
4 package eu.etaxonomy.taxeditor.ui.section.user;
5
6 import eu.etaxonomy.cdm.model.common.User;
7 import eu.etaxonomy.taxeditor.store.CdmStore;
8 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
9 import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
10 import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;
11 import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
12 import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
13 import eu.etaxonomy.taxeditor.ui.forms.password.EditPasswordElement;
14 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
15 import eu.etaxonomy.taxeditor.ui.selection.PersonSelectionElement;
16
17 /**
18 * @author n.hoffmann
19 *
20 */
21 public class UserDetailElement extends AbstractCdmDetailElement<User> {
22
23 private TextWithLabelElement text_username;
24 private EditPasswordElement element_editPassword;
25 private TextWithLabelElement text_emailAdress;
26 private PersonSelectionElement selection_person;
27 private CheckboxElement checkbox_credentialsNonExpired;
28 private CheckboxElement checkbox_enabled;
29 private CheckboxElement checkbox_accountNonLocked;
30 private CheckboxElement checkbox_accountNonExpired;
31
32 public UserDetailElement(CdmFormFactory formFactory,
33 ICdmFormElement formElement) {
34 super(formFactory, formElement);
35 }
36
37 /*
38 * (non-Javadoc)
39 *
40 * @see
41 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
42 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
43 */
44 @Override
45 protected void createControls(ICdmFormElement formElement, User entity,
46 int style) {
47 text_username = formFactory.createTextWithLabelElement(formElement,
48 "Username", entity.getUsername(), style);
49
50 if (userIsAuthenticated()) {
51 element_editPassword = formFactory.createEditPasswordElement(
52 formElement, "Change Password", getConversationHolder(),
53 entity, style);
54 }
55
56 text_emailAdress = formFactory.createTextWithLabelElement(formElement,
57 "Email Adress", entity.getEmailAddress(), style);
58
59 selection_person = (PersonSelectionElement) formFactory
60 .createSelectionElement(SelectionType.PERSON,
61 getConversationHolder(), formElement, "Person",
62 entity.getPerson(), PersonSelectionElement.DEFAULT,
63 style);
64
65 checkbox_accountNonExpired = formFactory.createCheckbox(formElement,
66 "Account Non Expired", entity.isAccountNonExpired(), style);
67 checkbox_accountNonLocked = formFactory.createCheckbox(formElement,
68 "Account Non Locked", entity.isAccountNonLocked(), style);
69 checkbox_enabled = formFactory.createCheckbox(formElement, "Enabled",
70 entity.isEnabled(), style);
71 checkbox_credentialsNonExpired = formFactory.createCheckbox(
72 formElement, "Credentials Non Expired",
73 entity.isCredentialsNonExpired(), style);
74 }
75
76 /**
77 *
78 * @return
79 */
80 private boolean userIsAuthenticated() {
81 return getEntity().equals(
82 CdmStore.getLoginManager().getAuthenticatedUser());
83 }
84
85 /*
86 * (non-Javadoc)
87 *
88 * @see
89 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
90 * .lang.Object)
91 */
92 @Override
93 public void handleEvent(Object eventSource) {
94 if (eventSource == text_username) {
95 getEntity().setUsername(text_username.getText());
96 } else if (eventSource == text_emailAdress) {
97 getEntity().setEmailAddress(text_emailAdress.getText());
98 } else if (eventSource == selection_person) {
99 getEntity().setPerson(selection_person.getSelection());
100 } else if (eventSource == checkbox_accountNonExpired) {
101 getEntity().setAccountNonExpired(
102 checkbox_accountNonExpired.getSelection());
103 } else if (eventSource == checkbox_accountNonLocked) {
104 getEntity().setAccountNonLocked(
105 checkbox_accountNonLocked.getSelection());
106 } else if (eventSource == checkbox_enabled) {
107 getEntity().setEnabled(checkbox_enabled.getSelection());
108 } else if (eventSource == checkbox_credentialsNonExpired) {
109 getEntity().setCredentialsNonExpired(
110 checkbox_credentialsNonExpired.getSelection());
111 }
112 }
113
114 }