Project

General

Profile

Download (3.81 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * 
3
 */
4
package eu.etaxonomy.taxeditor.ui.section.user;
5

    
6
import eu.etaxonomy.cdm.model.agent.Person;
7
import eu.etaxonomy.cdm.model.common.User;
8
import eu.etaxonomy.taxeditor.store.CdmStore;
9
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
10
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
11
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
12
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
13
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
14
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
15

    
16
/**
17
 * @author n.hoffmann
18
 * 
19
 */
20
public class UserDetailElement extends AbstractCdmDetailElement<User> {
21

    
22
	private TextWithLabelElement text_username;
23
	private TextWithLabelElement text_emailAdress;
24
	private EntitySelectionElement<Person> selection_person;
25
	private CheckboxElement checkbox_credentialsNonExpired;
26
	private CheckboxElement checkbox_enabled;
27
	private CheckboxElement checkbox_accountNonLocked;
28
	private CheckboxElement checkbox_accountNonExpired;
29

    
30
	public UserDetailElement(CdmFormFactory formFactory,
31
			ICdmFormElement formElement) {
32
		super(formFactory, formElement);
33
	}
34

    
35
	/*
36
	 * (non-Javadoc)
37
	 * 
38
	 * @see
39
	 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
40
	 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
41
	 */
42
	@Override
43
	protected void createControls(ICdmFormElement formElement, User entity,
44
			int style) {
45
		text_username = formFactory.createTextWithLabelElement(formElement,
46
				"Username", entity.getUsername(), style);
47

    
48
		if (userIsAuthenticated() || CdmStore.getLoginManager().isAdmin()) {
49
			formFactory.createEditPasswordElement(
50
					formElement, "Change Password", getConversationHolder(),
51
					entity, style);
52
		}
53

    
54
		text_emailAdress = formFactory.createTextWithLabelElement(formElement,
55
				"Email Adress", entity.getEmailAddress(), style);
56

    
57
		selection_person = formFactory
58
				.createSelectionElement(Person.class,
59
						getConversationHolder(), 
60
						formElement, 
61
						"Person",
62
						entity.getPerson(), 
63
						EntitySelectionElement.EDITABLE | EntitySelectionElement.SELECTABLE,
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
}
(3-3/5)