Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f64261c68 | |||
| c31190a128 | |||
| de50ec30b7 | |||
| c0fe308d7d | |||
| 0a20141b7c | |||
| e61143f746 | |||
| 69dc91d225 | |||
| 6f1c49e14d | |||
| 78acc3685d | |||
| fa26e23383 | |||
| 155df0a94d | |||
| 9bf1e2401d | |||
| a54ed750a3 | |||
| 4d2416ab96 | |||
| 61ae30528a | |||
| e883eb70b9 | |||
| a5b1379cdb | |||
| ef64210ed2 | |||
| f29846ec20 | |||
| d2b4d84374 | |||
| dfe3f5fb9f | |||
| 8dbb19eb82 | |||
| 45cdff6920 | |||
| f4b9138a3f | |||
| f5dbf27592 | |||
| 0c59ca70cf |
+1
-1
@@ -133,7 +133,7 @@ BS_TABLE_DEEPLINK=true
|
||||
APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1
|
||||
ALLOW_IFRAMING=false
|
||||
REFERRER_POLICY=same-origin
|
||||
ENABLE_CSP=false
|
||||
ENABLE_CSP=true
|
||||
ADDITIONAL_CSP_URLS=null
|
||||
CORS_ALLOWED_ORIGINS=null
|
||||
ENABLE_HSTS=false
|
||||
|
||||
@@ -371,6 +371,12 @@ class AssetsController extends Controller
|
||||
$assets->where('assets.order_number', '=', strval($request->input('order_number')));
|
||||
}
|
||||
|
||||
foreach ($all_custom_fields as $field) {
|
||||
if ($request->filled($field->db_column_name())) {
|
||||
$assets->where($field->db_column_name(), '=', $request->input($field->db_column_name()));
|
||||
}
|
||||
}
|
||||
|
||||
// This is kinda gross, but we need to do this because the Bootstrap Tables
|
||||
// API passes custom field ordering as custom_fields.fieldname, and we have to strip
|
||||
// that out to let the default sorter below order them correctly on the assets table.
|
||||
|
||||
@@ -84,7 +84,7 @@ class AssetCheckinController extends Controller
|
||||
public function store(AssetCheckinRequest $request, $assetId = null, $backto = null): RedirectResponse
|
||||
{
|
||||
// Check if the asset exists
|
||||
if (is_null($asset = Asset::find($assetId))) {
|
||||
if (is_null($asset = Asset::withTrashed()->find($assetId))) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
|
||||
@@ -783,7 +783,7 @@ class BulkAssetsController extends Controller
|
||||
$notAssigned = collect();
|
||||
|
||||
if (old('selected_assets') && is_array(old('selected_assets'))) {
|
||||
$assets = Asset::findMany(old('selected_assets'));
|
||||
$assets = Asset::withTrashed()->findMany(old('selected_assets'));
|
||||
|
||||
[$assigned, $notAssigned] = $assets->partition(function (Asset $asset) {
|
||||
return $asset->assigned_to;
|
||||
@@ -814,7 +814,7 @@ class BulkAssetsController extends Controller
|
||||
|
||||
$asset_ids = array_filter($request->input('selected_assets'));
|
||||
|
||||
$assets = Asset::findOrFail($asset_ids);
|
||||
$assets = Asset::withTrashed()->findOrFail($asset_ids);
|
||||
|
||||
$checkin_at = date('Y-m-d H:i:s');
|
||||
if ($request->filled('checkin_at') && $request->input('checkin_at') != date('Y-m-d')) {
|
||||
|
||||
@@ -8,6 +8,7 @@ use App\Models\Asset;
|
||||
use App\Models\Setting;
|
||||
use App\Models\User;
|
||||
use App\Notifications\CurrentInventory;
|
||||
use App\Rules\CssColor;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -63,6 +64,12 @@ class ProfileController extends Controller
|
||||
|
||||
$user->enable_sounds = $request->input('enable_sounds', false);
|
||||
$user->enable_confetti = $request->input('enable_confetti', false);
|
||||
$request->validate([
|
||||
'link_light_color' => ['nullable', new CssColor],
|
||||
'link_dark_color' => ['nullable', new CssColor],
|
||||
'nav_link_color' => ['nullable', new CssColor],
|
||||
]);
|
||||
|
||||
$user->link_light_color = $request->input('link_light_color', '#296282');
|
||||
$user->link_dark_color = $request->input('link_dark_color', '#296282');
|
||||
$user->nav_link_color = $request->input('nav_link_color', '#FFFFFF');
|
||||
|
||||
@@ -19,6 +19,7 @@ use App\Models\Group;
|
||||
use App\Models\Setting;
|
||||
use App\Models\User;
|
||||
use App\Notifications\MailTest;
|
||||
use App\Rules\CssColor;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
@@ -189,6 +190,13 @@ class SettingsController extends Controller
|
||||
$request->validate(['site_name' => 'required']);
|
||||
}
|
||||
|
||||
$request->validate([
|
||||
'header_color' => ['nullable', new CssColor],
|
||||
'link_light_color' => ['nullable', new CssColor],
|
||||
'link_dark_color' => ['nullable', new CssColor],
|
||||
'nav_link_color' => ['nullable', new CssColor],
|
||||
]);
|
||||
|
||||
$setting->header_color = $request->input('header_color', '#3c8dbc');
|
||||
$setting->link_light_color = $request->input('link_light_color', '#296282');
|
||||
$setting->link_dark_color = $request->input('link_dark_color', '#5fa4cc');
|
||||
|
||||
@@ -6,6 +6,7 @@ use App\Http\Requests\SetupUserRequest;
|
||||
use App\Models\Setting;
|
||||
use App\Models\User;
|
||||
use App\Notifications\FirstAdminNotification;
|
||||
use App\Rules\CssColor;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Response;
|
||||
@@ -166,6 +167,12 @@ class SetupController extends Controller
|
||||
$settings->alerts_enabled = 1;
|
||||
$settings->pwd_secure_min = 10;
|
||||
$settings->brand = 1;
|
||||
$request->validate([
|
||||
'link_light_color' => ['nullable', new CssColor],
|
||||
'link_dark_color' => ['nullable', new CssColor],
|
||||
'nav_link_color' => ['nullable', new CssColor],
|
||||
]);
|
||||
|
||||
$settings->link_light_color = $request->input('link_light_color', '#296282');
|
||||
$settings->link_dark_color = $request->input('link_dark_color', '#296282');
|
||||
$settings->nav_link_color = $request->input('nav_link_color', '#FFFFFF');
|
||||
|
||||
+14
-77
@@ -8,6 +8,7 @@ use App\Helpers\Helper;
|
||||
use App\Http\Traits\UniqueUndeletedTrait;
|
||||
use App\Models\Traits\Acceptable;
|
||||
use App\Models\Traits\CompanyableTrait;
|
||||
use App\Models\Traits\HasCustomFields;
|
||||
use App\Models\Traits\HasUploads;
|
||||
use App\Models\Traits\Loggable;
|
||||
use App\Models\Traits\Requestable;
|
||||
@@ -20,7 +21,6 @@ use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Relations\Relation;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Watson\Validating\ValidatingTrait;
|
||||
@@ -37,6 +37,7 @@ class Asset extends Depreciable
|
||||
protected $with = ['model', 'adminuser', 'location', 'company'];
|
||||
|
||||
use CompanyableTrait;
|
||||
use HasCustomFields;
|
||||
use HasFactory;
|
||||
use HasUploads;
|
||||
use Loggable;
|
||||
@@ -252,41 +253,9 @@ class Asset extends Depreciable
|
||||
$this->attributes['expected_checkin'] = $value;
|
||||
}
|
||||
|
||||
public function customFieldValidationRules()
|
||||
protected function getCustomFieldset(): ?CustomFieldset
|
||||
{
|
||||
|
||||
$customFieldValidationRules = [];
|
||||
|
||||
if (($this->model) && ($this->model->fieldset)) {
|
||||
|
||||
foreach ($this->model->fieldset->fields as $field) {
|
||||
|
||||
// this just casts booleans that may come through as strings to an actual boolean type
|
||||
// adding !$field->field_encrypted because when the encrypted value comes through it
|
||||
// screws things up for the encrypted validation rules (and the encrypted string
|
||||
// is not a valid boolean type)
|
||||
if ($field->format == 'BOOLEAN' && ! $field->field_encrypted) {
|
||||
$this->{$field->db_column} = filter_var($this->{$field->db_column}, FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
}
|
||||
|
||||
$customFieldValidationRules += $this->model->fieldset->validation_rules();
|
||||
}
|
||||
|
||||
return $customFieldValidationRules;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This handles the custom field validation for assets
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public function save(array $params = [])
|
||||
{
|
||||
$this->rules += $this->customFieldValidationRules();
|
||||
|
||||
return parent::save($params);
|
||||
return $this->model?->fieldset ?? null;
|
||||
}
|
||||
|
||||
public function getDisplayNameAttribute()
|
||||
@@ -487,16 +456,18 @@ class Asset extends Depreciable
|
||||
|
||||
public function availableForCheckIn()
|
||||
{
|
||||
|
||||
// This asset is currently assigned to anyone and is not deleted...
|
||||
if (($this->assigned_to != '') && ($this->status) && ($this->status->archived == '0')
|
||||
&& ($this->status->deployable == '1')
|
||||
) {
|
||||
return true;
|
||||
|
||||
if ($this->assigned_to == '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
// Deleted assets that are still checked out should always allow checkin
|
||||
if ($this->deleted_at != '') {
|
||||
return true;
|
||||
}
|
||||
|
||||
return $this->status
|
||||
&& ($this->status->archived == '0')
|
||||
&& ($this->status->deployable == '1');
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -606,40 +577,6 @@ class Asset extends Depreciable
|
||||
return $this->rules;
|
||||
}
|
||||
|
||||
public function customFieldsForCheckinCheckout($checkin_checkout)
|
||||
{
|
||||
// Check to see if any of the custom fields were included on the form and if they have any values
|
||||
if (($this->model) && ($this->model->fieldset) && ($this->model->fieldset->fields)) {
|
||||
|
||||
foreach ($this->model->fieldset->fields as $field) {
|
||||
|
||||
if (($field->{$checkin_checkout} == 1) && (request()->has($field->db_column))) {
|
||||
|
||||
if ($field->field_encrypted == '1') {
|
||||
|
||||
if (Gate::allows('assets.view.encrypted_custom_fields')) {
|
||||
if (is_array(request()->input($field->db_column))) {
|
||||
$this->{$field->db_column} = Crypt::encrypt(implode(', ', request()->input($field->db_column)));
|
||||
} else {
|
||||
$this->{$field->db_column} = Crypt::encrypt(request()->input($field->db_column));
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (is_array(request()->input($field->db_column))) {
|
||||
$this->{$field->db_column} = implode(', ', request()->input($field->db_column));
|
||||
} else {
|
||||
$this->{$field->db_column} = request()->input($field->db_column);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function manufacturer()
|
||||
{
|
||||
return $this->hasOneThrough(Manufacturer::class, AssetModel::class, 'id', 'id', 'model_id', 'manufacturer_id');
|
||||
|
||||
@@ -405,6 +405,16 @@ final class Company extends SnipeModel
|
||||
return $query->whereNull($table.$column);
|
||||
}
|
||||
|
||||
// action_logs: a NULL company_id means the logged object (AssetModel, Company, etc.)
|
||||
// has no company_id column of its own. Those are global objects, visible to all users,
|
||||
// so their log entries should not be hidden by the company filter.
|
||||
if ($query->getModel()->getTable() === 'action_logs') {
|
||||
return $query->where(function ($q) use ($table, $column, $companyIds) {
|
||||
$q->whereIn($table.$column, $companyIds)
|
||||
->orWhereNull($table.$column);
|
||||
});
|
||||
}
|
||||
|
||||
return $query->whereIn($table.$column, $companyIds);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,9 @@
|
||||
namespace App\Models;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Rules\CssColor;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
@@ -173,6 +175,34 @@ class Setting extends Model
|
||||
*
|
||||
* @author A. Gianotto <snipe@snipe.net>
|
||||
*/
|
||||
protected function headerColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#3c8dbc'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function linkLightColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#296282'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function linkDarkColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#5fa4cc'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function navLinkColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#ffffff'),
|
||||
);
|
||||
}
|
||||
|
||||
public function show_custom_css(): string
|
||||
{
|
||||
$custom_css = self::getSettings()->custom_css;
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models\Traits;
|
||||
|
||||
use App\Models\CustomFieldset;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
trait HasCustomFields
|
||||
{
|
||||
/**
|
||||
* Return the CustomFieldset for this model instance.
|
||||
* Override in each model to supply the correct fieldset.
|
||||
*/
|
||||
protected function getCustomFieldset(): ?CustomFieldset
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
public function customFieldValidationRules(): array
|
||||
{
|
||||
$fieldset = $this->getCustomFieldset();
|
||||
|
||||
if (! $fieldset) {
|
||||
return [];
|
||||
}
|
||||
|
||||
foreach ($fieldset->fields as $field) {
|
||||
if ($field->format === 'BOOLEAN' && ! $field->field_encrypted) {
|
||||
$this->{$field->db_column} = filter_var($this->{$field->db_column}, FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
}
|
||||
|
||||
return $fieldset->validation_rules();
|
||||
}
|
||||
|
||||
public function save(array $params = [])
|
||||
{
|
||||
$this->rules += $this->customFieldValidationRules();
|
||||
|
||||
return parent::save($params);
|
||||
}
|
||||
|
||||
public function customFieldsForCheckinCheckout(string $checkin_checkout): void
|
||||
{
|
||||
$fieldset = $this->getCustomFieldset();
|
||||
|
||||
if (! $fieldset?->fields) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($fieldset->fields as $field) {
|
||||
if (($field->{$checkin_checkout} == 1) && request()->has($field->db_column)) {
|
||||
if ($field->field_encrypted == '1') {
|
||||
if (Gate::allows('assets.view.encrypted_custom_fields')) {
|
||||
$value = request()->input($field->db_column);
|
||||
$this->{$field->db_column} = Crypt::encrypt(is_array($value) ? implode(', ', $value) : $value);
|
||||
}
|
||||
} else {
|
||||
$value = request()->input($field->db_column);
|
||||
$this->{$field->db_column} = is_array($value) ? implode(', ', $value) : $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,17 @@
|
||||
namespace App\Models\Traits;
|
||||
|
||||
use App\Models\Actionlog;
|
||||
use App\Models\CompanyableScope;
|
||||
|
||||
trait HasUploads
|
||||
{
|
||||
public function uploads()
|
||||
{
|
||||
// Bypass FMCS company scoping: access is already gated by the policy on the
|
||||
// parent object. Objects like AssetModel and Company have no company_id, so
|
||||
// their upload logs always have company_id = null, which the scope would hide.
|
||||
return $this->hasMany(Actionlog::class, 'item_id')
|
||||
->withoutGlobalScope(CompanyableScope::class)
|
||||
->where('item_type', self::class)
|
||||
->where('action_type', '=', 'uploaded')
|
||||
->whereNotNull('filename')
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Models\Traits;
|
||||
|
||||
use App\Models\Actionlog;
|
||||
use App\Models\Asset;
|
||||
use App\Models\CompanyableScope;
|
||||
use App\Models\ICompanyableChild;
|
||||
use App\Models\License;
|
||||
use App\Models\LicenseSeat;
|
||||
@@ -41,13 +42,15 @@ trait Loggable
|
||||
|
||||
public function history()
|
||||
{
|
||||
|
||||
// Bypass FMCS company scoping: access is already gated by the policy on the
|
||||
// parent object. Objects like AssetModel and Company have no company_id, so
|
||||
// their history logs always have company_id = null, which the scope would hide.
|
||||
return $this->morphMany(Actionlog::class, 'item')
|
||||
->withoutGlobalScope(CompanyableScope::class)
|
||||
->orWhere(function ($query) {
|
||||
$query->where('target_type', '=', static::class)
|
||||
->where('target_id', '=', $this->getKey());
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public function getHistory(Request $request)
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\Models\Traits\Loggable;
|
||||
use App\Models\Traits\Searchable;
|
||||
use App\Presenters\Presentable;
|
||||
use App\Presenters\UserPresenter;
|
||||
use App\Rules\CssColor;
|
||||
use Illuminate\Auth\Authenticatable;
|
||||
use Illuminate\Auth\Passwords\CanResetPassword;
|
||||
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
|
||||
@@ -713,6 +714,27 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo
|
||||
return $this->last_name ? $this->first_name.' '.$this->last_name : $this->first_name;
|
||||
}
|
||||
|
||||
protected function linkLightColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#296282'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function linkDarkColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#5fa4cc'),
|
||||
);
|
||||
}
|
||||
|
||||
protected function navLinkColor(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn (?string $value) => CssColor::sanitize($value, '#ffffff'),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Establishes the user -> assets relationship
|
||||
*
|
||||
|
||||
@@ -17,7 +17,7 @@ class AssetPresenter extends Presenter
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function dataTableLayout()
|
||||
public static function dataTableLayout($hide_fields = [])
|
||||
{
|
||||
$layout = [
|
||||
[
|
||||
@@ -278,7 +278,23 @@ class AssetPresenter extends Presenter
|
||||
'title' => trans('general.updated_at'),
|
||||
'visible' => false,
|
||||
'formatter' => 'dateDisplayFormatter',
|
||||
], [
|
||||
],
|
||||
];
|
||||
|
||||
if (! in_array('deleted_at', $hide_fields)) {
|
||||
$layout[] = [
|
||||
'field' => 'deleted_at',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'switchable' => true,
|
||||
'title' => trans('general.deleted_at'),
|
||||
'visible' => true,
|
||||
'formatter' => 'dateDisplayFormatter',
|
||||
];
|
||||
}
|
||||
|
||||
$layout = array_merge($layout, [
|
||||
[
|
||||
'field' => 'last_checkout',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
@@ -323,7 +339,7 @@ class AssetPresenter extends Presenter
|
||||
'formatter' => 'trueFalseFormatter',
|
||||
|
||||
],
|
||||
];
|
||||
]);
|
||||
|
||||
// This looks complicated, but we have to confirm that the custom fields exist in custom fieldsets
|
||||
// *and* those fieldsets are associated with models, otherwise we'll trigger
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
namespace App\Rules;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Translation\PotentiallyTranslatedString;
|
||||
|
||||
class CssColor implements ValidationRule
|
||||
{
|
||||
private static function pattern(): string
|
||||
{
|
||||
$num = '\s*[\d.]+\s*';
|
||||
$pct = '\s*[\d.]+%\s*';
|
||||
$alpha = '(?:,\s*[\d.]+\s*)?';
|
||||
$hex = '#[0-9a-fA-F]{3,8}';
|
||||
$rgb = "rgba?\({$num},{$num},{$num}{$alpha}\)";
|
||||
$hsl = "hsla?\({$num},{$pct},{$pct}{$alpha}\)";
|
||||
|
||||
return "/^(?:{$hex}|{$rgb}|{$hsl})$/i";
|
||||
}
|
||||
|
||||
/**
|
||||
* Return $value if it is a safe CSS color, otherwise return $default.
|
||||
* Use this for defense-in-depth when rendering color values already in the database.
|
||||
*/
|
||||
public static function sanitize(?string $value, string $default): string
|
||||
{
|
||||
if ($value && preg_match(self::pattern(), trim($value))) {
|
||||
return $value;
|
||||
}
|
||||
|
||||
return $default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the validation rule.
|
||||
*
|
||||
* @param Closure(string, ?string=): PotentiallyTranslatedString $fail
|
||||
*/
|
||||
public function validate(string $attribute, mixed $value, Closure $fail): void
|
||||
{
|
||||
if (! preg_match(self::pattern(), $value)) {
|
||||
$fail(trans('validation.valid_css_color'));
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+2
-1
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "ed0655f6c3c75cda1939dfc27b492029",
|
||||
"content-hash": "09f6cf88befc67d5f5ead4d38c37e857",
|
||||
"packages": [
|
||||
{
|
||||
"name": "alek13/slack",
|
||||
@@ -16835,6 +16835,7 @@
|
||||
"platform": {
|
||||
"php": "^8.2",
|
||||
"ext-curl": "*",
|
||||
"ext-exif": "*",
|
||||
"ext-fileinfo": "*",
|
||||
"ext-iconv": "*",
|
||||
"ext-json": "*",
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'app_version' => 'v8.5.1-pre',
|
||||
'full_app_version' => 'v8.5.1-pre - build 22809-g86245ad4ae',
|
||||
'build_version' => '22809',
|
||||
'app_version' => 'v8.6.1',
|
||||
'full_app_version' => 'v8.6.1 - build 22962-g4edf40acaf',
|
||||
'build_version' => '22962',
|
||||
'prerelease_version' => '',
|
||||
'hash_version' => 'g86245ad4ae',
|
||||
'full_hash' => 'v8.5.1-pre-185-g86245ad4ae',
|
||||
'hash_version' => 'g4edf40acaf',
|
||||
'full_hash' => 'v8.6.1-149-g4edf40acaf',
|
||||
'branch' => 'develop',
|
||||
];
|
||||
|
||||
@@ -450,6 +450,26 @@ class UserFactory extends Factory
|
||||
return $this->appendPermission(['assets.audit' => '1']);
|
||||
}
|
||||
|
||||
public function manageModelFiles()
|
||||
{
|
||||
return $this->appendPermission(['models.files' => '1']);
|
||||
}
|
||||
|
||||
public function manageLocationFiles()
|
||||
{
|
||||
return $this->appendPermission(['locations.files' => '1']);
|
||||
}
|
||||
|
||||
public function manageCompanyFiles()
|
||||
{
|
||||
return $this->appendPermission(['companies.files' => '1']);
|
||||
}
|
||||
|
||||
public function manageSupplierFiles()
|
||||
{
|
||||
return $this->appendPermission(['suppliers.files' => '1']);
|
||||
}
|
||||
|
||||
private function appendPermission(array $permission)
|
||||
{
|
||||
return $this->state(function ($currentState) use ($permission) {
|
||||
|
||||
+5413
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1645
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1273
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+24718
-6
File diff suppressed because one or more lines are too long
Vendored
+414
-1
File diff suppressed because one or more lines are too long
+135
-1
@@ -1 +1,135 @@
|
||||
#signature-pad{padding-top:250px;margin:auto}.m-signature-pad{position:relative;font-size:10px;width:100%;height:300px;border:1px solid #e8e8e8;background-color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.27),0 0 40px rgba(0,0,0,.08) inset;border-radius:4px}.m-signature-pad:after,.m-signature-pad:before{position:absolute;z-index:-1;content:"";width:40%;height:10px;left:20px;bottom:10px;background:0 0;-webkit-transform:skew(-3deg) rotate(-3deg);-moz-transform:skew(-3deg) rotate(-3deg);-ms-transform:skew(-3deg) rotate(-3deg);-o-transform:skew(-3deg) rotate(-3deg);transform:skew(-3deg) rotate(-3deg);box-shadow:0 8px 12px rgba(0,0,0,.4)}.m-signature-pad:after{left:auto;right:20px;-webkit-transform:skew(3deg) rotate(3deg);-moz-transform:skew(3deg) rotate(3deg);-ms-transform:skew(3deg) rotate(3deg);-o-transform:skew(3deg) rotate(3deg);transform:skew(3deg) rotate(3deg)}.m-signature-pad--body{position:absolute;top:20px;bottom:60px;border:1px solid #f4f4f4;background-color:#fff}.m-signature-pad--body canvas{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:4px;box-shadow:0 0 5px rgba(0,0,0,.02) inset}.m-signature-pad--footer{position:absolute;left:20px;right:20px;bottom:20px;height:40px}.m-signature-pad--footer .description{color:#c3c3c3;text-align:center;font-size:1.2em;margin-top:1.8em}.m-signature-pad--footer .button{position:absolute;bottom:0}.m-signature-pad--footer .button.clear{left:0}.m-signature-pad--footer .button.save{right:0}@media screen and (max-width:1024px){.m-signature-pad{top:0;left:0;right:0;bottom:0;width:auto;height:auto;min-width:250px;min-height:140px;margin:5%}}@media screen and (min-device-width:768px) and (max-device-width:1024px){.m-signature-pad{margin:10%}}@media screen and (max-height:320px){.m-signature-pad--body{left:0;right:0;top:0;bottom:32px}.m-signature-pad--footer{left:20px;right:20px;bottom:4px;height:28px}.m-signature-pad--footer .description{font-size:1em;margin-top:1em}}
|
||||
|
||||
#signature-pad {
|
||||
padding-top: 250px;
|
||||
margin: auto;
|
||||
}
|
||||
.m-signature-pad {
|
||||
|
||||
position: relative;
|
||||
font-size: 10px;
|
||||
width: 100%;
|
||||
height: 300px;
|
||||
border: 1px solid #e8e8e8;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.27), 0 0 40px rgba(0, 0, 0, 0.08) inset;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.m-signature-pad:before, .m-signature-pad:after {
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
content: "";
|
||||
width: 40%;
|
||||
height: 10px;
|
||||
left: 20px;
|
||||
bottom: 10px;
|
||||
background: transparent;
|
||||
-webkit-transform: skew(-3deg) rotate(-3deg);
|
||||
-moz-transform: skew(-3deg) rotate(-3deg);
|
||||
-ms-transform: skew(-3deg) rotate(-3deg);
|
||||
-o-transform: skew(-3deg) rotate(-3deg);
|
||||
transform: skew(-3deg) rotate(-3deg);
|
||||
box-shadow: 0 8px 12px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.m-signature-pad:after {
|
||||
left: auto;
|
||||
right: 20px;
|
||||
-webkit-transform: skew(3deg) rotate(3deg);
|
||||
-moz-transform: skew(3deg) rotate(3deg);
|
||||
-ms-transform: skew(3deg) rotate(3deg);
|
||||
-o-transform: skew(3deg) rotate(3deg);
|
||||
transform: skew(3deg) rotate(3deg);
|
||||
}
|
||||
|
||||
.m-signature-pad--body {
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
bottom: 60px;
|
||||
border: 1px solid #f4f4f4;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.m-signature-pad--body
|
||||
canvas {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 0 5px rgba(0, 0, 0, 0.02) inset;
|
||||
}
|
||||
|
||||
.m-signature-pad--footer {
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
right: 20px;
|
||||
bottom: 20px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.m-signature-pad--footer
|
||||
.description {
|
||||
color: #C3C3C3;
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
margin-top: 1.8em;
|
||||
}
|
||||
|
||||
.m-signature-pad--footer
|
||||
.button {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.m-signature-pad--footer
|
||||
.button.clear {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.m-signature-pad--footer
|
||||
.button.save {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
.m-signature-pad {
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: auto;
|
||||
height: auto;
|
||||
min-width: 250px;
|
||||
min-height: 140px;
|
||||
margin: 5%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media screen and (min-device-width: 768px) and (max-device-width: 1024px) {
|
||||
.m-signature-pad {
|
||||
margin: 10%;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-height: 320px) {
|
||||
.m-signature-pad--body {
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 32px;
|
||||
}
|
||||
.m-signature-pad--footer {
|
||||
left: 20px;
|
||||
right: 20px;
|
||||
bottom: 4px;
|
||||
height: 28px;
|
||||
}
|
||||
.m-signature-pad--footer
|
||||
.description {
|
||||
font-size: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+38849
-1
File diff suppressed because one or more lines are too long
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'crwdns1244:0crwdne1244:0',
|
||||
'global_signature_required_notice' => 'crwdns14708:0crwdne14708:0',
|
||||
'required_eula' => 'crwdns1245:0crwdne1245:0',
|
||||
'required_signature' => 'crwdns14815:0crwdne14815:0',
|
||||
'no_default_eula' => 'crwdns1246:0crwdne1246:0',
|
||||
'update' => 'crwdns639:0crwdne639:0',
|
||||
'use_default_eula' => 'crwdns1247:0crwdne1247:0',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'crwdns6501:0crwdne6501:0',
|
||||
'field' => 'crwdns1487:0crwdne1487:0',
|
||||
'about_fieldsets_title' => 'crwdns1488:0crwdne1488:0',
|
||||
'about_fieldsets_text' => 'crwdns14734:0crwdne14734:0',
|
||||
'about_fieldsets_text' => 'crwdns14799:0crwdne14799:0',
|
||||
'custom_format' => 'crwdns6505:0crwdne6505:0',
|
||||
'encrypt_field' => 'crwdns1792:0crwdne1792:0',
|
||||
'encrypt_field_help' => 'crwdns1683:0crwdne1683:0',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'crwdns10490:0crwdne10490:0',
|
||||
'order_details' => 'crwdns10492:0crwdne10492:0',
|
||||
'calc_eol' => 'crwdns12782:0crwdne12782:0',
|
||||
'checkin_licenses' => 'crwdns14891:0crwdne14891:0',
|
||||
'checkin_child_assets' => 'crwdns14893:0crwdne14893:0',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'crwdns12902:0crwdne12902:0',
|
||||
'bulk_checkin' => 'crwdns12904:0crwdne12904:0',
|
||||
'checkin' => 'crwdns756:0crwdne756:0',
|
||||
'checkin_assets' => 'crwdns14883:0crwdne14883:0',
|
||||
'checkout' => 'crwdns1905:0crwdne1905:0',
|
||||
'clear' => 'crwdns13286:0crwdne13286:0',
|
||||
'clone' => 'crwdns758:0crwdne758:0',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'crwdns12770:0crwdne12770:0',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'crwdns14885:0crwdne14885:0',
|
||||
'success' => 'crwdns14887:0crwdne14887:0',
|
||||
'no_assets_selected' => 'crwdns14889:0crwdne14889:0',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'crwdns752:0crwdne752:0',
|
||||
'success' => 'crwdns753:0crwdne753:0',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'crwdns12570:0crwdne12570:0',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => 'crwdns14899:0crwdne14899:0',
|
||||
'no_seats_selected' => 'crwdns14901:0crwdne14901:0',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'crwdns11561:0crwdne11561:0',
|
||||
'modal' => 'crwdns11563:0crwdne11563:0',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'maintenance_types' => 'crwdns14875:0crwdne14875:0',
|
||||
'create' => 'crwdns14877:0crwdne14877:0',
|
||||
'update' => 'crwdns14879:0crwdne14879:0',
|
||||
];
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'crwdns14835:0crwdne14835:0',
|
||||
'create' => [
|
||||
'error' => 'crwdns14837:0crwdne14837:0',
|
||||
'success' => 'crwdns14839:0crwdne14839:0',
|
||||
],
|
||||
'update' => [
|
||||
'error' => 'crwdns14841:0crwdne14841:0',
|
||||
'success' => 'crwdns14843:0crwdne14843:0',
|
||||
],
|
||||
'delete' => [
|
||||
'confirm' => 'crwdns14845:0crwdne14845:0',
|
||||
'error' => 'crwdns14847:0crwdne14847:0',
|
||||
'success' => 'crwdns14849:0crwdne14849:0',
|
||||
],
|
||||
'complete' => [
|
||||
'success' => 'crwdns14851:0crwdne14851:0',
|
||||
'error' => 'crwdns14853:0crwdne14853:0',
|
||||
],
|
||||
];
|
||||
@@ -5,11 +5,18 @@ return [
|
||||
'asset_maintenance_type' => 'crwdns14588:0crwdne14588:0',
|
||||
'title' => 'crwdns13588:0crwdne13588:0',
|
||||
'start_date' => 'crwdns13590:0crwdne13590:0',
|
||||
'completion_date' => 'crwdns13592:0crwdne13592:0',
|
||||
'completion_date' => 'crwdns14859:0crwdne14859:0',
|
||||
'cost' => 'crwdns13594:0crwdne13594:0',
|
||||
'is_warranty' => 'crwdns13596:0crwdne13596:0',
|
||||
'asset_maintenance_time' => 'crwdns14586:0crwdne14586:0',
|
||||
'notes' => 'crwdns13600:0crwdne13600:0',
|
||||
'update' => 'crwdns13602:0crwdne13602:0',
|
||||
'create' => 'crwdns13604:0crwdne13604:0',
|
||||
'responsible_party' => 'crwdns14861:0crwdne14861:0',
|
||||
'checked_out_to_at_creation' => 'crwdns14863:0crwdne14863:0',
|
||||
'completed_at' => 'crwdns14865:0crwdne14865:0',
|
||||
'completed_by' => 'crwdns14867:0crwdne14867:0',
|
||||
'mark_complete' => 'crwdns14869:0crwdne14869:0',
|
||||
'already_complete' => 'crwdns14871:0crwdne14871:0',
|
||||
'completion_notes' => 'crwdns14873:0crwdne14873:0',
|
||||
];
|
||||
|
||||
@@ -14,4 +14,10 @@ return [
|
||||
'hardware_support' => 'crwdns13576:0crwdne13576:0',
|
||||
'configuration_change' => 'crwdns13578:0crwdne13578:0',
|
||||
'pat_test' => 'crwdns13580:0crwdne13580:0',
|
||||
'checked_out_to_help' => 'crwdns14823:0crwdne14823:0',
|
||||
'show_completed' => 'crwdns14825:0crwdne14825:0',
|
||||
'show_active' => 'crwdns14827:0crwdne14827:0',
|
||||
'due' => 'crwdns14829:0crwdne14829:0',
|
||||
'overdue' => 'crwdns14831:0crwdne14831:0',
|
||||
'completed' => 'crwdns14833:0crwdne14833:0',
|
||||
];
|
||||
|
||||
@@ -18,4 +18,9 @@ return [
|
||||
'asset_maintenance_incomplete' => 'crwdns13552:0crwdne13552:0',
|
||||
'warranty' => 'crwdns13554:0crwdne13554:0',
|
||||
'not_warranty' => 'crwdns13556:0crwdne13556:0',
|
||||
'complete' => [
|
||||
'confirm' => 'crwdns14817:0crwdne14817:0',
|
||||
'success' => 'crwdns14819:0crwdne14819:0',
|
||||
'error' => 'crwdns14821:0crwdne14821:0',
|
||||
],
|
||||
];
|
||||
|
||||
@@ -37,8 +37,9 @@ return [
|
||||
'user_activated' => 'crwdns6826:0crwdne6826:0',
|
||||
'activation_status_warning' => 'crwdns6747:0crwdne6747:0',
|
||||
'group_memberships_helpblock' => 'crwdns6749:0crwdne6749:0',
|
||||
'superadmin_permission_warning' => 'crwdns6751:0crwdne6751:0',
|
||||
'admin_permission_warning' => 'crwdns6753:0crwdne6753:0',
|
||||
'superadmin_permission_warning' => 'crwdns14805:0crwdne14805:0',
|
||||
'self_permission_warning' => 'crwdns14807:0crwdne14807:0',
|
||||
'admin_permission_warning' => 'crwdns14809:0crwdne14809:0',
|
||||
'remove_group_memberships' => 'crwdns6755:0crwdne6755:0',
|
||||
'warning_deletion_information' => 'crwdns14444:0crwdne14444:0',
|
||||
'update_user_assets_status' => 'crwdns10488:0crwdne10488:0',
|
||||
|
||||
@@ -85,6 +85,7 @@ return [
|
||||
'click_here' => 'crwdns1854:0crwdne1854:0',
|
||||
'clear_selection' => 'crwdns1962:0crwdne1962:0',
|
||||
'companies' => 'crwdns1444:0crwdne1444:0',
|
||||
'companies_var' => 'crwdns14905:0crwdne14905:0',
|
||||
'company' => 'crwdns1445:0crwdne1445:0',
|
||||
'component' => 'crwdns1571:0crwdne1571:0',
|
||||
'components' => 'crwdns1572:0crwdne1572:0',
|
||||
@@ -122,7 +123,7 @@ return [
|
||||
'debug_warning_text' => 'crwdns1828:0crwdne1828:0',
|
||||
'delete' => 'crwdns1046:0crwdne1046:0',
|
||||
'delete_confirm' => 'crwdns2020:0crwdne2020:0',
|
||||
'delete_confirm_no_undo' => 'crwdns14736:0crwdne14736:0',
|
||||
'delete_confirm_no_undo' => 'crwdns14801:0crwdne14801:0',
|
||||
'deleted' => 'crwdns1047:0crwdne1047:0',
|
||||
'delete_seats' => 'crwdns1430:0crwdne1430:0',
|
||||
'deletion_failed' => 'crwdns6117:0crwdne6117:0',
|
||||
@@ -167,7 +168,7 @@ return [
|
||||
'image_upload' => 'crwdns1058:0crwdne1058:0',
|
||||
'filetypes_accepted_help' => 'crwdns12622:0crwdne12622:0',
|
||||
'filetypes_size_help' => 'crwdns12624:0crwdne12624:0',
|
||||
'image_filetypes_help' => 'crwdns14738:0crwdne14738:0',
|
||||
'image_filetypes_help' => 'crwdns14803:0crwdne14803:0',
|
||||
'unaccepted_image_type' => 'crwdns11365:0crwdne11365:0',
|
||||
'import' => 'crwdns1411:0crwdne1411:0',
|
||||
'documentation' => 'crwdns14462:0crwdne14462:0',
|
||||
@@ -209,6 +210,7 @@ return [
|
||||
'logout' => 'crwdns1066:0crwdne1066:0',
|
||||
'lookup_by_tag' => 'crwdns1648:0crwdne1648:0',
|
||||
'maintenances' => 'crwdns1998:0crwdne1998:0',
|
||||
'maintenance_complete' => 'crwdns14855:0crwdne14855:0',
|
||||
'manage_api_keys' => 'crwdns12630:0crwdne12630:0',
|
||||
'manufacturer' => 'crwdns1067:0crwdne1067:0',
|
||||
'manufacturers' => 'crwdns1068:0crwdne1068:0',
|
||||
@@ -237,7 +239,7 @@ return [
|
||||
'note_added' => 'crwdns12858:0crwdne12858:0',
|
||||
'options' => 'crwdns12888:0crwdne12888:0',
|
||||
'preview' => 'crwdns12890:0crwdne12890:0',
|
||||
'add_note' => 'crwdns12860:0crwdne12860:0',
|
||||
'add_note' => 'crwdns14857:0crwdne14857:0',
|
||||
'note_edited' => 'crwdns12862:0crwdne12862:0',
|
||||
'edit_note' => 'crwdns12864:0crwdne12864:0',
|
||||
'note_deleted' => 'crwdns12866:0crwdne12866:0',
|
||||
@@ -255,6 +257,8 @@ return [
|
||||
'processing' => 'crwdns1279:0crwdne1279:0',
|
||||
'profile' => 'crwdns14476:0crwdne14476:0',
|
||||
'purchase_cost' => 'crwdns1830:0crwdne1830:0',
|
||||
'purchase_cost_format_help' => 'crwdns14811:0crwdne14811:0',
|
||||
'purchase_cost_invalid' => 'crwdns14813:0crwdne14813:0',
|
||||
'purchase_date' => 'crwdns1831:0crwdne1831:0',
|
||||
'qty' => 'crwdns1328:0crwdne1328:0',
|
||||
'quantity' => 'crwdns1473:0crwdne1473:0',
|
||||
@@ -284,6 +288,7 @@ return [
|
||||
'select_var' => 'crwdns11455:0crwdne11455:0', // this will eventually replace all of our other selects
|
||||
'select' => 'crwdns1281:0crwdne1281:0',
|
||||
'select_all' => 'crwdns6155:0crwdne6155:0',
|
||||
'selected' => 'crwdns14897:0crwdne14897:0',
|
||||
'search' => 'crwdns1290:0crwdne1290:0',
|
||||
'select_category' => 'crwdns1663:0crwdne1663:0',
|
||||
'select_datasource' => 'crwdns12632:0crwdne12632:0',
|
||||
@@ -503,7 +508,7 @@ return [
|
||||
'fullscreen' => 'crwdns14787:0crwdne14787:0',
|
||||
'pie_chart_type' => 'crwdns10546:0crwdne10546:0',
|
||||
'hello_name' => 'crwdns10548:0crwdne10548:0',
|
||||
'unaccepted_profile_warning' => 'crwdns12686:0crwdne12686:0',
|
||||
'unaccepted_profile_warning' => 'crwdns14907:0{1}crwdne14907:0',
|
||||
'start_date' => 'crwdns11168:0crwdne11168:0',
|
||||
'end_date' => 'crwdns11170:0crwdne11170:0',
|
||||
'alt_uploaded_image_thumbnail' => 'crwdns11172:0crwdne11172:0',
|
||||
@@ -515,6 +520,7 @@ return [
|
||||
'pre_flight' => 'crwdns11319:0crwdne11319:0',
|
||||
'skip_to_main_content' => 'crwdns11321:0crwdne11321:0',
|
||||
'toggle_navigation' => 'crwdns11323:0crwdne11323:0',
|
||||
'toggle_password_visibility' => 'crwdns14903:0crwdne14903:0',
|
||||
'alerts' => 'crwdns11325:0crwdne11325:0',
|
||||
'tasks_view_all' => 'crwdns11327:0crwdne11327:0',
|
||||
'true' => 'crwdns11329:0crwdne11329:0',
|
||||
@@ -576,6 +582,7 @@ return [
|
||||
'error_user_company_accept_view' => 'crwdns11787:0crwdne11787:0',
|
||||
'error_assets_already_checked_out' => 'crwdns13826:0crwdne13826:0',
|
||||
'assigned_assets_removed' => 'crwdns13830:0crwdne13830:0',
|
||||
'unassigned_assets_removed' => 'crwdns14895:0crwdne14895:0',
|
||||
'upload_files' => 'crwdns14580:0crwdne14580:0',
|
||||
'uploaded_files' => 'crwdns14582:0crwdne14582:0',
|
||||
'sign_in_place' => 'crwdns14700:0crwdne14700:0',
|
||||
@@ -675,6 +682,7 @@ return [
|
||||
'user_managed_passwords' => 'crwdns12870:0crwdne12870:0',
|
||||
'user_managed_passwords_disallow' => 'crwdns12872:0crwdne12872:0',
|
||||
'user_managed_passwords_allow' => 'crwdns12874:0crwdne12874:0',
|
||||
'user_managed_passwords_bulk_help' => 'crwdns14881:0crwdne14881:0',
|
||||
'from' => 'crwdns13170:0crwdne13170:0',
|
||||
'by' => 'crwdns13172:0crwdne13172:0',
|
||||
'by_user' => 'crwdns14246:0crwdne14246:0',
|
||||
|
||||
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'Hierdie gebruiker sal per e-pos met \'n skakel gestuur word om die aanvaarding van hierdie item te bevestig.',
|
||||
'global_signature_required_notice' => 'User signatures are currently required globally via the admin settings, so signatures will still be required regardless of this category setting if the item is checked out to a user (versus a location, etc).',
|
||||
'required_eula' => 'Hierdie gebruiker sal \'n afskrif van die EULA ontvang',
|
||||
'required_signature' => 'This user will be required to sign to confirm acceptance of this item.',
|
||||
'no_default_eula' => 'Geen primêre standaard EULA gevind nie. Voeg een by Instellings.',
|
||||
'update' => 'Opdateer kategorie',
|
||||
'use_default_eula' => 'Gebruik eerder die <a href="#" data-toggle="modal" data-target="#eulaModal">primary standaard EULA</a>.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'Manage',
|
||||
'field' => 'veld',
|
||||
'about_fieldsets_title' => 'Oor Fieldsets',
|
||||
'about_fieldsets_text' => 'Veldstelle stel jou in staat om groepe van persoonlike velde te skep wat gereeld hergebruik word vir spesifieke tipe bates.',
|
||||
'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used for specific asset model types.',
|
||||
'custom_format' => 'Custom Regex format...',
|
||||
'encrypt_field' => 'Enkripteer die waarde van hierdie veld in die databasis',
|
||||
'encrypt_field_help' => 'WAARSKUWING: Om \'n veld te enkripteer, maak dit onondersoekbaar.',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'Optional Information',
|
||||
'order_details' => 'Order Related Information',
|
||||
'calc_eol' => 'If nulling the EOL date, use automatic EOL calculation based on the purchase date and EOL rate.',
|
||||
'checkin_licenses' => 'Checkin associated license seats',
|
||||
'checkin_child_assets' => 'Checkin associated assets',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'Grootmaat Checkout',
|
||||
'bulk_checkin' => 'Bulk Checkin',
|
||||
'checkin' => 'Kontrole bate',
|
||||
'checkin_assets' => 'Checkin Assets',
|
||||
'checkout' => 'Checkout Asset',
|
||||
'clear' => 'Clear',
|
||||
'clone' => 'Klone Bate',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'Asset checked out successfully.|Assets checked out successfully.',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again|Assets were not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.|Assets checked in successfully.',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'Bate is nie nagegaan nie, probeer asseblief weer',
|
||||
'success' => 'Die bate is suksesvol nagegaan.',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'Checked in via bulk license checkin in license GUI',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => ':count seat checked in successfully. | :count seats checked in successfully.',
|
||||
'no_seats_selected' => 'No seats were selected.',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'maintenance_types' => 'Maintenance Types',
|
||||
'create' => 'Create Maintenance Type',
|
||||
'update' => 'Update Maintenance Type',
|
||||
];
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'Maintenance type not found.',
|
||||
'create' => [
|
||||
'error' => 'Maintenance type was not created, please try again.',
|
||||
'success' => 'Maintenance type created successfully.',
|
||||
],
|
||||
'update' => [
|
||||
'error' => 'Maintenance type was not updated, please try again.',
|
||||
'success' => 'Maintenance type updated successfully.',
|
||||
],
|
||||
'delete' => [
|
||||
'confirm' => 'Are you sure you wish to delete this maintenance type?',
|
||||
'error' => 'There was an issue deleting this maintenance type. Please try again.',
|
||||
'success' => 'The maintenance type was deleted successfully.',
|
||||
],
|
||||
'complete' => [
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
@@ -5,11 +5,18 @@ return [
|
||||
'asset_maintenance_type' => 'tipe',
|
||||
'title' => 'Titel',
|
||||
'start_date' => 'Start Date',
|
||||
'completion_date' => 'Completion Date',
|
||||
'completion_date' => 'Expected Completion',
|
||||
'cost' => 'koste',
|
||||
'is_warranty' => 'Garantieverbetering',
|
||||
'asset_maintenance_time' => 'Duration',
|
||||
'notes' => 'notas',
|
||||
'update' => 'Update Asset Maintenance',
|
||||
'create' => 'Create Asset Maintenance',
|
||||
'responsible_party' => 'Responsible Party',
|
||||
'checked_out_to_at_creation' => 'Gekontroleer na',
|
||||
'completed_at' => 'Completed At',
|
||||
'completed_by' => 'Completed By',
|
||||
'mark_complete' => 'Mark Complete',
|
||||
'already_complete' => 'Already Completed',
|
||||
'completion_notes' => 'Completion Notes',
|
||||
];
|
||||
|
||||
@@ -14,4 +14,10 @@ return [
|
||||
'hardware_support' => 'Hardware Support',
|
||||
'configuration_change' => 'Configuration Change',
|
||||
'pat_test' => 'PAT Test',
|
||||
'checked_out_to_help' => 'The user, etc that the asset was checked out to at the time of maintenance creation. This is for historical reference and does not affect the current checkout status of the asset.',
|
||||
'show_completed' => 'Show Completed',
|
||||
'show_active' => 'Show Active',
|
||||
'due' => 'Due',
|
||||
'overdue' => 'Overdue',
|
||||
'completed' => 'voltooi',
|
||||
];
|
||||
|
||||
@@ -18,4 +18,9 @@ return [
|
||||
'asset_maintenance_incomplete' => 'Nog nie voltooi nie',
|
||||
'warranty' => 'waarborg',
|
||||
'not_warranty' => 'Nie waarborg nie',
|
||||
'complete' => [
|
||||
'confirm' => 'Are you sure you want to mark this maintenance as complete? This cannot be undone.',
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
|
||||
@@ -37,8 +37,9 @@ return [
|
||||
'user_activated' => 'User can login',
|
||||
'activation_status_warning' => 'Do not change activation status',
|
||||
'group_memberships_helpblock' => 'Only superadmins may edit group memberships.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant a user superadmin access.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant a user admin access.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant or revoke superadmin access.',
|
||||
'self_permission_warning' => 'Only superadmins may edit their own permissions.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant or revoke admin access.',
|
||||
'remove_group_memberships' => 'Remove Group Memberships',
|
||||
'warning_deletion_information' => 'You are about to checkin ALL items from the :count user(s) listed below.',
|
||||
'update_user_assets_status' => 'Update all assets for these users to this status',
|
||||
|
||||
@@ -85,6 +85,7 @@ return [
|
||||
'click_here' => 'Klik hier',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'maatskappye',
|
||||
'companies_var' => 'Company|Companies',
|
||||
'company' => 'maatskappy',
|
||||
'component' => 'komponent',
|
||||
'components' => 'komponente',
|
||||
@@ -122,7 +123,7 @@ return [
|
||||
'debug_warning_text' => 'Hierdie program word uitgevoer in die produksiemodus met debugging aangeskakel. Dit kan sensitiewe data blootstel indien u aansoek vir die buitewêreld toeganklik is. Deaktiveer debug-modus deur die <code>APP_DEBUG</code>-waarde in jou <code>.env</code>-lêer te stel na <code>false</code>.',
|
||||
'delete' => 'verwyder',
|
||||
'delete_confirm' => 'Are you sure you wish to delete :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This cannot be undone.',
|
||||
'delete_confirm_no_undo' => 'Are you sure, you wish to delete :item? This cannot be undone.',
|
||||
'deleted' => 'geskrap',
|
||||
'delete_seats' => 'Plekke verwyder',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
@@ -167,7 +168,7 @@ return [
|
||||
'image_upload' => 'Laai prent op',
|
||||
'filetypes_accepted_help' => 'Accepted filetype is :types. The maximum size allowed is :size.|Accepted filetypes are :types. The maximum upload size allowed is :size.',
|
||||
'filetypes_size_help' => 'The maximum upload size allowed is :size.',
|
||||
'image_filetypes_help' => 'Accepted filetypes are jpg, webp, png, gif, svg, and avif. The maximum upload size allowed is :size.',
|
||||
'image_filetypes_help' => 'Accepted Filetypes are jpg, webp, png, gif, svg, and avif. The maximum upload size allowed is :size.',
|
||||
'unaccepted_image_type' => 'This image file was not readable. Accepted filetypes are jpg, webp, png, gif, and svg. The mimetype of this file is: :mimetype.',
|
||||
'import' => 'invoer',
|
||||
'documentation' => 'Open documentation in a new link',
|
||||
@@ -209,6 +210,7 @@ return [
|
||||
'logout' => 'Teken uit',
|
||||
'lookup_by_tag' => 'Opsoek deur Asset Tag',
|
||||
'maintenances' => 'Maintenances',
|
||||
'maintenance_complete' => 'Maintenance Complete',
|
||||
'manage_api_keys' => 'Manage API keys',
|
||||
'manufacturer' => 'vervaardiger',
|
||||
'manufacturers' => 'vervaardigers',
|
||||
@@ -237,7 +239,7 @@ return [
|
||||
'note_added' => 'Note Added',
|
||||
'options' => 'Options',
|
||||
'preview' => 'Preview',
|
||||
'add_note' => 'Add Note',
|
||||
'add_note' => 'Add Journal Note',
|
||||
'note_edited' => 'Note Edited',
|
||||
'edit_note' => 'Edit Note',
|
||||
'note_deleted' => 'Note Deleted',
|
||||
@@ -255,6 +257,8 @@ return [
|
||||
'processing' => 'verwerking',
|
||||
'profile' => 'View Profile',
|
||||
'purchase_cost' => 'Aankoopskoste',
|
||||
'purchase_cost_format_help' => 'This should be entered in your system-configured number format, e.g. :format',
|
||||
'purchase_cost_invalid' => 'Please enter a valid number (digits, dots, and commas only)',
|
||||
'purchase_date' => 'Aankoop datum',
|
||||
'qty' => 'HOEV',
|
||||
'quantity' => 'hoeveelheid',
|
||||
@@ -284,6 +288,7 @@ return [
|
||||
'select_var' => 'Select :thing... ', // this will eventually replace all of our other selects
|
||||
'select' => 'Kies',
|
||||
'select_all' => 'Select All',
|
||||
'selected' => 'selected',
|
||||
'search' => 'Soek',
|
||||
'select_category' => 'Kies \'n kategorie',
|
||||
'select_datasource' => 'Select a data source',
|
||||
@@ -504,7 +509,7 @@ return [
|
||||
'fullscreen' => 'Fullscreen',
|
||||
'pie_chart_type' => 'Dashboard Pie Chart Type',
|
||||
'hello_name' => 'Hello, :name!',
|
||||
'unaccepted_profile_warning' => 'You have one item requiring acceptance. Click here to accept or decline it | You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'unaccepted_profile_warning' => '{1} You have one item requiring acceptance. Click here to accept or decline it|[2,4] You have :count items requiring acceptance. Click here to accept or decline them|[5,*] You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'start_date' => 'Start Date',
|
||||
'end_date' => 'End Date',
|
||||
'alt_uploaded_image_thumbnail' => 'Uploaded thumbnail',
|
||||
@@ -516,6 +521,7 @@ return [
|
||||
'pre_flight' => 'Pre-Flight',
|
||||
'skip_to_main_content' => 'Skip to main content',
|
||||
'toggle_navigation' => 'Toggle navigation',
|
||||
'toggle_password_visibility' => 'Toggle password visibility',
|
||||
'alerts' => 'Alerts',
|
||||
'tasks_view_all' => 'View all tasks',
|
||||
'true' => 'True',
|
||||
@@ -577,6 +583,7 @@ return [
|
||||
'error_user_company_accept_view' => 'An Asset assigned to you belongs to a different company so you can\'t accept nor deny it, please check with your manager',
|
||||
'error_assets_already_checked_out' => 'One or more of the assets are already checked out',
|
||||
'assigned_assets_removed' => 'The following were removed from the selected assets because they are already checked out',
|
||||
'unassigned_assets_removed' => 'The following were removed from the selected assets because they are not currently checked out',
|
||||
'upload_files' => 'Upload Files',
|
||||
'uploaded_files' => 'Uploaded Files',
|
||||
'sign_in_place' => 'Sign/Accept in place',
|
||||
@@ -676,6 +683,7 @@ return [
|
||||
'user_managed_passwords' => 'Password Management',
|
||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||
'user_managed_passwords_bulk_help' => 'This setting will only be applied to users that you are able to edit authentication settings on.',
|
||||
'from' => 'From',
|
||||
'by' => 'deur',
|
||||
'by_user' => 'deur',
|
||||
|
||||
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'This user will be emailed with a link to confirm acceptance of this item.',
|
||||
'global_signature_required_notice' => 'User signatures are currently required globally via the admin settings, so signatures will still be required regardless of this category setting if the item is checked out to a user (versus a location, etc).',
|
||||
'required_eula' => 'This user will be emailed a copy of the EULA',
|
||||
'required_signature' => 'This user will be required to sign to confirm acceptance of this item.',
|
||||
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
|
||||
'update' => 'Update Category',
|
||||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'Manage',
|
||||
'field' => 'Field',
|
||||
'about_fieldsets_title' => 'About Fieldsets',
|
||||
'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used used for specific asset model types.',
|
||||
'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used for specific asset model types.',
|
||||
'custom_format' => 'Custom Regex format...',
|
||||
'encrypt_field' => 'Encrypt the value of this field in the database',
|
||||
'encrypt_field_help' => 'WARNING: Encrypting a field makes it unsearchable.',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'Optional Information',
|
||||
'order_details' => 'Order Related Information',
|
||||
'calc_eol' => 'If nulling the EOL date, use automatic EOL calculation based on the purchase date and EOL rate.',
|
||||
'checkin_licenses' => 'Checkin associated license seats',
|
||||
'checkin_child_assets' => 'Checkin associated assets',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'በጅምላ ማውጣት',
|
||||
'bulk_checkin' => 'Bulk Checkin',
|
||||
'checkin' => 'Checkin Asset',
|
||||
'checkin_assets' => 'Checkin Assets',
|
||||
'checkout' => 'Checkout Asset',
|
||||
'clear' => 'Clear',
|
||||
'clone' => 'Clone Asset',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'Asset checked out successfully.|Assets checked out successfully.',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again|Assets were not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.|Assets checked in successfully.',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'Checked in via bulk license checkin in license GUI',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => ':count seat checked in successfully. | :count seats checked in successfully.',
|
||||
'no_seats_selected' => 'No seats were selected.',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'maintenance_types' => 'Maintenance Types',
|
||||
'create' => 'Create Maintenance Type',
|
||||
'update' => 'Update Maintenance Type',
|
||||
];
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'Maintenance type not found.',
|
||||
'create' => [
|
||||
'error' => 'Maintenance type was not created, please try again.',
|
||||
'success' => 'Maintenance type created successfully.',
|
||||
],
|
||||
'update' => [
|
||||
'error' => 'Maintenance type was not updated, please try again.',
|
||||
'success' => 'Maintenance type updated successfully.',
|
||||
],
|
||||
'delete' => [
|
||||
'confirm' => 'Are you sure you wish to delete this maintenance type?',
|
||||
'error' => 'There was an issue deleting this maintenance type. Please try again.',
|
||||
'success' => 'The maintenance type was deleted successfully.',
|
||||
],
|
||||
'complete' => [
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
@@ -5,11 +5,18 @@ return [
|
||||
'asset_maintenance_type' => 'Type',
|
||||
'title' => 'መጠርያ',
|
||||
'start_date' => 'Start Date',
|
||||
'completion_date' => 'Completion Date',
|
||||
'completion_date' => 'Expected Completion',
|
||||
'cost' => 'Cost',
|
||||
'is_warranty' => 'Warranty Improvement',
|
||||
'asset_maintenance_time' => 'Duration',
|
||||
'notes' => 'Notes',
|
||||
'update' => 'Update Asset Maintenance',
|
||||
'create' => 'Create Asset Maintenance',
|
||||
'responsible_party' => 'Responsible Party',
|
||||
'checked_out_to_at_creation' => 'Checked Out To',
|
||||
'completed_at' => 'Completed At',
|
||||
'completed_by' => 'Completed By',
|
||||
'mark_complete' => 'Mark Complete',
|
||||
'already_complete' => 'Already Completed',
|
||||
'completion_notes' => 'Completion Notes',
|
||||
];
|
||||
|
||||
@@ -14,4 +14,10 @@ return [
|
||||
'hardware_support' => 'Hardware Support',
|
||||
'configuration_change' => 'Configuration Change',
|
||||
'pat_test' => 'PAT Test',
|
||||
'checked_out_to_help' => 'The user, etc that the asset was checked out to at the time of maintenance creation. This is for historical reference and does not affect the current checkout status of the asset.',
|
||||
'show_completed' => 'Show Completed',
|
||||
'show_active' => 'Show Active',
|
||||
'due' => 'Due',
|
||||
'overdue' => 'Overdue',
|
||||
'completed' => 'Completed',
|
||||
];
|
||||
|
||||
@@ -18,4 +18,9 @@ return [
|
||||
'asset_maintenance_incomplete' => 'Not Completed Yet',
|
||||
'warranty' => 'Warranty',
|
||||
'not_warranty' => 'Not Warranty',
|
||||
'complete' => [
|
||||
'confirm' => 'Are you sure you want to mark this maintenance as complete? This cannot be undone.',
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
|
||||
@@ -37,8 +37,9 @@ return [
|
||||
'user_activated' => 'User can login',
|
||||
'activation_status_warning' => 'Do not change activation status',
|
||||
'group_memberships_helpblock' => 'Only superadmins may edit group memberships.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant a user superadmin access.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant a user admin access.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant or revoke superadmin access.',
|
||||
'self_permission_warning' => 'Only superadmins may edit their own permissions.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant or revoke admin access.',
|
||||
'remove_group_memberships' => 'Remove Group Memberships',
|
||||
'warning_deletion_information' => 'You are about to checkin ALL items from the :count user(s) listed below.',
|
||||
'update_user_assets_status' => 'Update all assets for these users to this status',
|
||||
|
||||
@@ -85,6 +85,7 @@ return [
|
||||
'click_here' => 'Click here',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Companies',
|
||||
'companies_var' => 'Company|Companies',
|
||||
'company' => 'Company',
|
||||
'component' => 'Component',
|
||||
'components' => 'Components',
|
||||
@@ -122,7 +123,7 @@ return [
|
||||
'debug_warning_text' => 'This application is running in production mode with debugging enabled. This can expose sensitive data if your application is accessible to the outside world. Disable debug mode by setting the <code>APP_DEBUG</code> value in your <code>.env</code> file to <code>false</code>.',
|
||||
'delete' => 'Delete',
|
||||
'delete_confirm' => 'Are you sure you wish to delete :item?',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This cannot be undone.',
|
||||
'delete_confirm_no_undo' => 'Are you sure, you wish to delete :item? This cannot be undone.',
|
||||
'deleted' => 'Deleted',
|
||||
'delete_seats' => 'Deleted Seats',
|
||||
'deletion_failed' => 'Deletion failed',
|
||||
@@ -167,7 +168,7 @@ return [
|
||||
'image_upload' => 'Upload Image',
|
||||
'filetypes_accepted_help' => 'Accepted filetype is :types. The maximum size allowed is :size.|Accepted filetypes are :types. The maximum upload size allowed is :size.',
|
||||
'filetypes_size_help' => 'The maximum upload size allowed is :size.',
|
||||
'image_filetypes_help' => 'Accepted filetypes are jpg, webp, png, gif, svg, and avif. The maximum upload size allowed is :size.',
|
||||
'image_filetypes_help' => 'Accepted Filetypes are jpg, webp, png, gif, svg, and avif. The maximum upload size allowed is :size.',
|
||||
'unaccepted_image_type' => 'This image file was not readable. Accepted filetypes are jpg, webp, png, gif, and svg. The mimetype of this file is: :mimetype.',
|
||||
'import' => 'Import',
|
||||
'documentation' => 'Open documentation in a new link',
|
||||
@@ -209,6 +210,7 @@ return [
|
||||
'logout' => 'Logout',
|
||||
'lookup_by_tag' => 'Lookup by Asset Tag',
|
||||
'maintenances' => 'Maintenances',
|
||||
'maintenance_complete' => 'Maintenance Complete',
|
||||
'manage_api_keys' => 'Manage API keys',
|
||||
'manufacturer' => 'Manufacturer',
|
||||
'manufacturers' => 'Manufacturers',
|
||||
@@ -237,7 +239,7 @@ return [
|
||||
'note_added' => 'Note Added',
|
||||
'options' => 'Options',
|
||||
'preview' => 'Preview',
|
||||
'add_note' => 'Add Note',
|
||||
'add_note' => 'Add Journal Note',
|
||||
'note_edited' => 'Note Edited',
|
||||
'edit_note' => 'Edit Note',
|
||||
'note_deleted' => 'Note Deleted',
|
||||
@@ -255,6 +257,8 @@ return [
|
||||
'processing' => 'Processing',
|
||||
'profile' => 'View Profile',
|
||||
'purchase_cost' => 'Purchase Cost',
|
||||
'purchase_cost_format_help' => 'This should be entered in your system-configured number format, e.g. :format',
|
||||
'purchase_cost_invalid' => 'Please enter a valid number (digits, dots, and commas only)',
|
||||
'purchase_date' => 'Purchase Date',
|
||||
'qty' => 'QTY',
|
||||
'quantity' => 'Quantity',
|
||||
@@ -284,6 +288,7 @@ return [
|
||||
'select_var' => 'Select :thing... ', // this will eventually replace all of our other selects
|
||||
'select' => 'Select',
|
||||
'select_all' => 'Select All',
|
||||
'selected' => 'selected',
|
||||
'search' => 'Search',
|
||||
'select_category' => 'Select a Category',
|
||||
'select_datasource' => 'Select a data source',
|
||||
@@ -504,7 +509,7 @@ return [
|
||||
'fullscreen' => 'Fullscreen',
|
||||
'pie_chart_type' => 'Dashboard Pie Chart Type',
|
||||
'hello_name' => 'Hello, :name!',
|
||||
'unaccepted_profile_warning' => 'You have one item requiring acceptance. Click here to accept or decline it | You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'unaccepted_profile_warning' => '{1} You have one item requiring acceptance. Click here to accept or decline it|[2,4] You have :count items requiring acceptance. Click here to accept or decline them|[5,*] You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'start_date' => 'Start Date',
|
||||
'end_date' => 'End Date',
|
||||
'alt_uploaded_image_thumbnail' => 'Uploaded thumbnail',
|
||||
@@ -516,6 +521,7 @@ return [
|
||||
'pre_flight' => 'Pre-Flight',
|
||||
'skip_to_main_content' => 'Skip to main content',
|
||||
'toggle_navigation' => 'Toggle navigation',
|
||||
'toggle_password_visibility' => 'Toggle password visibility',
|
||||
'alerts' => 'Alerts',
|
||||
'tasks_view_all' => 'View all tasks',
|
||||
'true' => 'True',
|
||||
@@ -577,6 +583,7 @@ return [
|
||||
'error_user_company_accept_view' => 'An Asset assigned to you belongs to a different company so you can\'t accept nor deny it, please check with your manager',
|
||||
'error_assets_already_checked_out' => 'One or more of the assets are already checked out',
|
||||
'assigned_assets_removed' => 'The following were removed from the selected assets because they are already checked out',
|
||||
'unassigned_assets_removed' => 'The following were removed from the selected assets because they are not currently checked out',
|
||||
'upload_files' => 'Upload Files',
|
||||
'uploaded_files' => 'Uploaded Files',
|
||||
'sign_in_place' => 'Sign/Accept in place',
|
||||
@@ -676,6 +683,7 @@ return [
|
||||
'user_managed_passwords' => 'Password Management',
|
||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||
'user_managed_passwords_bulk_help' => 'This setting will only be applied to users that you are able to edit authentication settings on.',
|
||||
'from' => 'From',
|
||||
'by' => 'By',
|
||||
'by_user' => 'By',
|
||||
|
||||
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'سيتم إرسال رسالة إلكترونية تتضمن رابط إلى هذا المستخدم لتأكيد قبول هذا الأصل.',
|
||||
'global_signature_required_notice' => 'User signatures are currently required globally via the admin settings, so signatures will still be required regardless of this category setting if the item is checked out to a user (versus a location, etc).',
|
||||
'required_eula' => 'سيتم إرسال نسخة إلكترونية من إتفاقية الترخيص الى المستخدم',
|
||||
'required_signature' => 'This user will be required to sign to confirm acceptance of this item.',
|
||||
'no_default_eula' => 'لم يتم العثور على (اتفاقية ترخيص المستخدم) الأساسية. قم بإضافة واحدة من الإعدادات.',
|
||||
'update' => 'تحديث التصنيف',
|
||||
'use_default_eula' => 'قم باستعمال <a href="#" data-toggle="modal" data-target="#eulaModal">إتفاقية الترخيص الإفتراضية</a>.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'إدارة',
|
||||
'field' => 'حقل',
|
||||
'about_fieldsets_title' => 'حول مجموعة الحقول',
|
||||
'about_fieldsets_text' => '(مجموعات الحقول) تسمح لك بإنشاء مجموعات من الحقول اللتي يمكن إعادة إستخدامها مع موديل محدد.',
|
||||
'about_fieldsets_text' => 'مجموعات الحقول تسمح لك بإنشاء مجموعات من الحقول المخصصة التي يعاد استخدامها في كثير من الأحيان لأنواع معينة من نماذج الأصول.',
|
||||
'custom_format' => 'تنسيق Regex المخصص...',
|
||||
'encrypt_field' => 'تشفير قيمة هذا الحقل في قاعدة البيانات',
|
||||
'encrypt_field_help' => 'تحذير: تشفير الحقل يجعله غير قابل للبحث.',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'معلومات اختيارية',
|
||||
'order_details' => 'معلومات ذات صلة',
|
||||
'calc_eol' => 'If nulling the EOL date, use automatic EOL calculation based on the purchase date and EOL rate.',
|
||||
'checkin_licenses' => 'Checkin associated license seats',
|
||||
'checkin_child_assets' => 'Checkin associated assets',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'اخراج متعدد',
|
||||
'bulk_checkin' => 'Bulk Checkin',
|
||||
'checkin' => 'ادخال الأصل',
|
||||
'checkin_assets' => 'ادخال الأصل',
|
||||
'checkout' => 'اخراج الأصل',
|
||||
'clear' => 'Clear',
|
||||
'clone' => 'استنساخ الأصل',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'Asset checked out successfully.|Assets checked out successfully.',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again|Assets were not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.|Assets checked in successfully.',
|
||||
'no_assets_selected' => 'يجب عليك تحديد أصل واحد على الأقل من القائمة',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'لم يتم ادخال الأصل، يرجى إعادة المحاولة',
|
||||
'success' => 'تم ادخال الأصل بنجاح.',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'Checked in via bulk license checkin in license GUI',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => ':count seat checked in successfully. | :count seats checked in successfully.',
|
||||
'no_seats_selected' => 'No seats were selected.',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'إخراج جميع المقاعد',
|
||||
'modal' => 'سيؤدي هذا الإجراء إلى دفع مقعد واحد إلى أول مستخدم متاح. <unk> سيؤدي هذا الإجراء إلى دفع جميع مقاعد :available_seats_count إلى أول مستخدمين متاحين. يعتبر المستخدم متوفراً لهذا المقعد إذا لم يكن لديك بالفعل هذا الترخيص الذي تم إخراجه إليهم. ويتم تمكين خاصية ترخيص التعيين التلقائي على حساب المستخدم الخاص بهم.',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'maintenance_types' => 'Maintenance Types',
|
||||
'create' => 'Create Maintenance Type',
|
||||
'update' => 'Update Maintenance Type',
|
||||
];
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'Maintenance type not found.',
|
||||
'create' => [
|
||||
'error' => 'Maintenance type was not created, please try again.',
|
||||
'success' => 'Maintenance type created successfully.',
|
||||
],
|
||||
'update' => [
|
||||
'error' => 'Maintenance type was not updated, please try again.',
|
||||
'success' => 'Maintenance type updated successfully.',
|
||||
],
|
||||
'delete' => [
|
||||
'confirm' => 'Are you sure you wish to delete this maintenance type?',
|
||||
'error' => 'There was an issue deleting this maintenance type. Please try again.',
|
||||
'success' => 'The maintenance type was deleted successfully.',
|
||||
],
|
||||
'complete' => [
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
@@ -5,11 +5,18 @@ return [
|
||||
'asset_maintenance_type' => 'اكتب',
|
||||
'title' => 'المسمى الوظيفي',
|
||||
'start_date' => 'تاريخ البداية',
|
||||
'completion_date' => 'تاريخ الانتهاء',
|
||||
'completion_date' => 'Expected Completion',
|
||||
'cost' => 'التكلفة',
|
||||
'is_warranty' => 'تحسين الضمان',
|
||||
'asset_maintenance_time' => 'Duration',
|
||||
'notes' => 'مُلاحظات',
|
||||
'update' => 'تعديل صيانة الأصل',
|
||||
'create' => 'إنشاء صيانة الأصول',
|
||||
'responsible_party' => 'Responsible Party',
|
||||
'checked_out_to_at_creation' => 'تم الاخراج إلى',
|
||||
'completed_at' => 'Completed At',
|
||||
'completed_by' => 'Completed By',
|
||||
'mark_complete' => 'Mark Complete',
|
||||
'already_complete' => 'Already Completed',
|
||||
'completion_notes' => 'Completion Notes',
|
||||
];
|
||||
|
||||
@@ -14,4 +14,10 @@ return [
|
||||
'hardware_support' => 'دعم الأجهزة',
|
||||
'configuration_change' => 'تغيير التكوين',
|
||||
'pat_test' => 'اختبار بايت',
|
||||
'checked_out_to_help' => 'The user, etc that the asset was checked out to at the time of maintenance creation. This is for historical reference and does not affect the current checkout status of the asset.',
|
||||
'show_completed' => 'Show Completed',
|
||||
'show_active' => 'Show Active',
|
||||
'due' => 'Due',
|
||||
'overdue' => 'Overdue',
|
||||
'completed' => 'أنجزت',
|
||||
];
|
||||
|
||||
@@ -18,4 +18,9 @@ return [
|
||||
'asset_maintenance_incomplete' => 'لم يكتمل بعد',
|
||||
'warranty' => 'الضمان',
|
||||
'not_warranty' => 'لا يوجد ضمان',
|
||||
'complete' => [
|
||||
'confirm' => 'Are you sure you want to mark this maintenance as complete? This cannot be undone.',
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
|
||||
@@ -37,8 +37,9 @@ return [
|
||||
'user_activated' => 'يمكن تسجيل المستخدم',
|
||||
'activation_status_warning' => 'عدم تغيير حالة التفعيل',
|
||||
'group_memberships_helpblock' => 'فقط المشرفين العامون يمكنهم تعديل عضويات المجموعة.',
|
||||
'superadmin_permission_warning' => 'فقط للمشرفين العامين يمكنهم منح مستخدم صلاحية المشرف العام.',
|
||||
'admin_permission_warning' => 'يمكن فقط للمستخدمين الذين لديهم حقوق المشرفين أو أعلى منح صلاحية مشرف لمستخدم.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant or revoke superadmin access.',
|
||||
'self_permission_warning' => 'Only superadmins may edit their own permissions.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant or revoke admin access.',
|
||||
'remove_group_memberships' => 'إزالة عضويات مجموعة',
|
||||
'warning_deletion_information' => 'You are about to checkin ALL items from the :count user(s) listed below.',
|
||||
'update_user_assets_status' => 'تحديث جميع الأصول لهؤلاء المستخدمين إلى هذه الحالة',
|
||||
|
||||
@@ -85,6 +85,7 @@ return [
|
||||
'click_here' => 'انقر هنا',
|
||||
'clear_selection' => 'مسح التحديد',
|
||||
'companies' => 'الشركات',
|
||||
'companies_var' => 'Company|Companies',
|
||||
'company' => 'شركة',
|
||||
'component' => 'مكون',
|
||||
'components' => 'المكونات',
|
||||
@@ -122,7 +123,7 @@ return [
|
||||
'debug_warning_text' => 'هذا التطبيق يعمل في وضع الإنتاج مع تمكين التصحيح. هذا يمكن أن يعرض البيانات الحساسة إذا كان التطبيق الخاص بك هو في متناول العالم الخارجي. تعطيل وضع التصحيح عن طريق تعيين قيمة <code>APP_DEBUG</code> في ملف <code>.env</code> إلى <code>false</code>.',
|
||||
'delete' => 'حذف',
|
||||
'delete_confirm' => 'هل أنت متأكد من حذف :المنتج؟',
|
||||
'delete_confirm_no_undo' => 'Are you sure you wish to delete :item? This cannot be undone.',
|
||||
'delete_confirm_no_undo' => 'هل أنت متأكد من أنك ترغب في حذف :item؟ لا يمكن التراجع بعد الحذف.',
|
||||
'deleted' => 'تم حذفها',
|
||||
'delete_seats' => 'المقاعد المحذوفة',
|
||||
'deletion_failed' => 'فشل الحذف',
|
||||
@@ -167,7 +168,7 @@ return [
|
||||
'image_upload' => 'رفع صورة',
|
||||
'filetypes_accepted_help' => 'Accepted filetype is :types. The maximum size allowed is :size.|Accepted filetypes are :types. The maximum upload size allowed is :size.',
|
||||
'filetypes_size_help' => 'الحد الأقصى المسموح لحجم التصعيد هو :size.',
|
||||
'image_filetypes_help' => 'Accepted filetypes are jpg, webp, png, gif, svg, and avif. The maximum upload size allowed is :size.',
|
||||
'image_filetypes_help' => 'أنواع الملفات المسموحة هي jpg، webpp، png، gif، svg، tif. الحد الأقصى لحجم التصعيد المسموح به هو :size.',
|
||||
'unaccepted_image_type' => 'ملف الصورة هذا غير قابل للقراءة. أنواع الملفات المقبولة هي jpg، webpp، png، gif، svg. نوع هذا الملف هو: :mimetype.',
|
||||
'import' => 'استيراد',
|
||||
'documentation' => 'Open documentation in a new link',
|
||||
@@ -209,6 +210,7 @@ return [
|
||||
'logout' => 'تسجيل خروج',
|
||||
'lookup_by_tag' => 'البحث عن طريق ترميز الأصل',
|
||||
'maintenances' => 'الصيانة',
|
||||
'maintenance_complete' => 'Maintenance Complete',
|
||||
'manage_api_keys' => 'إدارة مفاتيح API',
|
||||
'manufacturer' => 'الشركة المصنعة',
|
||||
'manufacturers' => 'الشركات المصنعة',
|
||||
@@ -237,7 +239,7 @@ return [
|
||||
'note_added' => 'Note Added',
|
||||
'options' => 'Options',
|
||||
'preview' => 'Preview',
|
||||
'add_note' => 'Add Note',
|
||||
'add_note' => 'Add Journal Note',
|
||||
'note_edited' => 'Note Edited',
|
||||
'edit_note' => 'Edit Note',
|
||||
'note_deleted' => 'Note Deleted',
|
||||
@@ -255,6 +257,8 @@ return [
|
||||
'processing' => 'معالجة',
|
||||
'profile' => 'View Profile',
|
||||
'purchase_cost' => 'تكلفة الشراء',
|
||||
'purchase_cost_format_help' => 'This should be entered in your system-configured number format, e.g. :format',
|
||||
'purchase_cost_invalid' => 'Please enter a valid number (digits, dots, and commas only)',
|
||||
'purchase_date' => 'تاريخ الشراء',
|
||||
'qty' => 'الكمية',
|
||||
'quantity' => 'كمية',
|
||||
@@ -284,6 +288,7 @@ return [
|
||||
'select_var' => 'اختر :thing... ', // this will eventually replace all of our other selects
|
||||
'select' => 'تحديد',
|
||||
'select_all' => 'اختر الكل',
|
||||
'selected' => 'selected',
|
||||
'search' => 'بحث',
|
||||
'select_category' => 'اختر تصنيف',
|
||||
'select_datasource' => 'اختر مصدر البيانات',
|
||||
@@ -504,7 +509,7 @@ return [
|
||||
'fullscreen' => 'Fullscreen',
|
||||
'pie_chart_type' => 'نوع مخطط دائري لوحة التحكم',
|
||||
'hello_name' => 'مرحبا، :name!',
|
||||
'unaccepted_profile_warning' => 'You have one item requiring acceptance. Click here to accept or decline it | You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'unaccepted_profile_warning' => '{1} You have one item requiring acceptance. Click here to accept or decline it|[2,4] You have :count items requiring acceptance. Click here to accept or decline them|[5,*] You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'start_date' => 'تاريخ البداية',
|
||||
'end_date' => 'تاريخ الانتهاء',
|
||||
'alt_uploaded_image_thumbnail' => 'الصورة المصغرة المحملة',
|
||||
@@ -516,6 +521,7 @@ return [
|
||||
'pre_flight' => 'قبل الطيران',
|
||||
'skip_to_main_content' => 'تخطي إلى المحتوى الرئيسي',
|
||||
'toggle_navigation' => 'تبديل التنقل',
|
||||
'toggle_password_visibility' => 'Toggle password visibility',
|
||||
'alerts' => 'التنبيهات',
|
||||
'tasks_view_all' => 'عرض جميع المهام',
|
||||
'true' => 'حقيقي',
|
||||
@@ -577,6 +583,7 @@ return [
|
||||
'error_user_company_accept_view' => 'الأصل الذي تم تعيينه لك ينتمي إلى شركة أخرى لذلك لا يمكنك قبوله أو رفضه، يرجى التحقق من المدير الخاص بك',
|
||||
'error_assets_already_checked_out' => 'One or more of the assets are already checked out',
|
||||
'assigned_assets_removed' => 'The following were removed from the selected assets because they are already checked out',
|
||||
'unassigned_assets_removed' => 'The following were removed from the selected assets because they are not currently checked out',
|
||||
'upload_files' => 'Upload Files',
|
||||
'uploaded_files' => 'Uploaded Files',
|
||||
'sign_in_place' => 'Sign/Accept in place',
|
||||
@@ -676,6 +683,7 @@ return [
|
||||
'user_managed_passwords' => 'Password Management',
|
||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||
'user_managed_passwords_bulk_help' => 'This setting will only be applied to users that you are able to edit authentication settings on.',
|
||||
'from' => 'From',
|
||||
'by' => 'بواسطة',
|
||||
'by_user' => 'بواسطة',
|
||||
|
||||
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'Потребителят ще получи email с връзка за потвърждаване получаването на актива.',
|
||||
'global_signature_required_notice' => 'User signatures are currently required globally via the admin settings, so signatures will still be required regardless of this category setting if the item is checked out to a user (versus a location, etc).',
|
||||
'required_eula' => 'Потребителят ще получи копие на EULA.',
|
||||
'required_signature' => 'This user will be required to sign to confirm acceptance of this item.',
|
||||
'no_default_eula' => 'Няма EULA по подразбиране. Добавете я в Настройки.',
|
||||
'update' => 'Обновяване на категория',
|
||||
'use_default_eula' => 'Използване на <a href="#" data-toggle="modal" data-target="#eulaModal">EULA по подразбиране</a>.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'Управление',
|
||||
'field' => 'Поле',
|
||||
'about_fieldsets_title' => 'Относно Fieldsets',
|
||||
'about_fieldsets_text' => 'Fieldsets позволяват създаването на групи от персонализирани полета, които се използват и преизползват често за специфични типове модели на активи.',
|
||||
'about_fieldsets_text' => '"Група от полета" позволяват създаването на групи от персонализирани полета, които се използват и преизползват често за специфични типове модели на активи.',
|
||||
'custom_format' => 'Персонализиран формат...',
|
||||
'encrypt_field' => 'Шифроване на стойността на това поле в базата данни',
|
||||
'encrypt_field_help' => 'ВНИМАНИЕ: Шифроване на поле го прави невалидно за търсене.',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'Допълнителна информация',
|
||||
'order_details' => 'Информация за състоянието на поръчка',
|
||||
'calc_eol' => 'Ако нулирате EOL датата, ще се използва EOL дата базирана на дата на закупуване + EOL норма.',
|
||||
'checkin_licenses' => 'Checkin associated license seats',
|
||||
'checkin_child_assets' => 'Checkin associated assets',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'Общо отписване',
|
||||
'bulk_checkin' => 'Общо вписване',
|
||||
'checkin' => 'Връщане на актив',
|
||||
'checkin_assets' => 'Връщане на актив',
|
||||
'checkout' => 'Изписване на актив',
|
||||
'clear' => 'Изчисти',
|
||||
'clone' => 'Копиране на актив',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'Актива е изписан успешно.|Активите са изписани успешно.',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again|Assets were not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.|Assets checked in successfully.',
|
||||
'no_assets_selected' => 'Трябва да изберете поне един елемент към списъка',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'Активът не беше вписан. Моля опитайте отново.',
|
||||
'success' => 'Активът вписан успешно.',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'Вписване чрез групово лиценз вписване в GUI',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => ':count seat checked in successfully. | :count seats checked in successfully.',
|
||||
'no_seats_selected' => 'No seats were selected.',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Изпиши всички бройки',
|
||||
'modal' => 'Това ще изпише един лиценз на първия наличен потребител. | Това ще изпише вички :available_seats_count лиценза на първите налични потребители. Потребителя се смята за наличен, ако те нямат зачислен лиценз вече и настройката за автоматично зачисляване е включена в техния акаунт.',
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'maintenance_types' => 'Maintenance Types',
|
||||
'create' => 'Create Maintenance Type',
|
||||
'update' => 'Update Maintenance Type',
|
||||
];
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'Maintenance type not found.',
|
||||
'create' => [
|
||||
'error' => 'Maintenance type was not created, please try again.',
|
||||
'success' => 'Maintenance type created successfully.',
|
||||
],
|
||||
'update' => [
|
||||
'error' => 'Maintenance type was not updated, please try again.',
|
||||
'success' => 'Maintenance type updated successfully.',
|
||||
],
|
||||
'delete' => [
|
||||
'confirm' => 'Are you sure you wish to delete this maintenance type?',
|
||||
'error' => 'There was an issue deleting this maintenance type. Please try again.',
|
||||
'success' => 'The maintenance type was deleted successfully.',
|
||||
],
|
||||
'complete' => [
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
@@ -5,11 +5,18 @@ return [
|
||||
'asset_maintenance_type' => 'Тип',
|
||||
'title' => 'Титла',
|
||||
'start_date' => 'Начална дата',
|
||||
'completion_date' => 'Крайна дата',
|
||||
'completion_date' => 'Expected Completion',
|
||||
'cost' => 'Стойност',
|
||||
'is_warranty' => 'Подобрение на гаранцията',
|
||||
'asset_maintenance_time' => 'Duration',
|
||||
'notes' => 'Бележки',
|
||||
'update' => 'Обнови поддръжката на актив',
|
||||
'create' => 'Създаване на поддръжка на актив',
|
||||
'responsible_party' => 'Responsible Party',
|
||||
'checked_out_to_at_creation' => 'Изписано на',
|
||||
'completed_at' => 'Completed At',
|
||||
'completed_by' => 'Completed By',
|
||||
'mark_complete' => 'Mark Complete',
|
||||
'already_complete' => 'Already Completed',
|
||||
'completion_notes' => 'Completion Notes',
|
||||
];
|
||||
|
||||
@@ -14,4 +14,10 @@ return [
|
||||
'hardware_support' => 'Хардуерна Поддръжка',
|
||||
'configuration_change' => 'Промяна на настройките',
|
||||
'pat_test' => 'PAT Test',
|
||||
'checked_out_to_help' => 'The user, etc that the asset was checked out to at the time of maintenance creation. This is for historical reference and does not affect the current checkout status of the asset.',
|
||||
'show_completed' => 'Show Completed',
|
||||
'show_active' => 'Show Active',
|
||||
'due' => 'Due',
|
||||
'overdue' => 'Overdue',
|
||||
'completed' => 'Completed',
|
||||
];
|
||||
|
||||
@@ -18,4 +18,9 @@ return [
|
||||
'asset_maintenance_incomplete' => 'Все още неприключила',
|
||||
'warranty' => 'Гаранция',
|
||||
'not_warranty' => 'Без гаранция',
|
||||
'complete' => [
|
||||
'confirm' => 'Are you sure you want to mark this maintenance as complete? This cannot be undone.',
|
||||
'success' => 'Maintenance marked as complete.',
|
||||
'error' => 'There was an issue marking this maintenance as complete. Please try again.',
|
||||
],
|
||||
];
|
||||
|
||||
@@ -37,8 +37,9 @@ return [
|
||||
'user_activated' => 'Потребителя може да се впише',
|
||||
'activation_status_warning' => 'Не променяй статуса на активиране',
|
||||
'group_memberships_helpblock' => 'Само админ може да редактира членовете на групата.',
|
||||
'superadmin_permission_warning' => 'Само админ може да даде администраторски достъп на потребител.',
|
||||
'admin_permission_warning' => 'Само потребители с административни права може да дадат админ достъп.',
|
||||
'superadmin_permission_warning' => 'Only superadmins may grant or revoke superadmin access.',
|
||||
'self_permission_warning' => 'Only superadmins may edit their own permissions.',
|
||||
'admin_permission_warning' => 'Only users with admins rights or greater may grant or revoke admin access.',
|
||||
'remove_group_memberships' => 'Премахни членовете на групата',
|
||||
'warning_deletion_information' => 'Ще впишете ВСИЧКИ активи от :count потребител(я) изброени по-долу.',
|
||||
'update_user_assets_status' => 'Обнови всички активи за следните потребители към този статус',
|
||||
|
||||
@@ -85,6 +85,7 @@ return [
|
||||
'click_here' => 'Натиснете тук',
|
||||
'clear_selection' => 'Изчистване на селектираното',
|
||||
'companies' => 'Компании',
|
||||
'companies_var' => 'Company|Companies',
|
||||
'company' => 'Компания',
|
||||
'component' => 'Компонент',
|
||||
'components' => 'Компоненти',
|
||||
@@ -122,7 +123,7 @@ return [
|
||||
'debug_warning_text' => 'Това приложение се изпълнява в режим на производство с разрешено отстраняване на грешки. Това може да изложи чувствителни данни, ако приложението ви е достъпно за външния свят. Забранете режим отстраняване на грешки чрез задаване на стойността <code>APP_DEBUF</code> <code>.env</code> във файла <code>false</code>.',
|
||||
'delete' => 'Изтриване',
|
||||
'delete_confirm' => 'Сигурни ли сте, че желаете изтриването на :item?',
|
||||
'delete_confirm_no_undo' => 'Сигурни ли сте че искате да изтриете :item? Това не може да бъде върнато на обратно.',
|
||||
'delete_confirm_no_undo' => 'Сигурни ли сте, че искате да изтриете :item? Това не може да бъде върнато на обратно.',
|
||||
'deleted' => 'Изтрито',
|
||||
'delete_seats' => 'Изтрити работни места за лиценз',
|
||||
'deletion_failed' => 'Неуспешно изтриване',
|
||||
@@ -209,6 +210,7 @@ return [
|
||||
'logout' => 'Изход',
|
||||
'lookup_by_tag' => 'Търсене по етикет на актив',
|
||||
'maintenances' => 'Профилактики',
|
||||
'maintenance_complete' => 'Maintenance Complete',
|
||||
'manage_api_keys' => 'Управление на API ключове',
|
||||
'manufacturer' => 'Производител',
|
||||
'manufacturers' => 'Производители',
|
||||
@@ -237,7 +239,7 @@ return [
|
||||
'note_added' => 'Бележката е добавена',
|
||||
'options' => 'Настройки',
|
||||
'preview' => 'Преглед',
|
||||
'add_note' => 'Добави бележка',
|
||||
'add_note' => 'Add Journal Note',
|
||||
'note_edited' => 'Бележката е редактирана',
|
||||
'edit_note' => 'Редактиране на бележка',
|
||||
'note_deleted' => 'Бележката е изтрита',
|
||||
@@ -255,6 +257,8 @@ return [
|
||||
'processing' => 'Обработка',
|
||||
'profile' => 'Виж профил',
|
||||
'purchase_cost' => 'Цена на закупуване',
|
||||
'purchase_cost_format_help' => 'This should be entered in your system-configured number format, e.g. :format',
|
||||
'purchase_cost_invalid' => 'Please enter a valid number (digits, dots, and commas only)',
|
||||
'purchase_date' => 'Дата на закупуване',
|
||||
'qty' => 'Количество',
|
||||
'quantity' => 'Kоличество',
|
||||
@@ -284,6 +288,7 @@ return [
|
||||
'select_var' => 'Избран :thing... ', // this will eventually replace all of our other selects
|
||||
'select' => 'Избор',
|
||||
'select_all' => 'Избери Всички',
|
||||
'selected' => 'selected',
|
||||
'search' => 'Търсене',
|
||||
'select_category' => 'Изберете категория',
|
||||
'select_datasource' => 'Изберете източник на данни',
|
||||
@@ -504,7 +509,7 @@ return [
|
||||
'fullscreen' => 'Fullscreen',
|
||||
'pie_chart_type' => 'Кръгова диаграма на таблото',
|
||||
'hello_name' => 'Здравейте, :name!',
|
||||
'unaccepted_profile_warning' => 'Имате един артикул за приемане. Щракнете тук, за да го приемете или откажете | Имате :count артикула за приемане. Щракнете тук, за да ги приемете или откажете',
|
||||
'unaccepted_profile_warning' => '{1} You have one item requiring acceptance. Click here to accept or decline it|[2,4] You have :count items requiring acceptance. Click here to accept or decline them|[5,*] You have :count items requiring acceptance. Click here to accept or decline them',
|
||||
'start_date' => 'Начална дата',
|
||||
'end_date' => 'Крайна дата',
|
||||
'alt_uploaded_image_thumbnail' => 'Качено умалено изображение',
|
||||
@@ -516,6 +521,7 @@ return [
|
||||
'pre_flight' => 'Тест',
|
||||
'skip_to_main_content' => 'Прескочи до основното съдържание',
|
||||
'toggle_navigation' => 'Превключи навигация',
|
||||
'toggle_password_visibility' => 'Toggle password visibility',
|
||||
'alerts' => 'Известия',
|
||||
'tasks_view_all' => 'Виж всички задачи',
|
||||
'true' => 'Вярно',
|
||||
@@ -577,6 +583,7 @@ return [
|
||||
'error_user_company_accept_view' => 'Актива заведен на вас пренадлежи към друга фирма, затова не можете да го приемете или откажете. Свържете се с вашият администратор',
|
||||
'error_assets_already_checked_out' => 'Един или повече от активите са вече изписани',
|
||||
'assigned_assets_removed' => 'Следните бяха премахнтати от избраните активи, защото са вече изписани',
|
||||
'unassigned_assets_removed' => 'The following were removed from the selected assets because they are not currently checked out',
|
||||
'upload_files' => 'Upload Files',
|
||||
'uploaded_files' => 'Uploaded Files',
|
||||
'sign_in_place' => 'Sign/Accept in place',
|
||||
@@ -676,6 +683,7 @@ return [
|
||||
'user_managed_passwords' => 'Управление на пароли',
|
||||
'user_managed_passwords_disallow' => 'Забраняване на потребителите да управляват собствените си пароли',
|
||||
'user_managed_passwords_allow' => 'Позволяване на потребителите да управляват собствените си пароли',
|
||||
'user_managed_passwords_bulk_help' => 'This setting will only be applied to users that you are able to edit authentication settings on.',
|
||||
'from' => 'От',
|
||||
'by' => 'От',
|
||||
'by_user' => 'От',
|
||||
|
||||
@@ -19,6 +19,7 @@ return [
|
||||
'required_acceptance' => 'This user will be emailed with a link to confirm acceptance of this item.',
|
||||
'global_signature_required_notice' => 'User signatures are currently required globally via the admin settings, so signatures will still be required regardless of this category setting if the item is checked out to a user (versus a location, etc).',
|
||||
'required_eula' => 'This user will be emailed a copy of the EULA',
|
||||
'required_signature' => 'This user will be required to sign to confirm acceptance of this item.',
|
||||
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
|
||||
'update' => 'Update Category',
|
||||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return [
|
||||
'manage' => 'Manage',
|
||||
'field' => 'Field',
|
||||
'about_fieldsets_title' => 'About Fieldsets',
|
||||
'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used used for specific asset model types.',
|
||||
'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used for specific asset model types.',
|
||||
'custom_format' => 'Custom Regex format...',
|
||||
'encrypt_field' => 'Encrypt the value of this field in the database',
|
||||
'encrypt_field_help' => 'WARNING: Encrypting a field makes it unsearchable.',
|
||||
|
||||
@@ -64,4 +64,6 @@ return [
|
||||
'optional_infos' => 'Informació opcional',
|
||||
'order_details' => 'Informació de compra relacionada',
|
||||
'calc_eol' => 'If nulling the EOL date, use automatic EOL calculation based on the purchase date and EOL rate.',
|
||||
'checkin_licenses' => 'Checkin associated license seats',
|
||||
'checkin_child_assets' => 'Checkin associated assets',
|
||||
];
|
||||
|
||||
@@ -8,6 +8,7 @@ return [
|
||||
'bulk_checkout' => 'Bulk Checkout',
|
||||
'bulk_checkin' => 'Bulk Checkin',
|
||||
'checkin' => 'Checkin Asset',
|
||||
'checkin_assets' => 'Checkin Assets',
|
||||
'checkout' => 'Checkout Asset',
|
||||
'clear' => 'Clear',
|
||||
'clone' => 'Clone Asset',
|
||||
|
||||
@@ -94,6 +94,12 @@ return [
|
||||
'success' => 'Asset checked out successfully.|Assets checked out successfully.',
|
||||
],
|
||||
|
||||
'multi-checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again|Assets were not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.|Assets checked in successfully.',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list',
|
||||
],
|
||||
|
||||
'checkin' => [
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
|
||||
@@ -31,6 +31,11 @@ return [
|
||||
'log_msg' => 'Checked in via bulk license checkin in license GUI',
|
||||
],
|
||||
|
||||
'checkin_selected' => [
|
||||
'success' => ':count seat checked in successfully. | :count seats checked in successfully.',
|
||||
'no_seats_selected' => 'No seats were selected.',
|
||||
],
|
||||
|
||||
'checkout_all' => [
|
||||
'button' => 'Checkout All Seats',
|
||||
'modal' => 'This action will checkout one seat to the first available user. | This action will checkout all :available_seats_count seats to the first available users. A user is considered available for this seat if they do not already have this license checked out to them, and the Auto-Assign License property is enabled on their user account.',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user