in src/main/java/org/apache/directory/fortress/web/panel/UserDetailPanel.java [192:324]
private void addDetailFields( final IModel<User> model )
{
// Add the User page required attributes:
userIdTF = new TextField( GlobalIds.USER_ID );
add( userIdTF );
PasswordTextField pw = new PasswordTextField( GlobalIds.PASSWORD );
pw.setRequired( false );
add( pw );
TextField descriptionTF = new TextField( GlobalIds.DESCRIPTION );
descriptionTF.setRequired( false );
add( descriptionTF );
ouTF = new TextField( OU );
// making this required prevents the modals from opening:
//ouTF.setRequired( true );
ouTF.setOutputMarkupId( true );
add( ouTF );
CheckBox resetCB = new CheckBox( "reset" );
resetCB.setEnabled( false );
add( resetCB );
CheckBox lockedCB = new CheckBox( "locked" );
lockedCB.setEnabled( false );
add( lockedCB );
pwPolicyTF = new TextField( "pwPolicy" );
pwPolicyTF.setRequired( false );
pwPolicyTF.setOutputMarkupId( true );
add( pwPolicyTF );
// Add the role assignment values & temporal constraint panel:
newUserRoleTF = new TextField( GlobalIds.NEW_USER_ROLE_FIELD, new PropertyModel<String>( this,
GlobalIds.NEW_USER_ROLE_FIELD ) );
newUserRoleTF.setRequired( false );
newUserRoleTF.setOutputMarkupId( true );
add( newUserRoleTF );
rolesDD = new AjaxDropDownList<>(ROLES, new CompoundPropertyModel<>( new UserRole() ), Model.ofList(new ArrayList<UserRole>()));
add( rolesDD );
roleConstraintPanel = new ConstraintRolePanel( ROLECONSTRAINTPANEL, new PropertyModel<UserRole>( this,
ROLE_CONSTRAINT ) );
roleConstraintPanel.setOutputMarkupId( true );
add( roleConstraintPanel );
// Add the adminRole assignment values & temporal constraint panel:
newUserAdminRoleTF = new TextField( GlobalIds.NEW_USER_ADMIN_ROLE_FIELD, new PropertyModel<String>( this,
GlobalIds.NEW_USER_ADMIN_ROLE_FIELD ) );
newUserAdminRoleTF.setRequired( false );
newUserAdminRoleTF.setOutputMarkupId( true );
add( newUserAdminRoleTF );
adminRolesDD = new AjaxDropDownList<>(ADMIN_ROLES, new CompoundPropertyModel<>( new UserAdminRole() ), Model.ofList(new ArrayList<UserAdminRole>()));
add( adminRolesDD );
adminRoleConstraintPanel = new ConstraintAdminRolePanel( ADMINROLECONSTRAINTPANEL,
new PropertyModel<UserAdminRole>( this, ADMIN_ROLE_CONSTRAINT ) );
adminRoleConstraintPanel.setOutputMarkupId( true );
add( adminRoleConstraintPanel );
// Contact ComboBoxes and edit fields
TextField employeeType = new TextField( GlobalIds.EMPLOYEE_TYPE );
employeeType.setRequired( false );
add( employeeType );
TextField title = new TextField( GlobalIds.TITLE );
title.setRequired( false );
add( title );
// TODO: add email validator:
//add(new TextField("email").add( EmailAddressValidator.getInstance()));
emailsCB = new ComboBox<>( GlobalIds.EMAILS, new PropertyModel<String>( this, EMAILS_SELECTION ),
model.getObject().getEmails() );
add( emailsCB );
phonesCB = new ComboBox<>( GlobalIds.PHONES, new PropertyModel<String>( this, PHONES_SELECTION ),
model.getObject().getPhones() );
add( phonesCB );
mobilesCB = new ComboBox<>( GlobalIds.MOBILES, new PropertyModel<String>( this, MOBILES_SELECTION ),
model.getObject().getMobiles() );
add( mobilesCB );
// TODO: name not mapped correctly in fortress so can't be used here:
TextField name = new TextField( "displayName" );
name.setRequired( false );
add( name );
// Address ComboBoxes and edit fields
addressCB = new ComboBox<>( GlobalIds.ADDRESSES,
new PropertyModel<String>( this, ADDRESS_SELECTION ),
model.getObject().getAddress().getAddresses() );
add( addressCB );
TextField city = new TextField( GlobalIds.ADDRESS_CITY );
city.setRequired( false );
add( city );
TextField state = new TextField( GlobalIds.ADDRESS_STATE );
state.setRequired( false );
add( state );
TextField country = new TextField( GlobalIds.ADDRESS_COUNTRY );
country.setRequired( false );
add( country );
TextField postalCode = new TextField( GlobalIds.ADDRESS_POSTAL_CODE );
postalCode.setRequired( false );
add( postalCode );
TextField postOfficeBox = new TextField( GlobalIds.ADDRESS_POST_OFFICE_BOX );
postOfficeBox.setRequired( false );
add( postOfficeBox );
TextField building = new TextField( GlobalIds.ADDRESS_BUILDING );
building.setRequired( false );
add( building );
TextField departmentNumber = new TextField( GlobalIds.ADDRESS_DEPARTMENT_NUMBER );
departmentNumber.setRequired( false );
add( departmentNumber );
TextField roomNumber = new TextField( GlobalIds.ADDRESS_ROOM_NUMBER );
roomNumber.setRequired( false );
add( roomNumber );
// Add System fields:
CheckBox system = new CheckBox( "system" );
system.setRequired( false );
add( system );
Label internalid = new Label( "internalId" );
add( internalid );
TextField cn = new TextField( "cn" );
cn.setRequired( false );
add( cn );
Label dn = new Label( "dn" );
add( dn );
TextField sn = new TextField( "sn" );
sn.setRequired( false );
add( sn );
// Add the temporal constraint panel:
constraintPanel = new ConstraintPanel( "constraintpanel", model );
add( constraintPanel );
}