mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-07-06 01:48:43 +02:00
merge with 2.0.0-m3
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// @flow
|
||||
|
||||
import React from "react";
|
||||
import type {Branch} from "@scm-manager/ui-types";
|
||||
import type { Branch } from "@scm-manager/ui-types";
|
||||
import injectSheet from "react-jss";
|
||||
import classNames from "classnames";
|
||||
import DropDown from "./forms/DropDown";
|
||||
@@ -39,7 +39,9 @@ class BranchSelector extends React.Component<Props, State> {
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
const selectedBranch = this.props.branches.find(branch => branch.name === this.props.selectedBranch);
|
||||
const selectedBranch = this.props.branches.find(
|
||||
branch => branch.name === this.props.selectedBranch
|
||||
);
|
||||
this.setState({ selectedBranch });
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
// @flow
|
||||
import React from "react";
|
||||
import Button from "./Button";
|
||||
|
||||
type Props = {
|
||||
firstlabel: string,
|
||||
secondlabel: string,
|
||||
firstAction?: (event: Event) => void,
|
||||
secondAction?: (event: Event) => void,
|
||||
firstIsSelected: boolean
|
||||
};
|
||||
|
||||
class ButtonGroup extends React.Component<Props> {
|
||||
|
||||
render() {
|
||||
const { firstlabel, secondlabel, firstAction, secondAction, firstIsSelected } = this.props;
|
||||
|
||||
let showFirstColor = "";
|
||||
let showSecondColor = "";
|
||||
|
||||
if (firstIsSelected) {
|
||||
showFirstColor += "link is-selected";
|
||||
} else {
|
||||
showSecondColor += "link is-selected";
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="buttons has-addons">
|
||||
<Button
|
||||
label={firstlabel}
|
||||
color={showFirstColor}
|
||||
action={firstAction}
|
||||
/>
|
||||
<Button
|
||||
label={secondlabel}
|
||||
color={showSecondColor}
|
||||
action={secondAction}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default ButtonGroup;
|
||||
@@ -5,6 +5,9 @@ export { default as Button } from "./Button.js";
|
||||
export { default as CreateButton } from "./CreateButton.js";
|
||||
export { default as DeleteButton } from "./DeleteButton.js";
|
||||
export { default as EditButton } from "./EditButton.js";
|
||||
export { default as RemoveEntryOfTableButton } from "./RemoveEntryOfTableButton.js";
|
||||
export { default as SubmitButton } from "./SubmitButton.js";
|
||||
export {default as DownloadButton} from "./DownloadButton.js";
|
||||
export { default as DownloadButton } from "./DownloadButton.js";
|
||||
export { default as ButtonGroup } from "./ButtonGroup.js";
|
||||
export {
|
||||
default as RemoveEntryOfTableButton
|
||||
} from "./RemoveEntryOfTableButton.js";
|
||||
|
||||
72
scm-ui/public/locales/de/commons.json
Normal file
72
scm-ui/public/locales/de/commons.json
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"login": {
|
||||
"title": "Anmeldung",
|
||||
"subtitle": "Bitte anmelden, um fortzufahren.",
|
||||
"logo-alt": "SCM-Manager",
|
||||
"username-placeholder": "Benutzername",
|
||||
"password-placeholder": "Passwort",
|
||||
"submit": "Anmelden"
|
||||
},
|
||||
"logout": {
|
||||
"error": {
|
||||
"title": "Abmeldung fehlgeschlagen",
|
||||
"subtitle": "Während der Abmeldung ist ein Fehler aufgetreten."
|
||||
}
|
||||
},
|
||||
"app": {
|
||||
"error": {
|
||||
"title": "Fehler",
|
||||
"subtitle": "Ein unbekannter Fehler ist aufgetreten."
|
||||
}
|
||||
},
|
||||
"error-notification": {
|
||||
"prefix": "Fehler",
|
||||
"loginLink": "Erneute Anmeldung",
|
||||
"timeout": "Die Session ist abgelaufen.",
|
||||
"wrong-login-credentials": "Ungültige Anmeldedaten"
|
||||
},
|
||||
"loading": {
|
||||
"alt": "Lade ..."
|
||||
},
|
||||
"logo": {
|
||||
"alt": "SCM-Manager"
|
||||
},
|
||||
"primary-navigation": {
|
||||
"repositories": "Repositories",
|
||||
"users": "Benutzer",
|
||||
"logout": "Abmelden",
|
||||
"groups": "Gruppen",
|
||||
"config": "Einstellungen"
|
||||
},
|
||||
"paginator": {
|
||||
"next": "Weiter",
|
||||
"previous": "Zurück"
|
||||
},
|
||||
"profile": {
|
||||
"navigation-label": "Navigation",
|
||||
"actions-label": "Aktionen",
|
||||
"username": "Benutzername",
|
||||
"displayName": "Anzeigename",
|
||||
"mail": "E-Mail",
|
||||
"groups": "Gruppen",
|
||||
"information": "Informationen",
|
||||
"change-password": "Passwort ändern",
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Das Profil kann nicht angezeigt werden.",
|
||||
"error": "Fehler",
|
||||
"error-message": "'me' ist nicht definiert"
|
||||
},
|
||||
"password": {
|
||||
"label": "Passwort",
|
||||
"newPassword": "Neues Passwort",
|
||||
"passwordHelpText": "Klartext Passwort des Benutzers.",
|
||||
"passwordConfirmHelpText": "Passwort zur Bestätigen wiederholen.",
|
||||
"currentPassword": "Aktuelles Passwort",
|
||||
"currentPasswordHelpText": "Dieses Passwort wird momentan bereits verwendet.",
|
||||
"confirmPassword": "Passwort wiederholen",
|
||||
"passwordInvalid": "Das Passwort muss zwischen 6 und 32 Zeichen lang sein!",
|
||||
"passwordConfirmFailed": "Passwörter müssen identisch sein!",
|
||||
"submit": "Speichern",
|
||||
"changedSuccessfully": "Passwort erfolgreich geändert!"
|
||||
}
|
||||
}
|
||||
93
scm-ui/public/locales/de/config.json
Normal file
93
scm-ui/public/locales/de/config.json
Normal file
@@ -0,0 +1,93 @@
|
||||
{
|
||||
"config": {
|
||||
"navigation-title": "Navigation"
|
||||
},
|
||||
"global-config": {
|
||||
"title": "Einstellungen",
|
||||
"navigation-label": "Globale Einstellungen",
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Unbekannter Einstellungen Fehler"
|
||||
},
|
||||
"config-form": {
|
||||
"submit": "Speichern",
|
||||
"submit-success-notification": "Einstellungen wurden erfolgreich geändert!",
|
||||
"no-permission-notification": "Hinweis: Es fehlen Berechtigungen zum Bearbeiten der Einstellungen!"
|
||||
},
|
||||
"proxy-settings": {
|
||||
"name": "Proxy Einstellungen",
|
||||
"proxy-password": "Proxy Passwort",
|
||||
"proxy-port": "Proxy Port",
|
||||
"proxy-server": "Proxy Server",
|
||||
"proxy-user": "Proxy Benutzer",
|
||||
"enable-proxy": "Proxy aktivieren",
|
||||
"proxy-excludes": "Proxy Excludes",
|
||||
"remove-proxy-exclude-button": "Proxy Exclude löschen",
|
||||
"add-proxy-exclude-error": "Der Proxy Exclude ist ungültig",
|
||||
"add-proxy-exclude-textfield": "Neue Proxy Excludes hinzufügen",
|
||||
"add-proxy-exclude-button": "Proxy Exclude hinzufügen"
|
||||
},
|
||||
"base-url-settings": {
|
||||
"name": "Base URL Einstellungen",
|
||||
"base-url": "Base URL",
|
||||
"force-base-url": "Base URL erzwingen"
|
||||
},
|
||||
"admin-settings": {
|
||||
"name": "Administrations Einstellungen",
|
||||
"admin-groups": "Admin Gruppen",
|
||||
"admin-users": "Admin Benutzer",
|
||||
"remove-group-button": "Admin Group löschen",
|
||||
"remove-user-button": "Admin Benutzer löschen",
|
||||
"add-group-error": "Der eingegebene Gruppenname ist ungültig",
|
||||
"add-group-textfield": "Neue Gruppe mit Administrationsrechten hinzufügen",
|
||||
"add-group-button": "Admin Gruppe hinzufügen",
|
||||
"add-user-error": "Der eingegebene Benutzername ist ungültig",
|
||||
"add-user-textfield": "Neuen Benutzer mit Administrationsrechten hinzufügen",
|
||||
"add-user-button": "Admin Benutzer hinzufügen"
|
||||
},
|
||||
"login-attempt": {
|
||||
"name": "Anmeldeversuche",
|
||||
"login-attempt-limit": "Limit für Anmeldeversuche",
|
||||
"login-attempt-limit-timeout": "Timeout bei fehlgeschlagenen Anmeldeversuchen"
|
||||
},
|
||||
"general-settings": {
|
||||
"realm-description": "Realm Beschreibung",
|
||||
"enable-repository-archive": "Repository Archiv aktivieren",
|
||||
"disable-grouping-grid": "Gruppen deaktivieren",
|
||||
"date-format": "Datumsformat",
|
||||
"anonymous-access-enabled": "Anonyme Zugriffe erlauben",
|
||||
"skip-failed-authenticators": "Fehlgeschlagene Authentifizierer überspringen",
|
||||
"plugin-url": "Plugin URL",
|
||||
"enabled-xsrf-protection": "XSRF Protection aktivieren",
|
||||
"default-namespace-strategy": "Default Namespace Strategie"
|
||||
},
|
||||
"validation": {
|
||||
"date-format-invalid": "Das Datumsformat ist ungültig",
|
||||
"login-attempt-limit-timeout-invalid": "Dies ist keine Zahl",
|
||||
"login-attempt-limit-invalid": "Dies ist keine Zahl",
|
||||
"plugin-url-invalid": "Dies ist keine gültige URL"
|
||||
},
|
||||
"help": {
|
||||
"realmDescriptionHelpText": "Beschreibung des Authentication Realm.",
|
||||
"dateFormatHelpText": "Moments Datumsformat. Zulässige Formate sind in der MomentJS Dokumentation beschrieben.",
|
||||
"pluginRepositoryHelpText": "Die URL des Plugin Repositories. Beschreibung der Platzhalter: version = SCM-Manager Version; os = Betriebssystem; arch = Architektur",
|
||||
"enableForwardingHelpText": "mod_proxy Port Weiterleitung aktivieren.",
|
||||
"enableRepositoryArchiveHelpText": "Repository Archive aktivieren. Nach einer Änderung an dieser Einstellung muss die Seite komplett neu geladen werden.",
|
||||
"disableGroupingGridHelpText": "Repository Gruppen deaktivieren. Nach einer Änderung an dieser Einstellung muss die Seite komplett neu geladen werden.",
|
||||
"allowAnonymousAccessHelpText": "Anonyme Benutzer haben Zugriff auf öffentliche Repositories.",
|
||||
"skipFailedAuthenticatorsHelpText": "Die Kette der Authentifikatoren wird nicht beendet, wenn ein Authentifikator einen Benutzer findet, ihn aber nicht erfolgreich authentifizieren kann.",
|
||||
"adminGroupsHelpText": "Namen von Gruppen mit Admin-Berechtigungen.",
|
||||
"adminUsersHelpText": "Namen von Benutzern mit Admin-Berechtigungen.",
|
||||
"forceBaseUrlHelpText": "Zugriffe, die von einer anderen URL kommen, werden auf die Base URL weiter geleitet.",
|
||||
"baseUrlHelpText": "Die URL der Applikation mit Kontextpfad, z.B. http://localhost:8080/scm",
|
||||
"loginAttemptLimitHelpText": "Maximale Anzahl von Anmeldeversuchen. Durch Verwendung von -1 wird die Begrenzung der Anmeldeversuche deaktiviert.",
|
||||
"loginAttemptLimitTimeoutHelpText": "Timeout in Sekunden für Benutzer, die vorübergehend wegen zu vieler fehlgeschlagener Anmeldeversuche, deaktiviert wurden.",
|
||||
"enableProxyHelpText": "Proxy aktivieren",
|
||||
"proxyPortHelpText": "Der Proxy Port",
|
||||
"proxyPasswordHelpText": "Das Passwort für die Proxy Server Anmeldung.",
|
||||
"proxyServerHelpText": "Der Proxy Server",
|
||||
"proxyUserHelpText": "Der Benutzername für die Proxy Server Anmeldung.",
|
||||
"proxyExcludesHelpText": "Glob patterns für Hostnamen, die von den Proxy-Einstellungen ausgeschlossen werden sollen.",
|
||||
"enableXsrfProtectionHelpText": "Xsrf Cookie Protection aktivieren. Hinweis: Dieses Feature befindet sich noch im Experimentalstatus.",
|
||||
"defaultNameSpaceStrategyHelpText": "Die Standardstrategie für Namespaces."
|
||||
}
|
||||
}
|
||||
70
scm-ui/public/locales/de/groups.json
Normal file
70
scm-ui/public/locales/de/groups.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"group": {
|
||||
"name": "Name",
|
||||
"description": "Beschreibung",
|
||||
"creationDate": "Erstellt",
|
||||
"lastModified": "Zuletzt bearbeitet",
|
||||
"type": "Typ",
|
||||
"members": "Mitglieder"
|
||||
},
|
||||
"groups": {
|
||||
"title": "Gruppen",
|
||||
"subtitle": "Verwaltung der Gruppen"
|
||||
},
|
||||
"single-group": {
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Unbekannter Gruppen Fehler",
|
||||
"navigation-label": "Navigation",
|
||||
"actions-label": "Aktionen",
|
||||
"information-label": "Informationen",
|
||||
"back-label": "Zurück"
|
||||
},
|
||||
"add-group": {
|
||||
"title": "Gruppe erstellen",
|
||||
"subtitle": "Erstellen einer neuen Gruppe"
|
||||
},
|
||||
"create-group-button": {
|
||||
"label": "Gruppe erstellen"
|
||||
},
|
||||
"edit-group-button": {
|
||||
"label": "Bearbeiten"
|
||||
},
|
||||
"add-member-button": {
|
||||
"label": "Mitglied hinzufügen"
|
||||
},
|
||||
"remove-member-button": {
|
||||
"label": "Mitglied entfernen"
|
||||
},
|
||||
"add-member-textfield": {
|
||||
"label": "Mitglied hinzufügen",
|
||||
"error": "Ungültiger Name für Mitglied"
|
||||
},
|
||||
"add-member-autocomplete": {
|
||||
"placeholder": "Benutzername eingeben",
|
||||
"loading": "Suche...",
|
||||
"no-options": "Kein Vorschlag für Benutzername verfügbar"
|
||||
},
|
||||
|
||||
"group-form": {
|
||||
"submit": "Speichern",
|
||||
"name-error": "Name ist ungültig",
|
||||
"description-error": "Beschreibung ist ungültig",
|
||||
"help": {
|
||||
"nameHelpText": "Eindeutiger Name der Gruppe",
|
||||
"descriptionHelpText": "Eine kurze Beschreibung der Gruppe",
|
||||
"memberHelpText": "Benutzername des Mitglieds der Gruppe"
|
||||
}
|
||||
},
|
||||
"delete-group-button": {
|
||||
"label": "Löschen",
|
||||
"confirm-alert": {
|
||||
"title": "Gruppe löschen",
|
||||
"message": "Soll die Gruppe wirklich gelöscht werden?",
|
||||
"submit": "Ja",
|
||||
"cancel": "Nein"
|
||||
}
|
||||
},
|
||||
"set-permissions-button": {
|
||||
"label": "Berechtigungen ändern"
|
||||
}
|
||||
}
|
||||
8
scm-ui/public/locales/de/permissions.json
Normal file
8
scm-ui/public/locales/de/permissions.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"form": {
|
||||
"submit-button": {
|
||||
"label": "Berechtigungen speichern"
|
||||
},
|
||||
"set-permissions-successful": "Berechtigungen erfolgreich gespeichert"
|
||||
}
|
||||
}
|
||||
147
scm-ui/public/locales/de/repos.json
Normal file
147
scm-ui/public/locales/de/repos.json
Normal file
@@ -0,0 +1,147 @@
|
||||
{
|
||||
"repository": {
|
||||
"name": "Name",
|
||||
"type": "Typ",
|
||||
"contact": "Kontakt",
|
||||
"description": "Beschreibung",
|
||||
"creationDate": "Erstellt",
|
||||
"lastModified": "Zuletzt bearbeitet"
|
||||
},
|
||||
"validation": {
|
||||
"name-invalid": "Der Name des Repository ist ungültig",
|
||||
"contact-invalid": "Der Kontakt muss eine gültige E-Mail Adresse sein"
|
||||
},
|
||||
"overview": {
|
||||
"title": "Repositories",
|
||||
"subtitle": "Übersicht aller verfügbaren Repositories",
|
||||
"create-button": "Repository erstellen"
|
||||
},
|
||||
"repository-root": {
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Unbekannter Repository Fehler",
|
||||
"actions-label": "Aktionen",
|
||||
"back-label": "Zurück",
|
||||
"navigation-label": "Navigation",
|
||||
"history": "Commits",
|
||||
"information": "Informationen",
|
||||
"permissions": "Berechtigungen",
|
||||
"sources": "Sources"
|
||||
},
|
||||
"create": {
|
||||
"title": "Repository erstellen",
|
||||
"subtitle": "Erstellen eines neuen Repository"
|
||||
},
|
||||
"repository-form": {
|
||||
"submit": "Speichern"
|
||||
},
|
||||
"edit-nav-link": {
|
||||
"label": "Bearbeiten"
|
||||
},
|
||||
"delete-nav-action": {
|
||||
"label": "Löschen",
|
||||
"confirm-alert": {
|
||||
"title": "Repository löschen",
|
||||
"message": "Soll das Repository wirklich gelöscht werden?",
|
||||
"submit": "Ja",
|
||||
"cancel": "Nein"
|
||||
}
|
||||
},
|
||||
"sources": {
|
||||
"file-tree": {
|
||||
"name": "Name",
|
||||
"length": "Größe",
|
||||
"lastModified": "Zuletzt bearbeitet",
|
||||
"description": "Beschreibung",
|
||||
"branch": "Branch"
|
||||
},
|
||||
"content": {
|
||||
"historyButton": "History",
|
||||
"sourcesButton": "Sources",
|
||||
"downloadButton": "Download",
|
||||
"path": "Pfad",
|
||||
"branch": "Branch",
|
||||
"lastModified": "Zuletzt bearbeitet",
|
||||
"description": "Beschreibung",
|
||||
"size": "Größe"
|
||||
}
|
||||
},
|
||||
"changesets": {
|
||||
"diff": {
|
||||
"not-supported": "Diff des Changesets wird von diesem Repositorytyp nicht unterstützt"
|
||||
},
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Changesets konnten nicht abgerufen werden",
|
||||
"changeset": {
|
||||
"id": "ID",
|
||||
"description": "Beschreibung",
|
||||
"contact": "Kontakt",
|
||||
"date": "Datum",
|
||||
"summary": "Changeset {{id}} wurde committet {{time}}"
|
||||
},
|
||||
"author": {
|
||||
"name": "Autor",
|
||||
"mail": "Mail"
|
||||
}
|
||||
},
|
||||
"branch-selector": {
|
||||
"label": "Branches"
|
||||
},
|
||||
"permission": {
|
||||
"user": "Benutzer",
|
||||
"group": "Gruppe",
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Unbekannter Fehler bei Berechtigung",
|
||||
"name": "Benutzer oder Gruppe",
|
||||
"role": "Rolle",
|
||||
"permissions": "Berechtigung",
|
||||
"group-permission": "Gruppenberechtigung",
|
||||
"user-permission": "Benutzerberechtigung",
|
||||
"edit-permission": {
|
||||
"delete-button": "Löschen",
|
||||
"save-button": "Änderungen Speichern"
|
||||
},
|
||||
"advanced-button": {
|
||||
"label": "Erweitert"
|
||||
},
|
||||
"delete-permission-button": {
|
||||
"label": "Löschen",
|
||||
"confirm-alert": {
|
||||
"title": "Berechtigung löschen",
|
||||
"message": "Soll die Berechtigung wirklich gelöscht werden?",
|
||||
"submit": "Ja",
|
||||
"cancel": "Nein"
|
||||
}
|
||||
},
|
||||
"add-permission": {
|
||||
"add-permission-heading": "Neue Berechtigung hinzufügen",
|
||||
"submit-button": "Speichern",
|
||||
"name-input-invalid": "Die Berechtigung darf nicht leer sein! Falls sie nicht leer ist, ist der Name ungültig oder die Berechtigung besteht bereits!"
|
||||
},
|
||||
"help": {
|
||||
"groupPermissionHelpText": "Zeigt ob es sich bei der Berechtigung um eine Gruppenberechtigung handelt. Wenn hier kein Haken gesetzt ist, handelt es sich um eine Benutzerberechtigung.",
|
||||
"nameHelpText": "Verwaltung von Berechtigungen für Benutzer und Gruppen",
|
||||
"roleHelpText": "READ = read; WRITE = read und write; OWNER = read, write und auch die Möglichkeit Einstellungen und Berechtigungen zu verwalten. Wenn hier nichts angezeigt wird, den Erweitert-Button benutzen, um Details zu sehen.",
|
||||
"permissionsHelpText": "Hier können individuelle Berechtigungen unabhängig von vordefinierten Rollen vergeben werden."
|
||||
},
|
||||
"autocomplete": {
|
||||
"no-group-options": "Kein Gruppenname als Vorschlag verfügbar",
|
||||
"group-placeholder": "Gruppe eingeben",
|
||||
"no-user-options": "Kein Benutzername als Vorschlag verfügbar",
|
||||
"user-placeholder": "Benutzer eingeben",
|
||||
"loading": "suche..."
|
||||
},
|
||||
"advanced": {
|
||||
"dialog": {
|
||||
"title": "Erweiterte Berechtigungen",
|
||||
"submit": "Speichern",
|
||||
"abort": "Abbrechen"
|
||||
}
|
||||
}
|
||||
},
|
||||
"help": {
|
||||
"nameHelpText": "Der Name des Repository. Dieser wird Teil der URL des Repository sein.",
|
||||
"typeHelpText": "Der Typ des Repository (Mercurial, Git oder Subversion).",
|
||||
"contactHelpText": "E-Mail Adresse der Person, die für das Repository verantwortlich ist.",
|
||||
"descriptionHelpText": "Eine kurze Beschreibung des Repository."
|
||||
}
|
||||
}
|
||||
68
scm-ui/public/locales/de/users.json
Normal file
68
scm-ui/public/locales/de/users.json
Normal file
@@ -0,0 +1,68 @@
|
||||
{
|
||||
"user": {
|
||||
"name": "Benutzername",
|
||||
"displayName": "Anzeigename",
|
||||
"mail": "E-Mail",
|
||||
"password": "Passwort",
|
||||
"admin": "Admin",
|
||||
"active": "Aktiv",
|
||||
"type": "Typ",
|
||||
"creationDate": "Erstellt",
|
||||
"lastModified": "Zuletzt bearbeitet"
|
||||
},
|
||||
"users": {
|
||||
"title": "Benutzer",
|
||||
"subtitle": "Verwaltung der Benutzer"
|
||||
},
|
||||
"create-user-button": {
|
||||
"label": "Benutzer erstellen"
|
||||
},
|
||||
"delete-user-button": {
|
||||
"label": "Löschen",
|
||||
"confirm-alert": {
|
||||
"title": "Benutzer löschen",
|
||||
"message": "Soll der Benutzer wirklich gelöscht werden?",
|
||||
"submit": "Ja",
|
||||
"cancel": "Nein"
|
||||
}
|
||||
},
|
||||
"edit-user-button": {
|
||||
"label": "Bearbeiten"
|
||||
},
|
||||
"set-password-button": {
|
||||
"label": "Passwort ändern"
|
||||
},
|
||||
"set-permissions-button": {
|
||||
"label": "Berechtigungen ändern"
|
||||
},
|
||||
"user-form": {
|
||||
"submit": "Speichern"
|
||||
},
|
||||
"add-user": {
|
||||
"title": "Benutzer erstellen",
|
||||
"subtitle": "Erstellen eines neuen Benutzers"
|
||||
},
|
||||
"single-user": {
|
||||
"error-title": "Fehler",
|
||||
"error-subtitle": "Unbekannter Benutzer Fehler",
|
||||
"navigation-label": "Navigation",
|
||||
"actions-label": "Aktionen",
|
||||
"information-label": "Informationen",
|
||||
"back-label": "Zurück"
|
||||
},
|
||||
"validation": {
|
||||
"mail-invalid": "Diese E-Mail ist ungültig",
|
||||
"name-invalid": "Dieser Name ist ungültig",
|
||||
"displayname-invalid": "Dieser Anzeigename ist ungültig"
|
||||
},
|
||||
"password": {
|
||||
"set-password-successful": "Das Passwort wurde erfolgreich gespeichert."
|
||||
},
|
||||
"help": {
|
||||
"usernameHelpText": "Einzigartiger Name des Benutzers",
|
||||
"displayNameHelpText": "Anzeigename des Benutzers",
|
||||
"mailHelpText": "E-Mail Adresse des Benutzers",
|
||||
"adminHelpText": "Ein Administrator kann Repositories, Gruppen und Benutzer erstellen, bearbeiten und löschen.",
|
||||
"activeHelpText": "Aktivierung oder Deaktivierung eines Benutzers"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"login": {
|
||||
"title": "Login",
|
||||
"subtitle": "Please login to proceed.",
|
||||
"subtitle": "Please login to proceed",
|
||||
"logo-alt": "SCM-Manager",
|
||||
"username-placeholder": "Your Username",
|
||||
"password-placeholder": "Your Password",
|
||||
@@ -22,7 +22,7 @@
|
||||
"error-notification": {
|
||||
"prefix": "Error",
|
||||
"loginLink": "You can login here again.",
|
||||
"timeout": "The session has expired.",
|
||||
"timeout": "The session has expired",
|
||||
"wrong-login-credentials": "Invalid credentials"
|
||||
},
|
||||
"loading": {
|
||||
@@ -50,7 +50,7 @@
|
||||
"mail": "E-Mail",
|
||||
"groups": "Groups",
|
||||
"information": "Information",
|
||||
"change-password": "Change password",
|
||||
"change-password": "Change Password",
|
||||
"error-title": "Error",
|
||||
"error-subtitle": "Cannot display profile",
|
||||
"error": "Error",
|
||||
@@ -59,14 +59,14 @@
|
||||
"password": {
|
||||
"label": "Password",
|
||||
"newPassword": "New password",
|
||||
"passwordHelpText": "Plain text password of the user.",
|
||||
"passwordConfirmHelpText": "Repeat the password for confirmation.",
|
||||
"passwordHelpText": "Plain text password of the user",
|
||||
"passwordConfirmHelpText": "Repeat the password for confirmation",
|
||||
"currentPassword": "Current password",
|
||||
"currentPasswordHelpText": "The password currently in use",
|
||||
"confirmPassword": "Confirm password",
|
||||
"passwordInvalid": "Password has to be between 6 and 32 characters",
|
||||
"passwordConfirmFailed": "Passwords have to be identical",
|
||||
"submit": "Submit",
|
||||
"changedSuccessfully": "Pasword successfully changed"
|
||||
"changedSuccessfully": "Password successfully changed"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,17 +67,17 @@
|
||||
"plugin-url-invalid": "This is not a valid url"
|
||||
},
|
||||
"help": {
|
||||
"realmDescriptionHelpText": "Enter authentication realm description",
|
||||
"dateFormatHelpText": "Moments date format. Please have a look at the momentjs documentation.",
|
||||
"realmDescriptionHelpText": "Enter authentication realm description.",
|
||||
"dateFormatHelpText": "Moments date format. Please have a look at the MomentJS documentation.",
|
||||
"pluginRepositoryHelpText": "The url of the plugin repository. Explanation of the placeholders: version = SCM-Manager Version; os = Operation System; arch = Architecture",
|
||||
"enableForwardingHelpText": "Enbale mod_proxy port forwarding.",
|
||||
"enableForwardingHelpText": "Enable mod_proxy port forwarding.",
|
||||
"enableRepositoryArchiveHelpText": "Enable repository archives. A complete page reload is required after a change of this value.",
|
||||
"disableGroupingGridHelpText": "Disable repository Groups. A complete page reload is required after a change of this value.",
|
||||
"allowAnonymousAccessHelpText": "Anonymous users have read access on public repositories.",
|
||||
"skipFailedAuthenticatorsHelpText": "Do not stop the authentication chain, if an authenticator finds the user but fails to authenticate the user.",
|
||||
"adminGroupsHelpText": "Names of groups with admin permissions.",
|
||||
"adminUsersHelpText": "Names of users with admin permissions.",
|
||||
"forceBaseUrlHelpText": "Redirects to the base url if the request comes from a other url",
|
||||
"forceBaseUrlHelpText": "Redirects to the base url if the request comes from a other url.",
|
||||
"baseUrlHelpText": "The url of the application (with context path), i.e. http://localhost:8080/scm",
|
||||
"loginAttemptLimitHelpText": "Maximum allowed login attempts. Use -1 to disable the login attempt limit.",
|
||||
"loginAttemptLimitTimeoutHelpText": "Timeout in seconds for users which are temporary disabled, because of too many failed login attempts.",
|
||||
@@ -86,8 +86,8 @@
|
||||
"proxyPasswordHelpText": "The password for the proxy server authentication.",
|
||||
"proxyServerHelpText": "The proxy server",
|
||||
"proxyUserHelpText": "The username for the proxy server authentication.",
|
||||
"proxyExcludesHelpText": "Glob patterns for hostnames which should be excluded from proxy settings.",
|
||||
"enableXsrfProtectionHelpText": "Enable Xsrf Cookie Protection. Note: This feature is still experimental.",
|
||||
"defaultNameSpaceStrategyHelpText": "The default namespace strategy"
|
||||
"proxyExcludesHelpText": "Glob patterns for hostnames, which should be excluded from proxy settings.",
|
||||
"enableXsrfProtectionHelpText": "Enable XSRF Cookie Protection. Note: This feature is still experimental.",
|
||||
"defaultNameSpaceStrategyHelpText": "The default namespace strategy."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,23 +24,23 @@
|
||||
"subtitle": "Create a new group"
|
||||
},
|
||||
"create-group-button": {
|
||||
"label": "Create"
|
||||
"label": "Create Group"
|
||||
},
|
||||
"edit-group-button": {
|
||||
"label": "Edit"
|
||||
},
|
||||
"add-member-button": {
|
||||
"label": "Add member"
|
||||
"label": "Add Member"
|
||||
},
|
||||
"remove-member-button": {
|
||||
"label": "Remove member"
|
||||
"label": "Remove Member"
|
||||
},
|
||||
"add-member-textfield": {
|
||||
"label": "Add member",
|
||||
"label": "Add Member",
|
||||
"error": "Invalid member name"
|
||||
},
|
||||
"add-member-autocomplete": {
|
||||
"placeholder": "Enter member",
|
||||
"placeholder": "Enter Member",
|
||||
"loading": "Loading...",
|
||||
"no-options": "No suggestion available"
|
||||
},
|
||||
@@ -65,6 +65,6 @@
|
||||
}
|
||||
},
|
||||
"set-permissions-button": {
|
||||
"label": "Set permissions"
|
||||
"label": "Set Permissions"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"form": {
|
||||
"submit-button": {
|
||||
"label": "Set permissions"
|
||||
"label": "Set Permissions"
|
||||
},
|
||||
"set-permissions-successful": "Permissions set successfully"
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"overview": {
|
||||
"title": "Repositories",
|
||||
"subtitle": "Overview of available repositories",
|
||||
"create-button": "Create"
|
||||
"create-button": "Create Repository"
|
||||
},
|
||||
"repository-root": {
|
||||
"error-title": "Error",
|
||||
@@ -40,7 +40,7 @@
|
||||
"delete-nav-action": {
|
||||
"label": "Delete",
|
||||
"confirm-alert": {
|
||||
"title": "Delete repository",
|
||||
"title": "Delete Repository",
|
||||
"message": "Do you really want to delete the repository?",
|
||||
"submit": "Yes",
|
||||
"cancel": "No"
|
||||
@@ -106,7 +106,7 @@
|
||||
"delete-permission-button": {
|
||||
"label": "Delete",
|
||||
"confirm-alert": {
|
||||
"title": "Delete permission",
|
||||
"title": "Delete Permission",
|
||||
"message": "Do you really want to delete the permission?",
|
||||
"submit": "Yes",
|
||||
"cancel": "No"
|
||||
@@ -119,9 +119,9 @@
|
||||
},
|
||||
"help": {
|
||||
"groupPermissionHelpText": "States if a permission is a group permission. If this is not checked, it is a user permission.",
|
||||
"nameHelpText": "Manage permissions for a specific user or group",
|
||||
"nameHelpText": "Manage permissions for a specific user or group.",
|
||||
"roleHelpText": "READ = read; WRITE = read and write; OWNER = read, write and also the ability to manage the properties and permissions. If nothing is selected here, use the 'Advanced' Button to see detailed permissions.",
|
||||
"permissionsHelpText": "Use this to specify your own set of permissions regardless of predefined roles"
|
||||
"permissionsHelpText": "Use this to specify your own set of permissions regardless of predefined roles."
|
||||
},
|
||||
"autocomplete": {
|
||||
"no-group-options": "No group suggestion available",
|
||||
@@ -132,7 +132,7 @@
|
||||
},
|
||||
"advanced": {
|
||||
"dialog": {
|
||||
"title": "Advanced permissions",
|
||||
"title": "Advanced Permissions",
|
||||
"submit": "Submit",
|
||||
"abort": "Abort"
|
||||
}
|
||||
|
||||
@@ -15,12 +15,12 @@
|
||||
"subtitle": "Create, read, update and delete users"
|
||||
},
|
||||
"create-user-button": {
|
||||
"label": "Create"
|
||||
"label": "Create User"
|
||||
},
|
||||
"delete-user-button": {
|
||||
"label": "Delete",
|
||||
"confirm-alert": {
|
||||
"title": "Delete user",
|
||||
"title": "Delete User",
|
||||
"message": "Do you really want to delete the user?",
|
||||
"submit": "Yes",
|
||||
"cancel": "No"
|
||||
@@ -30,10 +30,10 @@
|
||||
"label": "Edit"
|
||||
},
|
||||
"set-password-button": {
|
||||
"label": "Set password"
|
||||
"label": "Set Password"
|
||||
},
|
||||
"set-permissions-button": {
|
||||
"label": "Set permissions"
|
||||
"label": "Set Permissions"
|
||||
},
|
||||
"user-form": {
|
||||
"submit": "Submit"
|
||||
@@ -63,6 +63,6 @@
|
||||
"displayNameHelpText": "Display name of the user.",
|
||||
"mailHelpText": "Email address of the user.",
|
||||
"adminHelpText": "An administrator is able to create, modify and delete repositories, groups and users.",
|
||||
"activeHelpText": "Activate or deactive the user."
|
||||
"activeHelpText": "Activate or deactivate the user."
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// @flow
|
||||
import React from "react";
|
||||
import { translate } from "react-i18next";
|
||||
import { Button } from "@scm-manager/ui-components";
|
||||
import { ButtonGroup } from "@scm-manager/ui-components";
|
||||
|
||||
type Props = {
|
||||
t: string => string,
|
||||
@@ -9,7 +9,7 @@ type Props = {
|
||||
showHistory: boolean => void
|
||||
};
|
||||
|
||||
class ButtonGroup extends React.Component<Props> {
|
||||
class FileButtonGroup extends React.Component<Props> {
|
||||
showHistory = () => {
|
||||
this.props.showHistory(true);
|
||||
};
|
||||
@@ -21,15 +21,6 @@ class ButtonGroup extends React.Component<Props> {
|
||||
render() {
|
||||
const { t, historyIsSelected } = this.props;
|
||||
|
||||
let sourcesColor = "";
|
||||
let historyColor = "";
|
||||
|
||||
if (historyIsSelected) {
|
||||
historyColor = "link is-selected";
|
||||
} else {
|
||||
sourcesColor = "link is-selected";
|
||||
}
|
||||
|
||||
const sourcesLabel = (
|
||||
<>
|
||||
<span className="icon">
|
||||
@@ -53,20 +44,15 @@ class ButtonGroup extends React.Component<Props> {
|
||||
);
|
||||
|
||||
return (
|
||||
<div className="buttons has-addons">
|
||||
<Button
|
||||
label={sourcesLabel}
|
||||
color={sourcesColor}
|
||||
action={this.showSources}
|
||||
/>
|
||||
<Button
|
||||
label={historyLabel}
|
||||
color={historyColor}
|
||||
action={this.showHistory}
|
||||
/>
|
||||
</div>
|
||||
<ButtonGroup
|
||||
firstlabel={sourcesLabel}
|
||||
secondlabel={historyLabel}
|
||||
firstAction={this.showSources}
|
||||
secondAction={this.showHistory}
|
||||
firstIsSelected={!historyIsSelected}
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default translate("repos")(ButtonGroup);
|
||||
export default translate("repos")(FileButtonGroup);
|
||||
@@ -6,7 +6,7 @@ import { DateFromNow } from "@scm-manager/ui-components";
|
||||
import FileSize from "../components/FileSize";
|
||||
import injectSheet from "react-jss";
|
||||
import classNames from "classnames";
|
||||
import ButtonGroup from "../components/content/ButtonGroup";
|
||||
import FileButtonGroup from "../components/content/FileButtonGroup";
|
||||
import SourcesView from "./SourcesView";
|
||||
import HistoryView from "./HistoryView";
|
||||
import { getSources } from "../modules/sources";
|
||||
@@ -76,7 +76,7 @@ class Content extends React.Component<Props, State> {
|
||||
const icon = collapsed ? "fa-angle-right" : "fa-angle-down";
|
||||
|
||||
const selector = file._links.history ? (
|
||||
<ButtonGroup
|
||||
<FileButtonGroup
|
||||
file={file}
|
||||
historyIsSelected={showHistory}
|
||||
showHistory={(changeShowHistory: boolean) =>
|
||||
|
||||
@@ -61,16 +61,42 @@ class UserForm extends React.Component<Props, State> {
|
||||
return false;
|
||||
}
|
||||
|
||||
createUserComponentsAreInvalid = () => {
|
||||
const user = this.state.user;
|
||||
if (!this.props.user) {
|
||||
return (
|
||||
this.state.nameValidationError ||
|
||||
this.isFalsy(user.name) ||
|
||||
!this.state.passwordValid
|
||||
);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
editUserComponentsAreUnchanged = () => {
|
||||
const user = this.state.user;
|
||||
if (this.props.user) {
|
||||
return (
|
||||
this.props.user.displayName === user.displayName &&
|
||||
this.props.user.mail === user.mail &&
|
||||
this.props.user.admin === user.admin &&
|
||||
this.props.user.active === user.active
|
||||
);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
isValid = () => {
|
||||
const user = this.state.user;
|
||||
return !(
|
||||
this.state.nameValidationError ||
|
||||
this.createUserComponentsAreInvalid() ||
|
||||
this.editUserComponentsAreUnchanged() ||
|
||||
this.state.mailValidationError ||
|
||||
this.state.displayNameValidationError ||
|
||||
this.isFalsy(user.name) ||
|
||||
this.isFalsy(user.displayName) ||
|
||||
this.isFalsy(user.mail) ||
|
||||
!this.state.passwordValid
|
||||
this.isFalsy(user.mail)
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -81,7 +81,16 @@ $fa-font-path: "webfonts";
|
||||
height: 2.5rem;
|
||||
|
||||
&.is-primary {
|
||||
background-color: $mint;
|
||||
background-color: #00d1df;
|
||||
}
|
||||
&.is-primary:hover, &.is-primary.is-hovered {
|
||||
background-color: #00b9c6;
|
||||
}
|
||||
&.is-primary:active, &.is-primary.is-active {
|
||||
background-color: #00a1ac;
|
||||
}
|
||||
&.is-primary[disabled] {
|
||||
background-color: #40dde7;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -124,7 +133,6 @@ $fa-font-path: "webfonts";
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
|
||||
.overlay-half-column{
|
||||
position: absolute;
|
||||
height: calc(120px - 0.5rem);
|
||||
|
||||
Reference in New Issue
Block a user