CCM NG: Switching to UserDetail view and back to user table works now as indented
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3912 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
326707f1a7
commit
8b941d3e70
|
|
@ -24,13 +24,15 @@ import com.arsdigita.bebop.Form;
|
|||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.ParameterSingleSelectionModel;
|
||||
import com.arsdigita.bebop.PropertySheet;
|
||||
import com.arsdigita.bebop.Text;
|
||||
import com.arsdigita.bebop.event.PrintEvent;
|
||||
import com.arsdigita.bebop.form.Submit;
|
||||
import com.arsdigita.bebop.form.TextField;
|
||||
import com.arsdigita.bebop.parameters.LongParameter;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import org.dom4j.tree.BackedList;
|
||||
|
||||
import static com.arsdigita.ui.admin.AdminUiConstants.*;
|
||||
|
||||
/**
|
||||
|
|
@ -42,14 +44,21 @@ public class UserAdmin extends BoxPanel {
|
|||
private final LongParameter userIdParameter;
|
||||
private final ParameterSingleSelectionModel<String> selectedUserId;
|
||||
private final TextField usersTableFilter;
|
||||
final BoxPanel usersTablePanel;
|
||||
private final BoxPanel usersTablePanel;
|
||||
private final UsersTable usersTable;
|
||||
private final UserDetails userDetails;
|
||||
private final ActionLink backToUsersTable;
|
||||
private final PropertySheet userProperties;
|
||||
private final BoxPanel actionLinks;
|
||||
// private final UserDetails userDetails;
|
||||
private final BoxPanel userDetails;
|
||||
|
||||
public UserAdmin() {
|
||||
super();
|
||||
|
||||
setIdAttr("userAdmin");
|
||||
|
||||
usersTablePanel = new BoxPanel();
|
||||
usersTablePanel.setIdAttr("usersTablePanel");
|
||||
|
||||
final Form filterForm = new Form("usersTableFilterForm");
|
||||
usersTableFilter = new TextField("usersTableFilter");
|
||||
|
|
@ -86,8 +95,54 @@ public class UserAdmin extends BoxPanel {
|
|||
// });
|
||||
// add(text);
|
||||
|
||||
userDetails = new UserDetails(this, selectedUserId);
|
||||
add(new UserDetails(this, selectedUserId));
|
||||
// userDetails = new UserDetails(this, selectedUserId);
|
||||
// add(new UserDetails(this, selectedUserId));
|
||||
|
||||
userDetails = new BoxPanel();
|
||||
userDetails.setIdAttr("userDetails");
|
||||
|
||||
backToUsersTable = new ActionLink(new GlobalizedMessage(
|
||||
"ui.admin.user_details.back", ADMIN_BUNDLE));
|
||||
backToUsersTable.setIdAttr("userDetailsBackLink");
|
||||
backToUsersTable.addActionListener(
|
||||
e -> closeUserDetails(e.getPageState()));
|
||||
userDetails.add(backToUsersTable);
|
||||
|
||||
userProperties = new PropertySheet(new UserPropertySheetModelBuilder(
|
||||
this, selectedUserId));
|
||||
userProperties.setIdAttr("userProperties");
|
||||
userDetails.add(userProperties);
|
||||
|
||||
actionLinks = new BoxPanel(BoxPanel.HORIZONTAL);
|
||||
actionLinks.setIdAttr("userDetailsActionLinks");
|
||||
final ActionLink editUserDetailsLink = new ActionLink(
|
||||
new GlobalizedMessage("ui.admin.user_details.edit", ADMIN_BUNDLE));
|
||||
editUserDetailsLink.addActionListener(e -> {
|
||||
//ToDo
|
||||
});
|
||||
actionLinks.add(editUserDetailsLink);
|
||||
actionLinks.add(new Text(" | "));
|
||||
|
||||
final ActionLink setPasswordLink = new ActionLink(
|
||||
new GlobalizedMessage("ui.admin.user_details.set_password",
|
||||
ADMIN_BUNDLE));
|
||||
setPasswordLink.addActionListener(e -> {
|
||||
//ToDo
|
||||
});
|
||||
actionLinks.add(setPasswordLink);
|
||||
actionLinks.add(new Text(" | "));
|
||||
|
||||
final ActionLink generatePasswordLink = new ActionLink(
|
||||
new GlobalizedMessage("ui.admin.user_details.generate_password",
|
||||
ADMIN_BUNDLE));
|
||||
generatePasswordLink.addActionListener(e -> {
|
||||
//ToDo
|
||||
});
|
||||
actionLinks.add(generatePasswordLink);
|
||||
|
||||
userDetails.add(actionLinks);
|
||||
|
||||
add(userDetails);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -99,7 +154,7 @@ public class UserAdmin extends BoxPanel {
|
|||
page.setVisibleDefault(usersTablePanel, true);
|
||||
page.setVisibleDefault(userDetails, false);
|
||||
}
|
||||
|
||||
|
||||
protected void showUserDetails(final PageState state) {
|
||||
usersTablePanel.setVisible(state, false);
|
||||
userDetails.setVisible(state, true);
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2016 LibreCCM Foundation.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
package com.arsdigita.ui.admin.usersgroupsroles;
|
||||
|
||||
import com.arsdigita.bebop.ActionLink;
|
||||
import com.arsdigita.bebop.BoxPanel;
|
||||
import com.arsdigita.bebop.ParameterSingleSelectionModel;
|
||||
import com.arsdigita.bebop.PropertySheet;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
||||
import static com.arsdigita.ui.admin.AdminUiConstants.*;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class UserDetails extends BoxPanel {
|
||||
|
||||
// private final UserAdmin parent;
|
||||
// private final ParameterSingleSelectionModel<String> selectedUserId;
|
||||
private final ActionLink backLink;
|
||||
// private final PropertySheet userProperties;
|
||||
|
||||
public UserDetails(
|
||||
final UserAdmin parent,
|
||||
final ParameterSingleSelectionModel<String> selectedUserId) {
|
||||
super();
|
||||
|
||||
// this.parent = parent;
|
||||
// this.selectedUserId = selectedUserId;
|
||||
|
||||
backLink = new ActionLink(new GlobalizedMessage(
|
||||
"ui.admin.user_details.back", ADMIN_BUNDLE));
|
||||
backLink.addActionListener(e -> {
|
||||
parent.closeUserDetails(e.getPageState());
|
||||
});
|
||||
add(backLink);
|
||||
|
||||
final PropertySheet userProperties = new PropertySheet(new UserPropertySheetModelBuilder(
|
||||
parent, selectedUserId));
|
||||
add(userProperties);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ public class UserPropertySheetModel implements PropertySheetModel {
|
|||
if (selectedUser == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if (propertyIterator.hasNext()) {
|
||||
currentProperty = propertyIterator.next();
|
||||
return true;
|
||||
|
|
@ -74,11 +74,10 @@ public class UserPropertySheetModel implements PropertySheetModel {
|
|||
}
|
||||
|
||||
private GlobalizedMessage generateGlobalizedLabel(
|
||||
final UserProperty property) {
|
||||
return new GlobalizedMessage(
|
||||
String.join("ui.admin.user.property_sheet.",
|
||||
property.toString().toLowerCase()),
|
||||
ADMIN_BUNDLE);
|
||||
final UserProperty property) {
|
||||
final String key = String.join("", "ui.admin.user.property_sheet.",
|
||||
property.toString().toLowerCase());
|
||||
return new GlobalizedMessage(key, ADMIN_BUNDLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ import com.arsdigita.bebop.List;
|
|||
import com.arsdigita.bebop.Page;
|
||||
import com.arsdigita.bebop.PageState;
|
||||
import com.arsdigita.bebop.Resettable;
|
||||
import com.arsdigita.bebop.SimpleContainer;
|
||||
import com.arsdigita.bebop.list.ListModel;
|
||||
import com.arsdigita.bebop.list.ListModelBuilder;
|
||||
import com.arsdigita.globalization.GlobalizedMessage;
|
||||
|
|
@ -109,7 +108,9 @@ public class UsersGroupsRolesTab extends LayoutPanel {
|
|||
Assert.isUnlocked(this);
|
||||
|
||||
components.forEach(c -> page.setVisibleDefault(c, false));
|
||||
page.setVisibleDefault(components.get(0), true);
|
||||
//page.setVisibleDefault(components.get(0), true);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void setSection(final int index, final PageState state) {
|
||||
|
|
@ -134,7 +135,11 @@ public class UsersGroupsRolesTab extends LayoutPanel {
|
|||
@Override
|
||||
public ListModel makeModel(final List list,
|
||||
final PageState state) {
|
||||
sections.setSelectedKey(state, String.valueOf(0));
|
||||
if (sections.getSelectedKey(state) == null) {
|
||||
sections.setSelectedKey(state, String.valueOf(0));
|
||||
}
|
||||
|
||||
//sections.setSelectedKey(state, String.valueOf(0));
|
||||
return new SectionsListModel(state);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ public class UsersTable extends Table {
|
|||
final ParameterSingleSelectionModel<String> selectedUserId) {
|
||||
super();
|
||||
|
||||
setIdAttr("usersTable");
|
||||
|
||||
this.usersTableFilter = usersTableFilter;
|
||||
this.selectedUserId = selectedUserId;
|
||||
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ ui.admin.users.table.filter.term=Filter users
|
|||
ui.admin.users.table.filter.submit=Apply
|
||||
ui.admin.users.table.no_users=No users matching users found.
|
||||
ui.admin.users.table.filter.clear=Clear filter
|
||||
ui.admin.user.property_sheet.username=User name
|
||||
ui.admin.user.property_sheet.user_name=User name
|
||||
ui.admin.user.property_sheet.primary_email=Primary email address
|
||||
ui.admin.user.property_sheet.additional_emails=Additional email addresses
|
||||
ui.admin.user.property_sheet.banned=Banned?
|
||||
|
|
@ -180,3 +180,6 @@ ui.admin.user.property_sheet.all_roles=Roles
|
|||
ui.admin.user.property_sheet.family_name=Family name
|
||||
ui.admin.user.property_sheet.given_name=Given name
|
||||
ui.admin.user_details.back=Back to users table
|
||||
ui.admin.user_details.edit=Edit user details
|
||||
ui.admin.user_details.generate_password=Generate password and it send to user
|
||||
ui.admin.user_details.set_password=Set new password
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ ui.admin.users.table.filter.term=Benutzer filtern
|
|||
ui.admin.users.table.filter.submit=Anwenden
|
||||
ui.admin.users.table.no_users=Keine auf den aktuellen Filter passenden Benutzer gefunden.
|
||||
ui.admin.users.table.filter.clear=Filter zur\u00fccksetzen
|
||||
ui.admin.user.property_sheet.username=Benutzername
|
||||
ui.admin.user.property_sheet.user_name=Benutzername
|
||||
ui.admin.user.property_sheet.primary_email=Prim\u00e4re E-Mail-Adresse
|
||||
ui.admin.user.property_sheet.additional_emails=Weitere E-Mail-Adressen
|
||||
ui.admin.user.property_sheet.banned=Gesperrt?
|
||||
|
|
@ -180,3 +180,6 @@ ui.admin.user.property_sheet.all_roles=Rollen
|
|||
ui.admin.user.property_sheet.family_name=Familienname
|
||||
ui.admin.user.property_sheet.given_name=Vorname
|
||||
ui.admin.user_details.back=Zur\u00fcck zur Benutzer\u00fcbersicht
|
||||
ui.admin.user_details.edit=Benutzerdaten bearbeiten
|
||||
ui.admin.user_details.generate_password=Passwort generieren und an Benutzer senden
|
||||
ui.admin.user_details.set_password=Neues Passwort setzen
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ ui.admin.users.table.filter.term=Filter users
|
|||
ui.admin.users.table.filter.submit=Apply
|
||||
ui.admin.users.table.no_users=No users matching users found.
|
||||
ui.admin.users.table.filter.clear=Clear filter
|
||||
ui.admin.user.property_sheet.username=User name
|
||||
ui.admin.user.property_sheet.user_name=User name
|
||||
ui.admin.user.property_sheet.primary_email=Primary email address
|
||||
ui.admin.user.property_sheet.additional_emails=Additional emails addresses
|
||||
ui.admin.user.property_sheet.banned=Banned?
|
||||
|
|
@ -153,3 +153,6 @@ ui.admin.user.property_sheet.all_roles=Roles
|
|||
ui.admin.user.property_sheet.family_name=Family name
|
||||
ui.admin.user.property_sheet.given_name=Given name
|
||||
ui.admin.user_details.back=Back to users table
|
||||
ui.admin.user_details.edit=Edit user details
|
||||
ui.admin.user_details.generate_password=Generate password and it send to user
|
||||
ui.admin.user_details.set_password=Set new password
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ ui.admin.users.table.filter.term=Filter users
|
|||
ui.admin.users.table.filter.submit=Apply
|
||||
ui.admin.users.table.no_users=No users matching users found.
|
||||
ui.admin.users.table.filter.clear=Clear filter
|
||||
ui.admin.user.property_sheet.username=User name
|
||||
ui.admin.user.property_sheet.user_name=User name
|
||||
ui.admin.user.property_sheet.primary_email=Primary email address
|
||||
ui.admin.user.property_sheet.additional_emails=Additional email addresses
|
||||
ui.admin.user.property_sheet.banned=Banned?
|
||||
|
|
@ -144,3 +144,6 @@ ui.admin.user.property_sheet.all_roles=Roles
|
|||
ui.admin.user.property_sheet.family_name=Family name
|
||||
ui.admin.user.property_sheet.given_name=Given name
|
||||
ui.admin.user_details.back=Back to users table
|
||||
ui.admin.user_details.edit=Edit user details
|
||||
ui.admin.user_details.generate_password=Generate password and it send to user
|
||||
ui.admin.user_details.set_password=Set new password
|
||||
|
|
|
|||
Loading…
Reference in New Issue