Forms for group management (not working yet!)
parent
4655a31804
commit
141ce33ee0
|
|
@ -0,0 +1,116 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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 org.libreccm.ui.admin.usersgroupsroles;
|
||||
|
||||
import org.libreccm.security.Group;
|
||||
import org.libreccm.security.GroupMembership;
|
||||
import org.libreccm.security.RoleMembership;
|
||||
import org.libreccm.ui.Message;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.inject.Named;
|
||||
import javax.transaction.Transactional;
|
||||
|
||||
/**
|
||||
* Model used by the group details form and the group edit form.
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
@RequestScoped
|
||||
@Named("GroupDetailsModel")
|
||||
public class GroupDetailsModel {
|
||||
|
||||
private long groupId;
|
||||
|
||||
private String uuid;
|
||||
|
||||
private String groupName;
|
||||
|
||||
private List<GroupUserMembership> members;
|
||||
|
||||
private List<PartyRoleMembership> roles;
|
||||
|
||||
private final List<Message> messages;
|
||||
|
||||
public GroupDetailsModel() {
|
||||
messages = new ArrayList<>();
|
||||
}
|
||||
|
||||
public List<Message> getMessages() {
|
||||
return Collections.unmodifiableList(messages);
|
||||
}
|
||||
|
||||
public void addMessage(final Message message) {
|
||||
messages.add(message);
|
||||
}
|
||||
|
||||
public long getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
|
||||
public String getUuid() {
|
||||
return uuid;
|
||||
}
|
||||
|
||||
public String getGroupName() {
|
||||
return groupName;
|
||||
}
|
||||
|
||||
public List<GroupUserMembership> getMembers() {
|
||||
return Collections.unmodifiableList(members);
|
||||
}
|
||||
|
||||
public List<PartyRoleMembership> getRoles() {
|
||||
return Collections.unmodifiableList(roles);
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected void setGroup(final Group group) {
|
||||
Objects.requireNonNull(group);
|
||||
|
||||
groupId = group.getPartyId();
|
||||
uuid = group.getUuid();
|
||||
groupName = group.getName();
|
||||
members = group
|
||||
.getMemberships()
|
||||
.stream()
|
||||
.map(GroupMembership::getMember)
|
||||
.map(GroupUserMembership::new)
|
||||
.sorted()
|
||||
.collect(Collectors.toList());
|
||||
roles = group
|
||||
.getRoleMemberships()
|
||||
.stream()
|
||||
.map(RoleMembership::getRole)
|
||||
.map(PartyRoleMembership::new)
|
||||
.sorted()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public boolean isNewGroup() {
|
||||
return groupId == 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
* Copyright (C) 2020 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 org.libreccm.ui.admin.usersgroupsroles;
|
||||
|
||||
import org.libreccm.security.User;
|
||||
|
||||
/**
|
||||
* Model friendly representation of a member of a group.
|
||||
*
|
||||
* @author <a href="mailto:jens.pelzetter@googlemail.com">Jens Pelzetter</a>
|
||||
*/
|
||||
public class GroupUserMembership implements Comparable<GroupUserMembership> {
|
||||
|
||||
private long userId;
|
||||
|
||||
private String userUuid;
|
||||
|
||||
private String userName;
|
||||
|
||||
private String primaryEmailAddress;
|
||||
|
||||
private String givenName;
|
||||
|
||||
private String familyName;
|
||||
|
||||
public GroupUserMembership() {
|
||||
// Nothing
|
||||
}
|
||||
|
||||
public GroupUserMembership(final User user) {
|
||||
userId = user.getPartyId();
|
||||
userUuid = user.getUuid();
|
||||
userName = user.getName();
|
||||
primaryEmailAddress = user.getPrimaryEmailAddress().getAddress();
|
||||
givenName = user.getGivenName();
|
||||
familyName = user.getFamilyName();
|
||||
}
|
||||
|
||||
public long getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(final long userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getUserUuid() {
|
||||
return userUuid;
|
||||
}
|
||||
|
||||
public void setUserUuid(final String userUuid) {
|
||||
this.userUuid = userUuid;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(final String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getPrimaryEmailAddress() {
|
||||
return primaryEmailAddress;
|
||||
}
|
||||
|
||||
public void setPrimaryEmailAddress(final String primaryEmailAddress) {
|
||||
this.primaryEmailAddress = primaryEmailAddress;
|
||||
}
|
||||
|
||||
public String getGivenName() {
|
||||
return givenName;
|
||||
}
|
||||
|
||||
public void setGivenName(final String givenName) {
|
||||
this.givenName = givenName;
|
||||
}
|
||||
|
||||
public String getFamilyName() {
|
||||
return familyName;
|
||||
}
|
||||
|
||||
public void setFamilyName(final String familyName) {
|
||||
this.familyName = familyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(final GroupUserMembership other) {
|
||||
int result = userName.compareTo(other.getUserName());
|
||||
if (result == 0) {
|
||||
return primaryEmailAddress.compareTo(other.getPrimaryEmailAddress());
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -102,6 +102,7 @@ public class UserDetailsModel {
|
|||
groupMemberships = user
|
||||
.getGroupMemberships()
|
||||
.stream()
|
||||
.sorted()
|
||||
.map(GroupMembership::getGroup)
|
||||
.map(UserGroupMembership::new)
|
||||
.collect(Collectors.toList());
|
||||
|
|
@ -110,6 +111,7 @@ public class UserDetailsModel {
|
|||
.stream()
|
||||
.map(RoleMembership::getRole)
|
||||
.map(PartyRoleMembership::new)
|
||||
.sorted()
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,9 +38,9 @@ public class UserGroupMembership implements Comparable<UserGroupMembership> {
|
|||
}
|
||||
|
||||
public UserGroupMembership(final Group group) {
|
||||
this.groupId = group.getPartyId();
|
||||
this.groupUuid = group.getUuid();
|
||||
this.groupName = group.getName();
|
||||
groupId = group.getPartyId();
|
||||
groupUuid = group.getUuid();
|
||||
groupName = group.getName();
|
||||
}
|
||||
|
||||
public long getGroupId() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,127 @@
|
|||
<!DOCTYPE html [<!ENTITY times '×'>]>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
|
||||
xmlns:h="http://xmlns.jcp.org/jsf/html"
|
||||
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<ui:composition template="/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles.xhtml">
|
||||
<ui:param name="activePage" value="usersgroupsroles" />
|
||||
<ui:param name="activePanel" value="users" />
|
||||
<ui:param name="title"
|
||||
value="#{AdminMessages.getMessage('usersgroupsroles.groups.group_details.title', [GroupDetailsModel.name])}" />
|
||||
|
||||
<ui:define name="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#{mvc.uri('UsersGroupsRolesController#getOverview')}">
|
||||
#{AdminMessages['usersgroupsroles.label']}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#{mvc.uri('UsersController#getGroups')}">
|
||||
#{AdminMessages['usersgroupsroles.groups.label']}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
#{GroupDetailsModel.name}
|
||||
</li>
|
||||
</ui:define>
|
||||
|
||||
<ui:define name="panel">
|
||||
<dl>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usersgroupsroles.groups.group_details.id']}</dt>
|
||||
<dd>#{GroupDetailsModel.groupId}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usersgroupsroles.groups.group_details.uuid']}</dt>
|
||||
<dd>#{GroupDetailsModel.uuid}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usersgroupsroles.groups.group_details.name']}</dt>
|
||||
<dd>#{GroupDetailsModel.name}</dd>
|
||||
</div>
|
||||
</dl>
|
||||
<a class="btn btn-primary"
|
||||
href="#{mvc.uri('GroupsController#editGroup', {'groupIdentifier': GroupDetailsModel.name })}">
|
||||
<svg class="bi"
|
||||
width="1em"
|
||||
height="1em"
|
||||
fill="currentColor">
|
||||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>
|
||||
#{AdminMessages['usersgroupsroles.groups.group_details.edit_group']}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="d-flex mb-1">
|
||||
<h2 class="mr-2">
|
||||
#{AdminMessages['usersgroupsroles.groups.group_details.members.heading']}
|
||||
</h2>
|
||||
<button class="btn btn-primary"
|
||||
data-toggle="modal"
|
||||
data-target="#group-members-dialog"
|
||||
type="button">
|
||||
<svg class="bi"
|
||||
width="1em"
|
||||
height="1em"
|
||||
fill="currentColor">
|
||||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>#{AdminMessages['usersgroupsroles.groups.group_details.members.edit']}</span>
|
||||
</button>
|
||||
<div aria-labelledby="group-members-dialog-title"
|
||||
aria-hidden="true"
|
||||
class="modal fade"
|
||||
data-backdrop="static"
|
||||
id="group-members-dialog"
|
||||
tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<form action="#{mvc.uri('GroupFormController#updateGroupMemberships', {'groupIdentifier': GroupDetailsModel.name})}"
|
||||
class="modal-content"
|
||||
method="post">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title"
|
||||
id="group-members-dialog-title">
|
||||
#{AdminMessages['usersgroupsroles.groups.group_details.members.dialog.title']}
|
||||
</h3>
|
||||
<button aria-label="#{AdminMessages['usersgroupsroles.groups.group_details.members.dialog.close']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<c:forEach items="#{GroupDetailsModel.groupMemberFormEntries}"
|
||||
var="entry">
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input"
|
||||
checked="#{entry.member ? 'checked' : ''}"
|
||||
id="group-#{entry.userName}"
|
||||
name="groupMembers[]"
|
||||
value="#{entry.userName}"
|
||||
type="checkbox" />
|
||||
<label class="form-check-label"
|
||||
for="group-#{entry.userName}">
|
||||
#{entry.userName}
|
||||
</label>
|
||||
</div>
|
||||
</c:forEach>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button class="btn btn-secondary"
|
||||
data-dismiss="modal"
|
||||
type="button" >
|
||||
#{AdminMessages['usersgroupsroles.groups.group_details.members.dialog.close']}
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
#{AdminMessages['usersgroupsroles.groups.group_details.members.dialog.save']}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</ui:define>
|
||||
</ui:composition>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
|
||||
xmlns:h="http://xmlns.jcp.org/jsf/html"
|
||||
xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
|
||||
<ui:composition template="/WEB-INF/views/org/libreccm/ui/admin/users-groups-roles.xhtml">
|
||||
<ui:param name="activePage" value="usersgroupsroles" />
|
||||
<ui:param name="activePanel" value="users" />
|
||||
<ui:param name="title"
|
||||
value="#{GroupDetailsModel.newGroup ? AdminMessages['usersgroupsroles.groups.create.title'] : AdminMessages.getMessage('usersgroupsroles.groups.edit.title', [GroupDetailsModel.name]) }" />
|
||||
|
||||
<ui:define name="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#{mvc.uri('UsersGroupsRolesController#getOverview')}">
|
||||
#{AdminMessages['usersgroupsroles.label']}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#{mvc.uri('GroupsController#getGroup')}">
|
||||
#{AdminMessages['usersgroupsroles.groups.label']}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="#{mvn.uri('GroupsController#getGroupDetails', { 'groupIdentfier': group.name })}">
|
||||
#{UserDetailsModel.name}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
|
||||
#{GroupDetailsModel.newGroup ? AdminMessages['usersgroupsroles.groups.breadcrumb.new'] : AdminMessages['usersgroupsroles.groups.breadcrumb.edit']}
|
||||
</li>
|
||||
</ui:define>
|
||||
|
||||
<ui:define name="panel">
|
||||
<c:forEach items="#{errors}" var="error">
|
||||
<div class="alert alert-danger" role="alert">
|
||||
#{error}
|
||||
</div>
|
||||
</c:forEach>
|
||||
|
||||
<form action="#{GroupDetailsModel.newGroup ? mvc.uri('GroupFormController#createGroup') : mvc.uri('GroupFormController#updateGroup', { 'groupIdentifier': GroupDetailsModel.groupName })}"
|
||||
method="post">
|
||||
<div class="form-group">
|
||||
<label for="groupname">
|
||||
#{AdminMessages['usersgroupsroles.groups.form.groupname.label']}
|
||||
</label>
|
||||
<input aria-described-by="groupname-help"
|
||||
class="form-control"
|
||||
id="groupname"
|
||||
name="groupName"
|
||||
value="#{GroupDetailsModel.name}"
|
||||
type="text" />
|
||||
<small class="form-text text-muted"
|
||||
id="groupname-help">
|
||||
#{AdminMessages['usersgroupsroles.groups.form.username.help']}
|
||||
</small>
|
||||
</div>
|
||||
<a class="btn btn-warning"
|
||||
href="#{mvc.uri('UsersController#getGroups')}">
|
||||
#{AdminMessages['usersgroupsroles.groups.form.buttons.cancel']}
|
||||
</a>
|
||||
<button class="btn btn-success" type="submit">
|
||||
<c:choose>
|
||||
<c:when test="#{UserDetailsModel.newGroup}">
|
||||
#{AdminMessages['usersgroupsroles.groups.form.buttons.create']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usersgroupsroles.groups.form.buttons.save']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</button>
|
||||
</form>
|
||||
</ui:define>
|
||||
|
||||
</ui:composition>
|
||||
</html>
|
||||
|
|
@ -29,58 +29,58 @@
|
|||
<ui:define name="panel">
|
||||
<dl>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.id']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.id']}</dt>
|
||||
<dd>#{UserDetailsModel.userId}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.uuid']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.uuid']}</dt>
|
||||
<dd>#{UserDetailsModel.uuid}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.name']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.name']}</dt>
|
||||
<dd>#{UserDetailsModel.name}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.given_name']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.given_name']}</dt>
|
||||
<dd>#{UserDetailsModel.givenName}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.family_name']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.family_name']}</dt>
|
||||
<dd>#{UserDetailsModel.familyName}</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.primary_email_address']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.primary_email_address']}
|
||||
</dt>
|
||||
<dd>
|
||||
<dl>
|
||||
<dt>#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.address']}</dt>
|
||||
<dt>#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.address']}</dt>
|
||||
<dd>
|
||||
#{UserDetailsModel.primaryEmailAddress.address}
|
||||
</dd>
|
||||
<dt>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.boucing']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.boucing']}
|
||||
</dt>
|
||||
<dd>
|
||||
<c:choose>
|
||||
<c:when test="#{UserDetailsModel.primaryEmailAddress.bouncing}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.bouncing.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.bouncing.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.bouncing.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.bouncing.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</dd>
|
||||
<dt>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.verified']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.verified']}
|
||||
</dt>
|
||||
<dd>
|
||||
<c:choose>
|
||||
<c:when test="#{UserDetailsModel.primaryEmailAddress.verified}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.verified.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.verified.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.verified.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.verified.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</dd>
|
||||
|
|
@ -89,30 +89,30 @@
|
|||
</div>
|
||||
<div>
|
||||
<dt>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.disabled']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.disabled']}
|
||||
</dt>
|
||||
<dd>
|
||||
<c:choose >
|
||||
<c:when test="#{UserDetailsModel.banned}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.disabled.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.disabled.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.disabled.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.disabled.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</dd>
|
||||
</div>
|
||||
<div>
|
||||
<dt>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.password_reset_required']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.password_reset_required']}
|
||||
</dt>
|
||||
<dd>
|
||||
<c:choose >
|
||||
<c:when test="#{UserDetailsModel.passwordResetRequired}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.password_reset_required.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.password_reset_required.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.password_reset_required.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.password_reset_required.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</dd>
|
||||
|
|
@ -127,13 +127,13 @@
|
|||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.edit_user']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.edit_user']}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<div class="d-flex">
|
||||
<h2 class="mr-2">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.heading']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.heading']}
|
||||
</h2>
|
||||
<div>
|
||||
<a class="btn btn-primary"
|
||||
|
|
@ -144,7 +144,7 @@
|
|||
fill="currentColor">
|
||||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#plus-circle" />
|
||||
</svg>
|
||||
<span>#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.add']}</span>
|
||||
<span>#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.add']}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -154,16 +154,16 @@
|
|||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.address']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.address']}
|
||||
</th>
|
||||
<th class="text-center">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.boucing']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.boucing']}
|
||||
</th>
|
||||
<th class="text-center">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.verified']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.verified']}
|
||||
</th>
|
||||
<th class="text-center" colspan="2">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.additional_email_addresses.cols.actions']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.additional_email_addresses.cols.actions']}
|
||||
</th>
|
||||
</tr>
|
||||
<c:forEach items="#{UserDetailsModel.emailAddresses}"
|
||||
|
|
@ -176,20 +176,20 @@
|
|||
<td>
|
||||
<c:choose>
|
||||
<c:when test="#{address.bouncing}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.bouncing.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.bouncing.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.bouncing.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.bouncing.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="#{address.verified}">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.verified.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.verified.yes']}
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_address.verified.no']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_address.verified.no']}
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
|
|
@ -203,7 +203,7 @@
|
|||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_addresses.edit']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.edit']}
|
||||
</span>
|
||||
</a>
|
||||
</td>
|
||||
|
|
@ -218,7 +218,7 @@
|
|||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#x-circle" />
|
||||
</svg>
|
||||
<span>
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_addresses.remove']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.remove']}
|
||||
</span>
|
||||
</button>
|
||||
<div class="modal"
|
||||
|
|
@ -230,9 +230,9 @@
|
|||
method="post">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_addresses.remove.confirm.title']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.remove.confirm.title']}
|
||||
</h3>
|
||||
<button aria-label="#{AdminMessages['usergroupsroles.users.user_details.email_addresses.remove.confirm.cancel']}"
|
||||
<button aria-label="#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.remove.confirm.cancel']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
|
|
@ -240,7 +240,7 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
#{AdminMessages.getMessage('usergroupsroles.users.user_details.email_addresses.remove.confirm.message', [address.address])}
|
||||
#{AdminMessages.getMessage('usersgroupsroles.users.user_details.email_addresses.remove.confirm.message', [address.address])}
|
||||
<input name="confirmed"
|
||||
type="hidden"
|
||||
value="true" />
|
||||
|
|
@ -249,12 +249,12 @@
|
|||
<button class="btn btn-secondary"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
#AdminMessages['usergroupsroles.users.user_details.email_addresses.remove.confirm.cancel']
|
||||
#AdminMessages['usersgroupsroles.users.user_details.email_addresses.remove.confirm.cancel']
|
||||
</button>
|
||||
<button class="btn btn-danger"
|
||||
data-dismiss="modal"
|
||||
type="submit">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_addresses.remove.confirm.yes']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.remove.confirm.yes']}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -268,14 +268,14 @@
|
|||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="alert alert-info" role="alert">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.email_addresses.none']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.email_addresses.none']}
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<div class="d-flex mb-1">
|
||||
<h2 class="mr-2">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.groups.heading']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.groups.heading']}
|
||||
</h2>
|
||||
<button class="btn btn-primary"
|
||||
data-toggle="modal"
|
||||
|
|
@ -287,7 +287,7 @@
|
|||
fill="currentColor">
|
||||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>#{AdminMessages['usergroupsroles.users.user_details.groups.edit']}</span>
|
||||
<span>#{AdminMessages['usersgroupsroles.users.user_details.groups.edit']}</span>
|
||||
</button>
|
||||
<div aria-labelledby="user-groups-dialog-title"
|
||||
aria-hidden="true"
|
||||
|
|
@ -302,9 +302,9 @@
|
|||
<div class="modal-header">
|
||||
<h3 class="modal-title"
|
||||
id="user-groups-dialog-title">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.groups.dialog.title']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.groups.dialog.title']}
|
||||
</h3>
|
||||
<button aria-label="#{AdminMessages['usergroupsroles.users.user_details.groups.dialog.close']}"
|
||||
<button aria-label="#{AdminMessages['usersgroupsroles.users.user_details.groups.dialog.close']}"
|
||||
class="close"
|
||||
data-dismiss="modal"
|
||||
type="button">
|
||||
|
|
@ -332,10 +332,10 @@
|
|||
<button class="btn btn-secondary"
|
||||
data-dismiss="modal"
|
||||
type="button" >
|
||||
#{AdminMessages['usergroupsroles.users.user_details.groups.dialog.close']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.groups.dialog.close']}
|
||||
</button>
|
||||
<button type="submit" class="btn btn-primary">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.groups.dialog.save']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.groups.dialog.save']}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -356,14 +356,14 @@
|
|||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="alert alert-info" role="alert">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.groups.none']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.groups.none']}
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
<div class="d-flex mb-1">
|
||||
<h2 class="mr-2">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.roles.heading']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.roles.heading']}
|
||||
</h2>
|
||||
<button class="btn btn-primary"
|
||||
data-toggle="modal"
|
||||
|
|
@ -375,7 +375,7 @@
|
|||
fill="currentColor">
|
||||
<use xlink:href="#{request.contextPath}/assets/bootstrap/bootstrap-icons.svg#pen" />
|
||||
</svg>
|
||||
<span>#{AdminMessages['usergroupsroles.users.user_details.roles.edit']}</span>
|
||||
<span>#{AdminMessages['usersgroupsroles.users.user_details.roles.edit']}</span>
|
||||
</button>
|
||||
<div aria-labelledby="user-roles-dialog-title"
|
||||
aria-hidden="true"
|
||||
|
|
@ -444,7 +444,7 @@
|
|||
</c:when>
|
||||
<c:otherwise>
|
||||
<div class="alert alert-info" role="alert">
|
||||
#{AdminMessages['usergroupsroles.users.user_details.roles.none']}
|
||||
#{AdminMessages['usersgroupsroles.users.user_details.roles.none']}
|
||||
</div>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
|
|
|||
|
|
@ -40,36 +40,36 @@ usersgroupsroles.users.filter.label=Filter users
|
|||
usersgroupsroles.users.filter.submit=Submit
|
||||
usersgroupsroles.users.not_found.title=User not found
|
||||
usersgroupsroles.users.user_details.title=User {0} Details
|
||||
usergroupsroles.users.user_details.id=User ID
|
||||
usergroupsroles.users.user_details.uuid=UUID
|
||||
usergroupsroles.users.user_details.name=Name
|
||||
usergroupsroles.users.user_details.given_name=Given name
|
||||
usergroupsroles.users.user_details.familyname=Familyname
|
||||
usergroupsroles.users.user_details.primary_email_address=Primary email address
|
||||
usergroupsroles.users.user_details.disabled=Disabled?
|
||||
usergroupsroles.users.user_details.disabled.yes=Yes
|
||||
usergroupsroles.users.user_details.disabled.no=No
|
||||
usergroupsroles.users.user_details.password_reset_required=Password reset required?
|
||||
usergroupsroles.users.user_details.password_reset_required.yes=Yes
|
||||
usergroupsroles.users.user_details.password_reset_required.no=No
|
||||
usergroupsroles.users.user_details.additional_email_addresses.heading=Additional email addresses
|
||||
'usergroupsroles.users.user_details.additional_email_addresses.cols.address=Address
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.boucing=Bouncing?
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.verified=Verified
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.actions=Actions
|
||||
usergroupsroles.users.user_details.email_address.bouncing.yes=Yes
|
||||
usergroupsroles.users.user_details.email_address.bouncing.no=No
|
||||
usergroupsroles.users.user_details.email_address.verified.yes=Yes
|
||||
usergroupsroles.users.user_details.email_address.verified.no=No
|
||||
usergroupsroles.users.user_details.email_addresses.remove=Remove
|
||||
usergroupsroles.users.user_details.email_addresses.edit=Edit
|
||||
usergroupsroles.users.user_details.groups.heading=Groups Memberships
|
||||
usergroupsroles.users.user_details.groups.add=Add
|
||||
usergroupsroles.users.user_details.groups.remove=Remove
|
||||
usergroupsroles.users.user_details.roles.heading=Roles
|
||||
usergroupsroles.users.user_details.roles.add=Add
|
||||
usergroupsroles.users.user_details.roles.remove=Remove
|
||||
usergroupsroles.users.user_details.edit_user=Edit
|
||||
usersgroupsroles.users.user_details.id=User ID
|
||||
usersgroupsroles.users.user_details.uuid=UUID
|
||||
usersgroupsroles.users.user_details.name=Name
|
||||
usersgroupsroles.users.user_details.given_name=Given name
|
||||
usersgroupsroles.users.user_details.familyname=Familyname
|
||||
usersgroupsroles.users.user_details.primary_email_address=Primary email address
|
||||
usersgroupsroles.users.user_details.disabled=Disabled?
|
||||
usersgroupsroles.users.user_details.disabled.yes=Yes
|
||||
usersgroupsroles.users.user_details.disabled.no=No
|
||||
usersgroupsroles.users.user_details.password_reset_required=Password reset required?
|
||||
usersgroupsroles.users.user_details.password_reset_required.yes=Yes
|
||||
usersgroupsroles.users.user_details.password_reset_required.no=No
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.heading=Additional email addresses
|
||||
'usersgroupsroles.users.user_details.additional_email_addresses.cols.address=Address
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.boucing=Bouncing?
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.verified=Verified
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.actions=Actions
|
||||
usersgroupsroles.users.user_details.email_address.bouncing.yes=Yes
|
||||
usersgroupsroles.users.user_details.email_address.bouncing.no=No
|
||||
usersgroupsroles.users.user_details.email_address.verified.yes=Yes
|
||||
usersgroupsroles.users.user_details.email_address.verified.no=No
|
||||
usersgroupsroles.users.user_details.email_addresses.remove=Remove
|
||||
usersgroupsroles.users.user_details.email_addresses.edit=Edit
|
||||
usersgroupsroles.users.user_details.groups.heading=Groups Memberships
|
||||
usersgroupsroles.users.user_details.groups.add=Add
|
||||
usersgroupsroles.users.user_details.groups.remove=Remove
|
||||
usersgroupsroles.users.user_details.roles.heading=Roles
|
||||
usersgroupsroles.users.user_details.roles.add=Add
|
||||
usersgroupsroles.users.user_details.roles.remove=Remove
|
||||
usersgroupsroles.users.user_details.edit_user=Edit
|
||||
usersgroupsroles.users.new.errors.password.empty=Password of a new user can't be empty
|
||||
usersgroupsroles.users.new.errors.password.no_match=Password and confirmation do not match
|
||||
usersgroupsroles.users.edit.title=Edit user {0}
|
||||
|
|
@ -111,24 +111,24 @@ usersgroupsroles.users.disable.confirm.title=Confirm to disable user
|
|||
usersgroupsroles.users.disable.confirm.cancel=Cancel
|
||||
usersgroupsroles.users.disable.confirm.message=Are you sure to disable user {0}
|
||||
usersgroupsroles.users.disable.confirm.yes=Disable User
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.title=Confirm Removal Of Email Address
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.cancel=Cancel
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.message=Are you sure to remove email address {0}?
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.yes=Remove Email Address
|
||||
usergroupsroles.users.user_details.groups.none=This user is not a member of any group
|
||||
usergroupsroles.users.user_details.groups.edit=Edit
|
||||
usergroupsroles.users.user_details.roles.edit=Edit
|
||||
usergroupsroles.users.user_details.roles.none=No roles assigned to this user
|
||||
usergroupsroles.users.user_details.email_addresses.none=This user has no additional email addresses
|
||||
usergroupsroles.users.user_details.additional_email_addresses.add=Add email address
|
||||
usergroupsroles.users.user_details.groups.dialog.title=Edit group memberships
|
||||
usergroupsroles.users.user_details.groups.dialog.close=Cancel
|
||||
usergroupsroles.users.user_details.groups.dialog.save=Save
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.title=Confirm Removal Of Email Address
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.cancel=Cancel
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.message=Are you sure to remove email address {0}?
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.yes=Remove Email Address
|
||||
usersgroupsroles.users.user_details.groups.none=This user is not a member of any group
|
||||
usersgroupsroles.users.user_details.groups.edit=Edit
|
||||
usersgroupsroles.users.user_details.roles.edit=Edit
|
||||
usersgroupsroles.users.user_details.roles.none=No roles assigned to this user
|
||||
usersgroupsroles.users.user_details.email_addresses.none=This user has no additional email addresses
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.add=Add email address
|
||||
usersgroupsroles.users.user_details.groups.dialog.title=Edit group memberships
|
||||
usersgroupsroles.users.user_details.groups.dialog.close=Cancel
|
||||
usersgroupsroles.users.user_details.groups.dialog.save=Save
|
||||
usersgroupsroles.users.user_details.roles.dialog.title=Edit role memberships
|
||||
usersgroupsroles.users.user_details.roles.dialog.close=Cancel
|
||||
usersgroupsroles.users.user_details.groups.dialog.save=Save
|
||||
usergroupsroles.users.user_details.family_name=Family Name
|
||||
usergroupsroles.users.user_details.email_addresses.errors.address_empty=Address can't be empty
|
||||
usersgroupsroles.users.user_details.family_name=Family Name
|
||||
usersgroupsroles.users.user_details.email_addresses.errors.address_empty=Address can't be empty
|
||||
usersgroupsroles.groups.table.headers.groupname=Group
|
||||
usersgroupsroles.groups.table.headers.actions=Actions
|
||||
usersgroupsroles.groups.detailslink.label=Details
|
||||
|
|
@ -138,3 +138,22 @@ usersgroupsroles.groups.delete.confirm.cancel=Cancel
|
|||
usersgroupsroles.groups.delete.confirm.yes=Delete Group
|
||||
usersgroupsroles.groups.delete.confirm.message=Are you sure to delete group {0}?
|
||||
usersgroupsroles.groups.add=Add group
|
||||
usersgroupsroles.groups.create.title=Create new group
|
||||
usersgroupsroles.groups.edit.title=Edit group {0}
|
||||
usersgroupsroles.groups.breadcrumb.new=New Group
|
||||
usersgroupsroles.groups.breadcrumb.edit=Edit Group
|
||||
usersgroupsroles.groups.form.groupname.label=Group Name
|
||||
usersgroupsroles.groups.form.username.help=Unique name of the group
|
||||
usersgroupsroles.groups.form.buttons.cancel=Cancel
|
||||
usersgroupsroles.groups.form.buttons.create=Create new group
|
||||
usersgroupsroles.groups.form.buttons.save=Save
|
||||
usersgroupsroles.groups.group_details.title=Details of Group {0}
|
||||
usersgroupsroles.groups.group_details.id=Group ID
|
||||
usersgroupsroles.groups.group_details.uuid=Group UUID
|
||||
usersgroupsroles.groups.group_details.name=Group Name
|
||||
usersgroupsroles.groups.group_details.edit_group=Edit group
|
||||
usersgroupsroles.groups.group_details.members.heading=Members
|
||||
usersgroupsroles.groups.group_details.members.edit=Add/remove members
|
||||
usersgroupsroles.groups.group_details.members.dialog.title=Add/remove members
|
||||
usersgroupsroles.groups.group_details.members.dialog.close=Cancel
|
||||
usersgroupsroles.groups.group_details.members.dialog.save=Apply
|
||||
|
|
|
|||
|
|
@ -40,36 +40,36 @@ usersgroupsroles.users.filter.label=Benutzer*innen filtern
|
|||
usersgroupsroles.users.filter.submit=Anwenden
|
||||
usersgroupsroles.users.not_found.title=Benutzer*in nicht gefunden
|
||||
usersgroupsroles.users.user_details.title=Details Benutzer*in {0}
|
||||
usergroupsroles.users.user_details.id=Benutzer*in ID
|
||||
usergroupsroles.users.user_details.uuid=UUID
|
||||
usergroupsroles.users.user_details.name=Name
|
||||
usergroupsroles.users.user_details.given_name=Vorname
|
||||
usergroupsroles.users.user_details.familyname=Familienname
|
||||
usergroupsroles.users.user_details.primary_email_address=Prim\u00e4re E-Mail-Adresse
|
||||
usergroupsroles.users.user_details.disabled=Inaktiv?
|
||||
usergroupsroles.users.user_details.disabled.yes=Ja
|
||||
usergroupsroles.users.user_details.disabled.no=Nein
|
||||
usergroupsroles.users.user_details.password_reset_required=Neues Password erforderlich?
|
||||
usergroupsroles.users.user_details.password_reset_required.yes=Ja
|
||||
usergroupsroles.users.user_details.password_reset_required.no=Nein
|
||||
usergroupsroles.users.user_details.additional_email_addresses.heading=Weitere E-Mail-Adressen
|
||||
'usergroupsroles.users.user_details.additional_email_addresses.cols.address=Adresse
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.boucing=Wird zur\u00fcckgewiesen?
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.verified=Verifizizert
|
||||
usergroupsroles.users.user_details.additional_email_addresses.cols.actions=Aktionen
|
||||
usergroupsroles.users.user_details.email_address.bouncing.yes=Ja
|
||||
usergroupsroles.users.user_details.email_address.bouncing.no=Nein
|
||||
usergroupsroles.users.user_details.email_address.verified.yes=Ja
|
||||
usergroupsroles.users.user_details.email_address.verified.no=Nein
|
||||
usergroupsroles.users.user_details.email_addresses.remove=Entfernen
|
||||
usergroupsroles.users.user_details.email_addresses.edit=Bearbeiten
|
||||
usergroupsroles.users.user_details.groups.heading=Gruppenmitgliedschaften
|
||||
usergroupsroles.users.user_details.groups.add=Hinzuf\u00fcgen
|
||||
usergroupsroles.users.user_details.groups.remove=Entfernen
|
||||
usergroupsroles.users.user_details.roles.heading=Rollen
|
||||
usergroupsroles.users.user_details.roles.add=Hinzuf\u00fcgen
|
||||
usergroupsroles.users.user_details.roles.remove=Entfernen
|
||||
usergroupsroles.users.user_details.edit_user=Bearbeiten
|
||||
usersgroupsroles.users.user_details.id=Benutzer*in ID
|
||||
usersgroupsroles.users.user_details.uuid=UUID
|
||||
usersgroupsroles.users.user_details.name=Name
|
||||
usersgroupsroles.users.user_details.given_name=Vorname
|
||||
usersgroupsroles.users.user_details.familyname=Familienname
|
||||
usersgroupsroles.users.user_details.primary_email_address=Prim\u00e4re E-Mail-Adresse
|
||||
usersgroupsroles.users.user_details.disabled=Inaktiv?
|
||||
usersgroupsroles.users.user_details.disabled.yes=Ja
|
||||
usersgroupsroles.users.user_details.disabled.no=Nein
|
||||
usersgroupsroles.users.user_details.password_reset_required=Neues Password erforderlich?
|
||||
usersgroupsroles.users.user_details.password_reset_required.yes=Ja
|
||||
usersgroupsroles.users.user_details.password_reset_required.no=Nein
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.heading=Weitere E-Mail-Adressen
|
||||
'usersgroupsroles.users.user_details.additional_email_addresses.cols.address=Adresse
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.boucing=Wird zur\u00fcckgewiesen?
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.verified=Verifizizert
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.cols.actions=Aktionen
|
||||
usersgroupsroles.users.user_details.email_address.bouncing.yes=Ja
|
||||
usersgroupsroles.users.user_details.email_address.bouncing.no=Nein
|
||||
usersgroupsroles.users.user_details.email_address.verified.yes=Ja
|
||||
usersgroupsroles.users.user_details.email_address.verified.no=Nein
|
||||
usersgroupsroles.users.user_details.email_addresses.remove=Entfernen
|
||||
usersgroupsroles.users.user_details.email_addresses.edit=Bearbeiten
|
||||
usersgroupsroles.users.user_details.groups.heading=Gruppenmitgliedschaften
|
||||
usersgroupsroles.users.user_details.groups.add=Hinzuf\u00fcgen
|
||||
usersgroupsroles.users.user_details.groups.remove=Entfernen
|
||||
usersgroupsroles.users.user_details.roles.heading=Rollen
|
||||
usersgroupsroles.users.user_details.roles.add=Hinzuf\u00fcgen
|
||||
usersgroupsroles.users.user_details.roles.remove=Entfernen
|
||||
usersgroupsroles.users.user_details.edit_user=Bearbeiten
|
||||
usersgroupsroles.users.new.errors.password.empty=Das Passwort eines neuen Benutzers darf nicht leer sein.
|
||||
usersgroupsroles.users.new.errors.password.no_match=Password und Best\u00e4tigung stimmen nicht \u00fcberein.
|
||||
usersgroupsroles.users.edit.title=Benutzer*in {0} bearbeiten
|
||||
|
|
@ -111,24 +111,24 @@ usersgroupsroles.users.disable.confirm.title=Deaktivierung Benutzer*in best\u00e
|
|||
usersgroupsroles.users.disable.confirm.cancel=Abbrechen
|
||||
usersgroupsroles.users.disable.confirm.message=Sind Sie sicher das Sie den/die Benutzer*in {0} deaktivieren wollen?
|
||||
usersgroupsroles.users.disable.confirm.yes=Benutzer*in deaktivieren
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.title=Entfernen E-Mail-Adresse best\u00e4tigen
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.cancel=Abbrechen
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.message=Sind Sie sicher, dass Sie die E-Mail-Adresse {0} entfernen wollen?
|
||||
usergroupsroles.users.user_details.email_addresses.remove.confirm.yes=E-Mail-Adresse entfernen
|
||||
usergroupsroles.users.user_details.groups.none=Diese(r) Benutzer*in ist nicht Mitglied einer Gruppe
|
||||
usergroupsroles.users.user_details.groups.edit=Bearbeiten
|
||||
usergroupsroles.users.user_details.roles.edit=Bearbeiten
|
||||
usergroupsroles.users.user_details.roles.none=Dieser(m) Benutzer*in sind keine Rollen zugeordnet
|
||||
usergroupsroles.users.user_details.email_addresses.none=Diese(r) Benutzer*in hat keine weiteren E-Mail-Adressen
|
||||
usergroupsroles.users.user_details.additional_email_addresses.add=E-Mail-Adresse hinzuf\u00fcgen
|
||||
usergroupsroles.users.user_details.groups.dialog.title=Gruppenmitgliedschaften bearbeiten
|
||||
usergroupsroles.users.user_details.groups.dialog.close=Abbrechen
|
||||
usergroupsroles.users.user_details.groups.dialog.save=Anwenden
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.title=Entfernen E-Mail-Adresse best\u00e4tigen
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.cancel=Abbrechen
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.message=Sind Sie sicher, dass Sie die E-Mail-Adresse {0} entfernen wollen?
|
||||
usersgroupsroles.users.user_details.email_addresses.remove.confirm.yes=E-Mail-Adresse entfernen
|
||||
usersgroupsroles.users.user_details.groups.none=Diese(r) Benutzer*in ist nicht Mitglied einer Gruppe
|
||||
usersgroupsroles.users.user_details.groups.edit=Bearbeiten
|
||||
usersgroupsroles.users.user_details.roles.edit=Bearbeiten
|
||||
usersgroupsroles.users.user_details.roles.none=Dieser(m) Benutzer*in sind keine Rollen zugeordnet
|
||||
usersgroupsroles.users.user_details.email_addresses.none=Diese(r) Benutzer*in hat keine weiteren E-Mail-Adressen
|
||||
usersgroupsroles.users.user_details.additional_email_addresses.add=E-Mail-Adresse hinzuf\u00fcgen
|
||||
usersgroupsroles.users.user_details.groups.dialog.title=Gruppenmitgliedschaften bearbeiten
|
||||
usersgroupsroles.users.user_details.groups.dialog.close=Abbrechen
|
||||
usersgroupsroles.users.user_details.groups.dialog.save=Anwenden
|
||||
usersgroupsroles.users.user_details.roles.dialog.title=Rollenmitgliedschaften bearbeiten
|
||||
usersgroupsroles.users.user_details.roles.dialog.close=Abbrechen
|
||||
usersgroupsroles.users.user_details.groups.dialog.save=Anwenden
|
||||
usergroupsroles.users.user_details.family_name=Familienname
|
||||
usergroupsroles.users.user_details.email_addresses.errors.address_empty=Die Addresse kann nicht leer sein
|
||||
usersgroupsroles.users.user_details.family_name=Familienname
|
||||
usersgroupsroles.users.user_details.email_addresses.errors.address_empty=Die Addresse kann nicht leer sein
|
||||
usersgroupsroles.groups.table.headers.groupname=Gruppe
|
||||
usersgroupsroles.groups.table.headers.actions=Aktionen
|
||||
usersgroupsroles.groups.detailslink.label=Details
|
||||
|
|
@ -138,3 +138,22 @@ usersgroupsroles.groups.delete.confirm.cancel=Abbrechen
|
|||
usersgroupsroles.groups.delete.confirm.yes=Gruppe l\u00f6schen
|
||||
usersgroupsroles.groups.delete.confirm.message=Sind Sie sicher, dass Sie die Gruppe {0} l\u00f6schen wollen?
|
||||
usersgroupsroles.groups.add=Gruppe hinzuf\u00fcgen
|
||||
usersgroupsroles.groups.create.title=Neue Gruppe anlegen
|
||||
usersgroupsroles.groups.edit.title=Gruppe {0} bearbeiten
|
||||
usersgroupsroles.groups.breadcrumb.new=Neue Gruppe anlegen
|
||||
usersgroupsroles.groups.breadcrumb.edit=Gruppe bearbeiten
|
||||
usersgroupsroles.groups.form.groupname.label=Name der Gruppe
|
||||
usersgroupsroles.groups.form.username.help=Eindeutiger Name der Gruppe
|
||||
usersgroupsroles.groups.form.buttons.cancel=Abbrechen
|
||||
usersgroupsroles.groups.form.buttons.create=Neue Gruppe anlegen
|
||||
usersgroupsroles.groups.form.buttons.save=Speichern
|
||||
usersgroupsroles.groups.group_details.title=Details Gruppe {0}
|
||||
usersgroupsroles.groups.group_details.id=ID der Gruppe
|
||||
usersgroupsroles.groups.group_details.uuid=UUID der Gruppe
|
||||
usersgroupsroles.groups.group_details.name=Name der Gruppe
|
||||
usersgroupsroles.groups.group_details.edit_group=Gruppe bearbeiten
|
||||
usersgroupsroles.groups.group_details.members.heading=Mitglieder
|
||||
usersgroupsroles.groups.group_details.members.edit=Mitglieder hinzuf\u00fcgen/entfernen
|
||||
usersgroupsroles.groups.group_details.members.dialog.title=Mitglieder hinzuf\u00fcgen/entfernen
|
||||
usersgroupsroles.groups.group_details.members.dialog.close=Abbrechen
|
||||
usersgroupsroles.groups.group_details.members.dialog.save=Anwenden
|
||||
|
|
|
|||
Loading…
Reference in New Issue