mirror of
https://github.com/grocy/grocy.git
synced 2025-10-14 17:24:07 +00:00
Migrated (hopefully) all translations to PO/Gettext (references #161)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('About grocy'))
|
||||
@section('title', $__t('About grocy'))
|
||||
@section('viewJsName', 'about')
|
||||
|
||||
@section('content')
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
<ul class="nav nav-tabs justify-content-center mt-3">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="system-info-tab" data-toggle="tab" href="#system-info">{{ $L('System info') }}</a>
|
||||
<a class="nav-link active" id="system-info-tab" data-toggle="tab" href="#system-info">{{ $__t('System info') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="changelog-tab" data-toggle="tab" href="#changelog">{{ $L('Changelog') }}</a>
|
||||
<a class="nav-link" id="changelog-tab" data-toggle="tab" href="#changelog">{{ $__t('Changelog') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<div class="tab-pane show active" id="system-info">
|
||||
<p>
|
||||
Version <code>{{ $version }}</code><br>
|
||||
{{ $L('Released on') }} <code>{{ $releaseDate }}</code> <time class="timeago timeago-contextual" datetime="{{ $releaseDate }}"></time>
|
||||
{{ $__t('Released on') }} <code>{{ $releaseDate }}</code> <time class="timeago timeago-contextual" datetime="{{ $releaseDate }}"></time>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@@ -38,7 +38,7 @@
|
||||
<div class="card-header">
|
||||
<a class="discrete-link" data-toggle="collapse-next" href="#">
|
||||
Version <span class="font-weight-bold">{{ $changelogItem['version'] }}</span><br>
|
||||
{{ $L('Released on') }} <span class="font-weight-bold">{{ $changelogItem['release_date'] }}</span>
|
||||
{{ $__t('Released on') }} <span class="font-weight-bold">{{ $changelogItem['release_date'] }}</span>
|
||||
<time class="timeago timeago-contextual" datetime="{{ $changelogItem['release_date'] }}"></time>
|
||||
</a>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Batteries'))
|
||||
@section('title', $__t('Batteries'))
|
||||
@section('activeNav', 'batteries')
|
||||
@section('viewJsName', 'batteries')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/battery/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=batteries') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,10 +32,10 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $L('Used in') }}</th>
|
||||
<th>{{ $L('Charge cycle interval (days)') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
<th>{{ $__t('Used in') }}</th>
|
||||
<th>{{ $__t('Charge cycle interval (days)') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Batteries journal'))
|
||||
@section('title', $__t('Batteries journal'))
|
||||
@section('activeNav', 'batteriesjournal')
|
||||
@section('viewJsName', 'batteriesjournal')
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="battery-filter">{{ $L('Filter by battery') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="battery-filter">{{ $__t('Filter by battery') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="battery-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($batteries as $battery)
|
||||
<option value="{{ $battery->id }}">{{ $battery->name }}</option>
|
||||
@endforeach
|
||||
@@ -33,15 +33,15 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Battery') }}</th>
|
||||
<th>{{ $L('Tracked time') }}</th>
|
||||
<th>{{ $__t('Battery') }}</th>
|
||||
<th>{{ $__t('Tracked time') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@foreach($chargeCycles as $chargeCycleEntry)
|
||||
<tr class="@if($chargeCycleEntry->undone == 1) text-muted @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-secondary btn-sm undo-battery-execution-button @if($chargeCycleEntry->undone == 1) disabled @endif" href="#" data-charge-cycle-id="{{ $chargeCycleEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $L('Undo charge cycle') }}">
|
||||
<a class="btn btn-secondary btn-sm undo-battery-execution-button @if($chargeCycleEntry->undone == 1) disabled @endif" href="#" data-charge-cycle-id="{{ $chargeCycleEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $__t('Undo charge cycle') }}">
|
||||
<i class="fas fa-undo"></i>
|
||||
</a>
|
||||
</td>
|
||||
@@ -49,7 +49,7 @@
|
||||
<span class="name-anchor @if($chargeCycleEntry->undone == 1) text-strike-through @endif">{{ FindObjectInArrayByPropertyValue($batteries, 'id', $chargeCycleEntry->battery_id)->name }}</span>
|
||||
@if($chargeCycleEntry->undone == 1)
|
||||
<br>
|
||||
{{ $L('Undone on') . ' ' . $chargeCycleEntry->undone_timestamp }}
|
||||
{{ $__t('Undone on') . ' ' . $chargeCycleEntry->undone_timestamp }}
|
||||
<time class="timeago timeago-contextual" datetime="{{ $chargeCycleEntry->undone_timestamp }}"></time>
|
||||
@endif
|
||||
</td>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Batteries overview'))
|
||||
@section('title', $__t('Batteries overview'))
|
||||
@section('activeNav', 'batteriesoverview')
|
||||
@section('viewJsName', 'batteriesoverview')
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<div class="col">
|
||||
<h1>@yield('title')
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/batteriesjournal') }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Journal') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }}
|
||||
</a>
|
||||
</h1>
|
||||
<p id="info-due-batteries" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p>
|
||||
@@ -23,15 +23,15 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="status-filter">{{ $L('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="status-filter">
|
||||
<option class="bg-white" value="all">{{ $L('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $L('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $L('Overdue') }}</option>
|
||||
<option class="bg-white" value="all">{{ $__t('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,9 +42,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Battery') }}</th>
|
||||
<th>{{ $L('Last charged') }}</th>
|
||||
<th>{{ $L('Next planned charge cycle') }}</th>
|
||||
<th>{{ $__t('Battery') }}</th>
|
||||
<th>{{ $__t('Last charged') }}</th>
|
||||
<th>{{ $__t('Next planned charge cycle') }}</th>
|
||||
<th class="d-none">Hidden status</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
@@ -57,7 +57,7 @@
|
||||
@foreach($current as $curentBatteryEntry)
|
||||
<tr id="battery-{{ $curentBatteryEntry->battery_id }}-row" class="@if(FindObjectInArrayByPropertyValue($batteries, 'id', $curentBatteryEntry->battery_id)->charge_interval_days > 0 && $curentBatteryEntry->next_estimated_charge_time < date('Y-m-d H:i:s')) table-danger @elseif(FindObjectInArrayByPropertyValue($batteries, 'id', $curentBatteryEntry->battery_id)->charge_interval_days > 0 && $curentBatteryEntry->next_estimated_charge_time < date('Y-m-d H:i:s', strtotime("+$nextXDays days"))) table-warning @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-success btn-sm track-charge-cycle-button" href="#" data-toggle="tooltip" data-placement="left" title="{{ $L('Track charge cycle of battery #1', FindObjectInArrayByPropertyValue($batteries, 'id', $curentBatteryEntry->battery_id)->name) }}"
|
||||
<a class="btn btn-success btn-sm track-charge-cycle-button" href="#" data-toggle="tooltip" data-placement="left" title="{{ $__t('Track charge cycle of battery %s', FindObjectInArrayByPropertyValue($batteries, 'id', $curentBatteryEntry->battery_id)->name) }}"
|
||||
data-battery-id="{{ $curentBatteryEntry->battery_id }}"
|
||||
data-battery-name="{{ FindObjectInArrayByPropertyValue($batteries, 'id', $curentBatteryEntry->battery_id)->name }}">
|
||||
<i class="fas fa-fire"></i>
|
||||
@@ -68,13 +68,13 @@
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item battery-name-cell" data-chore-id="{{ $curentBatteryEntry->battery_id }}" type="button" href="#">
|
||||
<i class="fas fa-info"></i> {{ $L('Show battery details') }}
|
||||
<i class="fas fa-info"></i> {{ $__t('Show battery details') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/batteriesjournal?battery=') }}{{ $curentBatteryEntry->battery_id }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Journal for this battery') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Journal for this battery') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/battery/') }}{{ $curentBatteryEntry->battery_id }}">
|
||||
<i class="fas fa-edit"></i> {{ $L('Edit battery') }}
|
||||
<i class="fas fa-edit"></i> {{ $__t('Edit battery') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -117,7 +117,7 @@
|
||||
@include('components.batterycard')
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $L('Close') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Batteries settings'))
|
||||
@section('title', $__t('Batteries settings'))
|
||||
|
||||
@section('viewJsName', 'batteriessettings')
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
<div class="col-lg-6 col-xs-12">
|
||||
<h1>@yield('title')</h1>
|
||||
|
||||
<h4 class="mt-2">{{ $L('Batteries overview') }}</h4>
|
||||
<h4 class="mt-2">{{ $__t('Batteries overview') }}</h4>
|
||||
@include('components.numberpicker', array(
|
||||
'id' => 'batteries_due_soon_days',
|
||||
'additionalAttributes' => 'data-setting-key="batteries_due_soon_days"',
|
||||
'label' => 'Batteries due to be charged soon days',
|
||||
'min' => 1,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'additionalCssClasses' => 'user-setting-control'
|
||||
))
|
||||
|
||||
<a href="{{ $U('/batteriesoverview') }}" class="btn btn-success">{{ $L('OK') }}</a>
|
||||
<a href="{{ $U('/batteriesoverview') }}" class="btn btn-success">{{ $__t('OK') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit battery'))
|
||||
@section('title', $__t('Edit battery'))
|
||||
@else
|
||||
@section('title', $L('Create battery'))
|
||||
@section('title', $__t('Create battery'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'batteryform')
|
||||
@@ -22,18 +22,18 @@
|
||||
<form id="battery-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $battery->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<input type="text" class="form-control" id="description" name="description" value="@if($mode == 'edit'){{ $battery->description }}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Used in') }}</label>
|
||||
<label for="name">{{ $__t('Used in') }}</label>
|
||||
<input type="text" class="form-control" id="used_in" name="used_in" value="@if($mode == 'edit'){{ $battery->used_in }}@endif">
|
||||
</div>
|
||||
|
||||
@@ -43,8 +43,8 @@
|
||||
'label' => 'Charge cycle interval (days)',
|
||||
'value' => $value,
|
||||
'min' => '0',
|
||||
'hint' => $L('0 means suggestions for the next charge cycle are disabled'),
|
||||
'invalidFeedback' => $L('This cannot be negative')
|
||||
'hint' => $__t('0 means suggestions for the next charge cycle are disabled'),
|
||||
'invalidFeedback' => $__t('This cannot be negative')
|
||||
))
|
||||
|
||||
@include('components.userfieldsform', array(
|
||||
@@ -52,7 +52,7 @@
|
||||
'entity' => 'batteries'
|
||||
))
|
||||
|
||||
<button id="save-battery-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-battery-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Battery tracking'))
|
||||
@section('title', $__t('Battery tracking'))
|
||||
@section('activeNav', 'batterytracking')
|
||||
@section('viewJsName', 'batterytracking')
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
<form id="batterytracking-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="battery_id">{{ $L('Battery') }}</label>
|
||||
<label for="battery_id">{{ $__t('Battery') }}</label>
|
||||
<select class="form-control combobox" id="battery_id" name="battery_id" required>
|
||||
<option value=""></option>
|
||||
@foreach($batteries as $battery)
|
||||
<option value="{{ $battery->id }}">{{ $battery->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('You have to select a battery') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('You have to select a battery') }}</div>
|
||||
</div>
|
||||
|
||||
@include('components.datetimepicker', array(
|
||||
@@ -29,10 +29,10 @@
|
||||
'initWithNow' => true,
|
||||
'limitEndToNow' => true,
|
||||
'limitStartToNow' => false,
|
||||
'invalidFeedback' => $L('This can only be before now')
|
||||
'invalidFeedback' => $__t('This can only be before now')
|
||||
))
|
||||
|
||||
<button id="save-batterytracking-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="save-batterytracking-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,12 +1,12 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Calendar'))
|
||||
@section('title', $__t('Calendar'))
|
||||
@section('activeNav', 'calendar')
|
||||
@section('viewJsName', 'calendar')
|
||||
|
||||
@push('pageScripts')
|
||||
<script src="{{ $U('/node_modules/fullcalendar/dist/fullcalendar.min.js?v=', true) }}{{ $version }}"></script>
|
||||
@if(!empty($L('fullcalendar_locale') && $L('fullcalendar_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/fullcalendar/dist/locale/{{ $L('fullcalendar_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@if(!empty($__t('fullcalendar_locale') && $__t('fullcalendar_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/fullcalendar/dist/locale/{{ $__t('fullcalendar_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@endpush
|
||||
|
||||
@push('pageStyles')
|
||||
@@ -19,7 +19,7 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a id="ical-button" class="btn btn-outline-dark" href="#">
|
||||
<i class="fas fa-calendar-plus"></i> {{ $L('Share/Integrate calendar (iCal)') }}
|
||||
<i class="fas fa-calendar-plus"></i> {{ $__t('Share/Integrate calendar (iCal)') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit chore'))
|
||||
@section('title', $__t('Edit chore'))
|
||||
@else
|
||||
@section('title', $L('Create chore'))
|
||||
@section('title', $__t('Create chore'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'choreform')
|
||||
@@ -22,24 +22,24 @@
|
||||
<form id="chore-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $chore->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $chore->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="period_type">{{ $L('Period type') }}</label>
|
||||
<label for="period_type">{{ $__t('Period type') }}</label>
|
||||
<select required class="form-control input-group-chore-period-type" id="period_type" name="period_type">
|
||||
@foreach($periodTypes as $periodType)
|
||||
<option @if($mode == 'edit' && $periodType == $chore->period_type) selected="selected" @endif value="{{ $periodType }}">{{ $L($periodType) }}</option>
|
||||
<option @if($mode == 'edit' && $periodType == $chore->period_type) selected="selected" @endif value="{{ $periodType }}">{{ $__t$periodType) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A period type is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A period type is required') }}</div>
|
||||
</div>
|
||||
|
||||
@php if($mode == 'edit') { $value = $chore->period_days; } else { $value = 0; } @endphp
|
||||
@@ -49,7 +49,7 @@
|
||||
'value' => $value,
|
||||
'min' => '0',
|
||||
'additionalCssClasses' => 'input-group-chore-period-type',
|
||||
'invalidFeedback' => $L('This cannot be negative'),
|
||||
'invalidFeedback' => $__t('This cannot be negative'),
|
||||
'hintId' => 'chore-period-type-info',
|
||||
'additionalGroupCssClasses' => 'period-type-input period-type-dynamic-regular period-type-monthly'
|
||||
))
|
||||
@@ -57,31 +57,31 @@
|
||||
<div class="form-group period-type-input period-type-weekly">
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="monday" value="monday">
|
||||
<label class="form-check-label" for="monday">{{ $L('Monday') }}</label>
|
||||
<label class="form-check-label" for="monday">{{ $__t('Monday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="tuesday" value="tuesday">
|
||||
<label class="form-check-label" for="tuesday">{{ $L('Tuesday') }}</label>
|
||||
<label class="form-check-label" for="tuesday">{{ $__t('Tuesday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="wednesday" value="wednesday">
|
||||
<label class="form-check-label" for="wednesday">{{ $L('Wednesday') }}</label>
|
||||
<label class="form-check-label" for="wednesday">{{ $__t('Wednesday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="thursday" value="thursday">
|
||||
<label class="form-check-label" for="thursday">{{ $L('Thursday') }}</label>
|
||||
<label class="form-check-label" for="thursday">{{ $__t('Thursday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="friday" value="friday">
|
||||
<label class="form-check-label" for="friday">{{ $L('Friday') }}</label>
|
||||
<label class="form-check-label" for="friday">{{ $__t('Friday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="saturday" value="saturday">
|
||||
<label class="form-check-label" for="saturday">{{ $L('Saturday') }}</label>
|
||||
<label class="form-check-label" for="saturday">{{ $__t('Saturday') }}</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input input-group-chore-period-type" type="checkbox" id="sunday" value="sunday">
|
||||
<label class="form-check-label" for="sunday">{{ $L('Sunday') }}</label>
|
||||
<label class="form-check-label" for="sunday">{{ $__t('Sunday') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
'entity' => 'chores'
|
||||
))
|
||||
|
||||
<button id="save-chore-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-chore-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Chores'))
|
||||
@section('title', $__t('Chores'))
|
||||
@section('activeNav', 'chores')
|
||||
@section('viewJsName', 'chores')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/chore/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=chores') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,9 +32,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Period type') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Period type') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
@@ -57,7 +57,7 @@
|
||||
{{ $chore->name }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $L($chore->period_type) }}
|
||||
{{ $__t$chore->period_type) }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $chore->description }}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Chores journal'))
|
||||
@section('title', $__t('Chores journal'))
|
||||
@section('activeNav', 'choresjournal')
|
||||
@section('viewJsName', 'choresjournal')
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="chore-filter">{{ $L('Filter by chore') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="chore-filter">{{ $__t('Filter by chore') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="chore-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($chores as $chore)
|
||||
<option value="{{ $chore->id }}">{{ $chore->name }}</option>
|
||||
@endforeach
|
||||
@@ -33,16 +33,16 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Chore') }}</th>
|
||||
<th>{{ $L('Tracked time') }}</th>
|
||||
<th>{{ $L('Done by') }}</th>
|
||||
<th>{{ $__t('Chore') }}</th>
|
||||
<th>{{ $__t('Tracked time') }}</th>
|
||||
<th>{{ $__t('Done by') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@foreach($choresLog as $choreLogEntry)
|
||||
<tr class="@if($choreLogEntry->undone == 1) text-muted @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-secondary btn-sm undo-chore-execution-button @if($choreLogEntry->undone == 1) disabled @endif" href="#" data-execution-id="{{ $choreLogEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $L('Undo chore execution') }}">
|
||||
<a class="btn btn-secondary btn-sm undo-chore-execution-button @if($choreLogEntry->undone == 1) disabled @endif" href="#" data-execution-id="{{ $choreLogEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $__t('Undo chore execution') }}">
|
||||
<i class="fas fa-undo"></i>
|
||||
</a>
|
||||
</td>
|
||||
@@ -50,7 +50,7 @@
|
||||
<span class="name-anchor @if($choreLogEntry->undone == 1) text-strike-through @endif">{{ FindObjectInArrayByPropertyValue($chores, 'id', $choreLogEntry->chore_id)->name }}</span>
|
||||
@if($choreLogEntry->undone == 1)
|
||||
<br>
|
||||
{{ $L('Undone on') . ' ' . $choreLogEntry->undone_timestamp }}
|
||||
{{ $__t('Undone on') . ' ' . $choreLogEntry->undone_timestamp }}
|
||||
<time class="timeago timeago-contextual" datetime="{{ $choreLogEntry->undone_timestamp }}"></time>
|
||||
@endif
|
||||
</td>
|
||||
@@ -62,7 +62,7 @@
|
||||
@if ($choreLogEntry->done_by_user_id !== null && !empty($choreLogEntry->done_by_user_id))
|
||||
{{ GetUserDisplayName(FindObjectInArrayByPropertyValue($users, 'id', $choreLogEntry->done_by_user_id)) }}
|
||||
@else
|
||||
{{ $L('Unknown') }}
|
||||
{{ $__t('Unknown') }}
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Chores overview'))
|
||||
@section('title', $__t('Chores overview'))
|
||||
@section('activeNav', 'choresoverview')
|
||||
@section('viewJsName', 'choresoverview')
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<div class="col">
|
||||
<h1>@yield('title')
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/choresjournal') }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Journal') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }}
|
||||
</a>
|
||||
</h1>
|
||||
<p id="info-due-chores" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p>
|
||||
@@ -23,15 +23,15 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="status-filter">{{ $L('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="status-filter">
|
||||
<option class="bg-white" value="all">{{ $L('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $L('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $L('Overdue') }}</option>
|
||||
<option class="bg-white" value="all">{{ $__t('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -42,9 +42,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Chore') }}</th>
|
||||
<th>{{ $L('Next estimated tracking') }}</th>
|
||||
<th>{{ $L('Last tracked') }}</th>
|
||||
<th>{{ $__t('Chore') }}</th>
|
||||
<th>{{ $__t('Next estimated tracking') }}</th>
|
||||
<th>{{ $__t('Last tracked') }}</th>
|
||||
<th class="d-none">Hidden status</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
@@ -57,7 +57,7 @@
|
||||
@foreach($currentChores as $curentChoreEntry)
|
||||
<tr id="chore-{{ $curentChoreEntry->chore_id }}-row" class="@if(FindObjectInArrayByPropertyValue($chores, 'id', $curentChoreEntry->chore_id)->period_type !== \Grocy\Services\ChoresService::CHORE_TYPE_MANUALLY && $curentChoreEntry->next_estimated_execution_time < date('Y-m-d H:i:s')) table-danger @elseif(FindObjectInArrayByPropertyValue($chores, 'id', $curentChoreEntry->chore_id)->period_type !== \Grocy\Services\ChoresService::CHORE_TYPE_MANUALLY && $curentChoreEntry->next_estimated_execution_time < date('Y-m-d H:i:s', strtotime("+$nextXDays days"))) table-warning @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-success btn-sm track-chore-button" href="#" data-toggle="tooltip" data-placement="left" title="{{ $L('Track execution of chore #1', FindObjectInArrayByPropertyValue($chores, 'id', $curentChoreEntry->chore_id)->name) }}"
|
||||
<a class="btn btn-success btn-sm track-chore-button" href="#" data-toggle="tooltip" data-placement="left" title="{{ $__t('Track execution of chore %s', FindObjectInArrayByPropertyValue($chores, 'id', $curentChoreEntry->chore_id)->name) }}"
|
||||
data-chore-id="{{ $curentChoreEntry->chore_id }}"
|
||||
data-chore-name="{{ FindObjectInArrayByPropertyValue($chores, 'id', $curentChoreEntry->chore_id)->name }}">
|
||||
<i class="fas fa-play"></i>
|
||||
@@ -68,13 +68,13 @@
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item chore-name-cell" data-chore-id="{{ $curentChoreEntry->chore_id }}" type="button" href="#">
|
||||
<i class="fas fa-info"></i> {{ $L('Show chore details') }}
|
||||
<i class="fas fa-info"></i> {{ $__t('Show chore details') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/choresjournal?chore=') }}{{ $curentChoreEntry->chore_id }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Journal for this chore') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Journal for this chore') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/chore/') }}{{ $curentChoreEntry->chore_id }}">
|
||||
<i class="fas fa-edit"></i> {{ $L('Edit chore') }}
|
||||
<i class="fas fa-edit"></i> {{ $__t('Edit chore') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -117,7 +117,7 @@
|
||||
@include('components.chorecard')
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $L('Close') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Chores settings'))
|
||||
@section('title', $__t('Chores settings'))
|
||||
|
||||
@section('viewJsName', 'choressettings')
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
<div class="col-lg-6 col-xs-12">
|
||||
<h1>@yield('title')</h1>
|
||||
|
||||
<h4 class="mt-2">{{ $L('Chores overview') }}</h4>
|
||||
<h4 class="mt-2">{{ $__t('Chores overview') }}</h4>
|
||||
@include('components.numberpicker', array(
|
||||
'id' => 'chores_due_soon_days',
|
||||
'additionalAttributes' => 'data-setting-key="chores_due_soon_days"',
|
||||
'label' => 'Chores due soon days',
|
||||
'min' => 1,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'additionalCssClasses' => 'user-setting-control'
|
||||
))
|
||||
|
||||
<a href="{{ $U('/choresoverview') }}" class="btn btn-success">{{ $L('OK') }}</a>
|
||||
<a href="{{ $U('/choresoverview') }}" class="btn btn-success">{{ $__t('OK') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Chore tracking'))
|
||||
@section('title', $__t('Chore tracking'))
|
||||
@section('activeNav', 'choretracking')
|
||||
@section('viewJsName', 'choretracking')
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
<form id="choretracking-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="chore_id">{{ $L('Chore') }}</label>
|
||||
<label for="chore_id">{{ $__t('Chore') }}</label>
|
||||
<select class="form-control combobox" id="chore_id" name="chore_id" required>
|
||||
<option value=""></option>
|
||||
@foreach($chores as $chore)
|
||||
<option value="{{ $chore->id }}">{{ $chore->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('You have to select a chore') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('You have to select a chore') }}</div>
|
||||
</div>
|
||||
|
||||
@include('components.datetimepicker', array(
|
||||
@@ -29,7 +29,7 @@
|
||||
'initWithNow' => true,
|
||||
'limitEndToNow' => true,
|
||||
'limitStartToNow' => false,
|
||||
'invalidFeedback' => $L('This can only be before now')
|
||||
'invalidFeedback' => $__t('This can only be before now')
|
||||
))
|
||||
|
||||
@include('components.userpicker', array(
|
||||
@@ -39,7 +39,7 @@
|
||||
'prefillByUserId' => GROCY_USER_ID
|
||||
))
|
||||
|
||||
<button id="save-choretracking-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="save-choretracking-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -4,15 +4,15 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-battery-three-quarters"></i> {{ $L('Battery overview') }}
|
||||
<a id="batterycard-battery-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $L('Edit battery') }}">
|
||||
<i class="fas fa-battery-three-quarters"></i> {{ $__t('Battery overview') }}
|
||||
<a id="batterycard-battery-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $__t('Edit battery') }}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="batterycard-battery-name"></span></h3>
|
||||
<strong>{{ $L('Used in') }}:</strong> <span id="batterycard-battery-used_in"></span><br>
|
||||
<strong>{{ $L('Charge cycles count') }}:</strong> <span id="batterycard-battery-charge-cycles-count"></span><br>
|
||||
<strong>{{ $L('Last charged') }}:</strong> <span id="batterycard-battery-last-charged"></span> <time id="batterycard-battery-last-charged-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Used in') }}:</strong> <span id="batterycard-battery-used_in"></span><br>
|
||||
<strong>{{ $__t('Charge cycles count') }}:</strong> <span id="batterycard-battery-charge-cycles-count"></span><br>
|
||||
<strong>{{ $__t('Last charged') }}:</strong> <span id="batterycard-battery-last-charged"></span> <time id="batterycard-battery-last-charged-timeago" class="timeago timeago-contextual"></time><br>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -4,7 +4,7 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-calendar"></i> {{ $L('Calendar') }}
|
||||
<i class="fas fa-calendar"></i> {{ $__t('Calendar') }}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div id="calendar" data-target-input="nearest"></div>
|
||||
|
@@ -4,15 +4,15 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-home"></i> {{ $L('Chore overview') }}
|
||||
<a id="chorecard-chore-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $L('Edit chore') }}">
|
||||
<i class="fas fa-home"></i> {{ $__t('Chore overview') }}
|
||||
<a id="chorecard-chore-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $__t('Edit chore') }}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<h3><span id="chorecard-chore-name"></span></h3>
|
||||
<strong>{{ $L('Tracked count') }}:</strong> <span id="chorecard-chore-tracked-count"></span><br>
|
||||
<strong>{{ $L('Last tracked') }}:</strong> <span id="chorecard-chore-last-tracked"></span> <time id="chorecard-chore-last-tracked-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $L('Last done by') }}:</strong> <span id="chorecard-chore-last-done-by"></span>
|
||||
<strong>{{ $__t('Tracked count') }}:</strong> <span id="chorecard-chore-tracked-count"></span><br>
|
||||
<strong>{{ $__t('Last tracked') }}:</strong> <span id="chorecard-chore-last-tracked"></span> <time id="chorecard-chore-last-tracked-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Last done by') }}:</strong> <span id="chorecard-chore-last-done-by"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -15,9 +15,9 @@
|
||||
@php if(empty($additionalAttributes)) { $additionalAttributes = ''; } @endphp
|
||||
|
||||
<div class="form-group">
|
||||
<label for="{{ $id }}">{{ $L($label) }}
|
||||
<label for="{{ $id }}">{{ $__t$label) }}
|
||||
<span class="small text-muted">
|
||||
@if(!empty($hint)){{ $L($hint) }}@endif
|
||||
@if(!empty($hint)){{ $__t$hint) }}@endif
|
||||
<time id="datetimepicker-timeago" class="timeago timeago-contextual"></time>
|
||||
</span>
|
||||
</label>
|
||||
@@ -40,7 +40,7 @@
|
||||
@if(isset($shortcutValue) && isset($shortcutLabel))
|
||||
<div class="form-check w-100">
|
||||
<input class="form-check-input" type="checkbox" id="datetimepicker-shortcut" data-datetimepicker-shortcut-value="{{ $shortcutValue }}">
|
||||
<label class="form-check-label" for="datetimepicker-shortcut">{{ $L($shortcutLabel) }}</label>
|
||||
<label class="form-check-label" for="datetimepicker-shortcut">{{ $__t$shortcutLabel) }}</label>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
@@ -8,12 +8,12 @@
|
||||
@php if(empty($hint)) { $hint = ''; } @endphp
|
||||
|
||||
<div class="form-group" data-next-input-selector="{{ $nextInputSelector }}" data-prefill-by-name="{{ $prefillByName }}" data-prefill-by-id="{{ $prefillById }}">
|
||||
<label for="location_id">{{ $L('Location') }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span></label>
|
||||
<label for="location_id">{{ $__t('Location') }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span></label>
|
||||
<select class="form-control location-combobox" id="location_id" name="location_id" @if($isRequired) required @endif>
|
||||
<option value=""></option>
|
||||
@foreach($locations as $location)
|
||||
<option value="{{ $location->id }}">{{ $location->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('You have to select a location') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('You have to select a location') }}</div>
|
||||
</div>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
@php if(!isset($noNameAttribute)) { $noNameAttribute = false; } @endphp
|
||||
|
||||
<div class="form-group {{ $additionalGroupCssClasses }}">
|
||||
<label for="{{ $id }}">{{ $L($label) }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span>{!! $additionalHtmlContextHelp !!}</label>
|
||||
<label for="{{ $id }}">{{ $__t$label) }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span>{!! $additionalHtmlContextHelp !!}</label>
|
||||
<div class="input-group">
|
||||
<input {!! $additionalAttributes !!} type="number" class="form-control numberpicker {{ $additionalCssClasses }}" id="{{ $id }}" @if(!$noNameAttribute) name="{{ $id }}" @endif value="{{ $value }}" min="{{ $min }}" max="{{ $max }}" step="{{ $step }}" @if($isRequired) required @endif>
|
||||
<div class="input-group-append">
|
||||
|
@@ -5,8 +5,8 @@
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<i class="fab fa-product-hunt"></i> {{ $L('Product overview') }}
|
||||
<a id="productcard-product-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $L('Edit product') }}">
|
||||
<i class="fab fa-product-hunt"></i> {{ $__t('Product overview') }}
|
||||
<a id="productcard-product-edit-button" class="btn btn-sm btn-outline-info py-0 float-right disabled" href="#" data-toggle="tooltip" title="{{ $__t('Edit product') }}">
|
||||
<i class="fas fa-edit"></i>
|
||||
</a>
|
||||
</div>
|
||||
@@ -15,23 +15,23 @@
|
||||
|
||||
<div id="productcard-product-description-wrapper" class="expandable-text mb-2 d-none">
|
||||
<p id="productcard-product-description" class="text-muted collapse mb-0"></p>
|
||||
<a class="collapsed" data-toggle="collapse" href="#productcard-product-description">{{ $L('Show more') }}</a>
|
||||
<a class="collapsed" data-toggle="collapse" href="#productcard-product-description">{{ $__t('Show more') }}</a>
|
||||
</div>
|
||||
|
||||
<strong>{{ $L('Stock amount') . ' / ' . $L('Quantity unit') }}:</strong> <span id="productcard-product-stock-amount"></span> <span id="productcard-product-stock-qu-name"></span> <span id="productcard-product-stock-opened-amount" class="small font-italic"></span><br>
|
||||
<strong>{{ $L('Location') }}:</strong> <span id="productcard-product-location"></span><br>
|
||||
<strong>{{ $L('Last purchased') }}:</strong> <span id="productcard-product-last-purchased"></span> <time id="productcard-product-last-purchased-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $L('Last used') }}:</strong> <span id="productcard-product-last-used"></span> <time id="productcard-product-last-used-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $L('Last price') }}:</strong> <span id="productcard-product-last-price"></span><br>
|
||||
<strong>{{ $L('Average shelf life') }}:</strong> <span id="productcard-product-average-shelf-life"></span><br>
|
||||
<strong>{{ $L('Spoil rate') }}:</strong> <span id="productcard-product-spoil-rate"></span>
|
||||
<strong>{{ $__t('Stock amount') . ' / ' . $__t('Quantity unit') }}:</strong> <span id="productcard-product-stock-amount"></span> <span id="productcard-product-stock-qu-name"></span> <span id="productcard-product-stock-opened-amount" class="small font-italic"></span><br>
|
||||
<strong>{{ $__t('Location') }}:</strong> <span id="productcard-product-location"></span><br>
|
||||
<strong>{{ $__t('Last purchased') }}:</strong> <span id="productcard-product-last-purchased"></span> <time id="productcard-product-last-purchased-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Last used') }}:</strong> <span id="productcard-product-last-used"></span> <time id="productcard-product-last-used-timeago" class="timeago timeago-contextual"></time><br>
|
||||
<strong>{{ $__t('Last price') }}:</strong> <span id="productcard-product-last-price"></span><br>
|
||||
<strong>{{ $__t('Average shelf life') }}:</strong> <span id="productcard-product-average-shelf-life"></span><br>
|
||||
<strong>{{ $__t('Spoil rate') }}:</strong> <span id="productcard-product-spoil-rate"></span>
|
||||
|
||||
<h5 class="mt-3">{{ $L('Product picture') }}</h5>
|
||||
<h5 class="mt-3">{{ $__t('Product picture') }}</h5>
|
||||
<p class="w-75 mx-auto"><img id="productcard-product-picture" src="" class="img-fluid img-thumbnail d-none"></p>
|
||||
<span id="productcard-no-product-picture" class="font-italic d-none">{{ $L('No picture available') }}</span>
|
||||
<span id="productcard-no-product-picture" class="font-italic d-none">{{ $__t('No picture available') }}</span>
|
||||
|
||||
<h5 class="mt-3">{{ $L('Price history') }}</h5>
|
||||
<h5 class="mt-3">{{ $__t('Price history') }}</h5>
|
||||
<canvas id="productcard-product-price-history-chart" class="w-100 d-none"></canvas>
|
||||
<span id="productcard-no-price-data-hint" class="font-italic d-none">{{ $L('No price history available') }}</span>
|
||||
<span id="productcard-no-price-data-hint" class="font-italic d-none">{{ $__t('No price history available') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -8,15 +8,15 @@
|
||||
@php if(!isset($isRequired)) { $isRequired = true; } @endphp
|
||||
|
||||
<div class="form-group" data-next-input-selector="{{ $nextInputSelector }}" data-disallow-add-product-workflows="{{ BoolToString($disallowAddProductWorkflows) }}" data-prefill-by-name="{{ $prefillByName }}" data-prefill-by-id="{{ $prefillById }}">
|
||||
<label for="product_id">{{ $L('Product') }} <i class="fas fa-barcode"></i><span id="barcode-lookup-disabled-hint" class="small text-muted d-none"> {{ $L('Barcode lookup is disabled') }}</span></label>
|
||||
<label for="product_id">{{ $__t('Product') }} <i class="fas fa-barcode"></i><span id="barcode-lookup-disabled-hint" class="small text-muted d-none"> {{ $__t('Barcode lookup is disabled') }}</span></label>
|
||||
<select class="form-control product-combobox" id="product_id" name="product_id" @if($isRequired) required @endif>
|
||||
<option value=""></option>
|
||||
@foreach($products as $product)
|
||||
<option data-additional-searchdata="{{ $product->barcode }}" value="{{ $product->id }}">{{ $product->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('You have to select a product') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('You have to select a product') }}</div>
|
||||
<div id="custom-productpicker-error" class="form-text text-danger d-none"></div>
|
||||
<div class="form-text text-info small">{{ $L('Type a new product name or barcode and hit TAB to start a workflow') }}</div>
|
||||
<div id="flow-info-addbarcodetoselection" class="form-text text-muted small d-none"><strong><span id="addbarcodetoselection"></span></strong> {{ $L('will be added to the list of barcodes for the selected product on submit') }}</div>
|
||||
<div class="form-text text-info small">{{ $__t('Type a new product name or barcode and hit TAB to start a workflow') }}</div>
|
||||
<div id="flow-info-addbarcodetoselection" class="form-text text-muted small d-none"><strong><span id="addbarcodetoselection"></span></strong> {{ $__t('will be added to the list of barcodes for the selected product on submit') }}</div>
|
||||
</div>
|
||||
|
@@ -8,12 +8,12 @@
|
||||
@php if(empty($hint)) { $hint = ''; } @endphp
|
||||
|
||||
<div class="form-group" data-next-input-selector="{{ $nextInputSelector }}" data-prefill-by-name="{{ $prefillByName }}" data-prefill-by-id="{{ $prefillById }}">
|
||||
<label for="recipe_id">{{ $L('Recipe') }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span></label>
|
||||
<label for="recipe_id">{{ $__t('Recipe') }} <span id="{{ $hintId }}" class="small text-muted">{{ $hint }}</span></label>
|
||||
<select class="form-control recipe-combobox" id="recipe_id" name="recipe_id" @if($isRequired) required @endif>
|
||||
<option value=""></option>
|
||||
@foreach($recipes as $recipe)
|
||||
<option value="{{ $recipe->id }}">{{ $recipe->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('You have to select a recipe') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('You have to select a recipe') }}</div>
|
||||
</div>
|
||||
|
@@ -5,7 +5,7 @@
|
||||
@if(count($userfields) > 0)
|
||||
|
||||
<div id="userfields-form" data-entity="{{ $entity }}" class="border border-info p-2 mb-2" novalidate>
|
||||
<h2 class="small">{{ $L('Userfields') }}</h2>
|
||||
<h2 class="small">{{ $__t('Userfields') }}</h2>
|
||||
|
||||
@foreach($userfields as $userfield)
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
@php if(!isset($nextInputSelector)) { $nextInputSelector = ''; } @endphp
|
||||
|
||||
<div class="form-group" data-next-input-selector="{{ $nextInputSelector }}" data-prefill-by-username="{{ $prefillByUsername }}" data-prefill-by-user-id="{{ $prefillByUserId }}">
|
||||
<label for="user_id">{{ $L($label) }}</label>
|
||||
<label for="user_id">{{ $__t$label) }}</label>
|
||||
<select class="form-control user-combobox" id="user_id" name="user_id">
|
||||
<option value=""></option>
|
||||
@foreach($users as $user)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Consume'))
|
||||
@section('title', $__t('Consume'))
|
||||
@section('activeNav', 'consume')
|
||||
@section('viewJsName', 'consume')
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
'hintId' => 'amount_qu_unit',
|
||||
'min' => 1,
|
||||
'value' => 1,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '1'),
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-info font-italic d-none">' . $L('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '1'),
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-info font-italic d-none">' . $__t('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
))
|
||||
|
||||
<div class="form-group">
|
||||
<label for="use_specific_stock_entry">
|
||||
<input type="checkbox" id="use_specific_stock_entry" name="use_specific_stock_entry"> {{ $L('Use a specific stock item') }}
|
||||
<span class="small text-muted">{{ $L('The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"') }}</span>
|
||||
<input type="checkbox" id="use_specific_stock_entry" name="use_specific_stock_entry"> {{ $__t('Use a specific stock item') }}
|
||||
<span class="small text-muted">{{ $__t('The first item in this list would be picked by the default rule which is "First expiring first, then first in first out"') }}</span>
|
||||
</label>
|
||||
<select disabled class="form-control" id="specific_stock_entry" name="specific_stock_entry">
|
||||
<option></option>
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
<div class="checkbox">
|
||||
<label for="spoiled">
|
||||
<input type="checkbox" id="spoiled" name="spoiled"> {{ $L('Spoiled') }}
|
||||
<input type="checkbox" id="spoiled" name="spoiled"> {{ $__t('Spoiled') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@@ -47,12 +47,12 @@
|
||||
@include('components.recipepicker', array(
|
||||
'recipes' => $recipes,
|
||||
'isRequired' => false,
|
||||
'hint' => $L('This is for statistical purposes only')
|
||||
'hint' => $__t('This is for statistical purposes only')
|
||||
))
|
||||
@endif
|
||||
|
||||
<button id="save-consume-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="save-mark-as-open-button" class="btn btn-secondary">{{ $L('Mark as opened') }}</button>
|
||||
<button id="save-consume-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
<button id="save-mark-as-open-button" class="btn btn-secondary">{{ $__t('Mark as opened') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Equipment'))
|
||||
@section('title', $__t('Equipment'))
|
||||
@section('activeNav', 'equipment')
|
||||
@section('viewJsName', 'equipment')
|
||||
|
||||
@@ -11,17 +11,17 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/equipment/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
|
||||
<table id="equipment-table" class="table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
@@ -50,10 +50,10 @@
|
||||
<div class="col-xs-12 col-md-8">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" data-toggle="tab" href="#instruction-manual-tab">{{ $L('Instruction manual') }}</a>
|
||||
<a class="nav-link active" data-toggle="tab" href="#instruction-manual-tab">{{ $__t('Instruction manual') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" data-toggle="tab" href="#description-tab">{{ $L('Notes') }}</a>
|
||||
<a class="nav-link" data-toggle="tab" href="#description-tab">{{ $__t('Notes') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
@@ -67,12 +67,12 @@
|
||||
<a class="btn btn-sm btn-outline-danger py-0 equipment-delete-button" href="#" data-equipment-id="{{ $equipmentItem->id }}" data-equipment-name="{{ $equipmentItem->name }}">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
<a id="selectedEquipmentInstructionManualToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $L('Expand to fullscreen') }}">
|
||||
<a id="selectedEquipmentInstructionManualToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $__t('Expand to fullscreen') }}">
|
||||
<i class="fas fa-expand-arrows-alt"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-body py-0 px-0">
|
||||
<p id="selected-equipment-has-no-instruction-manual-hint" class="text-muted font-italic d-none">{{ $L('The selected equipment has no instruction manual') }}</p>
|
||||
<p id="selected-equipment-has-no-instruction-manual-hint" class="text-muted font-italic d-none">{{ $__t('The selected equipment has no instruction manual') }}</p>
|
||||
<embed id="selected-equipment-instruction-manual" class="embed-responsive embed-responsive-4by3" src="" type="application/pdf">
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,7 +87,7 @@
|
||||
<a class="btn btn-sm btn-outline-danger py-0 equipment-delete-button" href="#" data-equipment-id="{{ $equipmentItem->id }}" data-equipment-name="{{ $equipmentItem->name }}">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
<a id="selectedEquipmentDescriptionToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $L('Expand to fullscreen') }}">
|
||||
<a id="selectedEquipmentDescriptionToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $__t('Expand to fullscreen') }}">
|
||||
<i class="fas fa-expand-arrows-alt"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
@@ -1,16 +1,16 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit equipment'))
|
||||
@section('title', $__t('Edit equipment'))
|
||||
@else
|
||||
@section('title', $L('Create equipment'))
|
||||
@section('title', $__t('Create equipment'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'equipmentform')
|
||||
|
||||
@push('pageScripts')
|
||||
<script src="{{ $U('/node_modules/summernote/dist/summernote-bs4.js?v=', true) }}{{ $version }}"></script>
|
||||
@if(!empty($L('summernote_locale') && $L('summernote_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/summernote/dist/lang/summernote-{{ $L('summernote_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@if(!empty($__t('summernote_locale') && $__t('summernote_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/summernote/dist/lang/summernote-{{ $__t('summernote_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@endpush
|
||||
|
||||
@push('pageStyles')
|
||||
@@ -36,23 +36,23 @@
|
||||
<form id="equipment-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $equipment->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="instruction-manual">{{ $L('Instruction manual') }} (PDF)
|
||||
<span class="text-muted small">{{ $L('If you don\'t select a file, the current instruction manual will not be altered') }}</span>
|
||||
<label for="instruction-manual">{{ $__t('Instruction manual') }} (PDF)
|
||||
<span class="text-muted small">{{ $__t('If you don\'t select a file, the current instruction manual will not be altered') }}</span>
|
||||
</label>
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="instruction-manual" accept="application/pdf">
|
||||
<label class="custom-file-label" for="instruction-manual">{{ $L('No file selected') }}</label>
|
||||
<label class="custom-file-label" for="instruction-manual">{{ $__t('No file selected') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Notes') }}</label>
|
||||
<label for="description">{{ $__t('Notes') }}</label>
|
||||
<textarea class="form-control" id="description" name="description">@if($mode == 'edit'){{ $equipment->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -61,19 +61,19 @@
|
||||
'entity' => 'equipment'
|
||||
))
|
||||
|
||||
<button id="save-equipment-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-equipment-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-xs-12">
|
||||
<label class="mt-2">{{ $L('Instruction manual') }}</label>
|
||||
<button id="delete-current-instruction-manual-button" class="btn btn-sm btn-danger mb-1 @if(empty($equipment->instruction_manual_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $L('Delete') }}</button>
|
||||
<label class="mt-2">{{ $__t('Instruction manual') }}</label>
|
||||
<button id="delete-current-instruction-manual-button" class="btn btn-sm btn-danger mb-1 @if(empty($equipment->instruction_manual_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $__t('Delete') }}</button>
|
||||
@if(!empty($equipment->instruction_manual_file_name))
|
||||
<embed id="current-equipment-instruction-manual" class="embed-responsive embed-responsive-4by3" src="{{ $U('/api/files/equipmentmanuals/' . base64_encode($equipment->instruction_manual_file_name)) }}" type="application/pdf">
|
||||
<p id="delete-current-instruction-manual-on-save-hint" class="form-text text-muted font-italic d-none">{{ $L('The current instruction manual will be deleted when you save the equipment') }}</p>
|
||||
<p id="delete-current-instruction-manual-on-save-hint" class="form-text text-muted font-italic d-none">{{ $__t('The current instruction manual will be deleted when you save the equipment') }}</p>
|
||||
@else
|
||||
<p id="no-current-instruction-manual-hint" class="form-text text-muted font-italic">{{ $L('No instruction manual available') }}</p>
|
||||
<p id="no-current-instruction-manual-hint" class="form-text text-muted font-italic">{{ $__t('No instruction manual available') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Inventory'))
|
||||
@section('title', $__t('Inventory'))
|
||||
@section('activeNav', 'inventory')
|
||||
@section('viewJsName', 'inventory')
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
'hintId' => 'new_amount_qu_unit',
|
||||
'min' => 0,
|
||||
'value' => 1,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '0'),
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '0'),
|
||||
'additionalAttributes' => 'data-notequal="notequal" not-equal="-1"',
|
||||
'additionalHtmlElements' => '<div id="inventory-change-info" class="form-text text-muted small d-none"></div>',
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-small text-info font-italic d-none">' . $L('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-small text-info font-italic d-none">' . $__t('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
))
|
||||
|
||||
@include('components.datetimepicker', array(
|
||||
@@ -36,13 +36,13 @@
|
||||
'initWithNow' => false,
|
||||
'limitEndToNow' => false,
|
||||
'limitStartToNow' => false,
|
||||
'invalidFeedback' => $L('A best before date is required'),
|
||||
'invalidFeedback' => $__t('A best before date is required'),
|
||||
'nextInputSelector' => '#best_before_date',
|
||||
'additionalGroupCssClasses' => 'date-only-datetimepicker',
|
||||
'shortcutValue' => '2999-12-31',
|
||||
'shortcutLabel' => 'Never expires',
|
||||
'earlierThanInfoLimit' => date('Y-m-d'),
|
||||
'earlierThanInfoText' => $L('The given date is earlier than today, are you sure?')
|
||||
'earlierThanInfoText' => $__t('The given date is earlier than today, are you sure?')
|
||||
))
|
||||
|
||||
@include('components.locationpicker', array(
|
||||
@@ -50,7 +50,7 @@
|
||||
'hint' => 'This will apply to added products'
|
||||
))
|
||||
|
||||
<button id="save-inventory-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="save-inventory-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -49,10 +49,10 @@
|
||||
Grocy.Mode = '{{ GROCY_MODE }}';
|
||||
Grocy.BaseUrl = '{{ $U('/') }}';
|
||||
Grocy.CurrentUrlRelative = window.location.pathname.replace(Grocy.BaseUrl, "");
|
||||
Grocy.LocalizationStrings = {!! json_encode($localizationStrings) !!};
|
||||
Grocy.ActiveNav = '@yield('activeNav', '')';
|
||||
Grocy.Culture = '{{ GROCY_CULTURE }}';
|
||||
Grocy.Currency = '{{ GROCY_CURRENCY }}';
|
||||
Grocy.JsGettextTranslatorStrings = {!! $jsGettextTranslatorStrings !!};
|
||||
Grocy.UserSettings = {!! json_encode($userSettings) !!};
|
||||
Grocy.FeatureFlags = {!! json_encode($featureFlags) !!};
|
||||
</script>
|
||||
@@ -75,139 +75,139 @@
|
||||
<div id="sidebarResponsive" class="collapse navbar-collapse">
|
||||
<ul class="navbar-nav navbar-sidenav pt-2">
|
||||
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Stock overview') }}" data-nav-for-page="stockoverview">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Stock overview') }}" data-nav-for-page="stockoverview">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/stockoverview') }}">
|
||||
<i class="fas fa-box"></i>
|
||||
<span class="nav-link-text">{{ $L('Stock overview') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Stock overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@if(GROCY_FEATURE_FLAG_SHOPPINGLIST)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Shopping list') }}" data-nav-for-page="shoppinglist">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Shopping list') }}" data-nav-for-page="shoppinglist">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/shoppinglist') }}">
|
||||
<i class="fas fa-shopping-cart"></i>
|
||||
<span class="nav-link-text">{{ $L('Shopping list') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Shopping list') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_RECIPES)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Recipes') }}" data-nav-for-page="recipes">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Recipes') }}" data-nav-for-page="recipes">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/recipes') }}">
|
||||
<i class="fas fa-cocktail"></i>
|
||||
<span class="nav-link-text">{{ $L('Recipes') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Recipes') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_CHORES)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Chores overview') }}" data-nav-for-page="choresoverview">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Chores overview') }}" data-nav-for-page="choresoverview">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/choresoverview') }}">
|
||||
<i class="fas fa-home"></i>
|
||||
<span class="nav-link-text">{{ $L('Chores overview') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Chores overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_TASKS)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Tasks') }}" data-nav-for-page="tasks">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Tasks') }}" data-nav-for-page="tasks">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/tasks') }}">
|
||||
<i class="fas fa-tasks"></i>
|
||||
<span class="nav-link-text">{{ $L('Tasks') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Tasks') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_BATTERIES)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Batteries overview') }}" data-nav-for-page="batteriesoverview">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Batteries overview') }}" data-nav-for-page="batteriesoverview">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/batteriesoverview') }}">
|
||||
<i class="fas fa-battery-half"></i>
|
||||
<span class="nav-link-text">{{ $L('Batteries overview') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Batteries overview') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_EQUIPMENT)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Equipment') }}" data-nav-for-page="equipment">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Equipment') }}" data-nav-for-page="equipment">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/equipment') }}">
|
||||
<i class="fas fa-toolbox"></i>
|
||||
<span class="nav-link-text">{{ $L('Equipment') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Equipment') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $L('Purchase') }}" data-nav-for-page="purchase">
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $__t('Purchase') }}" data-nav-for-page="purchase">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/purchase') }}">
|
||||
<i class="fas fa-shopping-cart"></i>
|
||||
<span class="nav-link-text">{{ $L('Purchase') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Purchase') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Consume') }}" data-nav-for-page="consume">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Consume') }}" data-nav-for-page="consume">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/consume') }}">
|
||||
<i class="fas fa-utensils"></i>
|
||||
<span class="nav-link-text">{{ $L('Consume') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Consume') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Inventory') }}" data-nav-for-page="inventory">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Inventory') }}" data-nav-for-page="inventory">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/inventory') }}">
|
||||
<i class="fas fa-list"></i>
|
||||
<span class="nav-link-text">{{ $L('Inventory') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Inventory') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@if(GROCY_FEATURE_FLAG_CHORES)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Chore tracking') }}" data-nav-for-page="choretracking">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Chore tracking') }}" data-nav-for-page="choretracking">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/choretracking') }}">
|
||||
<i class="fas fa-play"></i>
|
||||
<span class="nav-link-text">{{ $L('Chore tracking') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Chore tracking') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_BATTERIES)
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $L('Battery tracking') }}" data-nav-for-page="batterytracking">
|
||||
<li class="nav-item" data-toggle="tooltip" data-placement="right" title="{{ $__t('Battery tracking') }}" data-nav-for-page="batterytracking">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/batterytracking') }}">
|
||||
<i class="fas fa-fire"></i>
|
||||
<span class="nav-link-text">{{ $L('Battery tracking') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Battery tracking') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_CALENDAR)
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $L('Calendar') }}" data-nav-for-page="calendar">
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $__t('Calendar') }}" data-nav-for-page="calendar">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/calendar') }}">
|
||||
<i class="fas fa-calendar-alt"></i>
|
||||
<span class="nav-link-text">{{ $L('Calendar') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Calendar') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $L('Manage master data') }}">
|
||||
<li class="nav-item mt-4" data-toggle="tooltip" data-placement="right" title="{{ $__t('Manage master data') }}">
|
||||
<a class="nav-link nav-link-collapse collapsed discrete-link" data-toggle="collapse" href="#top-nav-manager-master-data">
|
||||
<i class="fas fa-table"></i>
|
||||
<span class="nav-link-text">{{ $L('Manage master data') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Manage master data') }}</span>
|
||||
</a>
|
||||
<ul id="top-nav-manager-master-data" class="sidenav-second-level collapse">
|
||||
<li data-nav-for-page="products" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/products') }}">
|
||||
<i class="fab fa-product-hunt"></i>
|
||||
<span class="nav-link-text">{{ $L('Products') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Products') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li data-nav-for-page="locations" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/locations') }}">
|
||||
<i class="fas fa-map-marker-alt"></i>
|
||||
<span class="nav-link-text">{{ $L('Locations') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Locations') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li data-nav-for-page="quantityunits" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/quantityunits') }}">
|
||||
<i class="fas fa-balance-scale"></i>
|
||||
<span class="nav-link-text">{{ $L('Quantity units') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Quantity units') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li data-nav-for-page="productgroups" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/productgroups') }}">
|
||||
<i class="fas fa-object-group"></i>
|
||||
<span class="nav-link-text">{{ $L('Product groups') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Product groups') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@if(GROCY_FEATURE_FLAG_CHORES)
|
||||
<li data-nav-for-page="chores" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/chores') }}">
|
||||
<i class="fas fa-home"></i>
|
||||
<span class="nav-link-text">{{ $L('Chores') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Chores') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@@ -215,7 +215,7 @@
|
||||
<li data-nav-for-page="batteries" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/batteries') }}">
|
||||
<i class="fas fa-battery-half"></i>
|
||||
<span class="nav-link-text">{{ $L('Batteries') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Batteries') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@@ -223,14 +223,14 @@
|
||||
<li data-nav-for-page="taskcategories" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/taskcategories') }}">
|
||||
<i class="fas fa-project-diagram "></i>
|
||||
<span class="nav-link-text">{{ $L('Task categories') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Task categories') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
<li data-nav-for-page="userfields" data-sub-menu-of="#top-nav-manager-master-data">
|
||||
<a class="nav-link discrete-link" href="{{ $U('/userfields') }}">
|
||||
<i class="fas fa-bookmark "></i>
|
||||
<span class="nav-link-text">{{ $L('Userfields') }}</span>
|
||||
<span class="nav-link-text">{{ $__t('Userfields') }}</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -251,23 +251,23 @@
|
||||
<a class="nav-link dropdown-toggle discrete-link" href="#" data-toggle="dropdown"><i class="fas fa-user"></i> {{ GROCY_USER_USERNAME }}</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item logout-button discrete-link" href="{{ $U('/logout') }}"><i class="fas fa-sign-out-alt"></i> {{ $L('Logout') }}</a>
|
||||
<a class="dropdown-item logout-button discrete-link" href="{{ $U('/logout') }}"><i class="fas fa-sign-out-alt"></i> {{ $__t('Logout') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item logout-button discrete-link" href="{{ $U('/user/' . GROCY_USER_ID . '?changepw=true') }}"><i class="fas fa-key"></i> {{ $L('Change password') }}</a>
|
||||
<a class="dropdown-item logout-button discrete-link" href="{{ $U('/user/' . GROCY_USER_ID . '?changepw=true') }}"><i class="fas fa-key"></i> {{ $__t('Change password') }}</a>
|
||||
</div>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
@if(GROCY_AUTHENTICATED === true)
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle discrete-link" href="#" data-toggle="dropdown"><i class="fas fa-sliders-h"></i> <span class="d-inline d-lg-none">{{ $L('View settings') }}</span></a>
|
||||
<a class="nav-link dropdown-toggle discrete-link" href="#" data-toggle="dropdown"><i class="fas fa-sliders-h"></i> <span class="d-inline d-lg-none">{{ $__t('View settings') }}</span></a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<div class="dropdown-item">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input user-setting-control" type="checkbox" id="auto-reload-enabled" data-setting-key="auto_reload_on_db_change">
|
||||
<label class="form-check-label" for="auto-reload-enabled">
|
||||
{{ $L('Auto reload on external changes') }}
|
||||
{{ $__t('Auto reload on external changes') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -275,7 +275,7 @@
|
||||
<div class="form-check">
|
||||
<input class="form-check-input user-setting-control" type="checkbox" id="show-clock-in-header" data-setting-key="show_clock_in_header">
|
||||
<label class="form-check-label" for="show-clock-in-header">
|
||||
{{ $L('Show clock in header') }}
|
||||
{{ $__t('Show clock in header') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -284,7 +284,7 @@
|
||||
<div class="form-check">
|
||||
<input class="form-check-input user-setting-control" type="checkbox" id="night-mode-enabled" data-setting-key="night_mode_enabled">
|
||||
<label class="form-check-label" for="night-mode-enabled">
|
||||
{{ $L('Enable night mode') }}
|
||||
{{ $__t('Enable night mode') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -292,17 +292,17 @@
|
||||
<div class="form-check">
|
||||
<input class="form-check-input user-setting-control" type="checkbox" id="auto-night-mode-enabled" data-setting-key="auto_night_mode_enabled">
|
||||
<label class="form-check-label" for="auto-night-mode-enabled">
|
||||
{{ $L('Auto enable in time range') }}
|
||||
{{ $__t('Auto enable in time range') }}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-inline">
|
||||
<input type="text" class="form-control my-1 user-setting-control" readonly id="auto-night-mode-time-range-from" placeholder="{{ $L('From') }} ({{ $L('in format') }} HH:mm)" data-setting-key="auto_night_mode_time_range_from">
|
||||
<input type="text" class="form-control user-setting-control" readonly id="auto-night-mode-time-range-to" placeholder="{{ $L('To') }} ({{ $L('in format') }} HH:mm)" data-setting-key="auto_night_mode_time_range_to">
|
||||
<input type="text" class="form-control my-1 user-setting-control" readonly id="auto-night-mode-time-range-from" placeholder="{{ $__t('From') }} ({{ $__t('in format') }} HH:mm)" data-setting-key="auto_night_mode_time_range_from">
|
||||
<input type="text" class="form-control user-setting-control" readonly id="auto-night-mode-time-range-to" placeholder="{{ $__t('To') }} ({{ $__t('in format') }} HH:mm)" data-setting-key="auto_night_mode_time_range_to">
|
||||
</div>
|
||||
<div class="form-check mt-1">
|
||||
<input class="form-check-input user-setting-control" type="checkbox" id="auto-night-mode-time-range-goes-over-midgnight" data-setting-key="auto_night_mode_time_range_goes_over_midnight">
|
||||
<label class="form-check-label" for="auto-night-mode-time-range-goes-over-midgnight">
|
||||
{{ $L('Time range goes over midnight') }}
|
||||
{{ $__t('Time range goes over midnight') }}
|
||||
</label>
|
||||
</div>
|
||||
<input class="form-check-input d-none user-setting-control" type="checkbox" id="currently-inside-night-mode-range" data-setting-key="currently_inside_night_mode_range">
|
||||
@@ -312,25 +312,25 @@
|
||||
@endif
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle discrete-link" href="#" data-toggle="dropdown"><i class="fas fa-wrench"></i> <span class="d-inline d-lg-none">{{ $L('Settings') }}</span></a>
|
||||
<a class="nav-link dropdown-toggle discrete-link" href="#" data-toggle="dropdown"><i class="fas fa-wrench"></i> <span class="d-inline d-lg-none">{{ $__t('Settings') }}</span></a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/stocksettings') }}"><i class="fas fa-box"></i> {{ $L('Stock settings') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/stocksettings') }}"><i class="fas fa-box"></i> {{ $__t('Stock settings') }}</a>
|
||||
@if(GROCY_FEATURE_FLAG_CHORES)
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/choressettings') }}"><i class="fas fa-home"></i> {{ $L('Chores settings') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/choressettings') }}"><i class="fas fa-home"></i> {{ $__t('Chores settings') }}</a>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_BATTERIES)
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/batteriessettings') }}"><i class="fas fa-battery-half"></i> {{ $L('Batteries settings') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/batteriessettings') }}"><i class="fas fa-battery-half"></i> {{ $__t('Batteries settings') }}</a>
|
||||
@endif
|
||||
@if(GROCY_FEATURE_FLAG_TASKS)
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/taskssettings') }}"><i class="fas fa-tasks"></i> {{ $L('Tasks settings') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/taskssettings') }}"><i class="fas fa-tasks"></i> {{ $__t('Tasks settings') }}</a>
|
||||
@endif
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/users') }}"><i class="fas fa-users"></i> {{ $L('Manage users') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/manageapikeys') }}"><i class="fas fa-handshake"></i> {{ $L('Manage API keys') }}</a>
|
||||
<a class="dropdown-item discrete-link" target="_blank" href="{{ $U('/api') }}"><i class="fas fa-book"></i> {{ $L('REST API & data model documentation') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/users') }}"><i class="fas fa-users"></i> {{ $__t('Manage users') }}</a>
|
||||
<a class="dropdown-item discrete-link" href="{{ $U('/manageapikeys') }}"><i class="fas fa-handshake"></i> {{ $__t('Manage API keys') }}</a>
|
||||
<a class="dropdown-item discrete-link" target="_blank" href="{{ $U('/api') }}"><i class="fas fa-book"></i> {{ $__t('REST API & data model documentation') }}</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a id="about-dialog-link" class="dropdown-item discrete-link" href="#"><i class="fas fa-info fa-fw"></i> {{ $L('About grocy') }} (Version {{ $version }})</a>
|
||||
<a id="about-dialog-link" class="dropdown-item discrete-link" href="#"><i class="fas fa-info fa-fw"></i> {{ $__t('About grocy') }} (Version {{ $version }})</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -354,7 +354,7 @@
|
||||
<script src="{{ $U('/node_modules/bootbox/dist/bootbox.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/jquery-serializejson/jquery.serializejson.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/moment/min/moment.min.js?v=', true) }}{{ $version }}"></script>
|
||||
@if(!empty($L('moment_locale') && $L('moment_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/moment/locale/{{ $L('moment_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@if(!empty($__t('moment_locale') && $__t('moment_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/moment/locale/{{ $__t('moment_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
<script src="{{ $U('/node_modules/@danielfarrell/bootstrap-combobox/js/bootstrap-combobox.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net/js/jquery.dataTables.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-bs4/js/dataTables.bootstrap4.js?v=', true) }}{{ $version }}"></script>
|
||||
@@ -365,9 +365,11 @@
|
||||
<script src="{{ $U('/node_modules/datatables.net-select/js/dataTables.select.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-select-bs4/js/select.bootstrap4.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/timeago/jquery.timeago.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules', true) }}/timeago/locales/jquery.timeago.{{ $L('timeago_locale') }}.js?v={{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules', true) }}/timeago/locales/jquery.timeago.{{ $__t('timeago_locale') }}.js?v={{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/toastr/build/toastr.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/tempusdominus-bootstrap-4/build/js/tempusdominus-bootstrap-4.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/sprintf-js/dist/sprintf.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/gettext-translator/src/translator.js?v=', true) }}{{ $version }}"></script>
|
||||
|
||||
<script src="{{ $U('/js/extensions.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/js/grocy.js?v=', true) }}{{ $version }}"></script>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit location'))
|
||||
@section('title', $__t('Edit location'))
|
||||
@else
|
||||
@section('title', $L('Create location'))
|
||||
@section('title', $__t('Create location'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'locationform')
|
||||
@@ -22,13 +22,13 @@
|
||||
<form id="location-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $location->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $location->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
'entity' => 'locations'
|
||||
))
|
||||
|
||||
<button id="save-location-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-location-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Locations'))
|
||||
@section('title', $__t('Locations'))
|
||||
@section('activeNav', 'locations')
|
||||
@section('viewJsName', 'locations')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/location/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=locations') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,8 +32,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Login'))
|
||||
@section('title', $__t('Login'))
|
||||
@section('viewJsName', 'login')
|
||||
|
||||
@section('content')
|
||||
@@ -11,25 +11,25 @@
|
||||
<form method="post" action="{{ $U('/login') }}" id="login-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Username') }}</label>
|
||||
<label for="name">{{ $__t('Username') }}</label>
|
||||
<input type="text" class="form-control" required id="username" name="username">
|
||||
<div class="invalid-feedback"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Password') }}</label>
|
||||
<label for="name">{{ $__t('Password') }}</label>
|
||||
<input type="password" class="form-control" required id="password" name="password">
|
||||
<div id="login-error" class="form-text text-danger d-none"></div>
|
||||
</div>
|
||||
|
||||
<div class="checkbox">
|
||||
<label for="stay_logged_in">
|
||||
<input type="checkbox" id="stay_logged_in" name="stay_logged_in"> {{ $L('Stay logged in permanently') }}
|
||||
<p id="qu-conversion-info" class="form-text text-muted small my-0">{{ $L('When not set, you will get logged out at latest after 30 days') }}</p>
|
||||
<input type="checkbox" id="stay_logged_in" name="stay_logged_in"> {{ $__t('Stay logged in permanently') }}
|
||||
<p id="qu-conversion-info" class="form-text text-muted small my-0">{{ $__t('When not set, you will get logged out at latest after 30 days') }}</p>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<button id="login-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="login-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('API keys'))
|
||||
@section('title', $__t('API keys'))
|
||||
@section('activeNav', '')
|
||||
@section('viewJsName', 'manageapikeys')
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/manageapikeys/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,12 +33,12 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('API key') }}</th>
|
||||
<th>{{ $L('User') }}</th>
|
||||
<th>{{ $L('Expires') }}</th>
|
||||
<th>{{ $L('Last used') }}</th>
|
||||
<th>{{ $L('Created') }}</th>
|
||||
<th>{{ $L('Key type') }}</th>
|
||||
<th>{{ $__t('API key') }}</th>
|
||||
<th>{{ $__t('User') }}</th>
|
||||
<th>{{ $__t('Expires') }}</th>
|
||||
<th>{{ $__t('Last used') }}</th>
|
||||
<th>{{ $__t('Created') }}</th>
|
||||
<th>{{ $__t('Key type') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@@ -60,7 +60,7 @@
|
||||
<time class="timeago timeago-contextual" datetime="{{ $apiKey->expires }}"></time>
|
||||
</td>
|
||||
<td>
|
||||
@if(empty($apiKey->last_used)){{ $L('never') }}@else{{ $apiKey->last_used }}@endif
|
||||
@if(empty($apiKey->last_used)){{ $__t('never') }}@else{{ $apiKey->last_used }}@endif
|
||||
<time class="timeago timeago-contextual" datetime="{{ $apiKey->last_used }}"></time>
|
||||
</td>
|
||||
<td>
|
||||
|
@@ -11,7 +11,7 @@
|
||||
<meta name="author" content="Bernd Bestel (bernd@berrnd.de)">
|
||||
<link rel="icon" href="{{ $U('/img/grocy_icon.svg?v=', true) }}{{ $version }}">
|
||||
|
||||
<title>{{ $L('REST API & data model documentation') }} | grocy</title>
|
||||
<title>{{ $__t('REST API & data model documentation') }} | grocy</title>
|
||||
|
||||
<link href="{{ $U('/node_modules/swagger-ui-dist/swagger-ui.css?v=', true) }}{{ $version }}" rel="stylesheet">
|
||||
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit product'))
|
||||
@section('title', $__t('Edit product'))
|
||||
@else
|
||||
@section('title', $L('Create product'))
|
||||
@section('title', $__t('Create product'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'productform')
|
||||
@@ -35,31 +35,31 @@
|
||||
<form id="product-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $product->name}}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $product->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-group tm-group">
|
||||
<label for="barcode-taginput">{{ $L('Barcode(s)') }} <i class="fas fa-barcode"></i></label>
|
||||
<label for="barcode-taginput">{{ $__t('Barcode(s)') }} <i class="fas fa-barcode"></i></label>
|
||||
<input type="text" class="form-control tm-input" id="barcode-taginput">
|
||||
<div id="barcode-taginput-container"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="location_id">{{ $L('Location') }}</label>
|
||||
<label for="location_id">{{ $__t('Location') }}</label>
|
||||
<select required class="form-control" id="location_id" name="location_id">
|
||||
<option></option>
|
||||
@foreach($locations as $location)
|
||||
<option @if($mode == 'edit' && $location->id == $product->location_id) selected="selected" @endif value="{{ $location->id }}">{{ $location->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A location is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A location is required') }}</div>
|
||||
</div>
|
||||
|
||||
@php if($mode == 'edit') { $value = $product->min_stock_amount; } else { $value = 0; } @endphp
|
||||
@@ -68,7 +68,7 @@
|
||||
'label' => 'Minimum stock amount',
|
||||
'min' => 0,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '0')
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '0')
|
||||
))
|
||||
|
||||
@php if($mode == 'edit') { $value = $product->default_best_before_days; } else { $value = 0; } @endphp
|
||||
@@ -77,8 +77,8 @@
|
||||
'label' => 'Default best before days',
|
||||
'min' => -1,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '-1'),
|
||||
'hint' => $L('For purchases this amount of days will be added to today for the best before date suggestion') . ' (' . $L('-1 means that this product never expires') . ')'
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '-1'),
|
||||
'hint' => $__t('For purchases this amount of days will be added to today for the best before date suggestion') . ' (' . $__t('-1 means that this product never expires') . ')'
|
||||
))
|
||||
|
||||
@php if($mode == 'edit') { $value = $product->default_best_before_days_after_open; } else { $value = 0; } @endphp
|
||||
@@ -87,12 +87,12 @@
|
||||
'label' => 'Default best before days after opened',
|
||||
'min' => 0,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '-1'),
|
||||
'hint' => $L('When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)')
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '-1'),
|
||||
'hint' => $__t('When a product was marked as opened, the best before date will be replaced by today + this amount of days (a value of 0 disables this)')
|
||||
))
|
||||
|
||||
<div class="form-group">
|
||||
<label for="product_group_id">{{ $L('Product group') }}</label>
|
||||
<label for="product_group_id">{{ $__t('Product group') }}</label>
|
||||
<select class="form-control" id="product_group_id" name="product_group_id">
|
||||
<option></option>
|
||||
@foreach($productgroups as $productgroup)
|
||||
@@ -102,25 +102,25 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="qu_id_purchase">{{ $L('Quantity unit purchase') }}</label>
|
||||
<label for="qu_id_purchase">{{ $__t('Quantity unit purchase') }}</label>
|
||||
<select required class="form-control input-group-qu" id="qu_id_purchase" name="qu_id_purchase">
|
||||
<option></option>
|
||||
@foreach($quantityunits as $quantityunit)
|
||||
<option @if($mode == 'edit' && $quantityunit->id == $product->qu_id_purchase) selected="selected" @endif value="{{ $quantityunit->id }}">{{ $quantityunit->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A quantity unit is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="qu_id_stock">{{ $L('Quantity unit stock') }}</label>
|
||||
<label for="qu_id_stock">{{ $__t('Quantity unit stock') }}</label>
|
||||
<select required class="form-control input-group-qu" id="qu_id_stock" name="qu_id_stock">
|
||||
<option></option>
|
||||
@foreach($quantityunits as $quantityunit)
|
||||
<option @if($mode == 'edit' && $quantityunit->id == $product->qu_id_stock) selected="selected" @endif value="{{ $quantityunit->id }}">{{ $quantityunit->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A quantity unit is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
||||
</div>
|
||||
|
||||
@php if($mode == 'edit') { $value = $product->qu_factor_purchase_to_stock; } else { $value = 1; } @endphp
|
||||
@@ -129,7 +129,7 @@
|
||||
'label' => 'Factor purchase to stock quantity unit',
|
||||
'min' => 1,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '1'),
|
||||
'additionalCssClasses' => 'input-group-qu',
|
||||
'additionalHtmlElements' => '<p id="qu-conversion-info" class="form-text text-muted small d-none"></p>'
|
||||
))
|
||||
@@ -138,7 +138,7 @@
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="allow_partial_units_in_stock" value="0">
|
||||
<input @if($mode == 'edit' && $product->allow_partial_units_in_stock == 1) checked @endif class="form-check-input" type="checkbox" id="allow_partial_units_in_stock" name="allow_partial_units_in_stock" value="1">
|
||||
<label class="form-check-label" for="allow_partial_units_in_stock">{{ $L('Allow partial units in stock') }}</label>
|
||||
<label class="form-check-label" for="allow_partial_units_in_stock">{{ $__t('Allow partial units in stock') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -146,8 +146,8 @@
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="enable_tare_weight_handling" value="0">
|
||||
<input @if($mode == 'edit' && $product->enable_tare_weight_handling == 1) checked @endif class="form-check-input" type="checkbox" id="enable_tare_weight_handling" name="enable_tare_weight_handling" value="1">
|
||||
<label class="form-check-label" for="enable_tare_weight_handling">{{ $L('Enable tare weight handling') }}
|
||||
<span class="text-muted small">{{ $L('This is useful e.g. for flour in jars - on purchase/consume/inventory you always weigh the whole jar, the amount to be posted is then automatically calculated based on what is in stock and the tare weight defined below') }}</span>
|
||||
<label class="form-check-label" for="enable_tare_weight_handling">{{ $__t('Enable tare weight handling') }}
|
||||
<span class="text-muted small">{{ $__t('This is useful e.g. for flour in jars - on purchase/consume/inventory you always weigh the whole jar, the amount to be posted is then automatically calculated based on what is in stock and the tare weight defined below') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -160,7 +160,7 @@
|
||||
'min' => 0,
|
||||
'step' => 0.01,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '0'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '0'),
|
||||
'additionalAttributes' => $additionalAttributes,
|
||||
'hintId' => 'tare_weight_qu_info'
|
||||
))
|
||||
@@ -170,20 +170,20 @@
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="not_check_stock_fulfillment_for_recipes" value="0">
|
||||
<input @if($mode == 'edit' && $product->not_check_stock_fulfillment_for_recipes == 1) checked @endif class="form-check-input" type="checkbox" id="not_check_stock_fulfillment_for_recipes" name="not_check_stock_fulfillment_for_recipes" value="1">
|
||||
<label class="form-check-label" for="not_check_stock_fulfillment_for_recipes">{{ $L('Disable stock fulfillment checking for this ingredient') }}
|
||||
<span class="text-muted small">{{ $L('This will be used as the default setting when adding this product as a recipe ingredient') }}</span>
|
||||
<label class="form-check-label" for="not_check_stock_fulfillment_for_recipes">{{ $__t('Disable stock fulfillment checking for this ingredient') }}
|
||||
<span class="text-muted small">{{ $__t('This will be used as the default setting when adding this product as a recipe ingredient') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="form-group">
|
||||
<label for="product-picture">{{ $L('Product picture') }}
|
||||
<span class="text-muted small">{{ $L('If you don\'t select a file, the current picture will not be altered') }}</span>
|
||||
<label for="product-picture">{{ $__t('Product picture') }}
|
||||
<span class="text-muted small">{{ $__t('If you don\'t select a file, the current picture will not be altered') }}</span>
|
||||
</label>
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="product-picture" accept="image/*">
|
||||
<label class="custom-file-label" for="product-picture">{{ $L('No file selected') }}</label>
|
||||
<label class="custom-file-label" for="product-picture">{{ $__t('No file selected') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -192,19 +192,19 @@
|
||||
'entity' => 'products'
|
||||
))
|
||||
|
||||
<button id="save-product-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-product-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-xs-12">
|
||||
<label class="mt-2">{{ $L('Picture') }}</label>
|
||||
<button id="delete-current-product-picture-button" class="btn btn-sm btn-danger @if(empty($product->picture_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $L('Delete') }}</button>
|
||||
<label class="mt-2">{{ $__t('Picture') }}</label>
|
||||
<button id="delete-current-product-picture-button" class="btn btn-sm btn-danger @if(empty($product->picture_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $__t('Delete') }}</button>
|
||||
@if(!empty($product->picture_file_name))
|
||||
<p><img id="current-product-picture" src="{{ $U('/api/files/productpictures/' . base64_encode($product->picture_file_name)) }}" class="img-fluid img-thumbnail mt-2"></p>
|
||||
<p id="delete-current-product-picture-on-save-hint" class="form-text text-muted font-italic d-none">{{ $L('The current picture will be deleted when you save the product') }}</p>
|
||||
<p id="delete-current-product-picture-on-save-hint" class="form-text text-muted font-italic d-none">{{ $__t('The current picture will be deleted when you save the product') }}</p>
|
||||
@else
|
||||
<p id="no-current-product-picture-hint" class="form-text text-muted font-italic">{{ $L('No picture available') }}</p>
|
||||
<p id="no-current-product-picture-hint" class="form-text text-muted font-italic">{{ $__t('No picture available') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit product group'))
|
||||
@section('title', $__t('Edit product group'))
|
||||
@else
|
||||
@section('title', $L('Create product group'))
|
||||
@section('title', $__t('Create product group'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'productgroupform')
|
||||
@@ -22,13 +22,13 @@
|
||||
<form id="product-group-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $group->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $group->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
'entity' => 'product_groups'
|
||||
))
|
||||
|
||||
<button id="save-product-group-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-product-group-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Product groups'))
|
||||
@section('title', $__t('Product groups'))
|
||||
@section('activeNav', 'productgroups')
|
||||
@section('viewJsName', 'productgroups')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/productgroup/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=product_groups') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,9 +32,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $L('Product count') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
<th>{{ $__t('Product count') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Products'))
|
||||
@section('title', $__t('Products'))
|
||||
@section('activeNav', 'products')
|
||||
@section('viewJsName', 'products')
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/product/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=products') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/stocksettings#productpresets') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Presets for new products') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Presets for new products') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -24,13 +24,13 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="location-filter">{{ $L('Filter by product group') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="location-filter">{{ $__t('Filter by product group') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="product-group-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($productGroups as $productGroup)
|
||||
<option value="{{ $productGroup->id }}">{{ $productGroup->name }}</option>
|
||||
@endforeach
|
||||
@@ -44,13 +44,13 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Location') }}</th>
|
||||
<th>{{ $L('Min. stock amount') }}</th>
|
||||
<th>{{ $L('QU purchase') }}</th>
|
||||
<th>{{ $L('QU stock') }}</th>
|
||||
<th>{{ $L('QU factor') }}</th>
|
||||
<th>{{ $L('Product group') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Location') }}</th>
|
||||
<th>{{ $__t('Min. stock amount') }}</th>
|
||||
<th>{{ $__t('QU purchase') }}</th>
|
||||
<th>{{ $__t('QU stock') }}</th>
|
||||
<th>{{ $__t('QU factor') }}</th>
|
||||
<th>{{ $__t('Product group') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Purchase'))
|
||||
@section('title', $__t('Purchase'))
|
||||
@section('activeNav', 'purchase')
|
||||
@section('viewJsName', 'purchase')
|
||||
|
||||
@@ -23,13 +23,13 @@
|
||||
'initWithNow' => false,
|
||||
'limitEndToNow' => false,
|
||||
'limitStartToNow' => false,
|
||||
'invalidFeedback' => $L('A best before date is required'),
|
||||
'invalidFeedback' => $__t('A best before date is required'),
|
||||
'nextInputSelector' => '#amount',
|
||||
'additionalCssClasses' => 'date-only-datetimepicker',
|
||||
'shortcutValue' => '2999-12-31',
|
||||
'shortcutLabel' => 'Never expires',
|
||||
'earlierThanInfoLimit' => date('Y-m-d'),
|
||||
'earlierThanInfoText' => $L('The given date is earlier than today, are you sure?')
|
||||
'earlierThanInfoText' => $__t('The given date is earlier than today, are you sure?')
|
||||
))
|
||||
|
||||
@include('components.numberpicker', array(
|
||||
@@ -37,8 +37,8 @@
|
||||
'label' => 'Amount',
|
||||
'hintId' => 'amount_qu_unit',
|
||||
'min' => 1,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '1'),
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-info font-italic d-none">' . $L('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '1'),
|
||||
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-info font-italic d-none">' . $__t('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
||||
))
|
||||
|
||||
@include('components.numberpicker', array(
|
||||
@@ -47,8 +47,8 @@
|
||||
'min' => 0,
|
||||
'step' => 0.01,
|
||||
'value' => '',
|
||||
'hint' => $L('in #1 per purchase quantity unit', GROCY_CURRENCY),
|
||||
'invalidFeedback' => $L('The price cannot be lower than #1', '0'),
|
||||
'hint' => $__t('in %s per purchase quantity unit', GROCY_CURRENCY),
|
||||
'invalidFeedback' => $__t('The price cannot be lower than %s', '0'),
|
||||
'isRequired' => false
|
||||
))
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
'isRequired' => false
|
||||
))
|
||||
|
||||
<button id="save-purchase-button" class="btn btn-success">{{ $L('OK') }}</button>
|
||||
<button id="save-purchase-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit quantity unit'))
|
||||
@section('title', $__t('Edit quantity unit'))
|
||||
@else
|
||||
@section('title', $L('Create quantity unit'))
|
||||
@section('title', $__t('Create quantity unit'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'quantityunitform')
|
||||
@@ -22,18 +22,18 @@
|
||||
<form id="quantityunit-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }} <span class="small text-muted">{{ $L('in singular form') }}</span></label>
|
||||
<label for="name">{{ $__t('Name') }} <span class="small text-muted">{{ $__t('in singular form') }}</span></label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $quantityunit->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name_plural">{{ $L('Name') }} <span class="small text-muted">{{ $L('in plural form') }}</span></label>
|
||||
<label for="name_plural">{{ $__t('Name') }} <span class="small text-muted">{{ $__t('in plural form') }}</span></label>
|
||||
<input type="text" class="form-control" id="name_plural" name="name_plural" value="@if($mode == 'edit'){{ $quantityunit->name_plural }}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $quantityunit->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
'entity' => 'quantity_units'
|
||||
))
|
||||
|
||||
<button id="save-quantityunit-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-quantityunit-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Quantity units'))
|
||||
@section('title', $__t('Quantity units'))
|
||||
@section('activeNav', 'quantityunits')
|
||||
@section('viewJsName', 'quantityunits')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/quantityunit/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=quantity_units') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,8 +32,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,16 +1,16 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit recipe'))
|
||||
@section('title', $__t('Edit recipe'))
|
||||
@else
|
||||
@section('title', $L('Create recipe'))
|
||||
@section('title', $__t('Create recipe'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'recipeform')
|
||||
|
||||
@push('pageScripts')
|
||||
<script src="{{ $U('/node_modules/summernote/dist/summernote-bs4.js?v=', true) }}{{ $version }}"></script>
|
||||
@if(!empty($L('summernote_locale') && $L('summernote_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/summernote/dist/lang/summernote-{{ $L('summernote_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
@if(!empty($__t('summernote_locale') && $__t('summernote_locale') != 'x'))<script src="{{ $U('/node_modules', true) }}/summernote/dist/lang/summernote-{{ $__t('summernote_locale') }}.js?v={{ $version }}"></script>@endif
|
||||
<script src="{{ $U('/node_modules/datatables.net-rowgroup/js/dataTables.rowGroup.min.js?v=', true) }}{{ $version }}"></script>
|
||||
<script src="{{ $U('/node_modules/datatables.net-rowgroup-bs4/js/rowGroup.bootstrap4.min.js?v=', true) }}{{ $version }}"></script>
|
||||
@endpush
|
||||
@@ -42,13 +42,13 @@
|
||||
<form id="recipe-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $recipe->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Preparation') }}</label>
|
||||
<label for="description">{{ $__t('Preparation') }}</label>
|
||||
<textarea id="description" class="form-control" name="description">@if($mode == 'edit'){{ $recipe->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -58,27 +58,27 @@
|
||||
'label' => 'Servings',
|
||||
'min' => 1,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'hint' => $L('The ingredients listed here result in this amount of servings')
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'hint' => $__t('The ingredients listed here result in this amount of servings')
|
||||
))
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="not_check_shoppinglist" value="0">
|
||||
<input @if($mode == 'edit' && $recipe->not_check_shoppinglist == 1) checked @endif class="form-check-input" type="checkbox" id="not_check_shoppinglist" name="not_check_shoppinglist" value="1">
|
||||
<label class="form-check-label" for="not_check_shoppinglist">{{ $L('Do not check against the shopping list when adding missing items to it') }}
|
||||
<span class="small text-muted">{{ $L('By default the amount to be added to the shopping list is "needed amount - stock amount - shopping list amount" - when this is enabled, it is only checked against the stock amount, not against what is already on the shopping list') }}</span>
|
||||
<label class="form-check-label" for="not_check_shoppinglist">{{ $__t('Do not check against the shopping list when adding missing items to it') }}
|
||||
<span class="small text-muted">{{ $__t('By default the amount to be added to the shopping list is "needed amount - stock amount - shopping list amount" - when this is enabled, it is only checked against the stock amount, not against what is already on the shopping list') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="recipe-picture">{{ $L('Picture') }}
|
||||
<span class="text-muted small">{{ $L('If you don\'t select a file, the current picture will not be altered') }}</span>
|
||||
<label for="recipe-picture">{{ $__t('Picture') }}
|
||||
<span class="text-muted small">{{ $__t('If you don\'t select a file, the current picture will not be altered') }}</span>
|
||||
</label>
|
||||
<div class="custom-file">
|
||||
<input type="file" class="custom-file-input" id="recipe-picture" accept="image/*">
|
||||
<label class="custom-file-label" for="recipe-picture">{{ $L('No file selected') }}</label>
|
||||
<label class="custom-file-label" for="recipe-picture">{{ $__t('No file selected') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
'entity' => 'recipes'
|
||||
))
|
||||
|
||||
<button id="save-recipe-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-recipe-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
@@ -96,9 +96,9 @@
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<h2>
|
||||
{{ $L('Ingredients list') }}
|
||||
{{ $__t('Ingredients list') }}
|
||||
<a id="recipe-pos-add-button" class="btn btn-outline-dark" href="#">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h2>
|
||||
|
||||
@@ -106,9 +106,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Product') }}</th>
|
||||
<th>{{ $L('Amount') }}</th>
|
||||
<th class="fit-content">{{ $L('Note') }}</th>
|
||||
<th>{{ $__t('Product') }}</th>
|
||||
<th>{{ $__t('Amount') }}</th>
|
||||
<th class="fit-content">{{ $__t('Note') }}</th>
|
||||
<th class="d-none">Hiden ingredient group</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -131,7 +131,7 @@
|
||||
@if($recipePosition->amount == round($recipePosition->amount)){{ round($recipePosition->amount) }}@else{{ $recipePosition->amount }}@endif {{ Pluralize($recipePosition->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', $recipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', $recipePosition->qu_id)->name_plural) }}
|
||||
</td>
|
||||
<td class="fit-content">
|
||||
<a class="btn btn-sm btn-info recipe-pos-show-note-button @if(empty($recipePosition->note)) disabled @endif" href="#" data-toggle="tooltip" data-placement="top" title="{{ $L('Show notes') }}" data-recipe-pos-note="{{ $recipePosition->note }}">
|
||||
<a class="btn btn-sm btn-info recipe-pos-show-note-button @if(empty($recipePosition->note)) disabled @endif" href="#" data-toggle="tooltip" data-placement="top" title="{{ $__t('Show notes') }}" data-recipe-pos-note="{{ $recipePosition->note }}">
|
||||
<i class="fas fa-eye"></i>
|
||||
</a>
|
||||
</td>
|
||||
@@ -149,17 +149,17 @@
|
||||
<div class="row mt-5">
|
||||
<div class="col">
|
||||
<h2>
|
||||
{{ $L('Included recipes') }}
|
||||
{{ $__t('Included recipes') }}
|
||||
<a id="recipe-include-add-button" class="btn btn-outline-dark" href="#">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h2>
|
||||
<table id="recipes-includes-table" class="table table-sm table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Recipe') }}</th>
|
||||
<th>{{ $L('Servings') }}</th>
|
||||
<th>{{ $__t('Recipe') }}</th>
|
||||
<th>{{ $__t('Servings') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@@ -190,13 +190,13 @@
|
||||
|
||||
<div class="row mt-5">
|
||||
<div class="col">
|
||||
<label class="mt-2">{{ $L('Picture') }}</label>
|
||||
<button id="delete-current-recipe-picture-button" class="btn btn-sm btn-danger @if(empty($recipe->picture_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $L('Delete') }}</button>
|
||||
<label class="mt-2">{{ $__t('Picture') }}</label>
|
||||
<button id="delete-current-recipe-picture-button" class="btn btn-sm btn-danger @if(empty($recipe->picture_file_name)) disabled @endif"><i class="fas fa-trash"></i> {{ $__t('Delete') }}</button>
|
||||
@if(!empty($recipe->picture_file_name))
|
||||
<p><img id="current-recipe-picture" src="{{ $U('/api/files/recipepictures/' . base64_encode($recipe->picture_file_name)) }}" class="img-fluid img-thumbnail mt-2"></p>
|
||||
<p id="delete-current-recipe-picture-on-save-hint" class="form-text text-muted font-italic d-none">{{ $L('The current picture will be deleted when you save the recipe') }}</p>
|
||||
<p id="delete-current-recipe-picture-on-save-hint" class="form-text text-muted font-italic d-none">{{ $__t('The current picture will be deleted when you save the recipe') }}</p>
|
||||
@else
|
||||
<p id="no-current-recipe-picture-hint" class="form-text text-muted font-italic">{{ $L('No picture available') }}</p>
|
||||
<p id="no-current-recipe-picture-hint" class="form-text text-muted font-italic">{{ $__t('No picture available') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@@ -222,14 +222,14 @@
|
||||
'label' => 'Servings',
|
||||
'min' => 1,
|
||||
'value' => '1',
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1')
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1')
|
||||
))
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $L('Cancel') }}</button>
|
||||
<button id="save-recipe-include-button" data-dismiss="modal" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $__t('Cancel') }}</button>
|
||||
<button id="save-recipe-include-button" data-dismiss="modal" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit recipe ingredient'))
|
||||
@section('title', $__t('Edit recipe ingredient'))
|
||||
@else
|
||||
@section('title', $L('Add recipe ingredient'))
|
||||
@section('title', $__t('Add recipe ingredient'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'recipeposform')
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6 col-xl-5 pb-3">
|
||||
<h1>@yield('title')</h1>
|
||||
<h3 class="text-muted">{{ $L('Recipe') }} <strong>{{ $recipe->name }}</strong></h3>
|
||||
<h3 class="text-muted">{{ $__t('Recipe') }} <strong>{{ $recipe->name }}</strong></h3>
|
||||
|
||||
<script>
|
||||
Grocy.EditMode = '{{ $mode }}';
|
||||
@@ -42,18 +42,18 @@
|
||||
'label' => 'Amount',
|
||||
'min' => 0,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('This cannot be negative and must be an integral number'),
|
||||
'invalidFeedback' => $__t('This cannot be negative and must be an integral number'),
|
||||
'additionalGroupCssClasses' => 'col-4'
|
||||
))
|
||||
|
||||
<div class="form-group col-8">
|
||||
<label for="qu_id">{{ $L('Quantity unit') }}</label>
|
||||
<label for="qu_id">{{ $__t('Quantity unit') }}</label>
|
||||
<select required @if($mode == 'create' || ($mode == 'edit' && $recipePos->only_check_single_unit_in_stock != 1)) disabled @endif class="form-control" id="qu_id" name="qu_id">
|
||||
@foreach($quantityUnits as $quantityunit)
|
||||
<option @if($mode == 'edit' && $quantityunit->id == $recipePos->qu_id) selected @endif value="{{ $quantityunit->id }}">{{ $quantityunit->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A quantity unit is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A quantity unit is required') }}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -62,7 +62,7 @@
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="only_check_single_unit_in_stock" value="0">
|
||||
<input @if($mode == 'edit' && $recipePos->only_check_single_unit_in_stock == 1) checked @endif class="form-check-input" type="checkbox" id="only_check_single_unit_in_stock" name="only_check_single_unit_in_stock" value="1">
|
||||
<label class="form-check-label" for="only_check_single_unit_in_stock">{{ $L('Only check if a single unit is in stock (a different quantity can then be used above)') }}</label>
|
||||
<label class="form-check-label" for="only_check_single_unit_in_stock">{{ $__t('Only check if a single unit is in stock (a different quantity can then be used above)') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -72,20 +72,20 @@
|
||||
<div class="form-check mb-3">
|
||||
<input type="hidden" name="not_check_stock_fulfillment" value="0">
|
||||
<input @if($mode == 'edit' && ($recipePos->not_check_stock_fulfillment == 1 || FindObjectInArrayByPropertyValue($products, 'id', $recipePos->product_id)->not_check_stock_fulfillment_for_recipes == 1)) checked @endif class="form-check-input" type="checkbox" id="not_check_stock_fulfillment" name="not_check_stock_fulfillment" value="1">
|
||||
<label class="form-check-label" for="not_check_stock_fulfillment">{{ $L('Disable stock fulfillment checking for this ingredient') }}</label>
|
||||
<label class="form-check-label" for="not_check_stock_fulfillment">{{ $__t('Disable stock fulfillment checking for this ingredient') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="ingredient_group">{{ $L('Group') }} <span class="small text-muted">{{ $L('This will be used as a headline to group ingredients together') }}</span></label>
|
||||
<label for="ingredient_group">{{ $__t('Group') }} <span class="small text-muted">{{ $__t('This will be used as a headline to group ingredients together') }}</span></label>
|
||||
<input type="text" class="form-control" id="ingredient_group" name="ingredient_group" value="@if($mode == 'edit'){{ $recipePos->ingredient_group }}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="note">{{ $L('Note') }}</label>
|
||||
<label for="note">{{ $__t('Note') }}</label>
|
||||
<textarea class="form-control" rows="2" id="note" name="note">@if($mode == 'edit'){{ $recipePos->note }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
<button id="save-recipe-pos-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-recipe-pos-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Recipes'))
|
||||
@section('title', $__t('Recipes'))
|
||||
@section('activeNav', 'recipes')
|
||||
@section('viewJsName', 'recipes')
|
||||
|
||||
@@ -11,19 +11,19 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/recipe/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
|
||||
<ul class="nav nav-tabs mt-3">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" id="list-tab" data-toggle="tab" href="#list">{{ $L('List') }}</a>
|
||||
<a class="nav-link active" id="list-tab" data-toggle="tab" href="#list">{{ $__t('List') }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="gallery-tab" data-toggle="tab" href="#gallery">{{ $L('Gallery') }}</a>
|
||||
<a class="nav-link" id="gallery-tab" data-toggle="tab" href="#gallery">{{ $__t('Gallery') }}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
<table id="recipes-table" class="table table-striped dt-responsive">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Servings') }}</th>
|
||||
<th>{{ $L('Requirements fulfilled') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Servings') }}</th>
|
||||
<th>{{ $__t('Requirements fulfilled') }}</th>
|
||||
<th class="d-none">Hidden status for sorting of "Requirements fulfilled" column</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
@@ -55,7 +55,7 @@
|
||||
</td>
|
||||
<td>
|
||||
@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1)<i class="fas fa-check text-success"></i>@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1)<i class="fas fa-exclamation text-warning"></i>@else<i class="fas fa-times text-danger"></i>@endif
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1){{ $L('Enough in stock') }}@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1){{ $L('Not enough in stock, #1 ingredients missing but already on the shopping list', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@else{{ $L('Not enough in stock, #1 ingredients missing', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@endif</span>
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1){{ $__t('Enough in stock') }}@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1){{ $__t('Not enough in stock, %s ingredients missing but already on the shopping list', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@else{{ $__t('Not enough in stock, %s ingredients missing', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@endif</span>
|
||||
</td>
|
||||
<td class="d-none">
|
||||
{{ FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count }}
|
||||
@@ -85,7 +85,7 @@
|
||||
<h5 class="card-title mb-1">{{ $recipe->name }}</h5>
|
||||
<p class="card-text">
|
||||
@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1)<i class="fas fa-check text-success"></i>@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1)<i class="fas fa-exclamation text-warning"></i>@else<i class="fas fa-times text-danger"></i>@endif
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1){{ $L('Enough in stock') }}@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1){{ $L('Not enough in stock, #1 ingredients missing but already on the shopping list', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@else{{ $L('Not enough in stock, #1 ingredients missing', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@endif</span>
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled == 1){{ $__t('Enough in stock') }}@elseif(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->need_fulfilled_with_shopping_list == 1){{ $__t('Not enough in stock, %s ingredients missing but already on the shopping list', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@else{{ $__t('Not enough in stock, %s ingredients missing', FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $recipe->id)->missing_products_count) }}@endif</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -103,10 +103,10 @@
|
||||
<div id="selectedRecipeCard" class="card">
|
||||
<div class="card-header">
|
||||
<i class="fas fa-cocktail"></i> {{ $selectedRecipe->name }}
|
||||
<a id="selectedRecipeConsumeButton" class="btn btn-sm btn-outline-success py-0" href="#" data-toggle="tooltip" title="{{ $L('Consume all ingredients needed by this recipe') }}" data-recipe-id="{{ $selectedRecipe->id }}" data-recipe-name="{{ $selectedRecipe->name }}">
|
||||
<a id="selectedRecipeConsumeButton" class="btn btn-sm btn-outline-success py-0" href="#" data-toggle="tooltip" title="{{ $__t('Consume all ingredients needed by this recipe') }}" data-recipe-id="{{ $selectedRecipe->id }}" data-recipe-name="{{ $selectedRecipe->name }}">
|
||||
<i class="fas fa-utensils"></i>
|
||||
</a>
|
||||
<a class="btn btn-sm btn-outline-primary py-0 recipe-order-missing-button @if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $selectedRecipe->id)->need_fulfilled_with_shopping_list == 1){{ disabled }}@endif" href="#" data-toggle="tooltip" title="{{ $L('Put missing products on shopping list') }}" data-recipe-id="{{ $selectedRecipe->id }}" data-recipe-name="{{ $selectedRecipe->name }}">
|
||||
<a class="btn btn-sm btn-outline-primary py-0 recipe-order-missing-button @if(FindObjectInArrayByPropertyValue($recipesResolved, 'recipe_id', $selectedRecipe->id)->need_fulfilled_with_shopping_list == 1){{ disabled }}@endif" href="#" data-toggle="tooltip" title="{{ $__t('Put missing products on shopping list') }}" data-recipe-id="{{ $selectedRecipe->id }}" data-recipe-name="{{ $selectedRecipe->name }}">
|
||||
<i class="fas fa-cart-plus"></i>
|
||||
</a>
|
||||
<a id="selectedRecipeEditButton" class="btn btn-sm btn-outline-info py-0" href="{{ $U('/recipe/') }}{{ $selectedRecipe->id }}">
|
||||
@@ -115,7 +115,7 @@
|
||||
<a id="selectedRecipeDeleteButton" class="btn btn-sm btn-outline-danger py-0" href="#" data-recipe-id="{{ $selectedRecipe->id }}" data-recipe-name="{{ $selectedRecipe->name }}">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
<a id="selectedRecipeToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $L('Expand to fullscreen') }}">
|
||||
<a id="selectedRecipeToggleFullscreenButton" class="btn btn-sm btn-outline-secondary py-0 float-right" href="#" data-toggle="tooltip" title="{{ $__t('Expand to fullscreen') }}">
|
||||
<i class="fas fa-expand-arrows-alt"></i>
|
||||
</a>
|
||||
</div>
|
||||
@@ -128,13 +128,13 @@
|
||||
'label' => 'Servings',
|
||||
'min' => 1,
|
||||
'value' => $selectedRecipe->desired_servings,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'additionalAttributes' => 'data-recipe-id="' . $selectedRecipe->id . '"'
|
||||
))
|
||||
</div>
|
||||
<div class="col-7">
|
||||
<label>{{ $L('Costs') }}
|
||||
<span class="small text-muted">{{ $L('Based on the prices of the last purchase per product') }}</span>
|
||||
<label>{{ $__t('Costs') }}
|
||||
<span class="small text-muted">{{ $__t('Based on the prices of the last purchase per product') }}</span>
|
||||
</label>
|
||||
<p class="font-weight-bold font-italic">
|
||||
<span class="locale-number-format" data-format="currency">{{ $selectedRecipeTotalCosts }}</span>
|
||||
@@ -156,7 +156,7 @@
|
||||
@php $selectedRecipeSubRecipePositionsFiltered = FindAllObjectsInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'child_recipe_id', $selectedRecipeSubRecipe->id); @endphp
|
||||
@if(count($selectedRecipeSubRecipePositionsFiltered) > 0)
|
||||
<div class="card-body">
|
||||
<h5 class="mb-0">{{ $L('Ingredients') }}</h5>
|
||||
<h5 class="mb-0">{{ $__t('Ingredients') }}</h5>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
@php $lastGroup = 'undefined'; @endphp
|
||||
@@ -167,7 +167,7 @@
|
||||
<li class="list-group-item">
|
||||
@if($selectedRecipePosition->recipe_amount == round($selectedRecipePosition->recipe_amount, 2)){{ round($selectedRecipePosition->recipe_amount, 2) }}@else{{ $selectedRecipePosition->recipe_amount }}@endif {{ Pluralize($selectedRecipePosition->recipe_amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }}
|
||||
@if($selectedRecipePosition->need_fulfilled == 1)<i class="fas fa-check text-success"></i>@elseif($selectedRecipePosition->need_fulfilled_with_shopping_list == 1)<i class="fas fa-exclamation text-warning"></i>@else<i class="fas fa-times text-danger"></i>@endif
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $L('Enough in stock') }} @else {{ $L('Not enough in stock, #1 missing, #2 already on shopping list', round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif</span>
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %s missing, %s already on shopping list', round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($selectedRecipeSubRecipesPositions, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif</span>
|
||||
|
||||
@if(!empty($selectedRecipePosition->note))
|
||||
<div class="text-muted">{!! nl2br($selectedRecipePosition->note) !!}</div>
|
||||
@@ -179,7 +179,7 @@
|
||||
@endif
|
||||
@if(!empty($selectedRecipeSubRecipe->description))
|
||||
<div class="card-body">
|
||||
<h5>{{ $L('Preparation') }}</h5>
|
||||
<h5>{{ $__t('Preparation') }}</h5>
|
||||
{!! $selectedRecipeSubRecipe->description !!}
|
||||
</div>
|
||||
@endif
|
||||
@@ -192,7 +192,7 @@
|
||||
|
||||
@if($selectedRecipePositionsResolved->count() > 0)
|
||||
<div class="card-body">
|
||||
<h5 class="mb-0">{{ $L('Ingredients') }}</h5>
|
||||
<h5 class="mb-0">{{ $__t('Ingredients') }}</h5>
|
||||
</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
@php $lastGroup = 'undefined'; @endphp
|
||||
@@ -203,7 +203,7 @@
|
||||
<li class="list-group-item">
|
||||
@if($selectedRecipePosition->recipe_amount == round($selectedRecipePosition->recipe_amount, 2)){{ round($selectedRecipePosition->recipe_amount, 2) }}@else{{ $selectedRecipePosition->recipe_amount }}@endif {{ Pluralize($selectedRecipePosition->recipe_amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', $selectedRecipePosition->qu_id)->name_plural) }} {{ FindObjectInArrayByPropertyValue($products, 'id', $selectedRecipePosition->product_id)->name }}
|
||||
@if($selectedRecipePosition->need_fulfilled == 1)<i class="fas fa-check text-success"></i>@elseif($selectedRecipePosition->need_fulfilled_with_shopping_list == 1)<i class="fas fa-exclamation text-warning"></i>@else<i class="fas fa-times text-danger"></i>@endif
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $L('Enough in stock') }} @else {{ $L('Not enough in stock, #1 missing, #2 already on shopping list', round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif</span>
|
||||
<span class="timeago-contextual">@if(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->need_fulfilled == 1) {{ $__t('Enough in stock') }} @else {{ $__t('Not enough in stock, %s missing, %s already on shopping list', round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->missing_amount, 2), round(FindObjectInArrayByPropertyValue($recipePositionsResolved, 'recipe_pos_id', $selectedRecipePosition->id)->amount_on_shopping_list, 2)) }} @endif</span>
|
||||
|
||||
@if(!empty($selectedRecipePosition->note))
|
||||
<div class="text-muted">{!! nl2br($selectedRecipePosition->note) !!}</div>
|
||||
@@ -215,7 +215,7 @@
|
||||
@endif
|
||||
@if(!empty($selectedRecipe->description))
|
||||
<div class="card-body">
|
||||
<h5>{{ $L('Preparation') }}</h5>
|
||||
<h5>{{ $__t('Preparation') }}</h5>
|
||||
{!! $selectedRecipe->description !!}
|
||||
</div>
|
||||
@endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Shopping list'))
|
||||
@section('title', $__t('Shopping list'))
|
||||
@section('activeNav', 'shoppinglist')
|
||||
@section('viewJsName', 'shoppinglist')
|
||||
|
||||
@@ -21,25 +21,25 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglistitem/new?list=' . $selectedShoppingListId) }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add item') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add item') }}
|
||||
</a>
|
||||
<a id="clear-shopping-list" class="btn btn-outline-danger responsive-button @if($listItems->count() == 0) disabled @endif" href="#">
|
||||
<i class="fas fa-trash"></i> {{ $L('Clear list') }}
|
||||
<i class="fas fa-trash"></i> {{ $__t('Clear list') }}
|
||||
</a>
|
||||
<a id="add-products-below-min-stock-amount" class="btn btn-outline-primary responsive-button" href="#">
|
||||
<i class="fas fa-cart-plus"></i> {{ $L('Add products that are below defined min. stock amount') }}
|
||||
<i class="fas fa-cart-plus"></i> {{ $__t('Add products that are below defined min. stock amount') }}
|
||||
</a>
|
||||
<a id="add-all-items-to-stock-button" class="btn btn-outline-primary responsive-button" href="#">
|
||||
<i class="fas fa-box"></i> {{ $L('Add all list items to stock') }}
|
||||
<i class="fas fa-box"></i> {{ $__t('Add all list items to stock') }}
|
||||
</a>
|
||||
</h1>
|
||||
<p data-status-filter="belowminstockamount" class="btn btn-lg btn-info status-filter-button responsive-button">{{ Pluralize(count($missingProducts), $L('#1 product is below defined min. stock amount', count($missingProducts)), $L('#1 products are below defined min. stock amount', count($missingProducts))) }}</p>
|
||||
<p data-status-filter="belowminstockamount" class="btn btn-lg btn-info status-filter-button responsive-button">{{ Pluralize(count($missingProducts), $__t('%s product is below defined min. stock amount', count($missingProducts)), $__t('%s products are below defined min. stock amount', count($missingProducts))) }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3 border-top border-bottom py-2">
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<label for="selected-shopping-list">{{ $L('Selected shopping list') }}</label>
|
||||
<label for="selected-shopping-list">{{ $__t('Selected shopping list') }}</label>
|
||||
<select class="form-control" id="selected-shopping-list">
|
||||
@foreach($shoppingLists as $shoppingList)
|
||||
<option @if($shoppingList->id == $selectedShoppingListId) selected="selected" @endif value="{{ $shoppingList->id }}">{{ $shoppingList->name }}</option>
|
||||
@@ -49,24 +49,24 @@
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<label for="selected-shopping-list"> </label><br>
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/shoppinglist/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('New shopping list') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('New shopping list') }}
|
||||
</a>
|
||||
<a id="delete-selected-shopping-list" class="btn btn-outline-danger responsive-button @if($selectedShoppingListId == 1) disabled @endif" href="#">
|
||||
<i class="fas fa-trash"></i> {{ $L('Delete shopping list') }}
|
||||
<i class="fas fa-trash"></i> {{ $__t('Delete shopping list') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-4">
|
||||
<label for="status-filter">{{ $L('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="status-filter">
|
||||
<option class="bg-white" value="all">{{ $L('All') }}</option>
|
||||
<option class="bg-info" value="belowminstockamount">{{ $L('Below min. stock amount') }}</option>
|
||||
<option class="bg-white" value="all">{{ $__t('All') }}</option>
|
||||
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -77,8 +77,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Product') }} / <em>{{ $L('Note') }}</em></th>
|
||||
<th>{{ $L('Amount') }}</th>
|
||||
<th>{{ $__t('Product') }} / <em>{{ $__t('Note') }}</em></th>
|
||||
<th>{{ $__t('Amount') }}</th>
|
||||
<th class="d-none">Hiden product group</th>
|
||||
<th class="d-none">Hidden status</th>
|
||||
</tr>
|
||||
@@ -93,7 +93,7 @@
|
||||
<a class="btn btn-sm btn-danger shoppinglist-delete-button" href="#" data-shoppinglist-id="{{ $listItem->id }}">
|
||||
<i class="fas fa-trash"></i>
|
||||
</a>
|
||||
<a class="btn btn-sm btn-primary @if(empty($listItem->product_id)) disabled @else shopping-list-stock-add-workflow-list-item-button @endif" href="{{ $U('/purchase?embedded&flow=shoppinglistitemtostock&product=') }}{{ $listItem->product_id }}&amount={{ $listItem->amount }}&listitemid={{ $listItem->id }}" @if(!empty($listItem->product_id)) data-toggle="tooltip" title="{{ $L('Add #3 #1 of #2 to stock', Pluralize($listItem->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name_plural), FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->name, $listItem->amount) }}" @endif>
|
||||
<a class="btn btn-sm btn-primary @if(empty($listItem->product_id)) disabled @else shopping-list-stock-add-workflow-list-item-button @endif" href="{{ $U('/purchase?embedded&flow=shoppinglistitemtostock&product=') }}{{ $listItem->product_id }}&amount={{ $listItem->amount }}&listitemid={{ $listItem->id }}" @if(!empty($listItem->product_id)) data-toggle="tooltip" title="{{ $__t('Add %s %s of %s to stock', Pluralize($listItem->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name_plural), FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->name, $listItem->amount) }}" @endif>
|
||||
<i class="fas fa-box"></i>
|
||||
</a>
|
||||
</td>
|
||||
@@ -104,7 +104,7 @@
|
||||
{{ $listItem->amount }} @if(!empty($listItem->product_id)){{ Pluralize($listItem->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->qu_id_purchase)->name_plural) }}@endif
|
||||
</td>
|
||||
<td class="d-none">
|
||||
@if(!empty(FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->product_group_id)) {{ FindObjectInArrayByPropertyValue($productGroups, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->product_group_id)->name }} @else <span class="font-italic font-weight-light">{{ $L('Ungrouped') }}</span> @endif
|
||||
@if(!empty(FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->product_group_id)) {{ FindObjectInArrayByPropertyValue($productGroups, 'id', FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->product_group_id)->name }} @else <span class="font-italic font-weight-light">{{ $__t('Ungrouped') }}</span> @endif
|
||||
</td>
|
||||
<td class="d-none">
|
||||
@if(FindObjectInArrayByPropertyValue($missingProducts, 'id', $listItem->product_id) !== null) belowminstockamount @endif
|
||||
@@ -128,8 +128,8 @@
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<span id="shopping-list-stock-add-workflow-purchase-item-count" class="d-none mr-auto"></span>
|
||||
<button id="shopping-list-stock-add-workflow-skip-button" type="button" class="btn btn-primary"><i class="fas fa-angle-double-right"></i> {{ $L('Skip') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $L('Close') }}</button>
|
||||
<button id="shopping-list-stock-add-workflow-skip-button" type="button" class="btn btn-primary"><i class="fas fa-angle-double-right"></i> {{ $__t('Skip') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit shopping list'))
|
||||
@section('title', $__t('Edit shopping list'))
|
||||
@else
|
||||
@section('title', $L('Create shopping list'))
|
||||
@section('title', $__t('Create shopping list'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'shoppinglistform')
|
||||
@@ -22,17 +22,17 @@
|
||||
<form id="shopping-list-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $shoppingList->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $shoppingList->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
<button id="save-shopping-list-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-shopping-list-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit shopping list item'))
|
||||
@section('title', $__t('Edit shopping list item'))
|
||||
@else
|
||||
@section('title', $L('Create shopping list item'))
|
||||
@section('title', $__t('Create shopping list item'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'shoppinglistitemform')
|
||||
@@ -36,15 +36,15 @@
|
||||
'hintId' => 'amount_qu_unit',
|
||||
'min' => 0,
|
||||
'value' => $value,
|
||||
'invalidFeedback' => $L('The amount cannot be lower than #1', '1')
|
||||
'invalidFeedback' => $__t('The amount cannot be lower than %s', '1')
|
||||
))
|
||||
|
||||
<div class="form-group">
|
||||
<label for="note">{{ $L('Note') }}</label>
|
||||
<label for="note">{{ $__t('Note') }}</label>
|
||||
<textarea class="form-control" rows="2" id="note" name="note">@if($mode == 'edit'){{ $listItem->note }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
<button id="save-shoppinglist-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-shoppinglist-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Stock journal'))
|
||||
@section('title', $__t('Stock journal'))
|
||||
@section('activeNav', 'stockjournal')
|
||||
@section('viewJsName', 'stockjournal')
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
<div class="row my-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="product-filter">{{ $L('Filter by product') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="product-filter">{{ $__t('Filter by product') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="product-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($products as $product)
|
||||
<option value="{{ $product->id }}">{{ $product->name }}</option>
|
||||
@endforeach
|
||||
@@ -33,17 +33,17 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Product') }}</th>
|
||||
<th>{{ $L('Amount') }}</th>
|
||||
<th>{{ $L('Booking time') }}</th>
|
||||
<th>{{ $L('Booking type') }}</th>
|
||||
<th>{{ $__t('Product') }}</th>
|
||||
<th>{{ $__t('Amount') }}</th>
|
||||
<th>{{ $__t('Booking time') }}</th>
|
||||
<th>{{ $__t('Booking type') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@foreach($stockLog as $stockLogEntry)
|
||||
<tr class="@if($stockLogEntry->undone == 1) text-muted @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-secondary btn-sm undo-stock-booking-button @if($stockLogEntry->undone == 1) disabled @endif" href="#" data-booking-id="{{ $stockLogEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $L('Undo booking') }}">
|
||||
<a class="btn btn-secondary btn-sm undo-stock-booking-button @if($stockLogEntry->undone == 1) disabled @endif" href="#" data-booking-id="{{ $stockLogEntry->id }}" data-toggle="tooltip" data-placement="left" title="{{ $__t('Undo booking') }}">
|
||||
<i class="fas fa-undo"></i>
|
||||
</a>
|
||||
</td>
|
||||
@@ -51,7 +51,7 @@
|
||||
<span class="name-anchor @if($stockLogEntry->undone == 1) text-strike-through @endif">{{ FindObjectInArrayByPropertyValue($products, 'id', $stockLogEntry->product_id)->name }}</span>
|
||||
@if($stockLogEntry->undone == 1)
|
||||
<br>
|
||||
{{ $L('Undone on') . ' ' . $stockLogEntry->undone_timestamp }}
|
||||
{{ $__t('Undone on') . ' ' . $stockLogEntry->undone_timestamp }}
|
||||
<time class="timeago timeago-contextual" datetime="{{ $stockLogEntry->undone_timestamp }}"></time>
|
||||
@endif
|
||||
</td>
|
||||
@@ -63,7 +63,7 @@
|
||||
<time class="timeago timeago-contextual" datetime="{{ $stockLogEntry->row_created_timestamp }}"></time>
|
||||
</td>
|
||||
<td>
|
||||
{{ $L($stockLogEntry->transaction_type) }}
|
||||
{{ $__t$stockLogEntry->transaction_type) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Stock overview'))
|
||||
@section('title', $__t('Stock overview'))
|
||||
@section('activeNav', 'stockoverview')
|
||||
@section('viewJsName', 'stockoverview')
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<h1>@yield('title')
|
||||
<small id="info-current-stock" class="text-muted"></small>
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/stockjournal') }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Journal') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Journal') }}
|
||||
</a>
|
||||
</h1>
|
||||
<p id="info-expiring-products" data-next-x-days="{{ $nextXDays }}" data-status-filter="expiring" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p>
|
||||
@@ -33,34 +33,34 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="location-filter">{{ $L('Filter by location') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="location-filter">{{ $__t('Filter by location') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="location-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($locations as $location)
|
||||
<option value="{{ $location->name }}">{{ $location->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="location-filter">{{ $L('Filter by product group') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="location-filter">{{ $__t('Filter by product group') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="product-group-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($productGroups as $productGroup)
|
||||
<option value="{{ $productGroup->name }}">{{ $productGroup->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="status-filter">{{ $L('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="status-filter">
|
||||
<option class="bg-white" value="all">{{ $L('All') }}</option>
|
||||
<option class="bg-warning" value="expiring">{{ $L('Expiring soon') }}</option>
|
||||
<option class="bg-danger" value="expired">{{ $L('Already expired') }}</option>
|
||||
<option class="bg-info" value="belowminstockamount">{{ $L('Below min. stock amount') }}</option>
|
||||
<option class="bg-white" value="all">{{ $__t('All') }}</option>
|
||||
<option class="bg-warning" value="expiring">{{ $__t('Expiring soon') }}</option>
|
||||
<option class="bg-danger" value="expired">{{ $__t('Already expired') }}</option>
|
||||
<option class="bg-info" value="belowminstockamount">{{ $__t('Below min. stock amount') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -71,9 +71,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Product') }}</th>
|
||||
<th>{{ $L('Amount') }}</th>
|
||||
<th>{{ $L('Next best before date') }}</th>
|
||||
<th>{{ $__t('Product') }}</th>
|
||||
<th>{{ $__t('Amount') }}</th>
|
||||
<th>{{ $__t('Next best before date') }}</th>
|
||||
<th class="d-none">Hidden location</th>
|
||||
<th class="d-none">Hidden status</th>
|
||||
<th class="d-none">Hidden product group</th>
|
||||
@@ -88,21 +88,21 @@
|
||||
@foreach($currentStock as $currentStockEntry)
|
||||
<tr id="product-{{ $currentStockEntry->product_id }}-row" class="@if($currentStockEntry->best_before_date < date('Y-m-d 23:59:59', strtotime('-1 days')) && $currentStockEntry->amount > 0) table-danger @elseif($currentStockEntry->best_before_date < date('Y-m-d 23:59:59', strtotime("+$nextXDays days")) && $currentStockEntry->amount > 0) table-warning @elseif (FindObjectInArrayByPropertyValue($missingProducts, 'id', $currentStockEntry->product_id) !== null) table-info @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-success btn-sm product-consume-button @if($currentStockEntry->amount < 1) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $L('Consume #3 #1 of #2', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
<a class="btn btn-success btn-sm product-consume-button @if($currentStockEntry->amount < 1) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $__t('Consume %s %s of %s', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
data-product-id="{{ $currentStockEntry->product_id }}"
|
||||
data-product-name="{{ FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name }}"
|
||||
data-product-qu-name="{{ FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name }}"
|
||||
data-consume-amount="1">
|
||||
<i class="fas fa-utensils"></i> 1
|
||||
</a>
|
||||
<a id="product-{{ $currentStockEntry->product_id }}-consume-all-button" class="btn btn-danger btn-sm product-consume-button @if($currentStockEntry->amount == 0) disabled @endif" href="#" data-toggle="tooltip" data-placement="right" title="{{ $L('Consume all #1 which are currently in stock', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name) }}"
|
||||
<a id="product-{{ $currentStockEntry->product_id }}-consume-all-button" class="btn btn-danger btn-sm product-consume-button @if($currentStockEntry->amount == 0) disabled @endif" href="#" data-toggle="tooltip" data-placement="right" title="{{ $__t('Consume all %s which are currently in stock', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name) }}"
|
||||
data-product-id="{{ $currentStockEntry->product_id }}"
|
||||
data-product-name="{{ FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name }}"
|
||||
data-product-qu-name="{{ FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name }}"
|
||||
data-consume-amount="{{ $currentStockEntry->amount }}">
|
||||
<i class="fas fa-utensils"></i> {{ $L('All') }}
|
||||
<i class="fas fa-utensils"></i> {{ $__t('All') }}
|
||||
</a>
|
||||
<a class="btn btn-success btn-sm product-open-button @if($currentStockEntry->amount < 1 || $currentStockEntry->amount == $currentStockEntry->amount_opened) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $L('Mark #3 #1 of #2 as open', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
<a class="btn btn-success btn-sm product-open-button @if($currentStockEntry->amount < 1 || $currentStockEntry->amount == $currentStockEntry->amount_opened) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $__t('Mark %s %s of %s as open', FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name, 1) }}"
|
||||
data-product-id="{{ $currentStockEntry->product_id }}"
|
||||
data-product-name="{{ FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->name }}"
|
||||
data-product-qu-name="{{ FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name }}">
|
||||
@@ -114,13 +114,13 @@
|
||||
</button>
|
||||
<div class="dropdown-menu">
|
||||
<a class="dropdown-item product-name-cell" data-product-id="{{ $currentStockEntry->product_id }}" type="button" href="#">
|
||||
<i class="fas fa-info"></i> {{ $L('Show product details') }}
|
||||
<i class="fas fa-info"></i> {{ $__t('Show product details') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/stockjournal?product=') }}{{ $currentStockEntry->product_id }}">
|
||||
<i class="fas fa-file-alt"></i> {{ $L('Stock journal for this product') }}
|
||||
<i class="fas fa-file-alt"></i> {{ $__t('Stock journal for this product') }}
|
||||
</a>
|
||||
<a class="dropdown-item" type="button" href="{{ $U('/product/') }}{{ $currentStockEntry->product_id }}">
|
||||
<i class="fas fa-edit"></i> {{ $L('Edit product') }}
|
||||
<i class="fas fa-edit"></i> {{ $__t('Edit product') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -130,7 +130,7 @@
|
||||
</td>
|
||||
<td>
|
||||
<span id="product-{{ $currentStockEntry->product_id }}-amount">{{ $currentStockEntry->amount }}</span> {{ Pluralize($currentStockEntry->amount, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name, FindObjectInArrayByPropertyValue($quantityunits, 'id', FindObjectInArrayByPropertyValue($products, 'id', $currentStockEntry->product_id)->qu_id_stock)->name_plural) }}
|
||||
<span id="product-{{ $currentStockEntry->product_id }}-opened-amount" class="small font-italic">@if($currentStockEntry->amount_opened > 0){{ $L('#1 opened', $currentStockEntry->amount_opened) }}@endif</span>
|
||||
<span id="product-{{ $currentStockEntry->product_id }}-opened-amount" class="small font-italic">@if($currentStockEntry->amount_opened > 0){{ $__t('%s opened', $currentStockEntry->amount_opened) }}@endif</span>
|
||||
</td>
|
||||
<td>
|
||||
<span id="product-{{ $currentStockEntry->product_id }}-next-best-before-date">{{ $currentStockEntry->best_before_date }}</span>
|
||||
@@ -168,7 +168,7 @@
|
||||
@include('components.productcard')
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $L('Close') }}</button>
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">{{ $__t('Close') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Stock settings'))
|
||||
@section('title', $__t('Stock settings'))
|
||||
|
||||
@section('viewJsName', 'stocksettings')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>@yield('title')</h1>
|
||||
|
||||
<div id="productpresets">
|
||||
<h4>{{ $L('Presets for new products') }}</h4>
|
||||
<h4>{{ $__t('Presets for new products') }}</h4>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="product_presets_location_id">{{ $L('Location') }}</label>
|
||||
<label for="product_presets_location_id">{{ $__t('Location') }}</label>
|
||||
<select class="form-control user-setting-control" id="product_presets_location_id" data-setting-key="product_presets_location_id">
|
||||
<option value="-1"></option>
|
||||
@foreach($locations as $location)
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="product_presets_product_group_id">{{ $L('Product group') }}</label>
|
||||
<label for="product_presets_product_group_id">{{ $__t('Product group') }}</label>
|
||||
<select class="form-control user-setting-control" id="product_presets_product_group_id" data-setting-key="product_presets_product_group_id">
|
||||
<option value="-1"></option>
|
||||
@foreach($productGroups as $productGroup)
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="product_presets_qu_id">{{ $L('Quantity unit') }}</label>
|
||||
<label for="product_presets_qu_id">{{ $__t('Quantity unit') }}</label>
|
||||
<select class="form-control user-setting-control" id="product_presets_qu_id" data-setting-key="product_presets_qu_id">
|
||||
<option value="-1"></option>
|
||||
@foreach($quantityunits as $quantityunit)
|
||||
@@ -43,29 +43,29 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 class="mt-2">{{ $L('Stock overview') }}</h4>
|
||||
<h4 class="mt-2">{{ $__t('Stock overview') }}</h4>
|
||||
@include('components.numberpicker', array(
|
||||
'id' => 'stock_expring_soon_days',
|
||||
'additionalAttributes' => 'data-setting-key="stock_expring_soon_days"',
|
||||
'label' => 'Expiring soon days',
|
||||
'min' => 1,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'additionalCssClasses' => 'user-setting-control'
|
||||
))
|
||||
|
||||
@if(GROCY_FEATURE_FLAG_SHOPPINGLIST)
|
||||
<h4 class="mt-2">{{ $L('Shopping list to stock workflow') }}</h4>
|
||||
<h4 class="mt-2">{{ $__t('Shopping list to stock workflow') }}</h4>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="checkbox">
|
||||
<label for="shopping-list-to-stock-workflow-auto-submit-when-prefilled">
|
||||
<input type="checkbox" class="user-setting-control" id="shopping-list-to-stock-workflow-auto-submit-when-prefilled" name="shopping-list-to-stock-workflow-auto-submit-when-prefilled" data-setting-key="shopping_list_to_stock_workflow_auto_submit_when_prefilled"> {{ $L('Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set') }}
|
||||
<input type="checkbox" class="user-setting-control" id="shopping-list-to-stock-workflow-auto-submit-when-prefilled" name="shopping-list-to-stock-workflow-auto-submit-when-prefilled" data-setting-key="shopping_list_to_stock_workflow_auto_submit_when_prefilled"> {{ $__t('Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<a href="{{ $U('/stockoverview') }}" class="btn btn-success">{{ $L('OK') }}</a>
|
||||
<a href="{{ $U('/stockoverview') }}" class="btn btn-success">{{ $__t('OK') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Task categories'))
|
||||
@section('title', $__t('Task categories'))
|
||||
@section('activeNav', 'taskcategories')
|
||||
@section('viewJsName', 'taskcategories')
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/taskcategory/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
<a class="btn btn-outline-secondary" href="{{ $U('/userfields?entity=task_categories') }}">
|
||||
<i class="fas fa-sliders-h"></i> {{ $L('Configure userfields') }}
|
||||
<i class="fas fa-sliders-h"></i> {{ $__t('Configure userfields') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,8 +32,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Description') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Description') }}</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
'userfields' => $userfields
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit task category'))
|
||||
@section('title', $__t('Edit task category'))
|
||||
@else
|
||||
@section('title', $L('Create task category'))
|
||||
@section('title', $__t('Create task category'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'taskcategoryform')
|
||||
@@ -22,13 +22,13 @@
|
||||
<form id="task-category-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $category->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $category->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
'entity' => 'task_categories'
|
||||
))
|
||||
|
||||
<button id="save-task-category-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-task-category-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit task'))
|
||||
@section('title', $__t('Edit task'))
|
||||
@else
|
||||
@section('title', $L('Create task'))
|
||||
@section('title', $__t('Create task'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'taskform')
|
||||
@@ -22,13 +22,13 @@
|
||||
<form id="task-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required id="name" name="name" value="@if($mode == 'edit'){{ $task->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A name is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A name is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description">{{ $L('Description') }}</label>
|
||||
<label for="description">{{ $__t('Description') }}</label>
|
||||
<textarea class="form-control" rows="2" id="description" name="description">@if($mode == 'edit'){{ $task->description }}@endif</textarea>
|
||||
</div>
|
||||
|
||||
@@ -47,14 +47,14 @@
|
||||
'initialValue' => $initialDueDate,
|
||||
'limitEndToNow' => false,
|
||||
'limitStartToNow' => false,
|
||||
'invalidFeedback' => $L('A due date is required'),
|
||||
'invalidFeedback' => $__t('A due date is required'),
|
||||
'nextInputSelector' => 'category_id',
|
||||
'additionalGroupCssClasses' => 'date-only-datetimepicker',
|
||||
'isRequired' => false
|
||||
))
|
||||
|
||||
<div class="form-group">
|
||||
<label for="category_id">{{ $L('Category') }}</label>
|
||||
<label for="category_id">{{ $__t('Category') }}</label>
|
||||
<select class="form-control" id="category_id" name="category_id">
|
||||
<option></option>
|
||||
@foreach($taskCategories as $taskCategory)
|
||||
@@ -81,7 +81,7 @@
|
||||
'entity' => 'tasks'
|
||||
))
|
||||
|
||||
<button id="save-task-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-task-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Tasks'))
|
||||
@section('title', $__t('Tasks'))
|
||||
@section('activeNav', 'tasks')
|
||||
@section('viewJsName', 'tasks')
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark responsive-button" href="{{ $U('/task/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
<p id="info-due-tasks" data-status-filter="duesoon" data-next-x-days="{{ $nextXDays }}" class="btn btn-lg btn-warning status-filter-button responsive-button mr-2"></p>
|
||||
@@ -30,22 +30,22 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="status-filter">{{ $L('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="status-filter">{{ $__t('Filter by status') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="status-filter">
|
||||
<option class="bg-white" value="all">{{ $L('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $L('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $L('Overdue') }}</option>
|
||||
<option class="bg-white" value="all">{{ $__t('All') }}</option>
|
||||
<option class="bg-warning" value="duesoon">{{ $__t('Due soon') }}</option>
|
||||
<option class="bg-danger" value="overdue">{{ $__t('Overdue') }}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3 d-flex align-items-end">
|
||||
<div class="form-check">
|
||||
<input class="form-check-input" type="checkbox" id="show-done-tasks">
|
||||
<label class="form-check-label" for="show-done-tasks">
|
||||
{{ $L('Show done tasks') }}
|
||||
{{ $__t('Show done tasks') }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -57,10 +57,10 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Task') }}</th>
|
||||
<th>{{ $L('Due') }}</th>
|
||||
<th>{{ $__t('Task') }}</th>
|
||||
<th>{{ $__t('Due') }}</th>
|
||||
<th class="d-none">Hidden category</th>
|
||||
<th>{{ $L('Assigned to') }}</th>
|
||||
<th>{{ $__t('Assigned to') }}</th>
|
||||
<th class="d-none">Hidden status</th>
|
||||
|
||||
@include('components.userfields_thead', array(
|
||||
@@ -73,7 +73,7 @@
|
||||
@foreach($tasks as $task)
|
||||
<tr id="task-{{ $task->id }}-row" class="@if($task->done == 1) text-muted @endif @if(!empty($task->due_date) && $task->due_date < date('Y-m-d')) table-danger @elseif(!empty($task->due_date) && $task->due_date < date('Y-m-d', strtotime("+$nextXDays days"))) table-warning @endif">
|
||||
<td class="fit-content border-right">
|
||||
<a class="btn btn-success btn-sm do-task-button @if($task->done == 1) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $L('Mark task "#1" as completed', $task->name) }}"
|
||||
<a class="btn btn-success btn-sm do-task-button @if($task->done == 1) disabled @endif" href="#" data-toggle="tooltip" data-placement="left" title="{{ $__t('Mark task "%s" as completed', $task->name) }}"
|
||||
data-task-id="{{ $task->id }}"
|
||||
data-task-name="{{ $task->name }}">
|
||||
<i class="fas fa-check"></i>
|
||||
@@ -95,7 +95,7 @@
|
||||
<time class="timeago timeago-contextual" datetime="{{ $task->due_date }}"></time>
|
||||
</td>
|
||||
<td class="d-none">
|
||||
@if($task->category_id != null) <span>{{ FindObjectInArrayByPropertyValue($taskCategories, 'id', $task->category_id)->name }}</span> @else <span class="font-italic font-weight-light">{{ $L('Uncategorized') }}</span>@endif
|
||||
@if($task->category_id != null) <span>{{ FindObjectInArrayByPropertyValue($taskCategories, 'id', $task->category_id)->name }}</span> @else <span class="font-italic font-weight-light">{{ $__t('Uncategorized') }}</span>@endif
|
||||
</td>
|
||||
<td>
|
||||
@if($task->assigned_to_user_id != null) <span>{{ GetUserDisplayName(FindObjectInArrayByPropertyValue($users, 'id', $task->assigned_to_user_id)) }}</span> @endif
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Tasks settings'))
|
||||
@section('title', $__t('Tasks settings'))
|
||||
|
||||
@section('viewJsName', 'taskssettings')
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
'additionalAttributes' => 'data-setting-key="tasks_due_soon_days"',
|
||||
'label' => 'Tasks due soon days',
|
||||
'min' => 1,
|
||||
'invalidFeedback' => $L('This cannot be lower than #1', '1'),
|
||||
'invalidFeedback' => $__t('This cannot be lower than %s', '1'),
|
||||
'additionalCssClasses' => 'user-setting-control'
|
||||
))
|
||||
|
||||
<a href="{{ $U('/tasks') }}" class="btn btn-success">{{ $L('OK') }}</a>
|
||||
<a href="{{ $U('/tasks') }}" class="btn btn-success">{{ $__t('OK') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit userfield'))
|
||||
@section('title', $__t('Edit userfield'))
|
||||
@else
|
||||
@section('title', $L('Create userfield'))
|
||||
@section('title', $__t('Create userfield'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'userfieldform')
|
||||
@@ -22,48 +22,48 @@
|
||||
<form id="userfield-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="entity">{{ $L('Entity') }}</label>
|
||||
<label for="entity">{{ $__t('Entity') }}</label>
|
||||
<select required class="form-control" id="entity" name="entity">
|
||||
<option></option>
|
||||
@foreach($entities as $entity)
|
||||
<option @if($mode == 'edit' && $userfield->entity == $entity) selected="selected" @endif value="{{ $entity }}">{{ $entity }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A entity is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A entity is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Name') }}</label>
|
||||
<label for="name">{{ $__t('Name') }}</label>
|
||||
<input type="text" class="form-control" required pattern="^[a-zA-Z0-9]*$" id="name" name="name" value="@if($mode == 'edit'){{ $userfield->name }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('This is required and can only contain letters and numbers') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('This is required and can only contain letters and numbers') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="name">{{ $L('Caption') }}</label>
|
||||
<label for="name">{{ $__t('Caption') }}</label>
|
||||
<input type="text" class="form-control" required id="caption" name="caption" value="@if($mode == 'edit'){{ $userfield->caption }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A caption is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A caption is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="entity">{{ $L('Type') }}</label>
|
||||
<label for="entity">{{ $__t('Type') }}</label>
|
||||
<select required class="form-control" id="type" name="type">
|
||||
<option></option>
|
||||
@foreach($userfieldTypes as $userfieldType)
|
||||
<option @if($mode == 'edit' && $userfield->type == $userfieldType) selected="selected" @endif value="{{ $userfieldType }}">{{ $L($userfieldType) }}</option>
|
||||
<option @if($mode == 'edit' && $userfield->type == $userfieldType) selected="selected" @endif value="{{ $userfieldType }}">{{ $__t$userfieldType) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="invalid-feedback">{{ $L('A type is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A type is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="form-check">
|
||||
<input type="hidden" name="show_as_column_in_tables" value="0">
|
||||
<input @if($mode == 'edit' && $userfield->show_as_column_in_tables == 1) checked @endif class="form-check-input" type="checkbox" id="show_as_column_in_tables" name="show_as_column_in_tables" value="1">
|
||||
<label class="form-check-label" for="show_as_column_in_tables">{{ $L('Show as column in tables') }}</label>
|
||||
<label class="form-check-label" for="show_as_column_in_tables">{{ $__t('Show as column in tables') }}</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button id="save-userfield-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-userfield-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Userfields'))
|
||||
@section('title', $__t('Userfields'))
|
||||
@section('activeNav', 'userfields')
|
||||
@section('viewJsName', 'userfields')
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a id="new-userfield-button" class="btn btn-outline-dark" href="{{ $U('/userfield/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -18,13 +18,13 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="entity-filter">{{ $L('Filter by entity') }}</label> <i class="fas fa-filter"></i>
|
||||
<label for="entity-filter">{{ $__t('Filter by entity') }}</label> <i class="fas fa-filter"></i>
|
||||
<select class="form-control" id="entity-filter">
|
||||
<option value="all">{{ $L('All') }}</option>
|
||||
<option value="all">{{ $__t('All') }}</option>
|
||||
@foreach($entities as $entity)
|
||||
<option value="{{ $entity }}">{{ $entity }}</option>
|
||||
@endforeach
|
||||
@@ -38,10 +38,10 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Entity') }}</th>
|
||||
<th>{{ $L('Name') }}</th>
|
||||
<th>{{ $L('Caption') }}</th>
|
||||
<th>{{ $L('Type') }}</th>
|
||||
<th>{{ $__t('Entity') }}</th>
|
||||
<th>{{ $__t('Name') }}</th>
|
||||
<th>{{ $__t('Caption') }}</th>
|
||||
<th>{{ $__t('Type') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
@@ -65,7 +65,7 @@
|
||||
{{ $userfield->caption }}
|
||||
</td>
|
||||
<td>
|
||||
{{ $L($userfield->type) }}
|
||||
{{ $__t$userfield->type) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
@@ -1,9 +1,9 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@if($mode == 'edit')
|
||||
@section('title', $L('Edit user'))
|
||||
@section('title', $__t('Edit user'))
|
||||
@else
|
||||
@section('title', $L('Create user'))
|
||||
@section('title', $__t('Create user'))
|
||||
@endif
|
||||
|
||||
@section('viewJsName', 'userform')
|
||||
@@ -22,33 +22,33 @@
|
||||
<form id="user-form" novalidate>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="username">{{ $L('Username') }}</label>
|
||||
<label for="username">{{ $__t('Username') }}</label>
|
||||
<input type="text" class="form-control" required id="username" name="username" value="@if($mode == 'edit'){{ $user->username }}@endif">
|
||||
<div class="invalid-feedback">{{ $L('A username is required') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('A username is required') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="first_name">{{ $L('First name') }}</label>
|
||||
<label for="first_name">{{ $__t('First name') }}</label>
|
||||
<input type="text" class="form-control" id="first_name" name="first_name" value="@if($mode == 'edit'){{ $user->first_name }}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="last_name">{{ $L('Last name') }}</label>
|
||||
<label for="last_name">{{ $__t('Last name') }}</label>
|
||||
<input type="text" class="form-control" id="last_name" name="last_name" value="@if($mode == 'edit'){{ $user->last_name }}@endif">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password">{{ $L('Password') }}</label>
|
||||
<label for="password">{{ $__t('Password') }}</label>
|
||||
<input type="password" class="form-control" required id="password" name="password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password_confirm">{{ $L('Confirm password') }}</label>
|
||||
<label for="password_confirm">{{ $__t('Confirm password') }}</label>
|
||||
<input type="password" class="form-control" required id="password_confirm" name="password_confirm">
|
||||
<div class="invalid-feedback">{{ $L('Passwords do not match') }}</div>
|
||||
<div class="invalid-feedback">{{ $__t('Passwords do not match') }}</div>
|
||||
</div>
|
||||
|
||||
<button id="save-user-button" class="btn btn-success">{{ $L('Save') }}</button>
|
||||
<button id="save-user-button" class="btn btn-success">{{ $__t('Save') }}</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
@extends('layout.default')
|
||||
|
||||
@section('title', $L('Users'))
|
||||
@section('title', $__t('Users'))
|
||||
@section('activeNav', '')
|
||||
@section('viewJsName', 'users')
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<h1>
|
||||
@yield('title')
|
||||
<a class="btn btn-outline-dark" href="{{ $U('/user/new') }}">
|
||||
<i class="fas fa-plus"></i> {{ $L('Add') }}
|
||||
<i class="fas fa-plus"></i> {{ $__t('Add') }}
|
||||
</a>
|
||||
</h1>
|
||||
</div>
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="row mt-3">
|
||||
<div class="col-xs-12 col-md-6 col-xl-3">
|
||||
<label for="search">{{ $L('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<label for="search">{{ $__t('Search') }}</label> <i class="fas fa-search"></i>
|
||||
<input type="text" class="form-control" id="search">
|
||||
</div>
|
||||
</div>
|
||||
@@ -29,9 +29,9 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-right"></th>
|
||||
<th>{{ $L('Username') }}</th>
|
||||
<th>{{ $L('First name') }}</th>
|
||||
<th>{{ $L('Last name') }}</th>
|
||||
<th>{{ $__t('Username') }}</th>
|
||||
<th>{{ $__t('First name') }}</th>
|
||||
<th>{{ $__t('Last name') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="d-none">
|
||||
|
Reference in New Issue
Block a user