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