mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 01:58:07 +00:00
Fix FLEXIAPI-237 Add internationalisation support in the app
This commit is contained in:
parent
cc9fb24db1
commit
f566bc0c7c
83 changed files with 643 additions and 507 deletions
|
|
@ -22,6 +22,7 @@ v1.7
|
|||
- Fix FLEXIAPI-258 Move DotEnv instance configurations in the Spaces table
|
||||
- Fix FLEXIAPI-270 Call the static $apnsTypes attribute in FlexisipPusherConnector
|
||||
- Fix FLEXIAPI-271 Handle properly reversed attributes in objects
|
||||
- Fix FLEXIAPI-237 Add internationalisation support in the app
|
||||
|
||||
v1.6
|
||||
----
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ class Kernel extends HttpKernel
|
|||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
\App\Http\Middleware\Localization::class,
|
||||
],
|
||||
|
||||
'api' => [
|
||||
|
|
|
|||
|
|
@ -10,12 +10,7 @@ class Localization
|
|||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
$localization = $request->header('Accept-Language');
|
||||
$localization = in_array($localization, config('app.authorized_locales'), true)
|
||||
? $localization
|
||||
: config('app.locale');
|
||||
|
||||
App::setLocale($localization);
|
||||
App::setLocale($request->getPreferredLanguage(config('app.authorized_locales')));
|
||||
|
||||
return $next($request);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,6 @@ class IsNotPhoneNumber implements Rule
|
|||
|
||||
public function message()
|
||||
{
|
||||
return 'The :attribute should not be a phone number';
|
||||
return __('The :attribute should not be a phone number');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ class AccountService
|
|||
}
|
||||
|
||||
if (!$request->api && $request->has('blocked')) {
|
||||
$account->blocked = $request->get('blocked') == 'true';
|
||||
$account->blocked = in_array($request->get('blocked'), ['true', 'on']);
|
||||
}
|
||||
|
||||
if ($request->get('password')) {
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ return [
|
|||
*/
|
||||
|
||||
'locale' => 'en',
|
||||
'authorized_locales' => ['fr', 'en'],
|
||||
'authorized_locales' => ['en', 'fr'],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
147
flexiapi/lang/fr.json
Normal file
147
flexiapi/lang/fr.json
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
{
|
||||
"About": "À Propos",
|
||||
"Account creation": "Création de compte",
|
||||
"Account recovery": "Récupération de compte",
|
||||
"Account settings": "Paramètres de compte",
|
||||
"Accounts": "Comptes",
|
||||
"Actions": "Actions",
|
||||
"Activate All": "Tout activer",
|
||||
"Activate": "Activer",
|
||||
"Activated": "Activé",
|
||||
"Activity": "Activité",
|
||||
"Add contact": "Ajout d'un contact",
|
||||
"Add contacts": "Ajouter des contacts",
|
||||
"Add": "Ajouter",
|
||||
"Admin": "Administrateur",
|
||||
"Administration": "Administration",
|
||||
"All the admins in will be super admins": "Tous les administrateurs seront super-administrateurs",
|
||||
"Allow a custom CSS theme": "Autoriser un thème CSS personnalisé",
|
||||
"Allow client settings to be overwritten by the provisioning ones": "Écraser la configuration client avec celle du provisionnement",
|
||||
"App Configuration": "Configuration de l'App",
|
||||
"Assistant": "Assistant",
|
||||
"Blocked": "Bloqué",
|
||||
"Calls logs": "Journaux d'appel",
|
||||
"Cancel": "Annuler",
|
||||
"Cannot be changed once created.": "Ne peut être changé par la suite.",
|
||||
"Chat": "Chat",
|
||||
"Check the README.md documentation": "Voir la documentation dans README.md",
|
||||
"Clear to never expire": "Laisser vide pour ne jamais expirer",
|
||||
"Code": "Code",
|
||||
"Conference": "Conférence",
|
||||
"Configuration": "Configuration",
|
||||
"Confirm email": "Confirmation de l'email",
|
||||
"Confirm password": "Confirmer le mot de passe",
|
||||
"Confirmed registration text": "Texte de confirmation d'inscription",
|
||||
"Contacts List": "Liste de Contacts",
|
||||
"Contacts Lists": "Listes de Contacts",
|
||||
"Contacts": "Contacts",
|
||||
"Copyright text": "Texte droits d'auteurs",
|
||||
"Country code": "Code du pays",
|
||||
"Create": "Créer",
|
||||
"Created on": "Créé le",
|
||||
"Custom entries": "Entrées personnalisées",
|
||||
"Dactivate": "Désactiver",
|
||||
"Day": "Jour",
|
||||
"Deactivate All": "Tout désactiver",
|
||||
"Deactivated": "Désactivé",
|
||||
"Delete": "Supprimer",
|
||||
"Description": "Description",
|
||||
"Devices": "Appareils",
|
||||
"Dictionary": "Dictionnaire",
|
||||
"Display name": "Nom d'affichage",
|
||||
"Domain": "Domaine",
|
||||
"Edit": "Éditer",
|
||||
"Email registration": "Inscription par email",
|
||||
"Email": "Email",
|
||||
"Empty": "Vide",
|
||||
"Enable the web interface": "Activer l'interface web",
|
||||
"Enabled": "Activé",
|
||||
"Errors": "Erreurs",
|
||||
"Expiration": "Expiration",
|
||||
"Export": "Exporter",
|
||||
"Features": "Fonctionnalités",
|
||||
"From": "Depuis",
|
||||
"General settings": "Paramètres généraux",
|
||||
"I would like to subscribe to the newsletter": "Je voudrais m'inscrire à la newsletter",
|
||||
"I'm not a robot": "Je ne suis pas un robot",
|
||||
"Identifier": "Identifiant",
|
||||
"Import": "Importer",
|
||||
"In ini format, will complete the other settings": "Au format ini, complètera les autres paramètres",
|
||||
"Information": "Informations",
|
||||
"Intercom features": "Fonctionnalités d'interphonie",
|
||||
"It might actually disable this page, be careful": "Cette page pourrait être désactivée, faites attention",
|
||||
"Key": "Clef",
|
||||
"Leave empty to create a root Space.": "Laisser vide si vous souhaitez créer un Espace à la racine",
|
||||
"Login": "Authentification",
|
||||
"Manage": "Gérer",
|
||||
"Markdown text": "Texte Markdown",
|
||||
"Max accounts": "Maximum de comptes",
|
||||
"Meeting": "Réunions",
|
||||
"Month": "Mois",
|
||||
"My Account": "Mon Compte",
|
||||
"My Space": "Mon Espace",
|
||||
"Name": "Nom",
|
||||
"Never expire": "N'expire jamais",
|
||||
"New Admin": "Nouvel Admin",
|
||||
"Next": "Suivant",
|
||||
"No account yet?": "Pas encore de compte ?",
|
||||
"No email yet": "Pas d'email pour le moment",
|
||||
"No limit": "Sans limite",
|
||||
"No phone yet": "Pas de téléphone pour le moment",
|
||||
"Only display usernames (hide SIP addresses)": "N'afficher que les num d'utilisateur (cacher les addresses SIP)",
|
||||
"Password": "Mot de passe",
|
||||
"Phone Countries": "Numéros Internationaux",
|
||||
"Phone number": "Numéro de téléphone",
|
||||
"Phone registration": "Inscription via mobile",
|
||||
"Provisioning tokens": "Jetons de provisionnement",
|
||||
"Provisioning": "Provisionnement",
|
||||
"Public registration": "Inscription publiques",
|
||||
"QR Code scanning": "Scan de QR Code",
|
||||
"Record calls": "Enregistrements des appels",
|
||||
"Register": "Inscription",
|
||||
"Registration introduction": "Présentation lors de l'inscription",
|
||||
"Remove": "Remove",
|
||||
"Renew": "Renouveller",
|
||||
"Requests": "Requêtes",
|
||||
"Reset password": "Réinitialiser le mot de passe",
|
||||
"Reset": "Réinitialiser",
|
||||
"Role": "Rôle",
|
||||
"Search": "Rechercher",
|
||||
"Select a contacts list": "Sélectionner une liste de contact",
|
||||
"Select a domain": "Sélectionner un domaine",
|
||||
"Select a file": "Choisir un fichier",
|
||||
"Send": "Envoyer",
|
||||
"Sip Adress": "Adresse SIP",
|
||||
"SIP Domain": "Domaine SIP",
|
||||
"Space": "Espace",
|
||||
"Spaces": "Espaces",
|
||||
"Statistics": "Statistiques",
|
||||
"Subdomain": "Sous-domaine",
|
||||
"Super Admin": "Super Admin",
|
||||
"Super Space": "Super Espace",
|
||||
"The :attribute should not be a phone number": "Le champ :attribute ne peut pas être un numéro de téléphone",
|
||||
"The code will be available :minutes minutes.": "Le code sera disponible pendant :minutes minutes.",
|
||||
"The file must be in CSV following this template": "Le fichier doit être au format CSV et respecter le modèle suivant",
|
||||
"The first line contains the labels": "La premières ligne contient les étiquettes",
|
||||
"The link can only be visited once": "Le lien ne peut être utilisé qu'une fois",
|
||||
"Third party SIP": "Adresse SIP tierce",
|
||||
"To": "À",
|
||||
"Transport": "Transport",
|
||||
"Types": "Types",
|
||||
"Unlimited if set to 0": "Illimité si à 0",
|
||||
"Update": "Mettre à jour",
|
||||
"Updated on": "Mis à jour le",
|
||||
"Updated": "Mise à jour",
|
||||
"Used on": "Utilisé le",
|
||||
"User": "Utilisateur",
|
||||
"Username or phone number": "Identifiant ou numéro de téléphone",
|
||||
"Username": "Identifiant",
|
||||
"Value": "Valeur",
|
||||
"Verify": "Vérifier",
|
||||
"Week": "Semaine",
|
||||
"Welcome on :app_name": "Bienvenu sur :app_name",
|
||||
"Year": "Année",
|
||||
"You already have an account?": "Vous avez déjà un compte ?",
|
||||
"You are going to permanently delete the following element. Please confirm your action.": "Vous allez supprimer l'élément suivant. Veuillez confirmer votre action.",
|
||||
"Your password was updated properly.": "Votre mot de passe a été mis à jour."
|
||||
}
|
||||
5
flexiapi/public/css/form.css
vendored
5
flexiapi/public/css/form.css
vendored
|
|
@ -207,6 +207,11 @@ form div select {
|
|||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
form div select:has(option:only-child) {
|
||||
opacity: 0.5;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
form div.search:after,
|
||||
form div.select:after {
|
||||
font-family: 'Phosphor';
|
||||
|
|
|
|||
5
flexiapi/public/css/style.css
vendored
5
flexiapi/public/css/style.css
vendored
|
|
@ -198,6 +198,7 @@ a.permalink {
|
|||
ul.tabs {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
border-bottom: 2px solid var(--grey-2);
|
||||
margin-bottom: 2rem;
|
||||
width: 100%;
|
||||
|
|
@ -217,6 +218,7 @@ ul.tabs li {
|
|||
|
||||
ul.tabs li a {
|
||||
display: block;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
ul.tabs li.current,
|
||||
|
|
@ -247,7 +249,7 @@ header nav {
|
|||
header nav a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 4rem;
|
||||
padding: 0 2rem;
|
||||
line-height: 4rem;
|
||||
color: var(--second-5);
|
||||
}
|
||||
|
|
@ -431,6 +433,7 @@ content>nav a {
|
|||
position: relative;
|
||||
white-space: nowrap;
|
||||
padding: 0 1rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
content>nav a.current {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('content')
|
||||
<div style="max-width: 40rem; width: 100%; padding: 1rem;">
|
||||
<img style="float: right; margin-top: 1rem;" src="{{ asset('img/logo_linphone.png') }}">
|
||||
<h2>About</h2>
|
||||
<h2>{{ __('About') }}</h2>
|
||||
<hr />
|
||||
|
||||
@if (!empty(config('app.project_url')))
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<input name="account_creation_request_token" type="hidden" value="{{ $account_creation_request_token->token }}">
|
||||
@include('parts.captcha')
|
||||
<input class="btn btn-primary" type="submit" value="I'm not a robot">
|
||||
<input class="btn btn-primary" type="submit" value="{{ __("I'm not a robot") }}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">gauge</i> My Account</h1>
|
||||
<h1><i class="ph">gauge</i> {{ __('My Account') }}</h1>
|
||||
</header>
|
||||
|
||||
<div class="card">
|
||||
<h3><i class="ph">hand-waving</i> Welcome back</h3>
|
||||
<h3><i class="ph">hand-waving</i> {{ __('Welcome on :app_name' , ['app_name' => config('app.name')]) }} </h3>
|
||||
<p>
|
||||
<i class="ph">envelope</i>
|
||||
@if (!empty($account->email))
|
||||
{{ $account->email }}
|
||||
@else
|
||||
No email yet
|
||||
{{ __('No email yet') }}
|
||||
@endif
|
||||
<a href="{{ route('account.email.change') }}">Change my current account email</a>
|
||||
<a href="{{ route('account.email.change') }}">{{ __('Edit') }}</a>
|
||||
</p>
|
||||
|
||||
@if (space()->phone_registration)
|
||||
|
|
@ -23,55 +23,61 @@
|
|||
@if (!empty($account->phone))
|
||||
{{ $account->phone }}
|
||||
@else
|
||||
No phone yet
|
||||
{{ __('No phone yet') }}
|
||||
@endif
|
||||
<a href="{{ route('account.phone.change') }}">Change my current account phone</a>
|
||||
<a href="{{ route('account.phone.change') }}">{{ __('Edit') }}</a>
|
||||
</p>
|
||||
@endif
|
||||
|
||||
<p>
|
||||
<i class="ph">devices</i>
|
||||
{{ __('Devices') }}
|
||||
<a href="{{ route('account.device.index') }}">
|
||||
Edit my devices
|
||||
{{ __('Manage') }}
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<i class="ph">lock</i>
|
||||
{{ __('Password') }}
|
||||
<a href="{{ route('account.password.show') }}">
|
||||
@if ($account->passwords()->count() > 0)
|
||||
Change my password
|
||||
{{ __('Edit') }}
|
||||
@else
|
||||
Set my password
|
||||
{{ __('Create') }}
|
||||
@endif
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<i class="ph">key</i>
|
||||
{{ __('API Key') }}
|
||||
<a href="{{ route('account.api_key.show') }}">
|
||||
API Key Management
|
||||
{{ __('Manage') }}
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<i class="ph">trash</i>
|
||||
<a href="{{ route('account.delete') }}">Delete my account</a>
|
||||
{{ __('My Account') }}
|
||||
<a href="{{ route('account.delete') }}">
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h3><i class="ph">person</i> Account information</h3>
|
||||
<h3><i class="ph">person</i> {{ __('Information') }}</h3>
|
||||
|
||||
<p><i class="ph">envelope</i> SIP address: sip:{{ $account->identifier }}</p>
|
||||
<p><i class="ph">user</i> Username: {{ $account->username }}</p>
|
||||
<p><i class="ph">globe-hemisphere-west</i> Domain: {{ $account->domain }}</p>
|
||||
<p><i class="ph">envelope</i> {{ __('SIP Adress') }}: sip:{{ $account->identifier }}</p>
|
||||
<p><i class="ph">user</i> {{ __('Username') }}: {{ $account->username }}</p>
|
||||
<p><i class="ph">globe-hemisphere-west</i> {{ __('Domain') }}: {{ $account->domain }}</p>
|
||||
|
||||
@if (!empty(space()?->account_proxy_registrar_address))
|
||||
<p><i class="ph">lan</i> Proxy/registrar address: sip:{{ space()?->account_proxy_registrar_address }}
|
||||
</p>
|
||||
@endif
|
||||
@if (!empty(config('app.transport_protocol_text')))
|
||||
<p><i class="ph">sliders</i> Transport: {{ config('app.transport_protocol_text') }} </p>
|
||||
<p><i class="ph">sliders</i> {{ __('Transport') }}: {{ config('app.transport_protocol_text') }} </p>
|
||||
@endif
|
||||
|
||||
<!--<h3 class="mt-3">Automatic authentication</h3>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">trash</i> Delete my account</h1>
|
||||
|
||||
<a href="{{ route('account.dashboard') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="delete" class="btn" type="submit" value="Delete">
|
||||
<a href="{{ route('account.dashboard') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</header>
|
||||
|
||||
<form id="delete" method="POST" action="{{ route('account.destroy') }}" accept-charset="UTF-8">
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('account.device.index') }}">Devices</a>
|
||||
<a href="{{ route('account.device.index') }}">{{ __('Devices') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Device deletion</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<div>
|
||||
<p>Are you sure you want to delete the following device?</p>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
@csrf
|
||||
<input name="uuid" type="hidden" value="{{ $device->uuid }}">
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Devices</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Devices') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">devices</i> Devices management</h1>
|
||||
<h1><i class="ph">devices</i> {{ __('Devices') }}</h1>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
<tbody>
|
||||
@if ($devices->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="3">No Devices</td>
|
||||
<td colspan="3">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@else
|
||||
@foreach ($devices as $device)
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
<td>{{ $device->user_agent }}</td>
|
||||
<td>
|
||||
<a type="button" class="btn" href="{{ route('account.device.delete', [$device->uuid]) }}">
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@
|
|||
|
||||
<div>
|
||||
<input type="email" name="email" value="{{ old('email') }}" placeholder="bob@example.net" required>
|
||||
<label for="email">New email</label>
|
||||
<label for="email">{{ __('Email') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="email" name="email_confirmation" value="{{ old('email_confirm') }}" placeholder="bob@example.net" required>
|
||||
<label for="email_confirmation">Email confirmation</label>
|
||||
<label for="email_confirmation">{{ __('Confirm email') }}</label>
|
||||
</div>
|
||||
|
||||
<input name="email_current" type="hidden" value="{{ $account->email }}">
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
@include('parts.captcha')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Verify">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Verify') }}">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
|
@ -44,6 +44,3 @@
|
|||
</section>
|
||||
@endsection
|
||||
|
||||
@section('footer')
|
||||
Hop
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -39,6 +39,3 @@
|
|||
</section>
|
||||
@endsection
|
||||
|
||||
@section('footer')
|
||||
Hop
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
@section('content')
|
||||
<section>
|
||||
<h1 style="margin-bottom: 3rem;"><i class="ph">hand-waving</i> Welcome on {{ config('app.name') }}</h1>
|
||||
<h1 style="margin-bottom: 3rem;"><i class="ph">hand-waving</i> {{ __('Welcome on :app_name' , ['app_name' => config('app.name')]) }}</h1>
|
||||
|
||||
@if (space()->intro_registration_text)
|
||||
@parsedown(space()->intro_registration_text)
|
||||
|
|
@ -12,23 +12,23 @@
|
|||
@csrf
|
||||
<div>
|
||||
@if (space()->phone_registration)
|
||||
<input placeholder="username or phone number" required="" name="username" type="text"
|
||||
<input placeholder="john, +163423..." required="" name="username" type="text"
|
||||
value="{{ old('username') }}">
|
||||
<label for="username">Username or phone number</label>
|
||||
<label for="username">{{ __('Username or phone number') }}</label>
|
||||
@else
|
||||
<input placeholder="username" required="" name="username" type="text"
|
||||
value="{{ old('username') }}">
|
||||
<label for="username">Username</label>
|
||||
<label for="username">{{ __('Username') }}</label>
|
||||
@endif
|
||||
@include('parts.errors', ['name' => 'authentication'])
|
||||
</div>
|
||||
<div class="on_desktop"></div>
|
||||
<div>
|
||||
<input placeholder="myPassword" required="" name="password" type="password" value="">
|
||||
<label for="password">Password</label>
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Login">
|
||||
<input class="btn" type="submit" value="{{ __('Login') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
<br />
|
||||
|
||||
<p>
|
||||
No account yet?
|
||||
<a class="btn btn-secondary" href="{{ route('account.register') }}">Register</a>
|
||||
{{ __('No account yet?') }}
|
||||
<a class="btn btn-secondary" href="{{ route('account.register') }}">{{ __('Register') }}</a>
|
||||
</p>
|
||||
@endif
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Change password</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Change') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
@if ($account->passwords()->count() > 0)
|
||||
<h1><i class="ph">lock</i> Change password</h1>
|
||||
<h1><i class="ph">lock</i> {{ __('Edit') }}</h1>
|
||||
@else
|
||||
<h1><i class="ph">lock</i> Set password</h1>
|
||||
<h1><i class="ph">lock</i> {{ __('Create') }}</h1>
|
||||
@endif
|
||||
|
||||
<a href="{{ route('account.dashboard') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="password_update" class="btn" type="submit" value="Change">
|
||||
<a href="{{ route('account.dashboard') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="password_update" class="btn" type="submit" value="{{ __('Edit') }}">
|
||||
</header>
|
||||
|
||||
<form id="password_update" method="POST" action="{{ route('account.password.update') }}" accept-charset="UTF-8">
|
||||
|
|
@ -21,11 +21,11 @@
|
|||
|
||||
<div>
|
||||
<input type="password" name="password" required>
|
||||
<label for="password">New password</label>
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="password" name="password_confirmation" required>
|
||||
<label for="password_confirmation">Password confirmation</label>
|
||||
<label for="password_confirmation">{{ __('Confirm password') }}</label>
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@
|
|||
@section('content')
|
||||
<section>
|
||||
<header>
|
||||
<h1><i class="ph">lock</i> Reset password</h1>
|
||||
<h1><i class="ph">lock</i> {{ __('Reset password') }}</h1>
|
||||
</header>
|
||||
|
||||
<p>Your password was updated properly.</p>
|
||||
<p>{{ __('Your password was updated properly.') }}</p>
|
||||
<p>
|
||||
<a class="btn" href="{{ route('account.login')}}">Authenticate</a>
|
||||
<a class="btn" href="{{ route('account.login')}}">{{ __('Authenticate') }}</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('content')
|
||||
<section>
|
||||
<header>
|
||||
<h1><i class="ph">lock</i> Reset password</h1>
|
||||
<h1><i class="ph">lock</i> {{ __('Reset') }}</h1>
|
||||
</header>
|
||||
|
||||
@if ($token->offed())
|
||||
|
|
@ -15,19 +15,19 @@
|
|||
<input type="hidden" name="token" value="{{ $token->token }}">
|
||||
<div class="large">
|
||||
<input type="password" name="password" required>
|
||||
<label for="password">Password</label>
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password'])
|
||||
</div>
|
||||
<div class="large">
|
||||
<input type="password" name="password_confirmation" required>
|
||||
<label for="password_confirmation">Password confirmation</label>
|
||||
<label for="password_confirmation">{{ __('Confirm password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password_confirmation'])
|
||||
</div>
|
||||
|
||||
@include('parts.captcha')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Reset">
|
||||
<input class="btn" type="submit" value="{{ __('Reset') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -27,14 +27,14 @@
|
|||
|
||||
<div class="large">
|
||||
<input placeholder="+12345678" name="phone" type="text" value="">
|
||||
<label for="phone">Phone</label>
|
||||
<label for="phone">{{ __('Phone number') }}</label>
|
||||
@include('parts.errors', ['name' => 'phone'])
|
||||
</div>
|
||||
|
||||
@include('parts.captcha')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Verify">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Verify') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
@ -44,7 +44,3 @@
|
|||
<img src="{{ asset('img/lock.svg') }}">
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('footer')
|
||||
Hop
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -39,6 +39,3 @@
|
|||
</section>
|
||||
@endsection
|
||||
|
||||
@section('footer')
|
||||
Hop
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('content')
|
||||
|
||||
<section>
|
||||
<h1><i class="ph">user-circle</i> Account recovery</h1>
|
||||
<h1><i class="ph">user-circle</i> {{ __('Account recovery') }}</h1>
|
||||
<form method="POST" action="{{ route('account.recovery.confirm') }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
<input name="account_id" type="hidden" value="{{ $account_id }}">
|
||||
</div>
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Login">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Login') }}">
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
|
|
|||
|
|
@ -2,24 +2,23 @@
|
|||
|
||||
@section('content')
|
||||
<section>
|
||||
<h1><i class="ph">user-circle</i> Account recovery</h1>
|
||||
<h1><i class="ph">user-circle</i> {{ __('Account recovery') }}</h1>
|
||||
<div>
|
||||
<form method="POST" action="{{ route('account.recovery.send') }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
|
||||
@if ($method == 'email')
|
||||
<div class="large">
|
||||
<p class="large">
|
||||
Enter your email account to recover it.
|
||||
@if (config('app.recovery_code_expiration_minutes') > 0)
|
||||
<br /> The code will be available {{ config('app.recovery_code_expiration_minutes') }} minutes.
|
||||
@endif
|
||||
</p>
|
||||
@if (config('app.recovery_code_expiration_minutes') > 0)
|
||||
<p class="large">
|
||||
{{ __('The code will be available :minutes minutes.', ['minutes' => config('app.recovery_code_expiration_minutes')]) }}
|
||||
</p>
|
||||
@endif
|
||||
@include('parts.errors', ['name' => 'code'])
|
||||
</div>
|
||||
<div class="large">
|
||||
<input type="email" name="email" value="{{ old('email') }}" placeholder="bob@example.com" required>
|
||||
<label for="email">Email</label>
|
||||
<label for="email">{{ __('Email') }}</label>
|
||||
@include('parts.errors', ['name' => 'email'])
|
||||
@include('parts.errors', ['name' => 'identifier'])
|
||||
</div>
|
||||
|
|
@ -27,22 +26,21 @@
|
|||
@if (config('app.account_email_unique') == false)
|
||||
<div>
|
||||
<input placeholder="username" name="username" type="text" value="{{ old('username') }}">
|
||||
<label for="username">Username</label>
|
||||
<label for="username">{{ __('Username') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="username" value="{{ $domain }}" disabled>
|
||||
</div>
|
||||
@endif
|
||||
@elseif($method == 'phone')
|
||||
<p class="large">
|
||||
Enter your phone number to recover your account.
|
||||
@if (config('app.recovery_code_expiration_minutes') > 0)
|
||||
<br />The code will be available {{ config('app.recovery_code_expiration_minutes') }} minutes.
|
||||
@endif
|
||||
</p>
|
||||
@if (config('app.recovery_code_expiration_minutes') > 0)
|
||||
<p class="large">
|
||||
{{ __('The code will be available :minutes minutes.', ['minutes' => config('app.recovery_code_expiration_minutes')]) }}
|
||||
</p>
|
||||
@endif
|
||||
<div>
|
||||
<input placeholder="+123456789" name="phone" type="text" value="{{ old('phone') }}">
|
||||
<label for="phone">Phone</label>
|
||||
<label for="phone">{{ __('Phone number') }}</label>
|
||||
@include('parts.errors', ['name' => 'phone'])
|
||||
@include('parts.errors', ['name' => 'identifier'])
|
||||
</div>
|
||||
|
|
@ -51,7 +49,7 @@
|
|||
@include('parts.captcha')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Send the code">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Send')}}">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
@section('content')
|
||||
<section>
|
||||
<h1><i class="ph">user-circle</i> Register</h1>
|
||||
<h1><i class="ph">user-circle</i> {{ __('Register') }}</h1>
|
||||
<p style="margin-bottom: 2rem;">
|
||||
You already have an account?
|
||||
<a class="btn btn-secondary" href="{{ route('account.login') }}">Login</a>
|
||||
{{ __('You already have an account?') }}
|
||||
<a class="btn btn-secondary" href="{{ route('account.login') }}">{{ __('Login') }}</a>
|
||||
</p>
|
||||
@include('parts.tabs.register')
|
||||
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<div>
|
||||
<input placeholder="username" name="username" type="text" value="{{ old('username') }}" required>
|
||||
<label for="username">Username</label>
|
||||
<label for="username">{{ __('Username') }}</label>
|
||||
<small>In lowercase letters</small>
|
||||
@include('parts.errors', ['name' => 'username'])
|
||||
</div>
|
||||
|
|
@ -25,37 +25,40 @@
|
|||
|
||||
<div>
|
||||
<input type="email" name="email" value="{{ old('email') }}" placeholder="bob@example.net" required>
|
||||
<label for="email">Email</label>
|
||||
<label for="email">{{ __('Email') }}</label>
|
||||
@include('parts.errors', ['name' => 'email'])
|
||||
</div>
|
||||
<div>
|
||||
<input type="email" name="email_confirmation" value="{{ old('email_confirm') }}" placeholder="bob@example.net" required>
|
||||
<label for="email_confirmation">Confirm email</label>
|
||||
<label for="email_confirmation">{{ __('Confirm email') }}</label>
|
||||
@include('parts.errors', ['name' => 'email_confirmation'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input required="" name="password" type="password" value="{{ old('password') }}" placeholder="Password">
|
||||
<label for="password">Password</label>
|
||||
<input required="" name="password" type="password" value="{{ old('password') }}" placeholder="{{ __('Password') }}">
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password'])
|
||||
</div>
|
||||
<div>
|
||||
<input required="" name="password_confirmation" type="password" value="{{ old('password_confirmation') }}" placeholder="Password confirmation">
|
||||
<label for="password_confirmation">Confirm password</label>
|
||||
<input required="" name="password_confirmation" type="password" value="{{ old('password_confirmation') }}" placeholder="{{ __('Confirm password') }}">
|
||||
<label for="password_confirmation">{{ __('Confirm password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password_confirmation'])
|
||||
</div>
|
||||
|
||||
@if (!empty(config(space()?->newsletter_registration_address))
|
||||
@if (!empty(config(space()?->newsletter_registration_address)))
|
||||
<div class="large checkbox">
|
||||
<input id="newsletter" name="newsletter" type="checkbox" value="true">
|
||||
<label for="newsletter">I would like to subscribe to the newsletter</a></label>
|
||||
<label for="newsletter"></label>
|
||||
<div>
|
||||
<p>{{ __('I would like to subscribe to the newsletter') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('parts.terms')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Register">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Register') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
@ -65,7 +68,3 @@
|
|||
<img src="{{ asset('img/login.svg') }}">
|
||||
</section>
|
||||
@endsection
|
||||
|
||||
@section('footer')
|
||||
Hop
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
@section('content')
|
||||
<section>
|
||||
<h1><i class="ph">user-circle</i> Register</h1>
|
||||
<h1><i class="ph">user-circle</i> {{ __('Register') }}</h1>
|
||||
<p style="margin-bottom: 2rem;">
|
||||
You already have an account?
|
||||
<a class="btn btn-secondary" href="{{ route('account.login') }}">Login</a>
|
||||
{{ __('You already have an account?') }}
|
||||
<a class="btn btn-secondary" href="{{ route('account.login') }}">{{ __('Login') }}</a>
|
||||
</p>
|
||||
@include('parts.tabs.register')
|
||||
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<div>
|
||||
<input placeholder="username" name="username" type="text" value="{{ old('username') }}">
|
||||
<label for="username">Username</label>
|
||||
<label for="username">{{ __('Username') }}</label>
|
||||
<small>In lowercase letters</small>
|
||||
@include('parts.errors', ['name' => 'username'])
|
||||
</div>
|
||||
|
|
@ -24,27 +24,27 @@
|
|||
|
||||
<div>
|
||||
<input placeholder="+123456789" name="phone" type="text" value="{{ old('phone') }}">
|
||||
<label for="phone">Phone number</label>
|
||||
<label for="phone">{{ __('Phone number') }}</label>
|
||||
@include('parts.errors', ['name' => 'phone'])
|
||||
</div>
|
||||
<div></div>
|
||||
|
||||
<div>
|
||||
<input required="" name="password" type="password" value="" placeholder="Password">
|
||||
<label for="password">Password</label>
|
||||
<input required="" name="password" type="password" value="" placeholder="{{ __('Password') }}">
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password'])
|
||||
</div>
|
||||
<div>
|
||||
<input required="" name="password_confirmation" type="password" value=""
|
||||
placeholder="Password confirmation">
|
||||
<label for="password_confirmation">Confirm password</label>
|
||||
<label for="password_confirmation">{{ __('Confirm password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password_confirmation'])
|
||||
</div>
|
||||
|
||||
@include('parts.terms')
|
||||
|
||||
<div class="large">
|
||||
<input class="btn oppose" type="submit" value="Register">
|
||||
<input class="btn oppose" type="submit" value="{{ __('Register') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -4,16 +4,16 @@
|
|||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
Types
|
||||
{{ __('Types') }}
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Add a Type to the Account</h2>
|
||||
<h2>{{ __('Add') }}</h2>
|
||||
|
||||
@if ($account_types->count() == 0)
|
||||
<p>
|
||||
No Account Type to add
|
||||
{{ __('Empty') }}
|
||||
</p>
|
||||
@else
|
||||
<form method="POST" action="{{ route('admin.account.account_type.store', $account->id) }}" accept-charset="UTF-8">
|
||||
|
|
@ -24,10 +24,10 @@
|
|||
<option value="{{ $key }}">{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="account_type_id">Account Type</label>
|
||||
<label for="account_type_id">{{ __('Types') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input class="btn btn-success" type="submit" value="Add">
|
||||
<input class="btn btn-success" type="submit" value="{{ __('Add') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@
|
|||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
Actions
|
||||
{{ __('Actions') }}
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
@if ($action->id)
|
||||
<h2>Edit an account action</h2>
|
||||
<h2>{{ __('Edit') }}</h2>
|
||||
@else
|
||||
<h2>Create an account action</h2>
|
||||
<h2>{{ __('Create') }}</h2>
|
||||
@endif
|
||||
|
||||
<form method="POST"
|
||||
|
|
@ -22,14 +22,14 @@
|
|||
@csrf
|
||||
<div>
|
||||
<input type="text" name="key" value="{{ $action->key }}" placeholder="action_key">
|
||||
<label for="key">Key</label>
|
||||
<label for="key">{{ __('Key') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="code" value="{{ $action->code }}" placeholder="12ab45">
|
||||
<label for="code">Code</label>
|
||||
<label for="code">{{ __('Code') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input class="btn btn-success" type="submit" value="{{ $action->id ? 'Update' : 'Create' }}">
|
||||
<input class="btn btn-success" type="submit" value="{{ $action->id ? __('Update') : __('Create') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@
|
|||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active">
|
||||
Actions
|
||||
{{ __('Actions') }}
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Delete an account action</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<form method="POST" action="{{ route('admin.account.action.destroy', [$action->account, $action]) }}"
|
||||
accept-charset="UTF-8">
|
||||
|
|
@ -18,14 +18,14 @@
|
|||
@method('delete')
|
||||
|
||||
<div>
|
||||
<p>You are going to permanently delete the following account action. Please confirm your action.</p>
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}</p>
|
||||
<p><b>{{ $action->key }}</b></p>
|
||||
</div>
|
||||
<input name="account_id" type="hidden" value="{{ $action->account->id }}">
|
||||
<input name="action_id" type="hidden" value="{{ $action->id }}">
|
||||
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -19,11 +19,11 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Created</th>
|
||||
<th>Last usage</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
<th>Requests</th>
|
||||
<th>{{ __('Requests') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -53,9 +53,9 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -81,9 +81,9 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -111,10 +111,10 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Phone</th>
|
||||
<th>Code</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>{{ __('Phone number') }}</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -143,10 +143,10 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Email</th>
|
||||
<th>Code</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>{{ __('Email') }}</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -171,13 +171,13 @@
|
|||
@endif
|
||||
|
||||
@if ($account->provisioningTokens->isNotEmpty())
|
||||
<h3>Provisioning tokens</h3>
|
||||
<h3>{{ __('Provisioning tokens') }}</h3>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Token</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -206,9 +206,9 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th>Token</th>
|
||||
<th>Created</th>
|
||||
<th>Used</th>
|
||||
<th>Email</th>
|
||||
<th>{{ __('Created on') }}</th>
|
||||
<th>{{ __('Used on') }}</th>
|
||||
<th>{{ __('Email') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Add Contact</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Add contact') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">user-plus</i> Add a Contact</h1>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<h1><i class="ph">user-plus</i> {{ __('Add contact') }}</h1>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="add_contact" class="btn" type="submit" value="Add">
|
||||
</header>
|
||||
<form id="add_contact" method="POST" action="{{ route('admin.account.contact.store', $account->id) }}" accept-charset="UTF-8">
|
||||
|
|
|
|||
|
|
@ -4,13 +4,13 @@
|
|||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active">
|
||||
Contacts
|
||||
{{ __('Contacts') }}
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Delete an account contact</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<form method="POST" action="{{ route('admin.account.contact.destroy', [$account]) }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
<input name="account_id" type="hidden" value="{{ $account->id }}">
|
||||
<input name="contact_id" type="hidden" value="{{ $contact->id }}">
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Remove">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@if ($account->id)
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Edit</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Edit') }}</li>
|
||||
@else
|
||||
<li class="breadcrumb-item active" aria-current="page">Create</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Create') }}</li>
|
||||
@endif
|
||||
@endsection
|
||||
|
||||
|
|
@ -14,22 +14,22 @@
|
|||
@if ($account->id)
|
||||
<header>
|
||||
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.delete', $account->id) }}">
|
||||
<i class="ph">trash</i>
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
<input form="create_edit" class="btn" type="submit" value="Update">
|
||||
<input form="create_edit" class="btn" type="submit" value="{{ __('Update') }}">
|
||||
</header>
|
||||
@if ($account->updated_at)
|
||||
<p title="{{ $account->updated_at }}">Updated on {{ $account->updated_at->format('d/m/Y') }}
|
||||
<p title="{{ $account->updated_at }}">{{ __('Updated on') }} {{ $account->updated_at->format('d/m/Y') }}
|
||||
@endif
|
||||
@include('admin.account.parts.tabs')
|
||||
@else
|
||||
<header>
|
||||
<h1><i class="ph">users</i> Create an account</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="create_edit" class="btn" type="submit" value="Create">
|
||||
<h1><i class="ph">users</i> {{ __('Create') }}</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="create_edit" class="btn" type="submit" value="{{ __('Create') }}">
|
||||
</header>
|
||||
@endif
|
||||
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
<input placeholder="Username" required="required" name="username" type="text"
|
||||
value="@if($account->id){{ $account->username }}@else{{ old('username') }}@endif"
|
||||
@if ($account->id) readonly @endif>
|
||||
<label for="username">Username</label>
|
||||
<label for="username">{{ __('Username') }}</label>
|
||||
@include('parts.errors', ['name' => 'username'])
|
||||
</div>
|
||||
<div class="select">
|
||||
|
|
@ -53,13 +53,13 @@
|
|||
{{ $space->domain }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="domain">Domain</label>
|
||||
<label for="domain">{{ __('Domain') }}</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input placeholder="John Doe" name="display_name" type="text"
|
||||
value="@if($account->id){{ $account->display_name }}@else{{ old('display_name') }}@endif">
|
||||
<label for="display_name">Display Name</label>
|
||||
<label for="display_name">{{ __('Display name') }}</label>
|
||||
@include('parts.errors', ['name' => 'display_name'])
|
||||
</div>
|
||||
<div></div>
|
||||
|
|
@ -67,22 +67,23 @@
|
|||
<div>
|
||||
<input placeholder="Password" name="password" type="password" value="" autocomplete="new-password"
|
||||
@if (!$account->id) required @endif>
|
||||
<label for="password">{{ $account->id ? 'Password (fill to change)' : 'Password' }}</label>
|
||||
<label for="password">{{ __('Password') }}</label>
|
||||
<small>Fill to change</small>
|
||||
@include('parts.errors', ['name' => 'password'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input placeholder="Password" name="password_confirmation" type="password" value="" autocomplete="off"
|
||||
@if (!$account->id) required @endif>
|
||||
<label for="password_confirmation">Confirm password</label>
|
||||
<label for="password_confirmation">{{ __('Confirm password') }}</label>
|
||||
@include('parts.errors', ['name' => 'password_confirmation'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input placeholder="Email" name="email" type="email"
|
||||
value="@if($account->id){{ $account->email }}@else{{ old('email') }}@endif">
|
||||
<label for="email">Email</label>
|
||||
@include('parts.errors', ['name' => 'email'])
|
||||
<label for="email">{{ __('Email') }}</label>
|
||||
@include('parts.errors', ['name' => __('email')])
|
||||
|
||||
@if (!empty($account->email))
|
||||
<p class="oppose">
|
||||
|
|
@ -96,29 +97,25 @@
|
|||
<div>
|
||||
<input placeholder="+12123123" name="phone" type="text"
|
||||
value="@if($account->id){{ $account->phone }}@else{{ old('phone') }}@endif">
|
||||
<label for="phone">Phone</label>
|
||||
<label for="phone">{{ __('Phone number') }}</label>
|
||||
@include('parts.errors', ['name' => 'phone'])
|
||||
</div>
|
||||
|
||||
<h2>Other information</h2>
|
||||
|
||||
<div>
|
||||
<input name="blocked" value="false" type="radio" @if (!$account->blocked) checked @endif>
|
||||
<p>Unblocked</p>
|
||||
<input name="blocked" value="true" type="radio" @if ($account->blocked) checked @endif>
|
||||
<p>Blocked</p>
|
||||
<label>Blocked account</label>
|
||||
@include('parts.form.toggle', ['object' => $account, 'key' => 'blocked', 'label' => __('Blocked')])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input name="role" value="admin" type="radio" @if ($account->admin) checked @endif>
|
||||
<p>Admin</p>
|
||||
<p>{{ __('Admin') }}</p>
|
||||
<input name="role" value="end_user" type="radio" @if (!$account->admin) checked @endif>
|
||||
<p>End user</p>
|
||||
<label>Role</label>
|
||||
<p>{{ __('User') }}</p>
|
||||
<label>{{ __('Role') }}</label>
|
||||
</div>
|
||||
|
||||
@include('parts.form.toggle', ['object' => $account, 'key' => 'activated', 'label' => 'Status', 'supporting' => 'Is the account enabled?'])
|
||||
@include('parts.form.toggle', ['object' => $account, 'key' => 'activated', 'label' => __('Enabled')])
|
||||
|
||||
@if (space()?->intercom_features)
|
||||
<div class="select">
|
||||
|
|
@ -137,7 +134,7 @@
|
|||
<hr class="large">
|
||||
|
||||
@if ($account->id)
|
||||
<h2 id="contacts_lists">Contacts Lists</h2>
|
||||
<h2 id="contacts_lists">{{ __('Contacts Lists') }}</h2>
|
||||
|
||||
@if ($contacts_lists->isNotEmpty())
|
||||
<form method="POST" action="{{ route('admin.account.contacts_lists.attach', $account->id) }}"
|
||||
|
|
@ -148,7 +145,7 @@
|
|||
<div class="select">
|
||||
<select name="contacts_list_id" onchange="this.form.submit()">
|
||||
<option>
|
||||
Select a contacts list
|
||||
{{ __('Contacts Lists') }}
|
||||
</option>
|
||||
@foreach ($contacts_lists as $contacts_list)
|
||||
<option value="{{ $contacts_list->id }}">
|
||||
|
|
@ -156,7 +153,7 @@
|
|||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="contacts_list_id">Add a Contacts lists</label>
|
||||
<label for="contacts_list_id">{{ __('Add') }}</label>
|
||||
</div>
|
||||
</form>
|
||||
<br />
|
||||
|
|
@ -173,7 +170,7 @@
|
|||
</p>
|
||||
@endforeach
|
||||
|
||||
<h2>Individual contacts</h2>
|
||||
<h2>{{ __('Contacts') }}</h2>
|
||||
|
||||
@foreach ($account->contacts as $contact)
|
||||
<p class="chip">
|
||||
|
|
@ -185,11 +182,11 @@
|
|||
@endforeach
|
||||
|
||||
<br />
|
||||
<a class="btn btn-tertiary" href="{{ route('admin.account.contact.create', $account) }}">Add</a>
|
||||
<a class="btn btn-tertiary" href="{{ route('admin.account.contact.create', $account) }}">{{ __('Add') }}</a>
|
||||
|
||||
<hr class="large">
|
||||
|
||||
<h2 id="provisioning">Provisioning</h2>
|
||||
<h2 id="provisioning">{{ __('Provisioning') }}</h2>
|
||||
|
||||
@if ($account->provisioning_token)
|
||||
<p>Share the following picture with the user or the one-time-use link bellow.</p>
|
||||
|
|
@ -200,20 +197,18 @@
|
|||
<div>
|
||||
<input type="text" style="min-width: 40rem;" readonly
|
||||
value="{{ route('provisioning.provision', $account->provisioning_token) }}">
|
||||
<small>The following link can only be visited once</small>
|
||||
<small>{{ __('The link can only be visited once') }}</small>
|
||||
</div>
|
||||
<div>
|
||||
<a class="btn" href="{{ route('admin.account.provision', $account->id) }}">Renew the provision
|
||||
link</a>
|
||||
<small>The current one will be unavailable</small>
|
||||
<a class="btn" href="{{ route('admin.account.provision', $account->id) }}">{{ __('Renew') }}</a>
|
||||
</div>
|
||||
</form>
|
||||
@else
|
||||
<a class="btn btn-light" href="{{ route('admin.account.provision', $account->id) }}">Generate a provision link</a>
|
||||
<a class="btn btn-light" href="{{ route('admin.account.provision', $account->id) }}">{{ __('Create') }}</a>
|
||||
@endif
|
||||
|
||||
@if (space()?->intercom_features))
|
||||
<h2>Actions</h2>
|
||||
<h2>{{ __('Actions') }}</h2>
|
||||
|
||||
@if ($account->dtmf_protocol)
|
||||
<table>
|
||||
|
|
@ -224,21 +219,21 @@
|
|||
<td>{{ $action->code }}</td>
|
||||
<td>
|
||||
<a class="btn"
|
||||
href="{{ route('admin.account.action.edit', [$account, $action->id]) }}">Edit</a>
|
||||
href="{{ route('admin.account.action.edit', [$account, $action->id]) }}">{{ __('Edit') }}</a>
|
||||
<a class="btn"
|
||||
href="{{ route('admin.account.action.delete', [$account, $action->id]) }}">Delete</a>
|
||||
href="{{ route('admin.account.action.delete', [$account, $action->id]) }}">{{ __('Delete') }}</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<a class="btn" href="{{ route('admin.account.action.create', $account) }}">Add</a>
|
||||
<a class="btn" href="{{ route('admin.account.action.create', $account) }}">{{ __('Add') }}</a>
|
||||
@else
|
||||
<p>To manage actions, you must configure the DTMF protocol in the account settings.</p>
|
||||
@endif
|
||||
|
||||
<h2>Types</h2>
|
||||
<h2>{{ __('Types') }}</h2>
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
|
|
@ -251,7 +246,7 @@
|
|||
accept-charset="UTF-8">
|
||||
@csrf
|
||||
@method('delete')
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -259,7 +254,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
<a class="btn" href="{{ route('admin.account.account_type.create', $account) }}">Add</a>
|
||||
<a class="btn" href="{{ route('admin.account.account_type.create', $account) }}">{{ __('Add') }}</a>
|
||||
@endif
|
||||
@endif
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,22 +3,22 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">trash</i> Delete an account</h1>
|
||||
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
|
||||
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="delete" class="btn" type="submit" value="Delete">
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</header>
|
||||
<form id="delete" method="POST" action="{{ route('admin.account.destroy') }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
@method('delete')
|
||||
|
||||
<div class="large">
|
||||
<p>You are going to permanently delete the following account. Please confirm your action.<br />
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}<br />
|
||||
<b>{{ $account->identifier }}</b>
|
||||
</p>
|
||||
<input name="account_id" type="hidden" value="{{ $account->id }}">
|
||||
|
|
|
|||
|
|
@ -6,11 +6,11 @@
|
|||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.device.index', $account) }}">Devices</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Device deletion</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<div>
|
||||
<p>Are you sure you want to delete the following device?</p>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
@csrf
|
||||
<input name="uuid" type="hidden" value="{{ $device->uuid }}">
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Devices</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Devices') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
</header>
|
||||
|
||||
@include('admin.account.parts.tabs')
|
||||
|
|
@ -25,7 +25,7 @@
|
|||
<tbody>
|
||||
@if ($devices->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="3">No Devices</td>
|
||||
<td colspan="3">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@else
|
||||
@foreach ($devices as $device)
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
<a type="button"
|
||||
class="btn"
|
||||
href="{{ route('admin.account.device.delete', [$account, $device->uuid]) }}">
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.dictionary.index', $account) }}">Dictionary</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">@if ($entry->id)Edit @else Create @endif</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">@if ($entry->id){{ __('Edit') }}@else{{ __('Create') }}@endif</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
@if ($entry->id)
|
||||
<h2>Edit an Entry</h2>
|
||||
<h2>{{ __('Edit') }}</h2>
|
||||
@else
|
||||
<h2>Create an Entry</h2>
|
||||
<h2>{{ __('Create') }}</h2>
|
||||
@endif
|
||||
|
||||
<form method="POST"
|
||||
|
|
@ -23,16 +23,16 @@
|
|||
@csrf
|
||||
<div>
|
||||
<input type="text" name="key" value="{{ $entry->key }}" placeholder="key" @if ($entry->id)disabled @endif>
|
||||
<label for="key">Key</label>
|
||||
<label for="key">{{ __('Key') }}</label>
|
||||
@include('parts.errors', ['name' => 'key'])
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" name="value" value="{{ $entry->value }}" placeholder="value">
|
||||
<label for="value">Value</label>
|
||||
<label for="value">{{ __('Value') }}</label>
|
||||
@include('parts.errors', ['name' => 'value'])
|
||||
</div>
|
||||
<div>
|
||||
<input class="btn btn-success" type="submit" value="{{ $entry->id ? 'Update' : 'Create' }}">
|
||||
<input class="btn btn-success" type="submit" value="{{ $entry->id ? __('Update') : __('Create') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -6,14 +6,14 @@
|
|||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.dictionary.index', $account) }}">Dictionary</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Dictionary entry deletion</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<div>
|
||||
<p>Are you sure you want to delete the following dictionary entry?</p>
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}</p>
|
||||
<p>
|
||||
<b>{{ $entry->key }}:</b> {{ $entry->value }}
|
||||
</p>
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
@csrf
|
||||
<input name="key" type="hidden" value="{{ $entry->key }}">
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -3,17 +3,17 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Dictionary</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Dictionary') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">users</i> {{ $account->identifier }}</h1>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<a href="{{ route('admin.account.edit', $account->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<a class="btn" href="{{ route('admin.account.dictionary.create', $account) }}">
|
||||
<i class="ph">plus</i>
|
||||
New Entry
|
||||
{{ __('Add') }}
|
||||
</a>
|
||||
</header>
|
||||
|
||||
|
|
@ -22,15 +22,15 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Key</th>
|
||||
<th>Value</th>
|
||||
<th>{{ __('Key') }}</th>
|
||||
<th>{{ __('Value') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($account->dictionaryEntries->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="3">No entries</td>
|
||||
<td colspan="3">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($account->dictionaryEntries as $dictionaryEntry)
|
||||
|
|
@ -41,12 +41,12 @@
|
|||
<a type="button"
|
||||
class="btn"
|
||||
href="{{ route('admin.account.dictionary.edit', [$account, $dictionaryEntry->key]) }}">
|
||||
Edit
|
||||
{{ __('Edit') }}
|
||||
</a>
|
||||
<a type="button"
|
||||
class="btn btn-secondary"
|
||||
href="{{ route('admin.account.dictionary.delete', [$account, $dictionaryEntry->key]) }}">
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
<li class="breadcrumb-item active" aria-current="page">Import</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Import') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">users</i> Import accounts</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<h1><i class="ph">users</i> {{ __('Import') }}</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
|
||||
<a href="#" onclick="history.back()" class="btn btn-secondary">Previous</a>
|
||||
<form name="handle" method="POST" action="{{ route('admin.account.import.handle') }}" accept-charset="UTF-8"
|
||||
|
|
@ -19,15 +19,15 @@
|
|||
<a type="submit"
|
||||
class="btn @if ($errors->isNotEmpty()) disabled @endif" onclick="document.querySelector('form[name=handle]').submit()">
|
||||
<i class="ph">download-simple</i>
|
||||
Import
|
||||
{{ __('Import') }}
|
||||
</a>
|
||||
</form>
|
||||
</header>
|
||||
|
||||
<div>
|
||||
<ol class="steps" style="margin: 6rem 0;">
|
||||
<li>Select data file</li>
|
||||
<li class="active">Import data</li>
|
||||
<li>{{ __('Select a file') }}</li>
|
||||
<li class="active">{{ __('Import') }}</li>
|
||||
</ol>
|
||||
|
||||
<h3>{{ $linesCount }} accounts will be imported for the {{ $domain }} domain</h3>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
@if ($errors->isNotEmpty())
|
||||
<hr />
|
||||
|
||||
<h3>Errors</h3>
|
||||
<h3>{{ __('Errors') }}</h3>
|
||||
|
||||
@foreach ($errors as $title => $body)
|
||||
<p><b>{{ $title }}</b> {{ $body }}</p>
|
||||
|
|
|
|||
|
|
@ -2,34 +2,31 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
<li class="breadcrumb-item active" aria-current="page">Import</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Import') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">users</i> Import accounts</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="import" class="btn" type="submit" value="Next">
|
||||
<h1><i class="ph">users</i> {{ __('Import') }}</h1>
|
||||
<a href="{{ route('admin.account.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="import" class="btn" type="submit" value="{{ __('Next') }}">
|
||||
</header>
|
||||
|
||||
<div>
|
||||
<ol class="steps" style="margin: 6rem 0;">
|
||||
<li class="active">Select data file</li>
|
||||
<li>Import data</li>
|
||||
<li class="active">{{ __('Select a file') }}</li>
|
||||
<li>{{ __('Import') }}</li>
|
||||
</ol>
|
||||
|
||||
<p>Use this <a href="{{ route('account.home') }}/accounts_example.csv">existing example (.csv) template</a> or create your own csv file.</p>
|
||||
|
||||
<p>
|
||||
This file MUST be in csv format and contain at least the following information:
|
||||
</p>
|
||||
<p>{{ __('The file must be in CSV following this template') }}: <a href="{{ route('account.home') }}/accounts_example.csv">example_template.csv</a></p>
|
||||
<ol>
|
||||
<li>The first line contains the labels</li>
|
||||
<li>Username* </li>
|
||||
<li>Password* (6 characters minimum)</li>
|
||||
<li>Role* (admin or user)</li>
|
||||
<li>Statuts* (active, inactive)</li>
|
||||
<li>Phone number, must start with a + if set</li>
|
||||
<li>{{ __('The first line contains the labels') }}</li>
|
||||
<li>{{ __('Username') }}* </li>
|
||||
<li>{{ __('Password') }}* (6 characters minimum)</li>
|
||||
<li>{{ __('Role') }}* (admin or user)</li>
|
||||
<li>{{ __('Status') }}* (active, inactive)</li>
|
||||
<li>{{ __('Phone number') }}</li>
|
||||
<li>{{ __('Email') }}</li>
|
||||
</ol>
|
||||
|
||||
<hr />
|
||||
|
|
@ -39,7 +36,7 @@
|
|||
<div>
|
||||
<input name="csv" type="file" accept=".csv">
|
||||
@include('parts.errors', ['name' => 'csv'])
|
||||
<label for="csv">CSV file to import</label>
|
||||
<label for="csv">{{ __('Select a file') }}</label>
|
||||
</div>
|
||||
<div class="on_desktop"></div>
|
||||
|
||||
|
|
@ -49,7 +46,7 @@
|
|||
<option value="{{ $domain }}">{{ $domain }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="domain">Domain used for the import</label>
|
||||
<label for="domain">{{ __('Domain') }}</label>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,30 +1,28 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
Accounts
|
||||
</li>
|
||||
<li class="breadcrumb-item" aria-current="page">{{ __('Accounts') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">users</i> Accounts</h1>
|
||||
<h1><i class="ph">users</i> {{ __('Accounts') }}</h1>
|
||||
@if ($space)
|
||||
<p>{{ $accounts->count()}} / @if ($space->max_accounts > 0){{ $space->max_accounts }} @else <i class="ph">infinity</i>@endif</p>
|
||||
@endif
|
||||
<a class="btn btn-secondary oppose" href="{{ route('admin.account.import.create') }}">
|
||||
<i class="ph">download-simple</i>
|
||||
Import Accounts
|
||||
{{ __('Import') }}
|
||||
</a>
|
||||
@if (space()?->intercom_features)
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.type.index') }}">
|
||||
<i class="ph">shapes</i>
|
||||
Types
|
||||
{{ __('Types') }}
|
||||
</a>
|
||||
@endif
|
||||
<a class="btn" href="{{ route('admin.account.create') }}">
|
||||
<i class="ph">plus</i>
|
||||
New Account
|
||||
{{ __('Create') }}
|
||||
</a>
|
||||
</header>
|
||||
<div>
|
||||
|
|
@ -35,14 +33,14 @@
|
|||
<div class="search large">
|
||||
<input placeholder="Search by username: +1234, foo_bar…" name="search" type="text"
|
||||
value="{{ request()->get('search', '') }}">
|
||||
<label for="search">Search</label>
|
||||
<label for="search">{{ __('Search') }}</label>
|
||||
</div>
|
||||
<div class="large on_desktop"></div>
|
||||
@include('admin.account.parts.forms.select_domain')
|
||||
<div class="select">
|
||||
<select name="contacts_list" onchange="this.form.submit()">
|
||||
<option value="">
|
||||
Select a contacts list
|
||||
{{ __('Select a contacts list') }}
|
||||
</option>
|
||||
@foreach ($contacts_lists as $key => $name)
|
||||
<option value="{{ $key }}" @if (request()->get('contacts_list', '') == $key) selected="selected" @endif>
|
||||
|
|
@ -50,16 +48,16 @@
|
|||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="domain">Contacts list</label>
|
||||
<label for="domain">{{ __('Contacts List') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input name="updated_date" type="date" value="{{ request()->get('updated_date', '') }}"
|
||||
onchange="this.form.submit()">
|
||||
<label for="updated_date">Updated Date</label>
|
||||
<label for="updated_date">{{ __('Updated on') }}</label>
|
||||
</div>
|
||||
<div class="oppose">
|
||||
<a href="{{ route('admin.account.index') }}" type="reset" class="btn btn-tertiary">Reset</a>
|
||||
<button type="submit" class="btn">Search</button>
|
||||
<a href="{{ route('admin.account.index') }}" type="reset" class="btn btn-tertiary">{{ __('Reset') }}</a>
|
||||
<button type="submit" class="btn">{{ __('Search') }}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
@ -67,16 +65,16 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@include('parts.column_sort', ['key' => 'username', 'title' => 'Identifier'])
|
||||
<th>Contact lists</th>
|
||||
@include('parts.column_sort', ['key' => 'username', 'title' => __('Identifier')])
|
||||
<th>{{ __('Contacts Lists') }}</th>
|
||||
<th>Badges</th>
|
||||
@include('parts.column_sort', ['key' => 'updated_at', 'title' => 'Updated'])
|
||||
@include('parts.column_sort', ['key' => 'updated_at', 'title' => __('Updated')])
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($accounts->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="4">No Accounts</td>
|
||||
<td colspan="4">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($accounts as $account)
|
||||
|
|
@ -107,7 +105,7 @@
|
|||
<span class="badge badge-info">SHA256</span>
|
||||
@endif
|
||||
@if ($account->blocked)
|
||||
<span class="badge badge-error">Blocked</span>
|
||||
<span class="badge badge-error">{{ __('Blocked') }}</span>
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ $account->updated_at }}</td>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.index') }}">Accounts</a>
|
||||
<a href="{{ route('admin.account.index') }}">{{ __('Accounts') }}</a>
|
||||
</li>
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
<div class="select">
|
||||
<select name="domain" onchange="this.form.submit()">
|
||||
<option value="">
|
||||
Select a domain
|
||||
{{ __('Select a domain') }}
|
||||
</option>
|
||||
@foreach ($domains as $d)
|
||||
<option value="{{ $d }}"
|
||||
|
|
@ -11,6 +11,6 @@
|
|||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="domain">Domain</label>
|
||||
<label for="domain">{{ __('Domain') }}</label>
|
||||
</div>
|
||||
@endif
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
@include('parts.tabs', [
|
||||
'items' => [
|
||||
route('admin.account.edit', $account->id) => 'Information',
|
||||
route('admin.account.statistics.show_call_logs', $account->id) => 'Call Logs',
|
||||
route('admin.account.device.index', $account->id) => 'Devices',
|
||||
route('admin.account.statistics.show', $account->id) => 'Statistics',
|
||||
route('admin.account.activity.index', $account->id) => 'Activity',
|
||||
route('admin.account.dictionary.index', $account->id) => 'Dictionary',
|
||||
route('admin.account.edit', $account->id) => __('Information'),
|
||||
route('admin.account.statistics.show_call_logs', $account->id) => __('Calls logs'),
|
||||
route('admin.account.device.index', $account->id) => __('Devices'),
|
||||
route('admin.account.statistics.show', $account->id) => __('Statistics'),
|
||||
route('admin.account.activity.index', $account->id) => __('Activity'),
|
||||
route('admin.account.dictionary.index', $account->id) => __('Dictionary'),
|
||||
],
|
||||
])
|
||||
|
|
@ -3,13 +3,13 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Reset Password emails</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Reset password') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">envelope</i> Send a Reset Password email</h1>
|
||||
<h1><i class="ph">envelope</i> {{ __('Reset password') }}</h1>
|
||||
</header>
|
||||
|
||||
<p>An email will be sent to <b>{{ $account->email }}</b> with a unique link allowing the user to reset its password.</p>
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<p>
|
||||
<a class="btn" href="{{ route('admin.account.reset_password_email.send', $account) }}">
|
||||
<i class="ph">paper-plane-right</i> Send
|
||||
<i class="ph">paper-plane-right</i> {{ __('Send') }}
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Statistics</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Statistics') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
|
@ -23,22 +23,22 @@
|
|||
|
||||
<div>
|
||||
<input type="date" name="from" value="{{ request()->get('from') }}" onchange="this.form.submit()">
|
||||
<label for="from">From</label>
|
||||
<label for="from">{{ __('From') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="date" name="to" value="{{ request()->get('to') }}" onchange="this.form.submit()">
|
||||
<label for="to">To</label>
|
||||
<label for="to">{{ __('To') }}</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a href="{{ route('admin.account.statistics.show', ['account' => $account, 'by' => 'day'] + request()->only(['from', 'to', 'domain'])) }}"
|
||||
class="chip @if (request()->get('by', 'day') == 'day') selected @endif">Day</a>
|
||||
class="chip @if (request()->get('by', 'day') == 'day') selected @endif">{{ __('Day') }}</a>
|
||||
<a href="{{ route('admin.account.statistics.show', ['account' => $account, 'by' => 'week'] + request()->only(['from', 'to', 'domain'])) }}"
|
||||
class="chip @if (request()->get('by', 'day') == 'week') selected @endif">Week</a>
|
||||
class="chip @if (request()->get('by', 'day') == 'week') selected @endif">{{ __('Week') }}</a>
|
||||
<a href="{{ route('admin.account.statistics.show', ['account' => $account, 'by' => 'month'] + request()->only(['from', 'to', 'domain'])) }}"
|
||||
class="chip @if (request()->get('by', 'day') == 'month') selected @endif">Month</a>
|
||||
class="chip @if (request()->get('by', 'day') == 'month') selected @endif">{{ __('Month') }}</a>
|
||||
<a href="{{ route('admin.account.statistics.show', ['account' => $account, 'by' => 'year'] + request()->only(['from', 'to', 'domain'])) }}"
|
||||
class="chip @if (request()->get('by', 'day') == 'year') selected @endif">Year</a>
|
||||
class="chip @if (request()->get('by', 'day') == 'year') selected @endif">{{ __('Year') }}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
@include('admin.account.parts.breadcrumb_accounts_edit', ['account' => $account])
|
||||
<li class="breadcrumb-item active" aria-current="page">Call Logs</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Calls logs') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
|
@ -20,15 +20,15 @@
|
|||
|
||||
<div>
|
||||
<input type="date" name="from" value="{{ $request->get('from') }}" onchange="this.form.submit()">
|
||||
<label for="from">From</label>
|
||||
<label for="from">{{ __('From') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="date" name="to" value="{{ $request->get('to') }}" onchange="this.form.submit()">
|
||||
<label for="to">To</label>
|
||||
<label for="to">{{ __('To') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="oppose">
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.statistics.show_call_logs', $account->id) }}">Reset</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.statistics.show_call_logs', $account->id) }}">{{ __('Reset') }}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,18 +3,18 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.type.index') }}">Types</a>
|
||||
<a href="{{ route('admin.account.type.index') }}">{{ __('Types') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
@if ($type->id)Edit @else Create @endif
|
||||
@if ($type->id){{ __('Edit') }} @else {{ __('Create') }} @endif
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
@if ($type->id)
|
||||
<h2>Edit an account type</h2>
|
||||
<h2>{{ __('Edit') }}</h2>
|
||||
@else
|
||||
<h2>Create an account type</h2>
|
||||
<h2>{{ __('Create') }}</h2>
|
||||
@endif
|
||||
|
||||
<form method="POST"
|
||||
|
|
@ -24,11 +24,11 @@
|
|||
@csrf
|
||||
<div>
|
||||
<input type="text" name="key" value="{{ $type->key }}" placeholder="type_key">
|
||||
<label for="key">Key</label>
|
||||
<label for="key">{{ __('Key') }}</label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input class="btn btn-success" type="submit" value="{{ $type->id ? 'Update' : 'Create' }}">
|
||||
<input class="btn btn-success" type="submit" value="{{ $type->id ? __('Update') : __('Create') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,27 +3,27 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.account.type.index') }}">Types</a>
|
||||
<a href="{{ route('admin.account.type.index') }}">{{ __('Types') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
{{ $type->key }}
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<h2>Delete an account type</h2>
|
||||
<h2>{{ __('Delete') }}</h2>
|
||||
|
||||
<form method="POST" action="{{ route('admin.account.type.destroy', [$type->id]) }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
@method('delete')
|
||||
|
||||
<div>
|
||||
<p>You are going to permanently delete the following type. Please confirm your action.</p>
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}</p>
|
||||
<p><b>{{ $type->key }}</b></p>
|
||||
</div>
|
||||
<div>
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,23 +3,23 @@
|
|||
@section('breadcrumb')
|
||||
@include('admin.account.parts.breadcrumb_accounts_index')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
<a href="{{ route('admin.account.type.index') }}">Types</a>
|
||||
<a href="{{ route('admin.account.type.index') }}">{{ __('Types') }}</a>
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">shapes</i> Types</h1>
|
||||
<h1><i class="ph">shapes</i> {{ __('Types') }}</h1>
|
||||
<a class="btn oppose" href="{{ route('admin.account.type.create') }}">
|
||||
<i class="ph">plus</i>
|
||||
New Type
|
||||
{{ __('Create') }}
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Key</th>
|
||||
<th>{{ __('Key') }}</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -30,8 +30,12 @@
|
|||
{{ $type->key }}
|
||||
</td>
|
||||
<td>
|
||||
<a class="btn" href="{{ route('admin.account.type.edit', [$type->id]) }}">Edit</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.type.delete', [$type->id]) }}">Delete</a>
|
||||
<a class="btn" href="{{ route('admin.account.type.edit', [$type->id]) }}">
|
||||
{{ __('Edit') }}
|
||||
</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.account.type.delete', [$type->id]) }}">
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
|
|
|||
|
|
@ -2,19 +2,19 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">Contacts Lists</a>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">{{ __('Contacts Lists') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}">{{ $contacts_list->title }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Add contacts</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Add') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">user-rectangle</i> {{ $contacts_list->title }}</h1>
|
||||
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
|
||||
<form method="POST" action="{{ route('admin.contacts_lists.contacts.store', $contacts_list->id) }}"
|
||||
name="contacts_lists_contacts_store" accept-charset="UTF-8">
|
||||
|
|
@ -33,13 +33,13 @@
|
|||
<div class="search">
|
||||
<input placeholder="Search by username: +1234, foo_bar…" name="search" type="text"
|
||||
value="{{ request()->get('search', '') }}">
|
||||
<label for="search">Search</label>
|
||||
<label for="search">{{ __('Search') }}</label>
|
||||
</div>
|
||||
@include('admin.account.parts.forms.select_domain')
|
||||
<div>
|
||||
<a href="{{ route('admin.contacts_lists.contacts.add', $contacts_list->id) }}" type="reset"
|
||||
class="btn btn-secondary">Reset</a>
|
||||
<button type="submit" class="btn">Search</button>
|
||||
class="btn btn-secondary">{{ __('Reset') }}</a>
|
||||
<button type="submit" class="btn">{{ __('Search') }}</button>
|
||||
</div>
|
||||
<div class="oppose">
|
||||
<a class="btn"
|
||||
|
|
@ -57,10 +57,10 @@
|
|||
<th width="1%">
|
||||
<input type="checkbox" onchange="Utils.toggleAll(this)">
|
||||
</th>
|
||||
<th>Username</th>
|
||||
<th>{{ __('Username') }}</th>
|
||||
@include('parts.column_sort', [
|
||||
'key' => 'updated_at',
|
||||
'title' => 'Updated',
|
||||
'title' => __('Updated'),
|
||||
'uriParams' => ['contacts_list_id' => $contacts_list->id],
|
||||
])
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -2,30 +2,30 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">Contacts Lists</a>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">{{ __('Contacts Lists') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Edit</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Edit') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
@if ($contacts_list->id)
|
||||
<h1><i class="ph">user-rectangle</i> {{ $contacts_list->title }}</h1>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.contacts_lists.delete', $contacts_list->id) }}">
|
||||
<i class="ph">trash</i>
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
<input form="create_edit_contacts_list" class="btn" type="submit" value="Update">
|
||||
<input form="create_edit_contacts_list" class="btn" type="submit" value="{{ __('Update') }}">
|
||||
@else
|
||||
<h1><i class="ph">user-rectangle</i> Create a Contacts List</h1>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="create_edit_contacts_list" class="btn" type="submit" value="Create">
|
||||
<h1><i class="ph">user-rectangle</i> {{ __('Create') }}</h1>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="create_edit_contacts_list" class="btn" type="submit" value="{{ __('Create') }}">
|
||||
@endif
|
||||
</header>
|
||||
|
||||
@if ($contacts_list->id)
|
||||
<p title="{{ $contacts_list->updated_at }}">Updated on {{ $contacts_list->updated_at->format('d/m/Y') }}
|
||||
<p title="{{ $contacts_list->updated_at }}">{{ __('Updated on') }} {{ $contacts_list->updated_at->format('d/m/Y') }}
|
||||
@endif
|
||||
|
||||
<form method="POST" id="create_edit_contacts_list"
|
||||
|
|
@ -34,15 +34,15 @@
|
|||
@csrf
|
||||
@method($contacts_list->id ? 'put' : 'post')
|
||||
<div>
|
||||
<input placeholder="Name" required="required" name="title" type="text"
|
||||
<input placeholder="{{ __('Name') }} " required="required" name="title" type="text"
|
||||
value="{{ $contacts_list->title ?? old('title') }}">
|
||||
<label for="username">Name</label>
|
||||
<label for="username">{{ __('Name') }}</label>
|
||||
@include('parts.errors', ['name' => 'title'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<textarea placeholder="Description" name="description">{{ $contacts_list->description ?? old('description') }}</textarea>
|
||||
<label for="description">Description</label>
|
||||
<textarea placeholder="{{ __('Description') }}" name="description">{{ $contacts_list->description ?? old('description') }}</textarea>
|
||||
<label for="description">{{ __('Description') }}</label>
|
||||
@include('parts.errors', ['name' => 'description'])
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
<hr>
|
||||
|
||||
<a class="btn btn-secondary oppose" href="{{ route('admin.contacts_lists.contacts.add', $contacts_list->id) }}">
|
||||
<i class="ph">plus</i> Add contacts
|
||||
<i class="ph">plus</i> {{ __('Add contacts') }}
|
||||
</a>
|
||||
|
||||
<form method="POST"
|
||||
|
|
@ -71,20 +71,20 @@
|
|||
<div class="search">
|
||||
<input placeholder="Search by username: +1234, foo_bar…" name="search" type="text"
|
||||
value="{{ request()->get('search', '') }}">
|
||||
<label for="search">Search</label>
|
||||
<label for="search">{{ __('Search') }}</label>
|
||||
</div>
|
||||
@include('admin.account.parts.forms.select_domain')
|
||||
<div>
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" type="reset"
|
||||
class="btn btn-secondary">Reset</a>
|
||||
<button type="submit" class="btn">Search</button>
|
||||
class="btn btn-secondary">{{ __('Reset') }}</a>
|
||||
<button type="submit" class="btn">{{ __('Search') }}</button>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<a class="btn btn-tertiary oppose"
|
||||
onclick="Utils.clearStorageList('d{{ $contacts_list->id }}'); document.querySelector('form[name=contacts_lists_contacts_destroy]').submit()">
|
||||
<i class="ph">trash</i>
|
||||
Remove <span class="list_toggle" data-list-id="d{{ $contacts_list->id }}"></span> contacts
|
||||
{{ __('Remove') }} <span class="list_toggle" data-list-id="d{{ $contacts_list->id }}"></span>
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -95,13 +95,13 @@
|
|||
<th width="1%">
|
||||
<input type="checkbox" onchange="Utils.toggleAll(this)">
|
||||
</th>
|
||||
<th>Username</th>
|
||||
<th>{{ __('Username') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($contacts->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="2">No Contact</td>
|
||||
<td colspan="2">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($contacts as $contact)
|
||||
|
|
|
|||
|
|
@ -2,23 +2,23 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">Contacts Lists</a>
|
||||
<a href="{{ route('admin.contacts_lists.index') }}">{{ __('Contacts Lists') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h2><i class="ph">trash</i> Delete a Contact List</h2>
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<input form="delete" class="btn" type="submit" value="Delete">
|
||||
<h2><i class="ph">trash</i> {{ __('Delete') }}</h2>
|
||||
<a href="{{ route('admin.contacts_lists.edit', $contacts_list->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
<input form="delete" class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</header>
|
||||
<form id="delete" method="POST" action="{{ route('admin.contacts_lists.destroy', $contacts_list->id) }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
@method('delete')
|
||||
|
||||
<div class="large">
|
||||
<p>You are going to permanently delete the following contacts list. Please confirm your action.<br />
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}<br />
|
||||
<h3>{{ $contacts_list->title }}</h3>
|
||||
</p>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,33 +2,33 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
Contacts Lists
|
||||
{{ __('Contacts Lists') }}
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">user-rectangle</i> Contacts Lists</h1>
|
||||
<h1><i class="ph">user-rectangle</i> {{ __('Contacts Lists') }}</h1>
|
||||
<a class="btn oppose" href="{{ route('admin.contacts_lists.create') }}">
|
||||
<i class="ph">plus</i>
|
||||
New Contacts List
|
||||
{{ __('Create') }}
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@include('parts.column_sort', ['key' => 'title', 'title' => 'Name'])
|
||||
<th>Description</th>
|
||||
@include('parts.column_sort', ['key' => 'contacts_count', 'title' => 'Contacts'])
|
||||
@include('parts.column_sort', ['key' => 'updated_at', 'title' => 'Updated'])
|
||||
@include('parts.column_sort', ['key' => 'title', 'title' => __('Name')])
|
||||
<th>{{ __('Description') }}</th>
|
||||
@include('parts.column_sort', ['key' => 'contacts_count', 'title' => __('Contacts')])
|
||||
@include('parts.column_sort', ['key' => 'updated_at', 'title' => __('Updated')])
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($contacts_lists->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="4">No Contacts Lists</td>
|
||||
<td colspan="4">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($contacts_lists as $contacts_list)
|
||||
|
|
|
|||
|
|
@ -2,31 +2,31 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
Phone Countries
|
||||
{{ __('Phone Countries') }}
|
||||
</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">flag</i> Phone Countries</h1>
|
||||
<h1><i class="ph">flag</i> {{ __('Phone Countries') }}</h1>
|
||||
<a class="btn btn-secondary oppose" href="{{ route('admin.phone_countries.activate_all') }}">
|
||||
<i class="ph">plus</i>
|
||||
Activate All
|
||||
{{ __('Activate All') }}
|
||||
</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.phone_countries.deactivate_all') }}">
|
||||
<i class="ph">trash</i>
|
||||
Deactivate All
|
||||
{{ __('Deactivate All') }}
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Code</th>
|
||||
<th>Name</th>
|
||||
<th>Country code</th>
|
||||
<th>Actions</th>
|
||||
<th>{{ __('Code') }}</th>
|
||||
<th>{{ __('Name') }}</th>
|
||||
<th>{{ __('Contry code') }}</th>
|
||||
<th>{{ __('Actions') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -37,11 +37,11 @@
|
|||
<td>{{ $phone_country->country_code }}</td>
|
||||
<td>
|
||||
@if ($phone_country->activated)
|
||||
<span class="badge badge-success" title="Activated">Activated</span>
|
||||
<a href="{{ route('admin.phone_countries.deactivate', $phone_country->code) }}">Desactivate</a>
|
||||
<span class="badge badge-success" title="Activated">{{ __('Activated') }}</span>
|
||||
<a href="{{ route('admin.phone_countries.deactivate', $phone_country->code) }}">{{ __('Deactivate') }}</a>
|
||||
@else
|
||||
<span class="badge badge-error" title="Deactivated">Deactivated</span>
|
||||
<a href="{{ route('admin.phone_countries.activate', $phone_country->code) }}">Activate</a>
|
||||
<span class="badge badge-error" title="Deactivated">{{ __('Deactivated') }}</span>
|
||||
<a href="{{ route('admin.phone_countries.activate', $phone_country->code) }}">{{ __('Activate') }}</a>
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.show', $space->id) }}">
|
||||
{{ $space->host }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Space Administration</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Administration') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
|
@ -27,31 +27,31 @@
|
|||
|
||||
<div>
|
||||
<input name="max_accounts" id="max_accounts" type="number" min="0" value="{{ $space->max_accounts }}">
|
||||
<label for="max_accounts">Max accounts of the space</label>
|
||||
<span class="supporting">Unlimited if set to 0</span>
|
||||
<label for="max_accounts">{{ __('Max accounts') }}</label>
|
||||
<span class="supporting">{{ __('Unlimited if set to 0') }}</span>
|
||||
@include('parts.errors', ['name' => 'max_accounts'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<input name="expire_at" id="expire_at" type="date" @if ($space->expire_at) value="{{ $space->expire_at->toDateString() }}" @endif min="{{ \Carbon\Carbon::now()->toDateString() }}">
|
||||
<label for="expire_at">Expire at</label>
|
||||
<span class="supporting">Clear to never expire</span>
|
||||
<label for="expire_at">{{ __('Expiration') }}</label>
|
||||
<span class="supporting">{{ __('Clear to never expire') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'super', 'label' => 'Super space', 'supporting' => 'All the admins in this Space will be Super Admins'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'super', 'label' => __('Super Space'), 'supporting' => __('All the admins in will be super admins')])
|
||||
</div>
|
||||
|
||||
<h3 class="large">Interface</h3>
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'custom_theme', 'label' => 'Allow a custom CSS theme', 'supporting' => 'Check the README.md documentation to see how to setup the custom CSS file'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'custom_theme', 'label' => __('Allow a custom CSS theme'), 'supporting' => __('Check the README.md documentation')])
|
||||
</div>
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'web_panel', 'label' => 'Enable the web interface', 'supporting' => 'It will actually disable this page, be careful'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'web_panel', 'label' => __('Enable the web interface'), 'supporting' => __('It might actually disable this page, be careful')])
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Update">
|
||||
<input class="btn" type="submit" value="{{ __('Update') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('breadcrumb')
|
||||
@if (auth()->user()->superAdmin)
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.show', $space->id) }}">
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="breadcrumb-item active" aria-current="page">Space Configuration</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Configuration') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
|
@ -35,21 +35,21 @@
|
|||
|
||||
<div class="large">
|
||||
<textarea name="copyright_text" id="copyright_text">{{ $space->copyright_text }}</textarea>
|
||||
<label for="copyright_text">Copyright text</label>
|
||||
<label for="copyright_text">{{ __('Copyright text') }}</label>
|
||||
@include('parts.errors', ['name' => 'copyright_text'])
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<textarea name="intro_registration_text" id="intro_registration_text">{{ $space->intro_registration_text }}</textarea>
|
||||
<label for="intro_registration_text">Registration introduction</label>
|
||||
<span class="supporting">Markdown text</span>
|
||||
<label for="intro_registration_text">{{ __('Registration introduction') }}</label>
|
||||
<span class="supporting">{{ __('Markdown text') }}</span>
|
||||
@include('parts.errors', ['name' => 'intro_registration_text'])
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<textarea name="confirmed_registration_text" id="confirmed_registration_text">{{ $space->confirmed_registration_text }}</textarea>
|
||||
<label for="confirmed_registration_text">Confirmed registration text</label>
|
||||
<span class="supporting">Markdown text</span>
|
||||
<label for="confirmed_registration_text">{{ __('Confirmed registration text') }}</label>
|
||||
<span class="supporting">{{ __('Markdown text') }}</span>
|
||||
@include('parts.errors', ['name' => 'confirmed_registration_text'])
|
||||
</div>
|
||||
|
||||
|
|
@ -67,36 +67,36 @@
|
|||
@include('parts.errors', ['name' => 'account_proxy_registrar_address'])
|
||||
</div>
|
||||
|
||||
<h3 class="large">Provisioning</h3>
|
||||
<h3 class="large">{{ __('Provisioning') }}</h3>
|
||||
|
||||
<div class="large">
|
||||
<textarea style="min-height: 200px;" name="custom_provisioning_entries" id="custom_provisioning_entries">{{ $space->custom_provisioning_entries }}</textarea>
|
||||
<label for="custom_provisioning_entries">Custom entries</label>
|
||||
<span class="supporting">In ini format, will complete the other settings</span>
|
||||
<label for="custom_provisioning_entries">{{ __('Custom entries') }}</label>
|
||||
<span class="supporting">{{ __('In ini format, will complete the other settings') }}</span>
|
||||
@include('parts.errors', ['name' => 'custom_provisioning_entries'])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'custom_provisioning_overwrite_all', 'label' => 'Allow client settings to be overwritten by the provisioning ones'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'custom_provisioning_overwrite_all', 'label' => __('Allow client settings to be overwritten by the provisioning ones')])
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'provisioning_use_linphone_provisioning_header', 'label' => 'Enforce X-Linphone-Provisioning header'])
|
||||
</div>
|
||||
|
||||
<h3 class="large">Space features</h3>
|
||||
<h3 class="large">{{ __('Features') }}</h3>
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'public_registration', 'label' => 'Allow public registration'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'public_registration', 'label' => __('Public registration')])
|
||||
</div>
|
||||
<div
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'phone_registration', 'label' => 'Allow registration using phones'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'phone_registration', 'label' => __('Phone registration')])
|
||||
</div>
|
||||
<div>
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'intercom_features', 'label' => 'Enable intercom features'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'intercom_features', 'label' => __('Intercom features')])
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Update">
|
||||
<input class="btn" type="submit" value="{{ __('Update') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Create</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Create') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">user-rectangle</i> Create a Space</h1>
|
||||
<a href="{{ route('admin.spaces.index') }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<h1><i class="ph">user-rectangle</i> {{ __('Create') }}</h1>
|
||||
<a href="{{ route('admin.spaces.index') }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
</header>
|
||||
|
||||
<form method="POST"
|
||||
|
|
@ -23,23 +23,23 @@
|
|||
<input placeholder="subdomain" name="host" type="text" pattern="{{ $space::HOST_REGEX}}" style="width: 60%"
|
||||
value="{{ $space->host ?? old('host') }}" onchange="copyValueTo(this, this.form.querySelector('input[name=domain]'), '.{{ config('app.root_host') }}')">
|
||||
<input placeholder=".{{ config('app.root_host') }}" style="position: absolute; width: calc(40% - 1rem); margin-left: 1rem;" disabled>
|
||||
<label for="username">Subdomain</label>
|
||||
<label for="username">{{ __('Subdomain') }}</label>
|
||||
@include('parts.errors', ['name' => 'host'])
|
||||
@include('parts.errors', ['name' => 'full_host'])
|
||||
<span class="supporting">Cannot be changed once created, leave empty to create a root Space</span>
|
||||
<span class="supporting">{{ __('Cannot be changed once created.') }} {{ __('Leave empty to create a root Space.') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<input placeholder="domain.sip" required="required" name="domain" type="text" pattern="{{ $space::DOMAIN_REGEX}}" value="{{ $space->domain ?? old('domain') }}">
|
||||
<label for="username">SIP Domain</label>
|
||||
<label for="username">{{ __('SIP Domain') }}</label>
|
||||
@include('parts.errors', ['name' => 'domain'])
|
||||
<span class="supporting">Cannot be changed once created</span>
|
||||
<span class="supporting">{{ __('Cannot be changed once created.') }}</span>
|
||||
</div>
|
||||
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'super', 'label' => 'Super space', 'supporting' => 'All the admins in this Space will be Super Admins'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'super', 'label' => __('Super space'), 'supporting' => 'All the admins in will be super admins'])
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Create">
|
||||
<input class="btn" type="submit" value="{{ __('Create') }}">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -2,22 +2,22 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Delete') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">trash</i> Delete a Space</h1>
|
||||
<a href="{{ route('admin.spaces.edit', $space->id) }}" class="btn btn-secondary oppose">Cancel</a>
|
||||
<h1><i class="ph">trash</i> {{ __('Delete') }}</h1>
|
||||
<a href="{{ route('admin.spaces.edit', $space->id) }}" class="btn btn-secondary oppose">{{ __('Cancel') }}</a>
|
||||
</header>
|
||||
<form id="delete" method="POST" action="{{ route('admin.spaces.destroy', $space) }}" accept-charset="UTF-8">
|
||||
@csrf
|
||||
@method('delete')
|
||||
|
||||
<div class="large">
|
||||
<p>You are going to permanently delete the following domain please confirm your action.</p>
|
||||
<p>{{ __('You are going to permanently delete the following element. Please confirm your action.') }}</p>
|
||||
<h3>{{ $space->domain }}</h3>
|
||||
<p>This will also destroy <b>{{ $space->accounts()->count() }} related accounts</b></p>
|
||||
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
</div>
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Delete">
|
||||
<input class="btn" type="submit" value="{{ __('Delete') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.show', $space->id) }}">
|
||||
{{ $space->host }}
|
||||
</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">App Configuration</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('App Configuration') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
|
@ -25,37 +25,35 @@
|
|||
@csrf
|
||||
@method('put')
|
||||
|
||||
<h3 class="large">Features</h3>
|
||||
<h3 class="large">{{ __('Features') }}</h3>
|
||||
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => 'Chat feature', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_meetings_feature', 'label' => 'Meeting feature', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => 'Conference feature', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => 'General settings', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_account_settings', 'label' => 'Account settings', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => 'Record audio/video calls', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => __('Chat'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_meetings_feature', 'label' => __('Meeting'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => __('Conference'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => __('General settings'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'hide_account_settings', 'label' => __('Account settings'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => __('Record calls'), 'reversed' => true])
|
||||
|
||||
<h3 class="large">General toggles</h3>
|
||||
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'only_display_sip_uri_username', 'label' => 'Only display usernames (hide SIP addresses)'])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'only_display_sip_uri_username', 'label' => __('Only display usernames (hide SIP addresses)')])
|
||||
|
||||
<div class="select">
|
||||
<select name="max_account">
|
||||
@foreach ([0 => 'No limit', 1 => 'One', 2 => 'Two', 3 => 'Three', 4 => 'Four', 5 => 'Five'] as $key => $value)
|
||||
@foreach ([0 => __('No limit'), 1 => '1', 2 => '2', 3 => '3', 4 => '4', 5 => '5'] as $key => $value)
|
||||
<option value="{{ $key }}" @if ($space->max_account == $key) selected="selected" @endif>
|
||||
{{ $value }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="domain">Max account authorized</label>
|
||||
<label for="domain">{{ __('Max accounts') }}</label>
|
||||
</div>
|
||||
|
||||
<h3 class="large">Assistant</h3>
|
||||
<h3 class="large">{{ __('Assistant') }}</h3>
|
||||
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_create_account', 'label' => 'Account creation panel', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_disable_qr_code', 'label' => 'QR Code scanning panel', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => 'Third party SIP panel', 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_create_account', 'label' => __('Account creation'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_disable_qr_code', 'label' => __('QR Code scanning'), 'reversed' => true])
|
||||
@include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => __('Third party SIP'), 'reversed' => true])
|
||||
|
||||
<div class="large">
|
||||
<input class="btn" type="submit" value="Update">
|
||||
<input class="btn" type="submit" value="{{ __('Update') }}">
|
||||
</div>
|
||||
</form>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -1,28 +1,26 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
Spaces
|
||||
</li>
|
||||
<li class="breadcrumb-item" aria-current="page">{{ __('Spaces') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<header>
|
||||
<h1><i class="ph">globe-hemisphere-west</i> Spaces</h1>
|
||||
<h1><i class="ph">globe-hemisphere-west</i> {{ __('Spaces') }}</h1>
|
||||
<a class="btn oppose" href="{{ route('admin.spaces.create') }}">
|
||||
<i class="ph">plus</i>
|
||||
New Space
|
||||
{{ __('Create') }}
|
||||
</a>
|
||||
</header>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Space</th>
|
||||
<th>SIP Domain</th>
|
||||
<th>Accounts</th>
|
||||
<th>Expiration</th>
|
||||
<th>{{ __('Space') }}</th>
|
||||
<th>{{ __('SIP Domain') }}</th>
|
||||
<th>{{ __('Accounts') }}</th>
|
||||
<th>{{ __('Expiration') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
@section('breadcrumb')
|
||||
@if (auth()->user()->superAdmin)
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ route('admin.spaces.index') }}">Spaces</a>
|
||||
<a href="{{ route('admin.spaces.index') }}">{{ __('Spaces') }}</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="breadcrumb-item">{{ $space->host }}</li>
|
||||
|
|
@ -15,13 +15,13 @@
|
|||
<h1><i class="ph">globe-hemisphere-west</i> {{ $space->host }}</h1>
|
||||
|
||||
<a class="btn btn-secondary oppose" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['domain' => $space->domain]) }}">
|
||||
<i class="ph">user-plus</i> New Account
|
||||
<i class="ph">user-plus</i> {{ __('Create') }}
|
||||
</a>
|
||||
|
||||
@if (auth()->user()->superAdmin)
|
||||
<a class="btn btn-tertiary" href="{{ route('admin.spaces.delete', $space->id) }}">
|
||||
<i class="ph">trash</i>
|
||||
Delete
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
@endif
|
||||
</header>
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
<div class="grid third ">
|
||||
<div class="card">
|
||||
<span class="icon"><i class="ph">users</i></span>
|
||||
<h3>Accounts</h3>
|
||||
<h3>{{ __('Accounts') }}</h3>
|
||||
@if ($space->max_accounts > 0)
|
||||
<progress max="100" value="{{ $space->accountsPercentage }}"
|
||||
class="{{ $space->accountsPercentageClass }}"></progress>
|
||||
|
|
@ -50,12 +50,12 @@
|
|||
@elseif ($space->expire_at)
|
||||
<p>In {{ $space->daysLeft }} days ({{ $space->expire_at->toDateString() }})</p>
|
||||
@else
|
||||
<p>Never expire</p>
|
||||
<p>{{ __('Never expire') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a class="btn btn-secondary oppose small" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['admin' => true, 'domain' => $space->domain]) }}"><i class="ph">user-plus</i> New Admin</a>
|
||||
<a class="btn btn-secondary oppose small" @if ($space->isFull())disabled @endif href="{{ route('admin.account.create', ['admin' => true, 'domain' => $space->domain]) }}"><i class="ph">user-plus</i> {{ __('New Admin') }}</a>
|
||||
|
||||
<h2>Admins</h2>
|
||||
|
||||
|
|
@ -63,13 +63,13 @@
|
|||
<thead>
|
||||
<tr>
|
||||
@include('parts.column_sort', ['uriParams' => ['space' => $space], 'key' => 'username', 'title' => 'Identifier'])
|
||||
@include('parts.column_sort', ['uriParams' => ['space' => $space], 'key' => 'updated_at', 'title' => 'Updated'])
|
||||
@include('parts.column_sort', ['uriParams' => ['space' => $space], 'key' => 'updated_at', 'title' => __('Updated')])
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($space->admins->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="4">No Admins</td>
|
||||
<td colspan="4">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($space->admins as $admin)
|
||||
|
|
|
|||
|
|
@ -2,14 +2,14 @@
|
|||
$items = [];
|
||||
|
||||
if (auth()->user()->superAdmin) {
|
||||
$items[route('admin.spaces.show', $space->id)] = 'Information';
|
||||
$items[route('admin.spaces.administration', $space->id)] = 'Space Administration';
|
||||
$items[route('admin.spaces.edit', $space->id)] = 'App Configuration';
|
||||
$items[route('admin.spaces.show', $space->id)] = __('Information');
|
||||
$items[route('admin.spaces.administration', $space->id)] = __('Administration');
|
||||
$items[route('admin.spaces.edit', $space->id)] = __('App Configuration');
|
||||
} else if (auth()->user()->admin) {
|
||||
$items[route('admin.spaces.me')] = 'Information';
|
||||
$items[route('admin.spaces.me')] = __('Information');
|
||||
}
|
||||
|
||||
$items[route('admin.spaces.configuration', $space->id)] = 'Space Configuration';
|
||||
$items[route('admin.spaces.configuration', $space->id)] = __('Configuration');
|
||||
@endphp
|
||||
|
||||
@include('parts.tabs', [
|
||||
|
|
|
|||
|
|
@ -8,22 +8,22 @@
|
|||
|
||||
<div>
|
||||
<input type="date" name="from" value="{{ $request->get('from') }}" onchange="this.form.submit()">
|
||||
<label for="from">From</label>
|
||||
<label for="from">{{ __('From') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="date" name="to" value="{{ $request->get('to') }}" onchange="this.form.submit()">
|
||||
<label for="to">To</label>
|
||||
<label for="to">{{ __('To') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="large">
|
||||
<a href="{{ route('admin.statistics.show', ['by' => 'day', 'type' => $type] + $request->only(['from', 'to', 'domain', 'contacts_list'])) }}"
|
||||
class="chip @if ($request->get('by', 'day') == 'day') selected @endif">Day</a>
|
||||
class="chip @if ($request->get('by', 'day') == 'day') selected @endif">{{ __('Day') }}</a>
|
||||
<a href="{{ route('admin.statistics.show', ['by' => 'week', 'type' => $type] + $request->only(['from', 'to', 'domain', 'contacts_list'])) }}"
|
||||
class="chip @if ($request->get('by', 'day') == 'week') selected @endif">Week</a>
|
||||
class="chip @if ($request->get('by', 'day') == 'week') selected @endif">{{ __('Week') }}</a>
|
||||
<a href="{{ route('admin.statistics.show', ['by' => 'month', 'type' => $type] + $request->only(['from', 'to', 'domain', 'contacts_list'])) }}"
|
||||
class="chip @if ($request->get('by', 'day') == 'month') selected @endif">Month</a>
|
||||
class="chip @if ($request->get('by', 'day') == 'month') selected @endif">{{ __('Month') }}</a>
|
||||
<a href="{{ route('admin.statistics.show', ['by' => 'year', 'type' => $type] + $request->only(['from', 'to', 'domain', 'contacts_list'])) }}"
|
||||
class="chip @if ($request->get('by', 'day') == 'year') selected @endif">Year</a>
|
||||
class="chip @if ($request->get('by', 'day') == 'year') selected @endif">{{ __('Year') }}</a>
|
||||
</div>
|
||||
|
||||
@include('admin.account.parts.forms.select_domain')
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
<div class="select">
|
||||
<select name="contacts_list" onchange="this.form.submit()">
|
||||
<option value="">
|
||||
Select a contacts list
|
||||
{{ __('Select a contacts list') }}
|
||||
</option>
|
||||
@foreach ($contacts_lists as $key => $name)
|
||||
<option value="{{ $key }}"
|
||||
|
|
@ -40,14 +40,14 @@
|
|||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="contacts_list">Contacts list</label>
|
||||
<label for="contacts_list">{{ __('Contacts Lists') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="oppose large">
|
||||
<a class="btn btn-secondary" href="{{ route('admin.statistics.show') }}">Reset</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.statistics.show') }}">{{ __('Reset') }}</a>
|
||||
<a class="btn btn-tertiary"
|
||||
href="{{ route('admin.statistics.show', ['by' => $request->get('by', 'day'), 'type' => $type, 'export' => true] + $request->only(['from', 'to', 'domain'])) }}">
|
||||
<i class="ph">download-simple</i> Export
|
||||
<i class="ph">download-simple</i> {{ __('Export') }}
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
@include('parts.tabs', [
|
||||
'items' => [
|
||||
route('admin.statistics.show', ['type' => 'accounts']) => 'Accounts',
|
||||
route('admin.statistics.show', ['type' => 'calls']) => 'Calls',
|
||||
route('admin.statistics.show_call_logs') => 'Call Logs',
|
||||
route('admin.statistics.show', ['type' => 'messages']) => 'Messages',
|
||||
route('admin.statistics.show', ['type' => 'accounts']) => __('Accounts'),
|
||||
route('admin.statistics.show', ['type' => 'calls']) => __('Calls'),
|
||||
route('admin.statistics.show_call_logs') => __('Calls logs'),
|
||||
route('admin.statistics.show', ['type' => 'messages']) => __('Messages'),
|
||||
],
|
||||
])
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Statistics</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Statistics') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">chart-donut</i> Statistics</h1>
|
||||
<h1><i class="ph">chart-donut</i> {{ __('Statistics') }}</h1>
|
||||
</header>
|
||||
|
||||
@include('admin.statistics.parts.tabs')
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
@extends('layouts.main')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Statistics</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ __('Statistics') }}</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<header>
|
||||
<h1><i class="ph">chart-donut</i> Statistics</h1>
|
||||
<h1><i class="ph">chart-donut</i> {{ __('Statistics') }}</h1>
|
||||
</header>
|
||||
|
||||
@include('admin.statistics.parts.tabs')
|
||||
|
|
@ -18,11 +18,11 @@
|
|||
|
||||
<div>
|
||||
<input type="date" name="from" value="{{ $request->get('from') }}" onchange="this.form.submit()">
|
||||
<label for="from">From</label>
|
||||
<label for="from">{{ __('From') }}</label>
|
||||
</div>
|
||||
<div>
|
||||
<input type="date" name="to" value="{{ $request->get('to') }}" onchange="this.form.submit()">
|
||||
<label for="to">To</label>
|
||||
<label for="to">{{ __('To') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="large on_desktop"></div>
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
<div class="select">
|
||||
<select name="contacts_list" onchange="this.form.submit()">
|
||||
<option value="">
|
||||
Select a contacts list
|
||||
{{ __('Select a contacts list') }}
|
||||
</option>
|
||||
@foreach ($contacts_lists as $key => $name)
|
||||
<option value="{{ $key }}"
|
||||
|
|
@ -41,13 +41,13 @@
|
|||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<label for="contacts_list">Contacts list</label>
|
||||
<label for="contacts_list">{{ __('Contacts Lists') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="on_desktop"></div>
|
||||
|
||||
<div class="oppose">
|
||||
<a class="btn btn-secondary" href="{{ route('admin.statistics.show_call_logs') }}">Reset</a>
|
||||
<a class="btn btn-secondary" href="{{ route('admin.statistics.show_call_logs') }}">{{ __('Reset') }}</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -34,9 +34,6 @@
|
|||
onclick="document.body.classList.toggle('show_menu')"></a>
|
||||
@endif
|
||||
|
||||
<a class="oppose" href="{{ route('about') }}">
|
||||
<i class="ph">info</i><span class="on_desktop">About</span>
|
||||
</a>
|
||||
@if (auth()->user())
|
||||
<a class="oppose" href="{{ route('account.dashboard') }}">
|
||||
<i class="ph">user</i>
|
||||
|
|
@ -48,6 +45,13 @@
|
|||
<span class="badge badge-primary" title="Admin">Adm.</span>
|
||||
@endif
|
||||
</a>
|
||||
@endif
|
||||
|
||||
<a class="oppose" href="{{ route('about') }}">
|
||||
<i class="ph">info</i><span class="on_desktop">{{ __('About') }}</span>
|
||||
</a>
|
||||
|
||||
@if (auth()->user())
|
||||
<a class="oppose" href="{{ route('account.logout') }}">
|
||||
<i class="ph">sign-out</i>
|
||||
</a>
|
||||
|
|
@ -68,7 +72,7 @@
|
|||
@hasSection('breadcrumb')
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="{{ route('account.dashboard') }}">My Account</a></li>
|
||||
<li class="breadcrumb-item"><a href="{{ route('account.dashboard') }}">{{ __('My Account') }}</a></li>
|
||||
@yield('breadcrumb')
|
||||
</ol>
|
||||
</nav>
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>From</th>
|
||||
<th>To</th>
|
||||
<th>Time</th>
|
||||
<th>{{ __('From') }}</th>
|
||||
<th>{{ __('To') }}</th>
|
||||
<th><i class="ph">clock</i></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@if ($calls->isEmpty())
|
||||
<tr class="empty">
|
||||
<td colspan="3">No Calls</td>
|
||||
<td colspan="3">{{ __('Empty') }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($calls as $call)
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@
|
|||
@else
|
||||
Set or recover your password
|
||||
@endif
|
||||
using your <a href="{{ route('account.recovery.show.email') }}">Email address</a>
|
||||
using your <a href="{{ route('account.recovery.show.email') }}">{{ __('Email') }}</a>
|
||||
@if (space()->phone_registration)
|
||||
or your <a href="{{ route('account.recovery.show.phone') }}">Phone number</a>
|
||||
or your <a href="{{ route('account.recovery.show.phone') }}">{{ __('Phone number') }}</a>
|
||||
@endif
|
||||
</p>
|
||||
<p class="text-center">
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@
|
|||
|
||||
if (auth()->user() && auth()->user()->admin) {
|
||||
if (auth()->user()->superAdmin) {
|
||||
$items['admin.spaces.index'] = ['title' => 'Spaces', 'icon' => 'globe-hemisphere-west'];
|
||||
$items['admin.phone_countries.index'] = ['title' => 'Phone Countries', 'icon' => 'flag'];
|
||||
$items['admin.spaces.index'] = ['title' => __('Spaces'), 'icon' => 'globe-hemisphere-west'];
|
||||
$items['admin.phone_countries.index'] = ['title' => __('Phone Countries'), 'icon' => 'flag'];
|
||||
} elseif (auth()->user()->admin) {
|
||||
$items['admin.spaces.me'] = ['title' => 'My Space', 'icon' => 'globe-hemisphere-west'];
|
||||
$items['admin.spaces.me'] = ['title' => __('My Space'), 'icon' => 'globe-hemisphere-west'];
|
||||
}
|
||||
|
||||
$items['admin.account.index'] = ['title' => 'Accounts', 'icon' => 'users'];
|
||||
$items['admin.contacts_lists.index'] = ['title' => 'Contacts Lists', 'icon' => 'user-rectangle'];
|
||||
$items['admin.statistics.show'] = ['title' => 'Statistics', 'icon' => 'chart-donut'];
|
||||
$items['admin.account.index'] = ['title' => __('Accounts'), 'icon' => 'users'];
|
||||
$items['admin.contacts_lists.index'] = ['title' => __('Contacts Lists'), 'icon' => 'user-rectangle'];
|
||||
$items['admin.statistics.show'] = ['title' => __('Statistics'), 'icon' => 'chart-donut'];
|
||||
}
|
||||
@endphp
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
@if(space()->phone_registration)
|
||||
@include('parts.tabs', ['items' => [
|
||||
route('account.register.phone') => 'Phone registration',
|
||||
route('account.register.email') => 'Email registration',
|
||||
route('account.register.phone') => __('Phone registration'),
|
||||
route('account.register.email') => __('Email registration'),
|
||||
]])
|
||||
@endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue