Add Groups to Administration
A group is a shared address and mailbox and the people who share it. To Stalwart it is an x:Account of type Group, behind the same sysAccount* permissions as a person, so it sits under Directory beside Accounts: search, a page of fifty with each group's member count, and a panel to create, edit and delete one. Membership lives on the member, not the group. Members are the users whose memberGroupIds name it, and adding or removing one is a single memberGroupIds/<group> pointer on that user's account -- true or null -- which leaves their other groups alone. Changes apply straight away rather than riding on Save, so the list is always what the server has. Nobody can add or remove themselves, the same line the account panel draws at one's own role. A group's role is Default or Custom, not a person's User or Admin, and it is what the group may do: in 0.16 a user's permissions come from their own roles only, and a group gives its members what is shared with it. Only roles the viewer could grant are offered. Delete takes the members out first and then deletes the group, the order a domain's keys go before the domain, because the registry keeps anything another object names. A role that cannot change the members' accounts is not offered a delete it could only half finish. The mock's groups had a person's roles, accepted a memberGroupIds filter without applying it, and answered a linked delete with the wrong shape; all three follow the source now, and it refuses nested groups and memberships of things that are not groups. Nothing about groups has been run against a live server yet: production has none, and every operation is a write. KNOWN-ISSUES says what was read from source. Thirty-five new strings, two of them plurals, in all nine catalogues.
This commit is contained in:
@@ -149,6 +149,39 @@ export const catalog: Catalog = {
|
||||
"Could not be loaded": "Konnte nicht geladen werden",
|
||||
"Detailed metrics, the delivery queue, logs and server settings are in Stalwart's own administration.": "Detaillierte Metriken, die Zustellwarteschlange, Protokolle und Servereinstellungen finden Sie in der Verwaltung von Stalwart selbst.",
|
||||
"Open Stalwart admin": "Stalwart-Verwaltung öffnen",
|
||||
"Default group role": "Standardrolle für Gruppen",
|
||||
"A group needs an address.": "Eine Gruppe braucht eine Adresse.",
|
||||
"New group": "Neue Gruppe",
|
||||
"Your role lets you view groups but not change them.": "Ihre Rolle erlaubt es, Gruppen anzusehen, aber nicht zu ändern.",
|
||||
"No domains are available to create a group on.": "Es gibt keine Domains, auf denen eine Gruppe angelegt werden kann.",
|
||||
"Mail to these addresses is delivered to this group. Changes apply when you save.": "E-Mails an diese Adressen werden an diese Gruppe zugestellt. Änderungen gelten beim Speichern.",
|
||||
"What the group itself may do. Members keep their own roles: a group gives them what is shared with it, not its permissions. Only roles whose permissions you hold yourself are offered.": "Was die Gruppe selbst tun darf. Mitglieder behalten ihre eigenen Rollen: Eine Gruppe gibt ihnen das, was mit ihr geteilt wird, nicht ihre Berechtigungen. Angeboten werden nur Rollen, deren Berechtigungen Sie selbst haben.",
|
||||
"Loading the group's members…": "Mitglieder der Gruppe werden geladen…",
|
||||
"This group has more members than can be taken out at once.": "Diese Gruppe hat mehr Mitglieder, als auf einmal entfernt werden können.",
|
||||
"Deleting a group takes its members out of it first, and your role can't change their accounts.": "Beim Löschen einer Gruppe werden zuerst ihre Mitglieder daraus entfernt, und Ihre Rolle darf deren Konten nicht ändern.",
|
||||
"Create group": "Gruppe anlegen",
|
||||
"Added {address} to the group": "{address} zur Gruppe hinzugefügt",
|
||||
"Removed {address} from the group": "{address} aus der Gruppe entfernt",
|
||||
"Remove {address} from the group": "{address} aus der Gruppe entfernen",
|
||||
"You can't change your own group memberships.": "Sie können Ihre eigenen Gruppenmitgliedschaften nicht ändern.",
|
||||
"Remove from group": "Aus der Gruppe entfernen",
|
||||
"No members yet": "Noch keine Mitglieder",
|
||||
"Showing {shown} of {total} members.": "{shown} von {total} Mitgliedern werden angezeigt.",
|
||||
"Members get what is shared with the group, such as its mailbox. Changes apply straight away.": "Mitglieder erhalten, was mit der Gruppe geteilt wird, etwa ihr Postfach. Änderungen gelten sofort.",
|
||||
"Add a member by name or address": "Mitglied nach Name oder Adresse hinzufügen",
|
||||
"Add a member": "Mitglied hinzufügen",
|
||||
"No one else matches": "Sonst passt niemand",
|
||||
"Deletes the group and its mailbox. Its members' own accounts stay.": "Löscht die Gruppe und ihr Postfach. Die eigenen Konten der Mitglieder bleiben erhalten.",
|
||||
"Delete group…": "Gruppe löschen…",
|
||||
"Delete group": "Gruppe löschen",
|
||||
"The group's own mail is removed in the background, and it can't be undone.": "Die E-Mails der Gruppe werden im Hintergrund entfernt, und das lässt sich nicht rückgängig machen.",
|
||||
"Shared addresses and mailboxes, and the people who share them.": "Gemeinsame Adressen und Postfächer, und die Personen, die sie teilen.",
|
||||
"Search groups": "Gruppen durchsuchen",
|
||||
"No groups match": "Keine passenden Gruppen",
|
||||
"No groups yet": "Noch keine Gruppen",
|
||||
"Your organisation has reached the number of groups it is allowed.": "Ihre Organisation hat die erlaubte Anzahl an Gruppen erreicht.",
|
||||
"This group no longer exists. Someone may have deleted it.": "Diese Gruppe existiert nicht mehr. Jemand hat sie möglicherweise gelöscht.",
|
||||
"The server did not say whether the group was created.": "Der Server hat nicht mitgeteilt, ob die Gruppe angelegt wurde.",
|
||||
"User": "Benutzer",
|
||||
"Administrator": "Administrator",
|
||||
"Custom role": "Eigene Rolle",
|
||||
@@ -1560,6 +1593,8 @@ export const catalog: Catalog = {
|
||||
"{n} accounts use this domain. Move or delete them first.": { one: "{n} Konto verwendet diese Domain. Verschieben oder löschen Sie es zuerst.", other: "{n} Konten verwenden diese Domain. Verschieben oder löschen Sie sie zuerst." },
|
||||
"The server stops accepting mail for this domain, and its {n} DKIM keys are deleted. This can't be undone.": { one: "Der Server nimmt keine E-Mails mehr für diese Domain an, und ihr {n} DKIM-Schlüssel wird gelöscht. Dies kann nicht rückgängig gemacht werden.", other: "Der Server nimmt keine E-Mails mehr für diese Domain an, und ihre {n} DKIM-Schlüssel werden gelöscht. Dies kann nicht rückgängig gemacht werden." },
|
||||
"{n} domains": { one: "{n} Domain", other: "{n} Domains" },
|
||||
"{n} groups": { one: "{n} Gruppe", other: "{n} Gruppen" },
|
||||
"Its {n} members are taken out of the group first, and lose what was shared with it. The group's own mail is removed in the background, and it can't be undone.": { one: "Sein {n} Mitglied wird zuerst aus der Gruppe entfernt und verliert, was mit ihr geteilt wurde. Die E-Mails der Gruppe werden im Hintergrund entfernt, und das lässt sich nicht rückgängig machen.", other: "Ihre {n} Mitglieder werden zuerst aus der Gruppe entfernt und verlieren, was mit ihr geteilt wurde. Die E-Mails der Gruppe werden im Hintergrund entfernt, und das lässt sich nicht rückgängig machen." },
|
||||
"{n} mailing lists": { one: "{n} Mailingliste", other: "{n} Mailinglisten" },
|
||||
"{n} DKIM keys": { one: "{n} DKIM-Schlüssel", other: "{n} DKIM-Schlüssel" },
|
||||
"{n} other items": { one: "{n} weiteres Objekt", other: "{n} weitere Objekte" },
|
||||
|
||||
Reference in New Issue
Block a user