4 package eu
.etaxonomy
.taxeditor
.ui
.section
.user
;
6 import org
.eclipse
.swt
.SWT
;
7 import org
.eclipse
.swt
.events
.SelectionAdapter
;
8 import org
.eclipse
.swt
.events
.SelectionEvent
;
10 import eu
.etaxonomy
.cdm
.api
.service
.IUserService
;
11 import eu
.etaxonomy
.cdm
.model
.common
.User
;
12 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
13 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
;
14 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CdmFormFactory
.SelectionType
;
15 import eu
.etaxonomy
.taxeditor
.ui
.forms
.CheckboxElement
;
16 import eu
.etaxonomy
.taxeditor
.ui
.forms
.ICdmFormElement
;
17 import eu
.etaxonomy
.taxeditor
.ui
.forms
.TextActionElement
;
18 import eu
.etaxonomy
.taxeditor
.ui
.forms
.TextWithLabelElement
;
19 import eu
.etaxonomy
.taxeditor
.ui
.forms
.password
.EditPasswordElement
;
20 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
21 import eu
.etaxonomy
.taxeditor
.ui
.selection
.PersonSelectionElement
;
27 public class UserDetailElement
extends AbstractCdmDetailElement
<User
> {
29 private TextWithLabelElement text_username
;
30 private EditPasswordElement element_editPassword
;
31 private TextWithLabelElement text_emailAdress
;
32 private PersonSelectionElement selection_person
;
33 private CheckboxElement checkbox_credentialsNonExpired
;
34 private CheckboxElement checkbox_enabled
;
35 private CheckboxElement checkbox_accountNonLocked
;
36 private CheckboxElement checkbox_accountNonExpired
;
38 public UserDetailElement(CdmFormFactory formFactory
,
39 ICdmFormElement formElement
) {
40 super(formFactory
, formElement
);
44 * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls(eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
47 protected void createControls(ICdmFormElement formElement
, User entity
,
49 text_username
= formFactory
.createTextWithLabelElement(formElement
, "Username", entity
.getUsername(), style
);
51 if(userIsAuthenticated()){
52 element_editPassword
= formFactory
.createEditPasswordElement(formElement
, "Change Password", getConversationHolder(), entity
, style
);
55 text_emailAdress
= formFactory
.createTextWithLabelElement(formElement
, "Email Adress", entity
.getEmailAddress(), style
);
57 selection_person
= (PersonSelectionElement
) formFactory
.createSelectionElement(SelectionType
.PERSON
, getConversationHolder(), formElement
, "Person", entity
.getPerson(), style
);
59 checkbox_accountNonExpired
= formFactory
.createCheckbox(formElement
, "Account Non Expired", entity
.isAccountNonExpired(), style
);
60 checkbox_accountNonLocked
= formFactory
.createCheckbox(formElement
, "Account Non Locked", entity
.isAccountNonLocked(), style
);
61 checkbox_enabled
= formFactory
.createCheckbox(formElement
, "Enabled", entity
.isEnabled(), style
);
62 checkbox_credentialsNonExpired
= formFactory
.createCheckbox(formElement
, "Credentials Non Expired", entity
.isCredentialsNonExpired(), style
);
69 private boolean userIsAuthenticated() {
70 return getEntity().equals(CdmStore
.getLoginManager().getAuthenticatedUser());
74 * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java.lang.Object)
77 public void handleEvent(Object eventSource
) {
78 if(eventSource
== text_username
){
79 getEntity().setUsername(text_username
.getText());
81 else if(eventSource
== text_emailAdress
){
82 getEntity().setEmailAddress(text_emailAdress
.getText());
84 else if(eventSource
== selection_person
){
85 getEntity().setPerson(selection_person
.getSelection());
87 else if(eventSource
== checkbox_accountNonExpired
){
88 getEntity().setAccountNonExpired(checkbox_accountNonExpired
.getSelection());
90 else if(eventSource
== checkbox_accountNonLocked
){
91 getEntity().setAccountNonLocked(checkbox_accountNonLocked
.getSelection());
93 else if(eventSource
== checkbox_enabled
){
94 getEntity().setEnabled(checkbox_enabled
.getSelection());
96 else if(eventSource
== checkbox_credentialsNonExpired
){
97 getEntity().setCredentialsNonExpired(checkbox_credentialsNonExpired
.getSelection());