Project

General

Profile

Download (3.89 KB) Statistics
| Branch: | Tag: | Revision:
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
}
(3-3/5)