Compare commits
78 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0973de1a6 | ||
|
|
fe06ef10f1 | ||
|
|
14ca690441 | ||
|
|
2de0a3669e | ||
|
|
c7c63e8432 | ||
|
|
adf6afbb43 | ||
|
|
69b90fb65e | ||
|
|
97ea68b15c | ||
|
|
badc763c06 | ||
|
|
b6a14d2c9c | ||
|
|
d59dd0f636 | ||
|
|
d68d95a915 | ||
|
|
15d4344efb | ||
|
|
dc10f18188 | ||
|
|
2522bfee9c | ||
|
|
d7f8615964 | ||
|
|
88dff754b1 | ||
|
|
ecd21074fb | ||
|
|
12caa48390 | ||
|
|
cc7be5f947 | ||
|
|
5b489e003d | ||
|
|
8c1f4b006e | ||
|
|
3a52c19428 | ||
|
|
279ad6d80a | ||
|
|
b786791401 | ||
|
|
1c12b6e13b | ||
|
|
c06539dee3 | ||
|
|
3b9544d1f3 | ||
|
|
da9bb07041 | ||
|
|
5d9b9ad590 | ||
|
|
f95502ae35 | ||
|
|
877daba096 | ||
|
|
b3b8ab493e | ||
|
|
1859c8f5ab | ||
|
|
87ba042b2d | ||
|
|
6fb0ef908d | ||
|
|
c4a30cc646 | ||
|
|
cf56f70b3a | ||
|
|
f84e6a34cc | ||
|
|
85360a7c7f | ||
|
|
9e0b3afa91 | ||
|
|
416455fe01 | ||
|
|
53a1511cac | ||
|
|
733921f1f9 | ||
|
|
3ecaa99990 | ||
|
|
ab9729c39a | ||
|
|
104cc2bf11 | ||
|
|
1659c3f1a6 | ||
|
|
caa8ec3178 | ||
|
|
0c794c103b | ||
|
|
53175d5035 | ||
|
|
0bd09f9c46 | ||
|
|
27d795508d | ||
|
|
368ac5b85d | ||
|
|
d5635f32e5 | ||
|
|
f47075c180 | ||
|
|
0a5e4b9b7b | ||
|
|
85624205b4 | ||
|
|
2330e5ee57 | ||
|
|
c9c5ce6ee0 | ||
|
|
fc3a59d193 | ||
|
|
950519be5d | ||
|
|
e64cf8b320 | ||
|
|
87affa40ed | ||
|
|
513a1b1e3b | ||
|
|
cf09908c60 | ||
|
|
d21c92f91b | ||
|
|
ffd93c59d6 | ||
|
|
01bb4bf64a | ||
|
|
28a4293a0b | ||
|
|
f095f1807c | ||
|
|
e08911ab8f | ||
|
|
ca6dc5c2b5 | ||
|
|
27875c2dac | ||
|
|
6f886d3d6e | ||
|
|
fd74e4308b | ||
|
|
3695e118f4 | ||
|
|
f43692938b |
@@ -49,7 +49,7 @@ class RecryptFromMcrypt extends Command
|
||||
// If not, we can try to use the current APP_KEY if looks like it's old
|
||||
$legacy_key = env('LEGACY_APP_KEY');
|
||||
$key_parts = explode(':', $legacy_key);
|
||||
$legacy_cipher = env('LEGACY_CIPHER');
|
||||
$legacy_cipher = env('LEGACY_CIPHER', 'rijndael-256');
|
||||
$errors = array();
|
||||
|
||||
if (!$legacy_key) {
|
||||
|
||||
137
app/Console/Commands/SyncAssetLocations.php
Normal file
137
app/Console/Commands/SyncAssetLocations.php
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Models\CustomField;
|
||||
use Illuminate\Console\Command;
|
||||
use App\Models\Asset;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class SyncAssetLocations extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'snipeit:sync-asset-locations {--output= : info|warn|error|all} ';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'This utility will sync the location_id of assets based on current state. It should not normally be needed, but is a safeguard in case we missed something in the Great Migration when flattening the assets to location relationship.';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
|
||||
$output['info'] = [];
|
||||
$output['warn'] = [];
|
||||
$output['error'] = [];
|
||||
|
||||
$total_assets = Asset::whereNull('deleted_at')->get();
|
||||
$bar = $this->output->createProgressBar(count($total_assets));
|
||||
|
||||
// Unassigned
|
||||
$rtd_assets = Asset::whereNull('assigned_to')->with('defaultLoc')->get();
|
||||
$output['info'][] = 'There are '.$rtd_assets->count().' unassigned assets.';
|
||||
|
||||
foreach ($rtd_assets as $rtd_asset) {
|
||||
$output['info'][] = 'Setting Unassigned Asset ' . $rtd_asset->id . ' ('.$rtd_asset->asset_tag.') to location: ' . $rtd_asset->rtd_location_id . " because their default location is: " . $rtd_asset->rtd_location_id;
|
||||
$rtd_asset->location_id=$rtd_asset->rtd_location_id;
|
||||
$rtd_asset->unsetEventDispatcher();
|
||||
$rtd_asset->save();
|
||||
$bar->advance();
|
||||
}
|
||||
|
||||
$assigned_user_assets = Asset::where('assigned_type','App\Models\User')->whereNotNull('assigned_to')->get();
|
||||
$output['info'][] = 'There are '.$assigned_user_assets->count().' assets checked out to users.';
|
||||
foreach ($assigned_user_assets as $assigned_user_asset) {
|
||||
if (($assigned_user_asset->assignedTo) && ($assigned_user_asset->assignedTo->userLoc)) {
|
||||
$new_location=$assigned_user_asset->assignedTo->userloc->id;
|
||||
$output['info'][] ='Setting User Asset ' . $assigned_user_asset->id . ' ('.$assigned_user_asset->asset_tag.') to ' . $assigned_user_asset->assignedTo->userLoc->name . ' which is id: ' . $new_location;
|
||||
} else {
|
||||
$output['error'][] ='Asset ' . $assigned_user_asset->id . ' ('.$assigned_user_asset->asset_tag.') still has no location! ';
|
||||
$new_location=$assigned_user_asset->rtd_location_id;
|
||||
}
|
||||
$assigned_user_asset->location_id=$new_location;
|
||||
$assigned_user_asset->unsetEventDispatcher();
|
||||
$assigned_user_asset->save();
|
||||
$bar->advance();
|
||||
|
||||
}
|
||||
|
||||
$assigned_location_assets = Asset::where('assigned_type','App\Models\Location')
|
||||
->whereNotNull('assigned_to')->get();
|
||||
$output['info'][] = 'There are '.$assigned_location_assets->count().' assets checked out to locations.';
|
||||
|
||||
foreach ($assigned_location_assets as $assigned_location_asset) {
|
||||
$assigned_location_asset->location_id = $assigned_location_asset->assignedTo->id;
|
||||
|
||||
$output['info'][] ='Setting Location Assigned asset ' . $assigned_location_asset->id . ' ('.$assigned_location_asset->asset_tag.') that is checked out to '.$assigned_location_asset->assignedTo->name.' (#'.$assigned_location_asset->assignedTo->id.') to location: ' . $assigned_location_asset->assetLoc()->id;
|
||||
$assigned_location_asset->unsetEventDispatcher();
|
||||
$assigned_location_asset->save();
|
||||
$bar->advance();
|
||||
}
|
||||
|
||||
|
||||
// Assigned to assets
|
||||
$assigned_asset_assets = Asset::where('assigned_type','App\Models\Asset')
|
||||
->whereNotNull('assigned_to')->get();
|
||||
$output['info'][] ='Asset-assigned assets: '.$assigned_asset_assets->count();
|
||||
|
||||
foreach ($assigned_asset_assets as $assigned_asset_asset) {
|
||||
$assigned_asset_asset->location_id = $assigned_asset_asset->assetLoc()->id;
|
||||
$output['info'][] ='Setting Asset Assigned asset ' . $assigned_asset_asset->assetLoc()->id. ' ('.$assigned_asset_asset->asset_tag.') location to: ' . $assigned_asset_asset->assetLoc()->id;
|
||||
$assigned_asset_asset->unsetEventDispatcher();
|
||||
$assigned_asset_asset->save();
|
||||
$bar->advance();
|
||||
|
||||
}
|
||||
|
||||
$unlocated_assets = Asset::whereNull("location_id")->get();
|
||||
$output['info'][] ='Assets still without a location: '.$unlocated_assets->count();
|
||||
foreach($unlocated_assets as $unlocated_asset) {
|
||||
$output['warn'][] ='Asset: '.$unlocated_asset->id.' still has no location. ';
|
||||
$bar->advance();
|
||||
}
|
||||
|
||||
$bar->finish();
|
||||
$this->info("\n");
|
||||
|
||||
|
||||
if (($this->option('output')=='all') || ($this->option('output')=='info')) {
|
||||
foreach ($output['info'] as $key => $output_text) {
|
||||
$this->info($output_text);
|
||||
}
|
||||
}
|
||||
if (($this->option('output')=='all') || ($this->option('output')=='warn')) {
|
||||
foreach ($output['warn'] as $key => $output_text) {
|
||||
$this->warn($output_text);
|
||||
}
|
||||
}
|
||||
if (($this->option('output')=='all') || ($this->option('output')=='error')) {
|
||||
foreach ($output['error'] as $key => $output_text) {
|
||||
$this->error($output_text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -26,7 +26,8 @@ class Kernel extends ConsoleKernel
|
||||
Commands\LdapSync::class,
|
||||
Commands\FixDoubleEscape::class,
|
||||
Commands\RecryptFromMcrypt::class,
|
||||
Commands\ResetDemoSettings::class
|
||||
Commands\ResetDemoSettings::class,
|
||||
Commands\SyncAssetLocations::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -112,7 +112,7 @@ class AssetsController extends Controller
|
||||
}
|
||||
|
||||
if ($request->has('location_id')) {
|
||||
$assets->ByLocationId($request->input('location_id'));
|
||||
$assets->where('assets.location_id', '=', $request->input('location_id'));
|
||||
}
|
||||
|
||||
if ($request->has('supplier_id')) {
|
||||
@@ -275,14 +275,14 @@ class AssetsController extends Controller
|
||||
*/
|
||||
public function selectlist(Request $request)
|
||||
{
|
||||
$this->authorize('view', Asset::class);
|
||||
|
||||
$assets = Company::scopeCompanyables(Asset::select([
|
||||
'assets.id',
|
||||
'assets.name',
|
||||
'assets.asset_tag',
|
||||
'assets.model_id',
|
||||
]))->with('model')->RTD();
|
||||
'assets.status_id'
|
||||
])->with('model', 'assetstatus')->NotArchived());
|
||||
|
||||
|
||||
if ($request->has('search')) {
|
||||
@@ -300,6 +300,10 @@ class AssetsController extends Controller
|
||||
// they may not have a ->name value but we want to display something anyway
|
||||
foreach ($assets as $asset) {
|
||||
$asset->use_text = $asset->present()->fullName;
|
||||
if ($asset->assetstatus->getStatuslabelType()=='pending') {
|
||||
$asset->use_text = $asset->present()->fullName.' ('.$asset->assetstatus->getStatuslabelType().')';
|
||||
}
|
||||
|
||||
$asset->use_image = ($asset->getImageUrl()) ? $asset->getImageUrl() : null;
|
||||
}
|
||||
|
||||
@@ -417,6 +421,8 @@ class AssetsController extends Controller
|
||||
$asset->requestable = $request->get('requestable') : '';
|
||||
($request->has('rtd_location_id')) ?
|
||||
$asset->rtd_location_id = $request->get('rtd_location_id') : '';
|
||||
($request->has('rtd_location_id')) ?
|
||||
$asset->location_id = $request->get('rtd_location_id') : '';
|
||||
($request->has('company_id')) ?
|
||||
$asset->company_id = Company::getIdForCurrentUser($request->get('company_id')) : '';
|
||||
|
||||
@@ -434,14 +440,17 @@ class AssetsController extends Controller
|
||||
|
||||
if ($request->get('assigned_user')) {
|
||||
$target = User::find(request('assigned_user'));
|
||||
$location = $target->location_id;
|
||||
} elseif ($request->get('assigned_asset')) {
|
||||
$target = Asset::find(request('assigned_asset'));
|
||||
$location = $target->location_id;
|
||||
} elseif ($request->get('assigned_location')) {
|
||||
$target = Location::find(request('assigned_location'));
|
||||
$location = $target->id;
|
||||
}
|
||||
|
||||
if (isset($target)) {
|
||||
$asset->checkOut($target, Auth::user(), date('Y-m-d H:i:s'), '', 'Checked out on asset update', e($request->get('name')));
|
||||
$asset->checkOut($target, Auth::user(), date('Y-m-d H:i:s'), '', 'Checked out on asset update', e($request->get('name')), $location);
|
||||
}
|
||||
|
||||
return response()->json(Helper::formatStandardApiResponse('success', $asset, trans('admin/hardware/message.update.success')));
|
||||
@@ -508,14 +517,18 @@ class AssetsController extends Controller
|
||||
];
|
||||
if ($request->has('user_id')) {
|
||||
$target = User::find($request->input('user_id'));
|
||||
$location = $target->location_id;
|
||||
$error_payload['target_id'] = $request->input('user_id');
|
||||
$error_payload['target_type'] = User::class;
|
||||
// Don't let the user check an asset out to itself
|
||||
} elseif ($request->has('asset_id')) {
|
||||
$target = Asset::where('id','!=',$asset_id)->find($request->input('asset_id'));
|
||||
$location = $target->location_id;
|
||||
$error_payload['target_id'] = $request->input('asset_id');
|
||||
$error_payload['target_type'] = Asset::class;
|
||||
} elseif ($request->has('location_id')) {
|
||||
$target = Location::find($request->input('location_id'));
|
||||
$location = $target->id;
|
||||
$target = Location::find($request->input('location_id'));
|
||||
$error_payload['target_id'] = $request->input('location_id');
|
||||
$error_payload['target_type'] = Location::class;
|
||||
@@ -537,13 +550,11 @@ class AssetsController extends Controller
|
||||
$asset->location_id = $target->rtd_location_id;
|
||||
}
|
||||
|
||||
// Overwrite that if the target has a location ID though
|
||||
if ($target->location_id!='') {
|
||||
$asset->location_id = $target->location_id;
|
||||
}
|
||||
$asset->location_id = $location;
|
||||
|
||||
|
||||
|
||||
if ($asset->checkOut($target, Auth::user(), $checkout_at, $expected_checkin, $note, $asset_name)) {
|
||||
if ($asset->checkOut($target, Auth::user(), $checkout_at, $expected_checkin, $note, $asset_name, $location)) {
|
||||
return response()->json(Helper::formatStandardApiResponse('success', ['asset'=> e($asset->asset_tag)], trans('admin/hardware/message.checkout.success')));
|
||||
}
|
||||
|
||||
@@ -559,7 +570,7 @@ class AssetsController extends Controller
|
||||
* @since [v4.0]
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function checkin($asset_id)
|
||||
public function checkin(Request $request, $asset_id)
|
||||
{
|
||||
$this->authorize('checkin', Asset::class);
|
||||
$asset = Asset::findOrFail($asset_id);
|
||||
@@ -577,6 +588,13 @@ class AssetsController extends Controller
|
||||
$asset->assignedTo()->disassociate($asset);
|
||||
$asset->accepted = null;
|
||||
$asset->name = e(Input::get('name'));
|
||||
$asset->location_id = $asset->rtd_location_id;
|
||||
|
||||
if ($request->has('location_id')) {
|
||||
$asset->location_id = $request->input('location_id');
|
||||
}
|
||||
|
||||
$asset->location_id = $asset->rtd_location_id;
|
||||
|
||||
if (Input::has('status_id')) {
|
||||
$asset->status_id = e(Input::get('status_id'));
|
||||
|
||||
@@ -181,7 +181,7 @@ class ConsumablesController extends Controller
|
||||
|
||||
foreach ($consumable->consumableAssignments as $consumable_assignment) {
|
||||
$rows[] = [
|
||||
'name' => $consumable_assignment->user->present()->nameUrl(),
|
||||
'name' => ($consumable_assignment->user) ? $consumable_assignment->user->present()->nameUrl() : 'Deleted User',
|
||||
'created_at' => ($consumable_assignment->created_at->format('Y-m-d H:i:s')=='-0001-11-30 00:00:00') ? '' : $consumable_assignment->created_at->format('Y-m-d H:i:s'),
|
||||
'admin' => ($consumable_assignment->admin) ? $consumable_assignment->admin->present()->nameUrl() : '',
|
||||
];
|
||||
|
||||
@@ -21,7 +21,7 @@ class LicensesController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
$this->authorize('view', License::class);
|
||||
$licenses = Company::scopeCompanyables(License::with('company', 'licenseSeatsRelation', 'manufacturer', 'supplier'));
|
||||
$licenses = Company::scopeCompanyables(License::with('company', 'manufacturer', 'freeSeats', 'supplier')->withCount('freeSeats'));
|
||||
|
||||
if ($request->has('search')) {
|
||||
$licenses = $licenses->TextSearch($request->input('search'));
|
||||
@@ -77,17 +77,17 @@ class LicensesController extends Controller
|
||||
|
||||
|
||||
switch ($request->input('sort')) {
|
||||
case 'manufacturer':
|
||||
$licenses = $licenses->OrderManufacturer($order);
|
||||
case 'manufacturer':
|
||||
$licenses = $licenses->leftJoin('manufacturers', 'licenses.manufacturer_id', '=', 'manufacturers.id')->orderBy('manufacturers.name', $order);
|
||||
break;
|
||||
case 'supplier':
|
||||
$licenses = $licenses->OrderSupplier($order);
|
||||
$licenses = $licenses->leftJoin('suppliers', 'licenses.supplier_id', '=', 'suppliers.id')->orderBy('suppliers.name', $order);
|
||||
break;
|
||||
case 'company':
|
||||
$licenses = $licenses->OrderCompany($order);
|
||||
$licenses = $licenses->leftJoin('companies', 'licenses.company_id', '=', 'companies.id')->orderBy('companies.name', $order);
|
||||
break;
|
||||
default:
|
||||
$allowed_columns = ['id','name','purchase_cost','expiration_date','purchase_order','order_number','notes','purchase_date','serial','company','license_name','license_email'];
|
||||
$allowed_columns = ['id','name','purchase_cost','expiration_date','purchase_order','order_number','notes','purchase_date','serial','company','license_name','license_email','free_seats_count','seats'];
|
||||
$sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at';
|
||||
$licenses = $licenses->orderBy($sort, $order);
|
||||
break;
|
||||
@@ -95,6 +95,7 @@ class LicensesController extends Controller
|
||||
|
||||
|
||||
$total = $licenses->count();
|
||||
|
||||
$licenses = $licenses->skip($offset)->take($limit)->get();
|
||||
return (new LicensesTransformer)->transformLicenses($licenses, $total);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ class LocationsController extends Controller
|
||||
$allowed_columns = [
|
||||
'id','name','address','address2','city','state','country','zip','created_at',
|
||||
'updated_at','parent_id', 'manager_id','image',
|
||||
'rtd_assets_count','users_count','assets_count'];
|
||||
'assigned_assets_count','users_count','assets_count'];
|
||||
|
||||
$locations = Location::with('parent', 'manager', 'childLocations')->select([
|
||||
'locations.id',
|
||||
@@ -41,7 +41,7 @@ class LocationsController extends Controller
|
||||
'locations.updated_at',
|
||||
'locations.image',
|
||||
'locations.currency'
|
||||
])->withCount('rtd_assets')
|
||||
])->withCount('assignedAssets')
|
||||
->withCount('assets')
|
||||
->withCount('users');
|
||||
|
||||
@@ -152,7 +152,6 @@ class LocationsController extends Controller
|
||||
*/
|
||||
public function selectlist(Request $request)
|
||||
{
|
||||
$this->authorize('view', Location::class);
|
||||
|
||||
$locations = Location::select([
|
||||
'locations.id',
|
||||
|
||||
@@ -108,11 +108,11 @@ class SettingsController extends Controller
|
||||
if (!config('app.lock_passwords')) {
|
||||
try {
|
||||
Mail::send('emails.test', [], function ($m) {
|
||||
$m->to(config('mail.from.address'), config('mail.from.name'));
|
||||
$m->to(config('mail.reply_to.address'), config('mail.reply_to.name'));
|
||||
$m->replyTo(config('mail.reply_to.address'), config('mail.reply_to.name'));
|
||||
$m->subject(trans('mail.test_email'));
|
||||
});
|
||||
return response()->json(['message' => 'Mail sent to '.config('mail.from.address')], 200);
|
||||
return response()->json(['message' => 'Mail sent to '.config('mail.reply_to.address')], 200);
|
||||
} catch (Exception $e) {
|
||||
return response()->json(['message' => $e->getMessage()], 500);
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ class UsersController extends Controller
|
||||
'users.activated',
|
||||
'users.avatar',
|
||||
|
||||
])->with('manager', 'groups', 'location', 'company', 'department','throttle','assets','licenses','accessories','consumables')
|
||||
])->with('manager', 'groups', 'userloc', 'company', 'department','assets','licenses','accessories','consumables')
|
||||
->withCount('assets','licenses','accessories','consumables');
|
||||
$users = Company::scopeCompanyables($users);
|
||||
|
||||
@@ -80,12 +80,12 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
if ($request->has('department_id')) {
|
||||
$users = $users->where('department_id','=',$request->input('department_id'));
|
||||
$users = $users->where('users.department_id','=',$request->input('department_id'));
|
||||
}
|
||||
|
||||
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
|
||||
$offset = request('offset', 0);
|
||||
$limit = request('limit', 50);
|
||||
$limit = request('limit', 20);
|
||||
|
||||
switch ($request->input('sort')) {
|
||||
case 'manager':
|
||||
@@ -127,7 +127,6 @@ class UsersController extends Controller
|
||||
*/
|
||||
public function selectlist(Request $request)
|
||||
{
|
||||
$this->authorize('view', User::class);
|
||||
|
||||
$users = User::select(
|
||||
[
|
||||
@@ -225,6 +224,10 @@ class UsersController extends Controller
|
||||
$user = User::findOrFail($id);
|
||||
$user->fill($request->all());
|
||||
|
||||
if ($user->id == $request->input('manager_id')) {
|
||||
return response()->json(Helper::formatStandardApiResponse('error', null, 'You cannot be your own manager'));
|
||||
}
|
||||
|
||||
if ($request->has('password')) {
|
||||
$user->password = bcrypt($request->input('password'));
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@ class AssetModelsController extends Controller
|
||||
if (Input::file('image')) {
|
||||
|
||||
$image = Input::file('image');
|
||||
$file_name = slug($image->getClientOriginalName()) . "." . $image->getClientOriginalExtension();
|
||||
$file_name = str_slug($image->getClientOriginalName()) . "." . $image->getClientOriginalExtension();
|
||||
$path = public_path('uploads/models/');
|
||||
|
||||
if ($image->getClientOriginalExtension()!='svg') {
|
||||
|
||||
@@ -160,6 +160,10 @@ class AssetsController extends Controller
|
||||
$asset->requestable = request('requestable', 0);
|
||||
$asset->rtd_location_id = request('rtd_location_id', null);
|
||||
|
||||
if ($asset->assigned_to=='') {
|
||||
$asset->location_id = $request->input('rtd_location_id', null);
|
||||
}
|
||||
|
||||
// Create the image (if one was chosen.)
|
||||
if ($request->has('image')) {
|
||||
$image = $request->input('image');
|
||||
@@ -199,8 +203,6 @@ class AssetsController extends Controller
|
||||
|
||||
// Update custom fields in the database.
|
||||
// Validation for these fields is handled through the AssetRequest form request
|
||||
// FIXME: No idea why this is returning a Builder error on db_column_name.
|
||||
// Need to investigate and fix. Using static method for now.
|
||||
$model = AssetModel::find($request->get('model_id'));
|
||||
|
||||
if ($model->fieldset) {
|
||||
@@ -218,15 +220,20 @@ class AssetsController extends Controller
|
||||
// Was the asset created?
|
||||
if ($asset->save()) {
|
||||
$asset->logCreate();
|
||||
|
||||
if (request('assigned_user')) {
|
||||
$target = User::find(request('assigned_user'));
|
||||
$location = $target->location_id;
|
||||
} elseif (request('assigned_asset')) {
|
||||
$target = Asset::find(request('assigned_asset'));
|
||||
$location = $target->location_id;
|
||||
} elseif (request('assigned_location')) {
|
||||
$target = Location::find(request('assigned_location'));
|
||||
$location = $target->id;
|
||||
}
|
||||
|
||||
if (isset($target)) {
|
||||
$asset->checkOut($target, Auth::user(), date('Y-m-d H:i:s'), '', 'Checked out on asset creation', e(Input::get('name')));
|
||||
$asset->checkOut($target, Auth::user(), date('Y-m-d H:i:s'), '', 'Checked out on asset creation', e(Input::get('name')), $location);
|
||||
}
|
||||
// Redirect to the asset listing page
|
||||
\Session::flash('success', trans('admin/hardware/message.create.success'));
|
||||
@@ -289,6 +296,11 @@ class AssetsController extends Controller
|
||||
$asset->requestable = $request->has('requestable');
|
||||
$asset->rtd_location_id = $request->input('rtd_location_id', null);
|
||||
|
||||
if ($asset->assigned_to=='') {
|
||||
$asset->location_id = $request->input('rtd_location_id', null);
|
||||
}
|
||||
|
||||
|
||||
if ($request->has('image_delete')) {
|
||||
unlink(public_path().'/uploads/assets/'.$asset->image);
|
||||
$asset->image = '';
|
||||
@@ -546,6 +558,8 @@ class AssetsController extends Controller
|
||||
$asset->status_id = e(Input::get('status_id'));
|
||||
}
|
||||
|
||||
$asset->location_id = $asset->rtd_location_id;
|
||||
|
||||
if (Input::has('location_id')) {
|
||||
$asset->location_id = e(Input::get('location_id'));
|
||||
}
|
||||
|
||||
@@ -239,16 +239,19 @@ class LicensesController extends Controller
|
||||
* @param int $seatId
|
||||
* @return \Illuminate\Contracts\View\View
|
||||
*/
|
||||
public function getCheckout($seatId)
|
||||
public function getCheckout($licenceId)
|
||||
{
|
||||
// Check if the license seat exists
|
||||
if (is_null($licenseSeat = LicenseSeat::find($seatId))) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
||||
// Check that the license is valid
|
||||
if ($license = License::where('id',$licenceId)->first()) {
|
||||
|
||||
// If the license is valid, check that there is an available seat
|
||||
if ($license->getAvailSeatsCountAttribute() < 1) {
|
||||
return redirect()->route('licenses.index')->with('error', 'There are no available seats for this license');
|
||||
}
|
||||
}
|
||||
|
||||
$this->authorize('checkout', $licenseSeat);
|
||||
return view('licenses/checkout', compact('licenseSeat'));
|
||||
$this->authorize('checkout', $license);
|
||||
return view('licenses/checkout', compact('license'));
|
||||
}
|
||||
|
||||
|
||||
@@ -262,78 +265,95 @@ class LicensesController extends Controller
|
||||
* @param int $seatId
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function postCheckout(Request $request, $seatId)
|
||||
public function postCheckout(Request $request, $licenseId)
|
||||
{
|
||||
$licenseSeat = LicenseSeat::find($seatId);
|
||||
$assigned_to = e($request->input('assigned_to'));
|
||||
$asset_id = e($request->input('asset_id'));
|
||||
|
||||
$this->authorize('checkout', $licenseSeat);
|
||||
// Check that the license is valid
|
||||
if ($license = License::where('id',$licenseId)->first()) {
|
||||
|
||||
// Declare the rules for the form validation
|
||||
$rules = [
|
||||
'note' => 'string|nullable',
|
||||
'asset_id' => 'required_without:assigned_to',
|
||||
];
|
||||
// If the license is valid, check that there is an available seat
|
||||
if ($license->getAvailSeatsCountAttribute() < 1) {
|
||||
return redirect()->route('licenses.index')->with('error', 'There are no available seats for this license');
|
||||
}
|
||||
$next = $license->freeSeat();
|
||||
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
// If validation fails, we'll exit the operation now.
|
||||
if ($validator->fails()) {
|
||||
// Ooops.. something went wrong
|
||||
return redirect()->back()->withInput()->withErrors($validator);
|
||||
}
|
||||
$target = null;
|
||||
if ($assigned_to!='') {
|
||||
// Check if the user exists
|
||||
if (is_null($target = User::find($assigned_to))) {
|
||||
$licenseSeat = LicenseSeat::where('license_id',$license->id)->find($next)->first();
|
||||
$assigned_to = $request->input('assigned_to');
|
||||
$asset_id = $request->input('asset_id');
|
||||
|
||||
$this->authorize('checkout', $licenseSeat);
|
||||
|
||||
// Declare the rules for the form validation
|
||||
$rules = [
|
||||
'note' => 'string|nullable',
|
||||
'asset_id' => 'required_without:assigned_to',
|
||||
];
|
||||
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
// If validation fails, we'll exit the operation now.
|
||||
if ($validator->fails()) {
|
||||
// Ooops.. something went wrong
|
||||
return redirect()->back()->withInput()->withErrors($validator);
|
||||
}
|
||||
$target = null;
|
||||
if ($assigned_to!='') {
|
||||
// Check if the user exists
|
||||
if (is_null($target = User::find($assigned_to))) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.user_does_not_exist'));
|
||||
}
|
||||
}
|
||||
|
||||
if ($asset_id!='') {
|
||||
if (is_null($target = Asset::find($asset_id))) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.asset_does_not_exist'));
|
||||
}
|
||||
|
||||
if (($request->has('assigned_to')) && ($request->has('asset_id'))) {
|
||||
return redirect()->back()->withInput()->with('error', trans('admin/licenses/message.select_asset_or_person'));
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the asset exists
|
||||
if (is_null($licenseSeat)) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.user_does_not_exist'));
|
||||
}
|
||||
}
|
||||
|
||||
if ($asset_id!='') {
|
||||
if (is_null($target = Asset::find($asset_id))) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.asset_does_not_exist'));
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
||||
}
|
||||
|
||||
if (($request->has('assigned_to')) && ($request->has('asset_id'))) {
|
||||
return redirect()->back()->withInput()->with('error', trans('admin/licenses/message.select_asset_or_person'));
|
||||
if ($request->input('asset_id') == '') {
|
||||
$licenseSeat->asset_id = null;
|
||||
} else {
|
||||
$licenseSeat->asset_id = $request->input('asset_id');
|
||||
}
|
||||
}
|
||||
|
||||
// Check if the asset exists
|
||||
if (is_null($licenseSeat)) {
|
||||
// Redirect to the asset management page with error
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
||||
}
|
||||
|
||||
if ($request->input('asset_id') == '') {
|
||||
$licenseSeat->asset_id = null;
|
||||
} else {
|
||||
$licenseSeat->asset_id = $request->input('asset_id');
|
||||
}
|
||||
|
||||
// Update the asset data
|
||||
if ($request->input('assigned_to') == '') {
|
||||
// Update the asset data
|
||||
if ($request->input('assigned_to') == '') {
|
||||
$licenseSeat->assigned_to = null;
|
||||
} else {
|
||||
} else {
|
||||
$licenseSeat->assigned_to = $request->input('assigned_to');
|
||||
}
|
||||
|
||||
// Was the asset updated?
|
||||
if ($licenseSeat->save()) {
|
||||
$licenseSeat->logCheckout($request->input('note'), $target);
|
||||
|
||||
$data['license_id'] = $licenseSeat->license_id;
|
||||
$data['note'] = $request->input('note');
|
||||
|
||||
// Redirect to the new asset page
|
||||
return redirect()->route("licenses.index")->with('success', trans('admin/licenses/message.checkout.success'));
|
||||
}
|
||||
|
||||
}
|
||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
||||
|
||||
|
||||
// Was the asset updated?
|
||||
if ($licenseSeat->save()) {
|
||||
$licenseSeat->logCheckout($request->input('note'), $target);
|
||||
|
||||
$data['license_id'] = $licenseSeat->license_id;
|
||||
$data['note'] = $request->input('note');
|
||||
|
||||
// Redirect to the new asset page
|
||||
return redirect()->route("licenses.index")->with('success', trans('admin/licenses/message.checkout.success'));
|
||||
}
|
||||
|
||||
return redirect()->route("licenses.index")->with('error', trans('admin/licenses/message.checkout.error'));
|
||||
}
|
||||
|
||||
|
||||
@@ -108,12 +108,12 @@ class ProfileController extends Controller
|
||||
{
|
||||
|
||||
if (config('app.lock_passwords')) {
|
||||
return redirect()->route('account.password.index')->with('error', Lang::get('admin/users/table.lock_passwords'));
|
||||
return redirect()->route('account.password.index')->with('error', trans('admin/users/table.lock_passwords'));
|
||||
}
|
||||
|
||||
$user = Auth::user();
|
||||
if ($user->ldap_import=='1') {
|
||||
return redirect()->route('account.password.index')->with('error', Lang::get('admin/users/message.error.password_ldap'));
|
||||
return redirect()->route('account.password.index')->with('error', trans('admin/users/message.error.password_ldap'));
|
||||
}
|
||||
|
||||
$rules = array(
|
||||
|
||||
@@ -106,7 +106,6 @@ class UsersController extends Controller
|
||||
$user->password = bcrypt($request->input('password'));
|
||||
$data['password'] = $request->input('password');
|
||||
}
|
||||
// Update the user
|
||||
$user->first_name = $request->input('first_name');
|
||||
$user->last_name = $request->input('last_name');
|
||||
$user->locale = $request->input('locale');
|
||||
@@ -278,6 +277,10 @@ class UsersController extends Controller
|
||||
try {
|
||||
|
||||
$user = User::find($id);
|
||||
|
||||
if ($user->id == $request->input('manager_id')) {
|
||||
return redirect()->back()->withInput()->with('error', 'You cannot be your own manager.');
|
||||
}
|
||||
$this->authorize('update', $user);
|
||||
// Figure out of this user was an admin before this edit
|
||||
$orig_permissions_array = $user->decodePermissions();
|
||||
|
||||
@@ -21,7 +21,7 @@ class ContentSecurityPolicyHeader
|
||||
|
||||
$policy[] = "default-src 'self'";
|
||||
$policy[] = "style-src 'self' 'unsafe-inline' oss.maxcdn.com";
|
||||
$policy[] = "script-src 'self' 'unsafe-inline' oss.mafxcdn.com cdnjs.cloudflare.com 'nonce-".csrf_token()."'";
|
||||
$policy[] = "script-src 'self' 'unsafe-inline' oss.mafxcdn.com cdnjs.cloudflare.com'";
|
||||
$policy[] = "connect-src 'self'";
|
||||
$policy[] = "object-src 'none'";
|
||||
$policy[] = "font-src 'self' data:";
|
||||
|
||||
@@ -30,20 +30,17 @@ class LicensesTransformer
|
||||
'purchase_order' => e($license->purchase_order),
|
||||
'purchase_date' => Helper::getFormattedDateObject($license->purchase_date, 'date'),
|
||||
'purchase_cost' => e($license->purchase_cost),
|
||||
'depreciation' => ($license->depreciation) ? ['id' => (int) $license->depreciation->id,'name'=> e($license->depreciation->name)] : null,
|
||||
'notes' => e($license->notes),
|
||||
'expiration_date' => Helper::getFormattedDateObject($license->expiration_date, 'date'),
|
||||
'total_seats' => (int) $license->seats,
|
||||
'next_seat' => ($license->freeSeat()) ? (int) $license->freeSeat()->id : null,
|
||||
'remaining_qty' => (int) $license->remaincount(),
|
||||
'min_qty' => $license->remaincount(),
|
||||
'seats' => (int) $license->seats,
|
||||
'free_seats_count' => (int) $license->free_seats_count,
|
||||
'license_name' => e($license->license_name),
|
||||
'license_email' => e($license->license_email),
|
||||
'maintained' => ($license->maintained == 1) ? true : false,
|
||||
'supplier' => ($license->supplier) ? ['id' => (int) $license->supplier->id,'name'=> e($license->supplier->name)] : null,
|
||||
'created_at' => Helper::getFormattedDateObject($license->created_at, 'datetime'),
|
||||
'updated_at' => Helper::getFormattedDateObject($license->updated_at, 'datetime'),
|
||||
'user_can_checkout' => (bool) ($license->remaincount() > 0),
|
||||
'user_can_checkout' => (bool) ($license->free_seats_count > 0),
|
||||
];
|
||||
|
||||
$permissions_array['available_actions'] = [
|
||||
|
||||
@@ -39,8 +39,8 @@ class LocationsTransformer
|
||||
'state' => e($location->state),
|
||||
'country' => e($location->country),
|
||||
'zip' => e($location->zip),
|
||||
'assets_count' => (int) $location->assets_count,
|
||||
'rtd_assets_count' => (int) $location->rtd_assets_count,
|
||||
'assigned_assets_count' => (int) $location->assigned_assets_count,
|
||||
'assets_count' => (int) $location->assets_count,
|
||||
'users_count' => (int) $location->users_count,
|
||||
|
||||
'created_at' => Helper::getFormattedDateObject($location->created_at, 'datetime'),
|
||||
|
||||
@@ -19,7 +19,7 @@ class SelectlistTransformer
|
||||
|
||||
public function transformSelectlist (LengthAwarePaginator $select_items)
|
||||
{
|
||||
$items_array = [];
|
||||
$items_array=[];
|
||||
|
||||
// Loop through the paginated collection to set the array values
|
||||
foreach ($select_items as $select_item) {
|
||||
@@ -32,6 +32,12 @@ class SelectlistTransformer
|
||||
|
||||
}
|
||||
|
||||
// This is weird and awful, but the only way I can find to allow the user to
|
||||
// clear the selection - @snipe
|
||||
if (count($items_array) > 0) {
|
||||
array_unshift($items_array, ['id' =>'', 'text'=> trans('general.clear_selection')]);
|
||||
}
|
||||
|
||||
$results = [
|
||||
'items' => $items_array,
|
||||
'pagination' =>
|
||||
|
||||
@@ -144,7 +144,7 @@ class Asset extends Depreciable
|
||||
* @return bool
|
||||
*/
|
||||
//FIXME: The admin parameter is never used. Can probably be removed.
|
||||
public function checkOut($target, $admin = null, $checkout_at = null, $expected_checkin = null, $note = null, $name = null)
|
||||
public function checkOut($target, $admin = null, $checkout_at = null, $expected_checkin = null, $note = null, $name = null, $location = null)
|
||||
{
|
||||
if (!$target) {
|
||||
return false;
|
||||
@@ -163,6 +163,10 @@ class Asset extends Depreciable
|
||||
$this->name = $name;
|
||||
}
|
||||
|
||||
if ($location != null) {
|
||||
$this->location_id = $location;
|
||||
}
|
||||
|
||||
if ($this->requireAcceptance()) {
|
||||
if(get_class($target) != User::class) {
|
||||
throw new CheckoutNotAllowed;
|
||||
@@ -872,7 +876,7 @@ class Asset extends Depreciable
|
||||
}
|
||||
|
||||
if ($fieldname =='location') {
|
||||
$query->whereHas('defaultLoc', function ($query) use ($search_val) {
|
||||
$query->whereHas('location', function ($query) use ($search_val) {
|
||||
$query->where('locations.name', 'LIKE', '%' . $search_val . '%');
|
||||
});
|
||||
}
|
||||
@@ -935,8 +939,11 @@ class Asset extends Depreciable
|
||||
}
|
||||
}
|
||||
|
||||
if (($fieldname!='category') && ($fieldname!='status_label') && ($fieldname!='model')) {
|
||||
$query->orWhere('assets.'.$fieldname, 'LIKE', '%' . $search_val . '%');
|
||||
}
|
||||
|
||||
|
||||
$query->orWhere('assets.'.$fieldname, 'LIKE', '%' . $search_val . '%');
|
||||
|
||||
|
||||
});
|
||||
@@ -981,7 +988,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderAssigned($query, $order)
|
||||
{
|
||||
return $query->leftJoin('users', 'assets.assigned_to', '=', 'users.id')->select('assets.*')->orderBy('users.first_name', $order)->orderBy('users.last_name', $order);
|
||||
return $query->leftJoin('users as users_sort', 'assets.assigned_to', '=', 'users_sort.id')->select('assets.*')->orderBy('users_sort.first_name', $order)->orderBy('users_sort.last_name', $order);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -994,7 +1001,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderStatus($query, $order)
|
||||
{
|
||||
return $query->join('status_labels', 'assets.status_id', '=', 'status_labels.id')->orderBy('status_labels.name', $order);
|
||||
return $query->join('status_labels as status_sort', 'assets.status_id', '=', 'status_sort.id')->orderBy('status_sort.name', $order);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1007,7 +1014,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderCompany($query, $order)
|
||||
{
|
||||
return $query->leftJoin('companies', 'assets.company_id', '=', 'companies.id')->orderBy('companies.name', $order);
|
||||
return $query->leftJoin('companies as company_sort', 'assets.company_id', '=', 'company_sort.id')->orderBy('company_sort.name', $order);
|
||||
}
|
||||
|
||||
|
||||
@@ -1051,9 +1058,9 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderCategory($query, $order)
|
||||
{
|
||||
return $query->join('models', 'assets.model_id', '=', 'models.id')
|
||||
->join('categories', 'models.category_id', '=', 'categories.id')
|
||||
->orderBy('categories.name', $order);
|
||||
return $query->join('models as order_model_category', 'assets.model_id', '=', 'order_model_category.id')
|
||||
->join('categories as category_order', 'order_model_category.category_id', '=', 'category_order.id')
|
||||
->orderBy('category_order.name', $order);
|
||||
}
|
||||
|
||||
|
||||
@@ -1082,7 +1089,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderLocation($query, $order)
|
||||
{
|
||||
return $query->leftJoin('locations', 'locations.id', '=', 'assets.rtd_location_id')->orderBy('locations.name', $order);
|
||||
return $query->leftJoin('locations as asset_locations', 'asset_locations.id', '=', 'assets.rtd_location_id')->orderBy('asset_locations.name', $order);
|
||||
}
|
||||
|
||||
|
||||
@@ -1096,7 +1103,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function scopeOrderSupplier($query, $order)
|
||||
{
|
||||
return $query->leftJoin('suppliers', 'assets.supplier_id', '=', 'suppliers.id')->orderBy('suppliers.name', $order);
|
||||
return $query->leftJoin('suppliers as suppliers_assets', 'assets.supplier_id', '=', 'suppliers_assets.id')->orderBy('suppliers_assets.name', $order);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1114,14 +1121,7 @@ class Asset extends Depreciable
|
||||
$query->where('locations.id', '=', $search);
|
||||
});
|
||||
});
|
||||
// FIXME: This needs porting to checkout to non-user.
|
||||
// ->orWhere(function ($query) use ($search) {
|
||||
// $query->whereHas('assigneduser', function ($query) use ($search) {
|
||||
// $query->whereHas('userloc', function ($query) use ($search) {
|
||||
// $query->where('locations.id', '=', $search);
|
||||
// });
|
||||
// });
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -266,7 +266,9 @@ class License extends Depreciable
|
||||
public function availCount()
|
||||
{
|
||||
return $this->licenseSeatsRelation()
|
||||
->whereNull('asset_id');
|
||||
->whereNull('asset_id')
|
||||
->whereNull('assigned_to')
|
||||
->whereNull('deleted_at');
|
||||
}
|
||||
|
||||
public function getAvailSeatsCountAttribute()
|
||||
@@ -345,6 +347,15 @@ class License extends Depreciable
|
||||
->first();
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the next available free seat - used by
|
||||
* the API to populate next_seat
|
||||
*/
|
||||
public function freeSeats()
|
||||
{
|
||||
return $this->hasMany('\App\Models\LicenseSeat')->whereNull('assigned_to')->whereNull('deleted_at')->whereNull('asset_id');
|
||||
}
|
||||
|
||||
public static function getExpiringLicenses($days = 60)
|
||||
{
|
||||
|
||||
|
||||
@@ -54,7 +54,12 @@ class Location extends SnipeModel
|
||||
|
||||
public function assets()
|
||||
{
|
||||
return $this->hasMany('\App\Models\Asset', 'location_id');
|
||||
return $this->hasMany('\App\Models\Asset', 'location_id')
|
||||
->whereHas('assetstatus', function ($query) {
|
||||
$query->where('status_labels.deployable', '=', 1)
|
||||
->orWhere('status_labels.pending', '=', 1)
|
||||
->orWhere('status_labels.archived', '=', 0);
|
||||
});
|
||||
}
|
||||
|
||||
public function rtd_assets()
|
||||
@@ -92,7 +97,6 @@ class Location extends SnipeModel
|
||||
public function assignedAssets()
|
||||
{
|
||||
return $this->morphMany('App\Models\Asset', 'assigned', 'assigned_type', 'assigned_to')->withTrashed();
|
||||
// return $this->hasMany('\App\Models\Asset', 'assigned_to')->withTrashed();
|
||||
}
|
||||
|
||||
public function setLdapOuAttribute($ldap_ou)
|
||||
|
||||
@@ -61,7 +61,6 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo
|
||||
'email' => 'email|nullable',
|
||||
'password' => 'required|min:6',
|
||||
'locale' => 'max:10|nullable',
|
||||
'manager_id' => 'nullable|different:id',
|
||||
];
|
||||
|
||||
|
||||
@@ -440,10 +439,12 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo
|
||||
});
|
||||
})
|
||||
|
||||
// Ugly, ugly code because Laravel sucks at self-joins
|
||||
//Ugly, ugly code because Laravel sucks at self-joins
|
||||
->orWhere(function ($query) use ($search) {
|
||||
$query->whereRaw("users.manager_id IN (select id from users where first_name LIKE '%".$search."%' OR last_name LIKE '%".$search."%') ");
|
||||
$query->whereRaw("users.manager_id IN (select id from users where first_name LIKE ? OR last_name LIKE ?)", ["%$search%", "%$search%"]);
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
@@ -474,7 +475,7 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo
|
||||
public function scopeOrderManager($query, $order)
|
||||
{
|
||||
// Left join here, or it will only return results with parents
|
||||
return $query->leftJoin('users as manager', 'users.manager_id', '=', 'manager.id')->orderBy('manager.first_name', $order)->orderBy('manager.last_name', $order);
|
||||
return $query->leftJoin('users as users_manager', 'users.manager_id', '=', 'users_manager.id')->orderBy('users_manager.first_name', $order)->orderBy('users_manager.last_name', $order);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -487,7 +488,7 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo
|
||||
*/
|
||||
public function scopeOrderLocation($query, $order)
|
||||
{
|
||||
return $query->leftJoin('locations', 'users.location_id', '=', 'locations.id')->orderBy('locations.name', $order);
|
||||
return $query->leftJoin('locations as locations_users', 'users.location_id', '=', 'locations_users.id')->orderBy('locations_users.name', $order);
|
||||
}
|
||||
|
||||
|
||||
@@ -501,6 +502,6 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo
|
||||
*/
|
||||
public function scopeOrderDepartment($query, $order)
|
||||
{
|
||||
return $query->leftJoin('departments', 'users.department_id', '=', 'departments.id')->orderBy('departments.name', $order);
|
||||
return $query->leftJoin('departments as departments_users', 'users.department_id', '=', 'departments_users.id')->orderBy('departments_users.name', $order);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,14 +76,14 @@ class LicensePresenter extends Presenter
|
||||
"title" => trans('general.manufacturer'),
|
||||
"formatter" => "manufacturersLinkObjFormatter",
|
||||
], [
|
||||
"field" => "total_seats",
|
||||
"field" => "seats",
|
||||
"searchable" => false,
|
||||
"sortable" => false,
|
||||
"sortable" => true,
|
||||
"title" => trans('admin/accessories/general.total'),
|
||||
], [
|
||||
"field" => "remaining_qty",
|
||||
"field" => "free_seats_count",
|
||||
"searchable" => false,
|
||||
"sortable" => false,
|
||||
"sortable" => true,
|
||||
"title" => trans('admin/accessories/general.remaining'),
|
||||
], [
|
||||
"field" => "purchase_date",
|
||||
|
||||
@@ -61,7 +61,11 @@ return [
|
||||
|
|
||||
*/
|
||||
|
||||
'from' => ['address' => env('MAIL_FROM_ADDR', null), 'name' => env('MAIL_FROM_NAME', null)],
|
||||
'from' =>
|
||||
[
|
||||
'address' => env('MAIL_FROM_ADDR', null),
|
||||
'name' => env('MAIL_FROM_NAME', null)
|
||||
],
|
||||
|
||||
|
||||
/*
|
||||
@@ -76,8 +80,8 @@ return [
|
||||
*/
|
||||
|
||||
'reply_to' => [
|
||||
'address' => env('MAIL_REPLYTO_ADDR', env('MAIL_FROM_ADDR', null)),
|
||||
'name' => env('MAIL_REPLYTO_NAME', env('MAIL_FROM_NAME', null))
|
||||
'address' => env('MAIL_REPLYTO_ADDR',null),
|
||||
'name' => env('MAIL_REPLYTO_NAME', null)
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v4.1.0',
|
||||
'build_version' => '37',
|
||||
'hash_version' => 'g48207fc',
|
||||
'full_hash' => 'v4.1.0-37-g48207fc',
|
||||
'app_version' => 'v4.1.3',
|
||||
'build_version' => '94',
|
||||
'hash_version' => 'gb6a14d2',
|
||||
'full_hash' => 'v4.1.3-beta2-94-gb6a14d2',
|
||||
);
|
||||
|
||||
@@ -31,7 +31,7 @@ class MigrateDenormedAssetLocations extends Migration
|
||||
$assigned_user_assets = Asset::where('assigned_type',User::class)->whereNotNull('assigned_to')->get();
|
||||
\Log::debug('User-assigned assets:');
|
||||
foreach ($assigned_user_assets as $assigned_user_asset) {
|
||||
if ($assigned_user_asset->assignedTo->userLoc) {
|
||||
if (($assigned_user_asset->assignedTo) && ($assigned_user_asset->assignedTo->userLoc)) {
|
||||
$new_location=$assigned_user_asset->assignedTo->userloc->id;
|
||||
\Log::info(' They are in '.$assigned_user_asset->assignedTo->userloc->name.' which is id: '.$new_location);
|
||||
} else {
|
||||
|
||||
@@ -61,7 +61,8 @@ return array(
|
||||
'error' => 'Bate is nie nagegaan nie, probeer asseblief weer',
|
||||
'success' => 'Die bate is suksesvol nagegaan.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer asseblief weer.',
|
||||
'not_available' => 'Die bate is nie beskikbaar vir die kassa nie!'
|
||||
'not_available' => 'Die bate is nie beskikbaar vir die kassa nie!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Tik die teks "DELETE" in die onderstaande blokkie om jou geskrapde rekords te verwyder. Hierdie handeling kan nie ongedaan gemaak word nie.',
|
||||
'custom_css' => 'Aangepaste CSS',
|
||||
'custom_css_help' => 'Voer enige aangepaste CSS-oortredings in wat u graag wil gebruik. Moenie die <style></style>-etikette insluit nie.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Verstek Geld',
|
||||
'default_eula_text' => 'Standaard EULA',
|
||||
'default_language' => 'Verstek taal',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP aangeskakel',
|
||||
'ldap_integration' => 'LDAP-integrasie',
|
||||
'ldap_settings' => 'LDAP-instellings',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP-bediener',
|
||||
'ldap_server_help' => 'Dit moet begin met ldap: // (vir unencrypted of TLS) of ldaps: // (vir SSL)',
|
||||
'ldap_server_cert' => 'LDAP SSL-sertifikaat-validering',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Verskaffer bestaan nie.',
|
||||
'assoc_users' => 'Hierdie verskaffer is tans geassosieer met ten minste een model en kan nie uitgevee word nie. Dateer asseblief jou modelle op om nie langer hierdie verskaffer te verwys nie en probeer weer.',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Verskaffer is nie geskep nie, probeer asseblief weer.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Is jy seker jy wil hierdie verskaffer uitvee?',
|
||||
'error' => 'Daar was \'n probleem met die verwydering van die verskaffer. Probeer asseblief weer.',
|
||||
'success' => 'Verskaffer is suksesvol verwyder.'
|
||||
'success' => 'Verskaffer is suksesvol verwyder.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'bykomstighede',
|
||||
'activated' => 'geaktiveer',
|
||||
'activated' => 'geaktiveer',
|
||||
'accessory' => 'Bykomstigheid',
|
||||
'accessory_report' => 'Toebehoreverslag',
|
||||
'accessory_report' => 'Toebehoreverslag',
|
||||
'action' => 'aksie',
|
||||
'activity_report' => 'Aktiwiteitsverslag',
|
||||
'address' => 'adres',
|
||||
'admin' => 'admin',
|
||||
'add_seats' => 'Bykomende sitplekke',
|
||||
'add_seats' => 'Bykomende sitplekke',
|
||||
'all_assets' => 'Alle bates',
|
||||
'all' => 'Almal',
|
||||
'archived' => 'argief',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Uitteken',
|
||||
'city' => 'Stad',
|
||||
'click_here' => 'Klik hier',
|
||||
'companies' => 'maatskappye',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'maatskappye',
|
||||
'company' => 'maatskappy',
|
||||
'component' => 'komponent',
|
||||
'component' => 'komponent',
|
||||
'components' => 'komponente',
|
||||
'complete' => 'volledige',
|
||||
'consumable' => 'verbruikbare',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Aangepaste bateverslag',
|
||||
'dashboard' => 'Dashboard',
|
||||
'days' => 'dae',
|
||||
'days_to_next_audit' => 'Dae na Volgende Oudit',
|
||||
'days_to_next_audit' => 'Dae na Volgende Oudit',
|
||||
'date' => 'datum',
|
||||
'debug_warning' => 'Waarskuwing!',
|
||||
'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>.',
|
||||
'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',
|
||||
'deleted' => 'geskrap',
|
||||
'delete_seats' => 'Plekke verwyder',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Geskiedenis',
|
||||
'history_for' => 'Geskiedenis vir',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Vee prent uit',
|
||||
'image_upload' => 'Laai prent op',
|
||||
'import' => 'invoer',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'Die: Attribuut is reeds geneem.',
|
||||
'uploaded' => 'Die: kenmerk kon nie opgelaai word nie.',
|
||||
'url' => 'Die: Attribuutformaat is ongeldig.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Jou huidige wagwoord is verkeerd",
|
||||
'dumbpwd' => 'Daardie wagwoord is te algemeen.',
|
||||
"statuslabel_type" => "U moet 'n geldige statusetiket tipe kies",
|
||||
"unique_undeleted" => "Die: Attribuut moet uniek wees.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'لم يتم سحب مادة العرض، يرجى إعادة المحاولة',
|
||||
'success' => 'تم التحقق من الأصول بنجاح.',
|
||||
'user_does_not_exist' => 'هذا المستخدم غير صالح. حاول مرة اخرى.',
|
||||
'not_available' => 'هذا الأصل غير متاح للخروج!'
|
||||
'not_available' => 'هذا الأصل غير متاح للخروج!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'أدخل النص "ديليت" في المربع أدناه لتطهير السجلات المحذوفة. لا يمكن التراجع عن هذا الإجراء.',
|
||||
'custom_css' => 'CSS مخصص',
|
||||
'custom_css_help' => 'أدخل أي كس مخصص يلغي رغبتك في استخدامه. لا تضمن علامات <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'العملة الافتراضية',
|
||||
'default_eula_text' => 'اتفاقية ترخيص المستخدم النهائي',
|
||||
'default_language' => 'اللغة الافتراضية',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'تم تمكين لداب',
|
||||
'ldap_integration' => 'دمج لداب',
|
||||
'ldap_settings' => 'إعدادات لداب',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'خادم لداب',
|
||||
'ldap_server_help' => 'يجب أن يبدأ هذا مع لداب: // (لغير مشفرة أو تلس) أو لدابس: // (ل سل)',
|
||||
'ldap_server_cert' => 'التحقق من صحة شهادة سل لداب',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'المورد غير مجود.',
|
||||
'assoc_users' => 'هذا المورد مرتبط حاليا بنموذج واحد على الأقل ولا يمكن حذفه. يرجى تحديث النماذج لم تعد تشير إلى هذا المورد ثم أعد المحاولة.',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'لم يتم إنشاء المورد، الرجاء المحاولة مرة أخرى.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'هل أنت متأكد من رغبتك في حذف هذا المورد؟',
|
||||
'error' => 'حدثت مشكلة أثناء حذف المورد. حاول مرة اخرى.',
|
||||
'success' => 'تم حذف المورد بنجاح.'
|
||||
'success' => 'تم حذف المورد بنجاح.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'ملحقات',
|
||||
'activated' => 'مفعل',
|
||||
'activated' => 'مفعل',
|
||||
'accessory' => 'ملحق',
|
||||
'accessory_report' => 'تقرير الملحقات',
|
||||
'accessory_report' => 'تقرير الملحقات',
|
||||
'action' => 'الإجراء',
|
||||
'activity_report' => 'تقرير الأنشطة',
|
||||
'address' => 'العنوان',
|
||||
'admin' => 'الإدارة',
|
||||
'add_seats' => 'المقاعد المضافة',
|
||||
'add_seats' => 'المقاعد المضافة',
|
||||
'all_assets' => 'كل الأصول',
|
||||
'all' => 'الكل',
|
||||
'archived' => 'مؤرشف',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'ترجيع',
|
||||
'city' => 'المدينة',
|
||||
'click_here' => 'انقر هنا',
|
||||
'companies' => 'الشركات',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'الشركات',
|
||||
'company' => 'شركة',
|
||||
'component' => 'مكون',
|
||||
'component' => 'مكون',
|
||||
'components' => 'المكونات',
|
||||
'complete' => 'اكتمال',
|
||||
'consumable' => 'مستهلكات',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'تقرير مخصص للأصول',
|
||||
'dashboard' => 'لوحة القيادة',
|
||||
'days' => 'أيام',
|
||||
'days_to_next_audit' => 'أيام إلى التدقيق التالي',
|
||||
'days_to_next_audit' => 'أيام إلى التدقيق التالي',
|
||||
'date' => 'التاريخ',
|
||||
'debug_warning' => 'تحذير!',
|
||||
'debug_warning_text' => 'هذا التطبيق يعمل في وضع الإنتاج مع تمكين التصحيح. هذا يمكن أن يعرض البيانات الحساسة إذا كان التطبيق الخاص بك هو في متناول العالم الخارجي. تعطيل وضع التصحيح عن طريق تعيين قيمة <code>APP_DEBUG</code> في ملف <code>.env</code> إلى <code>false</code>.',
|
||||
'debug_warning_text' => 'هذا التطبيق يعمل في وضع الإنتاج مع تمكين التصحيح. هذا يمكن أن يعرض البيانات الحساسة إذا كان التطبيق الخاص بك هو في متناول العالم الخارجي. تعطيل وضع التصحيح عن طريق تعيين قيمة <code>APP_DEBUG</code> في ملف <code>.env</code> إلى <code>false</code>.',
|
||||
'delete' => 'حذف',
|
||||
'deleted' => 'تم حذفها',
|
||||
'delete_seats' => 'المقاعد المحذوفة',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'التاريخ',
|
||||
'history_for' => 'السجل لـ',
|
||||
'id' => 'الرقم',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'حذف الصورة',
|
||||
'image_upload' => 'رفع صورة',
|
||||
'import' => 'استيراد',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'تم أخذ السمة: بالفعل.',
|
||||
'uploaded' => 'أخفق تحميل السمة:.',
|
||||
'url' => 'تنسيق السمة: غير صالح.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "كلمة المرور الحالية غير صحيحة",
|
||||
'dumbpwd' => 'كلمة المرور هذه شائعة جدا.',
|
||||
"statuslabel_type" => "يجب تحديد نوع تصنيف حالة صالح",
|
||||
"unique_undeleted" => "يجب أن تكون السمة فريدة.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -61,7 +61,8 @@ return array(
|
||||
'error' => 'Активът не беше изписан. Моля опитайте отново.',
|
||||
'success' => 'Активът изписан успешно.',
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.',
|
||||
'not_available' => 'Този актив не е наличен за отписване!'
|
||||
'not_available' => 'Този актив не е наличен за отписване!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Въдете текста "DELETE" в клетката отдолу за да пречистите изтритите записи. Това действие не може да бъде отменено.',
|
||||
'custom_css' => 'Потребителски CSS',
|
||||
'custom_css_help' => 'Включете вашите CSS правила тук. Не използвайте <style></style> тагове.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Валута по подразбиране',
|
||||
'default_eula_text' => 'EULA по подразбиране',
|
||||
'default_language' => 'Език по подразбиране',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP включен',
|
||||
'ldap_integration' => 'LDAP интеграция',
|
||||
'ldap_settings' => 'LDAP настройки',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP сървър',
|
||||
'ldap_server_help' => 'Това трябва да започва с Idap:// (for unencrypted or TLS) или Idaps:// (for SSL)',
|
||||
'ldap_server_cert' => 'Валидация на LDAP SSL сертификата',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Несъществуващ доставчик.',
|
||||
'assoc_users' => 'Този доставчик е асоцииран с поне един от моделите и не може да бъде изтрит. Моля, променете връзките на моделите по отношение на този доставчик и опитайте отново. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Доставчикът не беше създаден. Моля, опитайте отново.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Сигурни ли сте, че искате да изтриете този доставчик?',
|
||||
'error' => 'Възникна проблем при изтриване на доставчика. Моля, опитайте отново.',
|
||||
'success' => 'Доставчикът е изтрит.'
|
||||
'success' => 'Доставчикът е изтрит.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Аксесоари',
|
||||
'activated' => 'Активирано',
|
||||
'activated' => 'Активирано',
|
||||
'accessory' => 'Аксесоар',
|
||||
'accessory_report' => 'Справка за аксесоарите',
|
||||
'accessory_report' => 'Справка за аксесоарите',
|
||||
'action' => 'Действие',
|
||||
'activity_report' => 'Справка за дейностите',
|
||||
'address' => 'Aдрес',
|
||||
'admin' => 'Администриране',
|
||||
'add_seats' => 'Добавени работни места',
|
||||
'add_seats' => 'Добавени работни места',
|
||||
'all_assets' => 'Всички активи',
|
||||
'all' => 'Всички',
|
||||
'archived' => 'Архивирани',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Изписване',
|
||||
'city' => 'Град',
|
||||
'click_here' => 'Натиснете тук',
|
||||
'companies' => 'Компании',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Компании',
|
||||
'company' => 'Компания',
|
||||
'component' => 'Компонент',
|
||||
'component' => 'Компонент',
|
||||
'components' => 'Компоненти',
|
||||
'complete' => 'Завърши',
|
||||
'consumable' => 'Консуматив',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Потребителски справки за активи',
|
||||
'dashboard' => 'Табло',
|
||||
'days' => 'дни',
|
||||
'days_to_next_audit' => 'Дни до следващия одит',
|
||||
'days_to_next_audit' => 'Дни до следващия одит',
|
||||
'date' => 'Дата',
|
||||
'debug_warning' => 'Предупреждение!',
|
||||
'debug_warning_text' => 'Това приложение се изпълнява в режим на производство с разрешено отстраняване на грешки. Това може да изложи чувствителни данни, ако приложението ви е достъпно за външния свят. Забранете режим отстраняване на грешки чрез задаване на стойността <code>APP_DEBUF</code> <code>.env</code> във файла <code>false</code>.',
|
||||
'debug_warning_text' => 'Това приложение се изпълнява в режим на производство с разрешено отстраняване на грешки. Това може да изложи чувствителни данни, ако приложението ви е достъпно за външния свят. Забранете режим отстраняване на грешки чрез задаване на стойността <code>APP_DEBUF</code> <code>.env</code> във файла <code>false</code>.',
|
||||
'delete' => 'Изтриване',
|
||||
'deleted' => 'Изтрито',
|
||||
'delete_seats' => 'Изтрити работни места за лиценз',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'История',
|
||||
'history_for' => 'История за',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Изтриване на изображението',
|
||||
'image_upload' => 'Качване на изображение',
|
||||
'import' => 'Зареждане',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute вече е вписан.',
|
||||
'uploaded' => 'Атрибутът: не успя да качи.',
|
||||
'url' => 'Форматът на :attribute е невалиден.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Текущата ви парола е неправилна",
|
||||
'dumbpwd' => 'Тази парола е твърде често срещана.',
|
||||
"statuslabel_type" => "Трябва да изберете валиден тип етикет на състоянието",
|
||||
"unique_undeleted" => "Атрибутът: трябва да е уникален.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Majetek nebyl předán, zkuste to prosím znovu',
|
||||
'success' => 'Majetek byl v pořádku předán.',
|
||||
'user_does_not_exist' => 'Tento uživatel je neplatný. Zkuste to prosím znovu.',
|
||||
'not_available' => 'Tento majetek není k dispozici pro výdej!'
|
||||
'not_available' => 'Tento majetek není k dispozici pro výdej!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Do rámečku níže zadejte text "DELETE", čímž odstraníte odstraněné záznamy. Tuto akci nelze vrátit zpět.',
|
||||
'custom_css' => 'Vlastní CSS',
|
||||
'custom_css_help' => 'Zadejte libovolné vlastní CSS, které chcete použít. Nezahrnujte <style></style> tagy.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Výchozí měna',
|
||||
'default_eula_text' => 'Výchozí EULA',
|
||||
'default_language' => 'Výchozí jazyk',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP povoleno',
|
||||
'ldap_integration' => 'LDAP integrace',
|
||||
'ldap_settings' => 'Nastavení LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP server',
|
||||
'ldap_server_help' => 'Toto by mělo začít s ldap: // (pro nešifrované nebo TLS) nebo ldaps: // (pro SSL)',
|
||||
'ldap_server_cert' => 'Validace certifikátů LDAP SSL',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Dodavatel neexistuje.',
|
||||
'assoc_users' => 'Tento dodavatel je právě přiřazena alespoň k jednomu modelu majetku a nemůže tak být odstraněn. Odeberte jeho vazbu z patřičných modelů a akci opakujte. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Dodavatel nebyl vytvořen, zkuste to prosím znovu.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Opravdu si přejete odstranit tohoto dodavatele?',
|
||||
'error' => 'Vyskytl se problém při mazání dodavatele. Zkuste to prosím znovu.',
|
||||
'success' => 'Dodavatel byl úspěšně smazán.'
|
||||
'success' => 'Dodavatel byl úspěšně smazán.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Příslušenství',
|
||||
'activated' => 'Aktivováno',
|
||||
'activated' => 'Aktivováno',
|
||||
'accessory' => 'Příslušenství',
|
||||
'accessory_report' => 'Zpráva o doplňcích',
|
||||
'accessory_report' => 'Zpráva o doplňcích',
|
||||
'action' => 'Akce',
|
||||
'activity_report' => 'Report aktivity',
|
||||
'address' => 'Adresa',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Přidaná licenční místa',
|
||||
'add_seats' => 'Přidaná licenční místa',
|
||||
'all_assets' => 'Všechna zařízení',
|
||||
'all' => 'Vše',
|
||||
'archived' => 'Archivováno',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Výdej',
|
||||
'city' => 'Město',
|
||||
'click_here' => 'Klikněte zde',
|
||||
'companies' => 'Firmy',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Firmy',
|
||||
'company' => 'Společnost',
|
||||
'component' => 'Komponent',
|
||||
'component' => 'Komponent',
|
||||
'components' => 'Komponenty',
|
||||
'complete' => 'Dokončit',
|
||||
'consumable' => 'Spotřební materiál',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Vlastní report majetku',
|
||||
'dashboard' => 'Nástěnka',
|
||||
'days' => 'dnů',
|
||||
'days_to_next_audit' => 'Dny k dalšímu auditu',
|
||||
'days_to_next_audit' => 'Dny k dalšímu auditu',
|
||||
'date' => 'Datum',
|
||||
'debug_warning' => 'Varování!',
|
||||
'debug_warning_text' => 'Tato aplikace běží ve výrobním režimu s povoleným laděním. To znamená že citlivá data mohou být přístupná vnějšímu světu. Deaktivujte režim ladění nastavením hodnoty <code>APP_DEBUG</code> v souboru <code>.env</code> na <code>false</code>.',
|
||||
'debug_warning_text' => 'Tato aplikace běží ve výrobním režimu s povoleným laděním. To znamená že citlivá data mohou být přístupná vnějšímu světu. Deaktivujte režim ladění nastavením hodnoty <code>APP_DEBUG</code> v souboru <code>.env</code> na <code>false</code>.',
|
||||
'delete' => 'Odstranit',
|
||||
'deleted' => 'Odstraněno',
|
||||
'delete_seats' => 'Vymazaná licenční místa',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historie',
|
||||
'history_for' => 'Historie uživatele',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Smazat obrázek',
|
||||
'image_upload' => 'Nahrát obrázek',
|
||||
'import' => 'Import',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute byl již vybrán.',
|
||||
'uploaded' => 'Atribut: se nepodařilo nahrát.',
|
||||
'url' => 'Formát :attribute je neplatný.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Vaše současné heslo je nesprávné",
|
||||
'dumbpwd' => 'Toto heslo je příliš běžné.',
|
||||
"statuslabel_type" => "Musíte vybrat platný typ štítku stavu",
|
||||
"unique_undeleted" => "Atribut musí být jedinečný.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -61,7 +61,8 @@ return array(
|
||||
'error' => 'Akten blev ikke tjekket ud, prøv igen',
|
||||
'success' => 'Asset tjekket ud med succes.',
|
||||
'user_does_not_exist' => 'Denne bruger er ugyldig. Prøv igen.',
|
||||
'not_available' => 'Det aktiv er ikke tilgængeligt for kassen!'
|
||||
'not_available' => 'Det aktiv er ikke tilgængeligt for kassen!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Indtast teksten "DELETE" i boksen nedenfor for at rense dine slettede poster. Denne handling kan ikke fortrydes.',
|
||||
'custom_css' => 'Brugerdefineret CSS',
|
||||
'custom_css_help' => 'Indtast eventuelle brugerdefinerede CSS overskridelser, du gerne vil bruge. Indsæt ikke de <style></style> tags.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Standardvaluta',
|
||||
'default_eula_text' => 'Standard EULA',
|
||||
'default_language' => 'Standard sprog',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP aktiveret',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP-indstillinger',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP-server',
|
||||
'ldap_server_help' => 'Dette skal starte med ldap: // (for ukrypteret eller TLS) eller ldaps: // (for SSL)',
|
||||
'ldap_server_cert' => 'Validering af LDAP SSL-certifikat',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Leverandør findes ikke.',
|
||||
'assoc_users' => 'Denne leverandør er i øjeblikket forbundet med mindst en model og kan ikke slettes. Opdater dine modeller for ikke længere at henvise til denne leverandør, og prøv igen.',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Leverandøren blev ikke oprettet, prøv igen.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Er du sikker på, at du ønsker at slette denne leverandør?',
|
||||
'error' => 'Der opstod et problem ved at slette leverandøren. Prøv igen.',
|
||||
'success' => 'Leverandøren blev slettet med succes.'
|
||||
'success' => 'Leverandøren blev slettet med succes.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Tilbehør',
|
||||
'activated' => 'Aktiveret',
|
||||
'activated' => 'Aktiveret',
|
||||
'accessory' => 'Tilbehør',
|
||||
'accessory_report' => 'Tilbehørsrapport',
|
||||
'accessory_report' => 'Tilbehørsrapport',
|
||||
'action' => 'Handling',
|
||||
'activity_report' => 'Aktivitetsrapport',
|
||||
'address' => 'Addresse',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Tilføjede pladser',
|
||||
'add_seats' => 'Tilføjede pladser',
|
||||
'all_assets' => 'Alle aktiver',
|
||||
'all' => 'Alle',
|
||||
'archived' => 'Arkiveret',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Tjek Ud',
|
||||
'city' => 'By',
|
||||
'click_here' => 'Klik her',
|
||||
'companies' => 'Selskaber',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Selskaber',
|
||||
'company' => 'Selskab',
|
||||
'component' => 'Komponent',
|
||||
'component' => 'Komponent',
|
||||
'components' => 'Komponenter',
|
||||
'complete' => 'Komplet',
|
||||
'consumable' => 'forbrugsmateriale',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Tilpasset Aktiv Rapport',
|
||||
'dashboard' => 'Oversigtspanel',
|
||||
'days' => 'dage',
|
||||
'days_to_next_audit' => 'Dage til næste revision',
|
||||
'days_to_next_audit' => 'Dage til næste revision',
|
||||
'date' => 'Dato',
|
||||
'debug_warning' => 'Advarsel!',
|
||||
'debug_warning_text' => 'Denne applikation kører i produktionstilstand med debugging aktiveret. Dette kan udsætte følsomme data, hvis din ansøgning er tilgængelig for omverdenen. Deaktiver fejlsøgningsmodus ved at indstille værdien <code>APP_DEBUG</code> i din <code>.env</code> fil til <code>false</code>.',
|
||||
'debug_warning_text' => 'Denne applikation kører i produktionstilstand med debugging aktiveret. Dette kan udsætte følsomme data, hvis din ansøgning er tilgængelig for omverdenen. Deaktiver fejlsøgningsmodus ved at indstille værdien <code>APP_DEBUG</code> i din <code>.env</code> fil til <code>false</code>.',
|
||||
'delete' => 'Slet',
|
||||
'deleted' => 'Slettet',
|
||||
'delete_seats' => 'Slettede pladser',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historik',
|
||||
'history_for' => 'Historie for',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Slet billede',
|
||||
'image_upload' => 'Upload billede',
|
||||
'import' => 'Importér',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute er allerede taget.',
|
||||
'uploaded' => 'Attributtet kunne ikke uploades.',
|
||||
'url' => ':attribute formatet er ugyldigt.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Din nuværende adgangskode er forkert",
|
||||
'dumbpwd' => 'Denne adgangskode er for almindelig.',
|
||||
"statuslabel_type" => "Du skal vælge en gyldig statusetiketype",
|
||||
"unique_undeleted" => "Attributten skal være unik.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Asset konnte nicht herausgegeben werden. Bitte versuchen Sie es erneut',
|
||||
'success' => 'Asset wurde erfolgreich herausgegeben.',
|
||||
'user_does_not_exist' => 'Dieser Benutzer existiert nicht. Bitte versuchen Sie es erneut.',
|
||||
'not_available' => 'Dieses Asset kann nicht herausgegeben werden!'
|
||||
'not_available' => 'Dieses Asset kann nicht herausgegeben werden!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Geben Sie das Wort "DELETE" in das untere Feld ein um die gelöschten Einträge zu bereinigen. Dies kann nicht rückgängig gemacht werden.',
|
||||
'custom_css' => 'Eigenes CSS',
|
||||
'custom_css_help' => 'Füge eigenes CSS hinzu. Benutze keine <style></style> tags.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Standardwährung',
|
||||
'default_eula_text' => 'Standard EULA',
|
||||
'default_language' => 'Standardsprache',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP aktiviert',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Einstellungen',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_help' => 'Sollte mit ldap:// (für unencrypted oder TLS) oder ldaps:// (für SSL) starten',
|
||||
'ldap_server_cert' => 'LDAP SSL Zertifikatsüberprüfung',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Lieferant ist nicht vorhanden.',
|
||||
'assoc_users' => 'Diese Lieferant ist derzeit mindestens einem Modell zugeordnet und kann nicht gelöscht werden. Bitte aktualisieren Sie Ihre Modelle, um nicht mehr auf diesen Lieferant zu verweisen und versuchen Sie es erneut. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Lieferant wurde nicht erstellt, bitte versuchen Sie es erneut.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Sind Sie sicher, dass Sie diesen Lieferanten löschen möchten?',
|
||||
'error' => 'Beim löschen des Lieferanten ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
|
||||
'success' => 'Lieferant wurde erfolgreich gelöscht.'
|
||||
'success' => 'Lieferant wurde erfolgreich gelöscht.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Zubehör',
|
||||
'activated' => 'Aktiviert',
|
||||
'activated' => 'Aktiviert',
|
||||
'accessory' => 'Zubehör',
|
||||
'accessory_report' => 'Zubehör Bericht',
|
||||
'accessory_report' => 'Zubehör Bericht',
|
||||
'action' => 'Aktion',
|
||||
'activity_report' => 'Aktivitätsreport',
|
||||
'address' => 'Supplier Address',
|
||||
'admin' => 'Administrator',
|
||||
'add_seats' => 'Lizenzen hinzugefügt',
|
||||
'add_seats' => 'Lizenzen hinzugefügt',
|
||||
'all_assets' => 'Alle Assets',
|
||||
'all' => 'Alle',
|
||||
'archived' => 'Archiviert',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Checkout Asset to User',
|
||||
'city' => 'Stadt',
|
||||
'click_here' => 'Hier klicken',
|
||||
'companies' => 'Firmen',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Firmen',
|
||||
'company' => 'Firma',
|
||||
'component' => 'Komponente',
|
||||
'component' => 'Komponente',
|
||||
'components' => 'Komponenten',
|
||||
'complete' => 'Vollständig',
|
||||
'consumable' => 'Verbrauchsmaterial',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Spezieller Asset Report',
|
||||
'dashboard' => 'Dashboard',
|
||||
'days' => 'Tage',
|
||||
'days_to_next_audit' => 'Tage bis zum nächsten Audit',
|
||||
'days_to_next_audit' => 'Tage bis zum nächsten Audit',
|
||||
'date' => 'Purchase Date',
|
||||
'debug_warning' => 'Warnung!',
|
||||
'debug_warning_text' => 'Diese Anwendung läuft im Produktionsmodus mit debugging aktiviert. Dies kann sensible Daten verfügbar machen, wenn Ihre Anwendung öffentlich zugänglich ist. Deaktivieren Sie den Debug-Modus, indem Sie den <code>APP_DEBUG</code>-Wert in der <code>.env</code> Datei auf <code>false</code> setzen.',
|
||||
'debug_warning_text' => 'Diese Anwendung läuft im Produktionsmodus mit debugging aktiviert. Dies kann sensible Daten verfügbar machen, wenn Ihre Anwendung öffentlich zugänglich ist. Deaktivieren Sie den Debug-Modus, indem Sie den <code>APP_DEBUG</code>-Wert in der <code>.env</code> Datei auf <code>false</code> setzen.',
|
||||
'delete' => 'Löschen',
|
||||
'deleted' => 'Gelöscht',
|
||||
'delete_seats' => 'Gelöschte Lizenzen',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historie',
|
||||
'history_for' => 'Verlauf für',
|
||||
'id' => 'Id',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Bild löschen',
|
||||
'image_upload' => 'Bild hinzufügen',
|
||||
'import' => 'Import',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute schon benutzt.',
|
||||
'uploaded' => ':attribute konnte nicht hochgeladen werden.',
|
||||
'url' => ':attribute Format ist ungültig.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Ihr derzeitiges Passwort ist nicht korrekt",
|
||||
'dumbpwd' => 'Das Passwort ist zu gebräuchlich.',
|
||||
"statuslabel_type" => "Sie müssen einen gültigen Statuslabel-Typ auswählen",
|
||||
"unique_undeleted" => ":attribute muss eindeutig sein.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Το περιουσιακό στοιχείο δεν έχει ελεγχθεί, δοκιμάστε ξανά',
|
||||
'success' => 'Το ενεργητικό ολοκληρώθηκε με επιτυχία.',
|
||||
'user_does_not_exist' => 'Αυτός ο χρήστης είναι άκυρος. ΠΑΡΑΚΑΛΩ προσπαθησε ξανα.',
|
||||
'not_available' => 'Αυτό το πάγιο δεν είναι διαθέσιμο για την ολοκλήρωση της παραγγελίας!'
|
||||
'not_available' => 'Αυτό το πάγιο δεν είναι διαθέσιμο για την ολοκλήρωση της παραγγελίας!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Εισάγετε το κείμενο «Διαγραφή» στο πλαίσιο παρακάτω για να καθαρίσει τις διαγραμμένες εγγραφές σας. Αυτή η ενέργεια δεν μπορεί να αναιρεθεί.',
|
||||
'custom_css' => 'Προσαρμοσμένο CSS',
|
||||
'custom_css_help' => 'Εισαγάγετε τυχόν προσαρμοσμένες επικαλύψεις CSS που θέλετε να χρησιμοποιήσετε. Μην συμπεριλάβετε τις ετικέτες <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Προεπιλεγμένο νόμισμα',
|
||||
'default_eula_text' => 'Προεπιλογή EULA',
|
||||
'default_language' => 'Προκαθορισμένη γλώσσα',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'Ενεργό LDAP',
|
||||
'ldap_integration' => 'Ενσωμάτωση LDAP',
|
||||
'ldap_settings' => 'Ρυθμίσεις LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_help' => 'Αυτό θα πρέπει να ξεκινά με το ldap: // (για μη κρυπτογραφημένο ή TLS) ή ldaps: // (για SSL)',
|
||||
'ldap_server_cert' => 'Πιστοποίηση πιστοποιητικού SSL για LDAP',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Προμηθευτής δεν υπάρχει.',
|
||||
'assoc_users' => 'Αυτός ο προμηθευτ σχετίζεται με τουλάχιστον ένα χρήστη και δεν μπορεί να διαγραφεί. Παρακαλούμε να ενημερώσετε τους χρήστες σας να μην αναφέρονται σε αυτήν τη θέση και δοκιμάστε ξανά. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Ο προμηθευτής δεν δημιουργήθηκε, δοκιμάστε ξανά.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό τον προμηθευτή;',
|
||||
'error' => 'Υπήρξε ένα ζήτημα διαγράφοντας τον προμηθευτή. Παρακαλώ δοκιμάστε ξανά.',
|
||||
'success' => 'Ο προμηθευτής διαγράφηκε επιτυχώς.'
|
||||
'success' => 'Ο προμηθευτής διαγράφηκε επιτυχώς.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Αξεσουάρ',
|
||||
'activated' => 'Ενεργοποιήθηκε',
|
||||
'activated' => 'Ενεργοποιήθηκε',
|
||||
'accessory' => 'Αξεσουάρ',
|
||||
'accessory_report' => 'Αναφορά αξεσουάρ',
|
||||
'accessory_report' => 'Αναφορά αξεσουάρ',
|
||||
'action' => 'Ενέργεια',
|
||||
'activity_report' => 'Έκθεση Δραστηριότητας',
|
||||
'address' => 'Διεύθυνση',
|
||||
'admin' => 'Διαχειριστής',
|
||||
'add_seats' => 'Προστέθηκαν θέσεις',
|
||||
'add_seats' => 'Προστέθηκαν θέσεις',
|
||||
'all_assets' => 'Όλα τα περουσιακά στοιχεία',
|
||||
'all' => 'Ολα',
|
||||
'archived' => 'Αρχειοθετημένα',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Ολοκλήρωση αγοράς',
|
||||
'city' => 'Πόλη',
|
||||
'click_here' => 'Κάντε κλικ ΕΔΩ',
|
||||
'companies' => 'Εταιρείες',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Εταιρείες',
|
||||
'company' => 'Εταιρεία',
|
||||
'component' => 'Συστατικό',
|
||||
'component' => 'Συστατικό',
|
||||
'components' => 'Συστατικά',
|
||||
'complete' => 'Πλήρης',
|
||||
'consumable' => 'Καταναλώσιμος',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Αναφορά προσαρμοσμένων στοιχείων ενεργητικού',
|
||||
'dashboard' => 'Πίνακας ελέγχου',
|
||||
'days' => 'ημέρες',
|
||||
'days_to_next_audit' => 'Ημέρες έως επόμενο έλεγχο',
|
||||
'days_to_next_audit' => 'Ημέρες έως επόμενο έλεγχο',
|
||||
'date' => 'Ημερομηνία',
|
||||
'debug_warning' => 'Προσοχή!',
|
||||
'debug_warning_text' => 'Αυτή η εφαρμογή εκτελείται σε λειτουργία παραγωγής με ενεργοποιημένο τον εντοπισμό σφαλμάτων. Αυτό μπορεί να εκθέσει τα ευαίσθητα δεδομένα, εάν η εφαρμογή σας είναι προσβάσιμη στον έξω κόσμο. Απενεργοποιήσετε την κατάσταση λειτουργίας εντοπισμού σφαλμάτων, ορίζοντας την τιμή <code>APP_DEBUG</code> στο αρχείο <code>.env</code> για να <code>false</code>.',
|
||||
'debug_warning_text' => 'Αυτή η εφαρμογή εκτελείται σε λειτουργία παραγωγής με ενεργοποιημένο τον εντοπισμό σφαλμάτων. Αυτό μπορεί να εκθέσει τα ευαίσθητα δεδομένα, εάν η εφαρμογή σας είναι προσβάσιμη στον έξω κόσμο. Απενεργοποιήσετε την κατάσταση λειτουργίας εντοπισμού σφαλμάτων, ορίζοντας την τιμή <code>APP_DEBUG</code> στο αρχείο <code>.env</code> για να <code>false</code>.',
|
||||
'delete' => 'Διαγραφή',
|
||||
'deleted' => 'Διαγράφηκε',
|
||||
'delete_seats' => 'Διαγραμμένα καθίσματα',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Ιστορία',
|
||||
'history_for' => 'Ιστορικό για',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Διαγραφή εικόνας',
|
||||
'image_upload' => 'Μεταφόρτωση εικόνας',
|
||||
'import' => 'Εισαγωγή',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'Το χαρακτηριστικό: έχει ήδη ληφθεί.',
|
||||
'uploaded' => 'Το χαρακτηριστικό:: απέτυχε να μεταφορτωθεί.',
|
||||
'url' => 'Η μορφή του χαρακτηριστικού είναι μη έγκυρη.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Ο τρέχων κωδικός πρόσβασης είναι εσφαλμένος",
|
||||
'dumbpwd' => 'Αυτός ο κωδικός πρόσβασης είναι πολύ συνηθισμένος.',
|
||||
"statuslabel_type" => "Πρέπει να επιλέξετε έναν έγκυρο τύπο ετικέτας κατάστασης",
|
||||
"unique_undeleted" => "Το χαρακτηριστικό: πρέπει να είναι μοναδικό.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Asset was not checked out, please try again',
|
||||
'success' => 'Asset checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'not_available' => 'That asset is not available for checkout!'
|
||||
'not_available' => 'That asset is not available for checkout!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone.',
|
||||
'custom_css' => 'Custom CSS',
|
||||
'custom_css_help' => 'Enter any custom CSS overrides you would like to use. Do not include the <style></style> tags.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Default Currency',
|
||||
'default_eula_text' => 'Default EULA',
|
||||
'default_language' => 'Default Language',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP enabled',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_help' => 'This should start with ldap:// (for unencrypted or TLS) or ldaps:// (for SSL)',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Supplier does not exist.',
|
||||
'assoc_users' => 'This supplier is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this supplier and try again. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Supplier was not created, please try again.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this supplier?',
|
||||
'error' => 'There was an issue deleting the supplier. Please try again.',
|
||||
'success' => 'Supplier was deleted successfully.'
|
||||
'success' => 'Supplier was deleted successfully.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Accessories',
|
||||
'activated' => 'Activated',
|
||||
'activated' => 'Activated',
|
||||
'accessory' => 'Accessory',
|
||||
'accessory_report' => 'Accessory Report',
|
||||
'accessory_report' => 'Accessory Report',
|
||||
'action' => 'Action',
|
||||
'activity_report' => 'Activity Report',
|
||||
'address' => 'Address',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Added seats',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'All Assets',
|
||||
'all' => 'All',
|
||||
'archived' => 'Archived',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Checkout',
|
||||
'city' => 'City',
|
||||
'click_here' => 'Click here',
|
||||
'companies' => 'Companies',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'component' => 'Component',
|
||||
'component' => 'Component',
|
||||
'components' => 'Components',
|
||||
'complete' => 'Complete',
|
||||
'consumable' => 'Consumable',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Custom Asset Report',
|
||||
'dashboard' => 'Dashboard',
|
||||
'days' => 'days',
|
||||
'days_to_next_audit' => 'Days to Next Audit',
|
||||
'days_to_next_audit' => 'Days to Next Audit',
|
||||
'date' => 'Date',
|
||||
'debug_warning' => 'Warning!',
|
||||
'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>.',
|
||||
'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',
|
||||
'deleted' => 'Deleted',
|
||||
'delete_seats' => 'Deleted Seats',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'History',
|
||||
'history_for' => 'History for',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Delete Image',
|
||||
'image_upload' => 'Upload Image',
|
||||
'import' => 'Import',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Your current password is incorrect",
|
||||
'dumbpwd' => 'That password is too common.',
|
||||
"statuslabel_type" => "You must select a valid status label type",
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Asset was not checked out, please try again',
|
||||
'success' => 'Asset checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.',
|
||||
'not_available' => 'That asset is not available for checkout!'
|
||||
'not_available' => 'That asset is not available for checkout!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone.',
|
||||
'custom_css' => 'Custom CSS',
|
||||
'custom_css_help' => 'Enter any custom CSS overrides you would like to use. Do not include the <style></style> tags.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Default Currency',
|
||||
'default_eula_text' => 'Default EULA',
|
||||
'default_language' => 'Default Language',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP enabled',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_help' => 'This should start with ldap:// (for unencrypted or TLS) or ldaps:// (for SSL)',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Supplier does not exist.',
|
||||
'assoc_users' => 'This supplier is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this supplier and try again. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Supplier was not created, please try again.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this supplier?',
|
||||
'error' => 'There was an issue deleting the supplier. Please try again.',
|
||||
'success' => 'Supplier was deleted successfully.'
|
||||
'success' => 'Supplier was deleted successfully.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Accessories',
|
||||
'activated' => 'Activated',
|
||||
'activated' => 'Activated',
|
||||
'accessory' => 'Accessory',
|
||||
'accessory_report' => 'Accessory Report',
|
||||
'accessory_report' => 'Accessory Report',
|
||||
'action' => 'Action',
|
||||
'activity_report' => 'Activity Report',
|
||||
'address' => 'Address',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Added seats',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'All Assets',
|
||||
'all' => 'All',
|
||||
'archived' => 'Archived',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Checkout',
|
||||
'city' => 'City',
|
||||
'click_here' => 'Click here',
|
||||
'companies' => 'Companies',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'component' => 'Component',
|
||||
'component' => 'Component',
|
||||
'components' => 'Components',
|
||||
'complete' => 'Complete',
|
||||
'consumable' => 'Consumable',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Custom Asset Report',
|
||||
'dashboard' => 'Dashboard',
|
||||
'days' => 'days',
|
||||
'days_to_next_audit' => 'Days to Next Audit',
|
||||
'days_to_next_audit' => 'Days to Next Audit',
|
||||
'date' => 'Date',
|
||||
'debug_warning' => 'Warning!',
|
||||
'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>.',
|
||||
'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',
|
||||
'deleted' => 'Deleted',
|
||||
'delete_seats' => 'Deleted Seats',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'History',
|
||||
'history_for' => 'History for',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Delete Image',
|
||||
'image_upload' => 'Upload Image',
|
||||
'import' => 'Import',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'uploaded' => 'The :attribute failed to upload.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Your current password is incorrect",
|
||||
'dumbpwd' => 'That password is too common.',
|
||||
"statuslabel_type" => "You must select a valid status label type",
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
'checkout' => 'Checkout',
|
||||
'city' => 'City',
|
||||
'click_here' => 'Click here',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'component' => 'Component',
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Equipo no asignado, intentalo de nuevo',
|
||||
'success' => 'Equipo asignado.',
|
||||
'user_does_not_exist' => 'Este usuario no es correcto. Intentalo de nuevo.',
|
||||
'not_available' => '¡Ese artículo no está disponible para retirada!'
|
||||
'not_available' => '¡Ese artículo no está disponible para retirada!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Introduzca el texto "Borrar" en el cuadro a continuación para depurar sus registros eliminados. Esta acción no se puede deshacer.',
|
||||
'custom_css' => 'CSS Personalizado',
|
||||
'custom_css_help' => 'Ingrese cualquier CSS personalizado que desee utilizar. No incluya tags como: <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Moneda Predeterminada',
|
||||
'default_eula_text' => 'EULA por defecto',
|
||||
'default_language' => 'Idioma predeterminado',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP activado',
|
||||
'ldap_integration' => 'Integración LDAP',
|
||||
'ldap_settings' => 'Ajustes LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'Servidor LDAP',
|
||||
'ldap_server_help' => 'Esto debería empezar con ldap:// (sin codificar o TLS) o ldaps:// (para SSL)',
|
||||
'ldap_server_cert' => 'Certificado de validación SSL LDAP',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Proveedor does not exist.',
|
||||
'assoc_users' => 'Este proveedor esta asociado a uno o más modelos y no puede ser eliminado. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Proveedor no creado, Intentalo de nuevo.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Estás seguro de querer eliminar este Proveedor?',
|
||||
'error' => 'Ha habido un problema eliminando el Proveedor. Intentalo de nuevo.',
|
||||
'success' => 'Proveedor eliminado.'
|
||||
'success' => 'Proveedor eliminado.',
|
||||
'assoc_assets' => 'Este proveedor esta asociado a uno o más modelos y no puede ser eliminado. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Accesorios',
|
||||
'activated' => 'Activado',
|
||||
'activated' => 'Activado',
|
||||
'accessory' => 'Accesorio',
|
||||
'accessory_report' => 'Reporte de Accesorios',
|
||||
'accessory_report' => 'Reporte de Accesorios',
|
||||
'action' => 'Acción',
|
||||
'activity_report' => 'Reporte de Actividad',
|
||||
'address' => 'Dirección',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Sitios añadidos',
|
||||
'add_seats' => 'Sitios añadidos',
|
||||
'all_assets' => 'Todos los Equipos',
|
||||
'all' => 'Todos los',
|
||||
'archived' => 'Archivado',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Asignar a un usuario',
|
||||
'city' => 'Ciudad',
|
||||
'click_here' => 'Pulsa aquí',
|
||||
'companies' => 'Empresas',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Empresas',
|
||||
'company' => 'Empresa',
|
||||
'component' => 'Componente',
|
||||
'component' => 'Componente',
|
||||
'components' => 'Componentes',
|
||||
'complete' => 'Completo',
|
||||
'consumable' => 'Consumible',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Reporte de Equipos Personalizado',
|
||||
'dashboard' => 'Tablero',
|
||||
'days' => 'días',
|
||||
'days_to_next_audit' => 'Días a la próxima auditoría',
|
||||
'days_to_next_audit' => 'Días a la próxima auditoría',
|
||||
'date' => 'Fecha Compra',
|
||||
'debug_warning' => '¡Advertencia!',
|
||||
'debug_warning_text' => 'Esta aplicación esta corriendo en modo producción con debugging activado. Esto puede exponer datos sensibles si su aplicación es accesible desde el exterior. Desactive el modo debug cambiando el valor <code>APP_DEBUG</code> en su archivo <code>.env</code> a <code>false</code>.',
|
||||
'debug_warning_text' => 'Esta aplicación esta corriendo en modo producción con debugging activado. Esto puede exponer datos sensibles si su aplicación es accesible desde el exterior. Desactive el modo debug cambiando el valor <code>APP_DEBUG</code> en su archivo <code>.env</code> a <code>false</code>.',
|
||||
'delete' => 'Borrar',
|
||||
'deleted' => 'Borrado',
|
||||
'delete_seats' => 'Asientos eliminados',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historial',
|
||||
'history_for' => 'Historial de',
|
||||
'id' => 'Id',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Borrar imagen',
|
||||
'image_upload' => 'Enviar imagen',
|
||||
'import' => 'Importar',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute ya ha sido introducido.',
|
||||
'uploaded' => 'El atributo: no se pudo cargar.',
|
||||
'url' => ':attribute formato incorrecto.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Tu contraseña actual es incorrecta",
|
||||
'dumbpwd' => 'Esa contraseña es muy común.',
|
||||
"statuslabel_type" => "Debe seleccionar un tipo de etiqueta de estado válido.",
|
||||
"unique_undeleted" => "El atributo debe ser único.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Equipo no asignado, intentalo de nuevo',
|
||||
'success' => 'Equipo asignado.',
|
||||
'user_does_not_exist' => 'Este usuario no es correcto. Intentalo de nuevo.',
|
||||
'not_available' => '¡Ese artículo no está disponible para retirada!'
|
||||
'not_available' => '¡Ese artículo no está disponible para retirada!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Introduzca el texto "Borrar" en el cuadro a continuación para depurar sus registros eliminados. Esta acción no se puede deshacer.',
|
||||
'custom_css' => 'CSS Personalizado',
|
||||
'custom_css_help' => 'Ingrese cualquier CSS personalizado que desee utilizar. No incluya tags como: <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Moneda Predeterminada',
|
||||
'default_eula_text' => 'EULA por defecto',
|
||||
'default_language' => 'Idioma predeterminado',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP activado',
|
||||
'ldap_integration' => 'Integración LDAP',
|
||||
'ldap_settings' => 'Ajustes LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'Servidor LDAP',
|
||||
'ldap_server_help' => 'Esto debería empezar con ldap:// (sin codificar o TLS) o ldaps:// (para SSL)',
|
||||
'ldap_server_cert' => 'Certificado de validación SSL LDAP',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Proveedor does not exist.',
|
||||
'assoc_users' => 'Este proveedor esta asociado a uno o más modelos y no puede ser eliminado. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Proveedor no creado, Intentalo de nuevo.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Estás seguro de querer eliminar este Proveedor?',
|
||||
'error' => 'Ha habido un problema eliminando el Proveedor. Intentalo de nuevo.',
|
||||
'success' => 'Proveedor eliminado.'
|
||||
'success' => 'Proveedor eliminado.',
|
||||
'assoc_assets' => 'Este proveedor esta asociado a uno o más modelos y no puede ser eliminado. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Accesorios',
|
||||
'activated' => 'Activado',
|
||||
'activated' => 'Activado',
|
||||
'accessory' => 'Accesorio',
|
||||
'accessory_report' => 'Reporte de Accesorios',
|
||||
'accessory_report' => 'Reporte de Accesorios',
|
||||
'action' => 'Acción',
|
||||
'activity_report' => 'Reporte de Actividad',
|
||||
'address' => 'Dirección',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Sitios añadidos',
|
||||
'add_seats' => 'Sitios añadidos',
|
||||
'all_assets' => 'Todos los Equipos',
|
||||
'all' => 'Todos los',
|
||||
'archived' => 'Archivado',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Asignar a un usuario',
|
||||
'city' => 'Ciudad',
|
||||
'click_here' => 'Pulsa aquí',
|
||||
'companies' => 'Empresas',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Empresas',
|
||||
'company' => 'Empresa',
|
||||
'component' => 'Componente',
|
||||
'component' => 'Componente',
|
||||
'components' => 'Componentes',
|
||||
'complete' => 'Completo',
|
||||
'consumable' => 'Consumible',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Reporte de Equipos Personalizado',
|
||||
'dashboard' => 'Tablero',
|
||||
'days' => 'días',
|
||||
'days_to_next_audit' => 'Días a la próxima auditoría',
|
||||
'days_to_next_audit' => 'Días a la próxima auditoría',
|
||||
'date' => 'Fecha Compra',
|
||||
'debug_warning' => '¡Advertencia!',
|
||||
'debug_warning_text' => 'Esta aplicación esta corriendo en modo producción con debugging activado. Esto puede exponer datos sensibles si su aplicación es accesible desde el exterior. Desactive el modo debug cambiando el valor <code>APP_DEBUG</code> en su archivo <code>.env</code> a <code>false</code>.',
|
||||
'debug_warning_text' => 'Esta aplicación esta corriendo en modo producción con debugging activado. Esto puede exponer datos sensibles si su aplicación es accesible desde el exterior. Desactive el modo debug cambiando el valor <code>APP_DEBUG</code> en su archivo <code>.env</code> a <code>false</code>.',
|
||||
'delete' => 'Borrar',
|
||||
'deleted' => 'Borrado',
|
||||
'delete_seats' => 'Asientos eliminados',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historial',
|
||||
'history_for' => 'Historial de',
|
||||
'id' => 'Id',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Borrar imagen',
|
||||
'image_upload' => 'Enviar imagen',
|
||||
'import' => 'Importar',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute ya ha sido introducido.',
|
||||
'uploaded' => 'El atributo: no se pudo cargar.',
|
||||
'url' => ':attribute formato incorrecto.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Tu contraseña actual es incorrecta",
|
||||
'dumbpwd' => 'Esa contraseña es muy común.',
|
||||
"statuslabel_type" => "Debe seleccionar un tipo de etiqueta de estado válido.",
|
||||
"unique_undeleted" => "El atributo debe ser único.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -61,7 +61,8 @@ return array(
|
||||
'error' => 'Varasid ei kontrollitud, proovige uuesti',
|
||||
'success' => 'Varad võeti edukalt välja.',
|
||||
'user_does_not_exist' => 'See kasutaja on kehtetu. Palun proovi uuesti.',
|
||||
'not_available' => 'See vara pole kontrollimiseks saadaval!'
|
||||
'not_available' => 'See vara pole kontrollimiseks saadaval!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Kustutatavate dokumentide puhastamiseks sisestage allpool olevasse kasti tekst "DELETE". Seda toimingut ei saa tagasi võtta.',
|
||||
'custom_css' => 'Kohandatud CSS',
|
||||
'custom_css_help' => 'Sisestage kõik kohandatud CSS-i muudatused, mida soovite kasutada. Ärge lisage silte <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Valuuta vaikimisi',
|
||||
'default_eula_text' => 'EULA vaikimisi',
|
||||
'default_language' => 'Vaikimisi keel',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP on lubatud',
|
||||
'ldap_integration' => 'LDAP-i integreerimine',
|
||||
'ldap_settings' => 'LDAP seaded',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP server',
|
||||
'ldap_server_help' => 'See peaks algama ldap: // (krüpteerimata või TLS-i puhul) või ldaps: // (SSL-i puhul)',
|
||||
'ldap_server_cert' => 'LDAP SSL-sertifikaadi valideerimine',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Tarnijat ei eksisteeri.',
|
||||
'assoc_users' => 'Selle tarnijaga on seotud vähemalt üks mudel ja seda ei saa kustutada. Palun uuenda oma mudeleid, et need ei kasutaks seda tarnijat ning seejärel proovi uuesti. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Tarnijat ei loodud, palun proovi uuesti.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Kas oled kindel, et soovid selle tarnija kustutada?',
|
||||
'error' => 'Tarnija kustutamisel tekkis probleem. Palun proovi uuesti.',
|
||||
'success' => 'Tarnija kustutamine õnnestus.'
|
||||
'success' => 'Tarnija kustutamine õnnestus.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Tarvikud',
|
||||
'activated' => 'Aktiveeritud',
|
||||
'activated' => 'Aktiveeritud',
|
||||
'accessory' => 'Tarvik',
|
||||
'accessory_report' => 'Tarvikute aruanne',
|
||||
'accessory_report' => 'Tarvikute aruanne',
|
||||
'action' => 'Tegevus',
|
||||
'activity_report' => 'Tegevuste aruanne',
|
||||
'address' => 'Aadress',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Lisatud istekohad',
|
||||
'add_seats' => 'Lisatud istekohad',
|
||||
'all_assets' => 'Kõik vahendid',
|
||||
'all' => 'Kõik',
|
||||
'archived' => 'Arhiveeritud',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Checkout',
|
||||
'city' => 'Linn',
|
||||
'click_here' => 'Kliki siia',
|
||||
'companies' => 'Ettevõtted',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Ettevõtted',
|
||||
'company' => 'Ettevõte',
|
||||
'component' => 'Komponent',
|
||||
'component' => 'Komponent',
|
||||
'components' => 'Komponendid',
|
||||
'complete' => 'Tehtud',
|
||||
'consumable' => 'Kulutatav',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Kohandatud varade aruanne',
|
||||
'dashboard' => 'Töölaud',
|
||||
'days' => 'päeva',
|
||||
'days_to_next_audit' => 'Päevad järgmise auditi juurde',
|
||||
'days_to_next_audit' => 'Päevad järgmise auditi juurde',
|
||||
'date' => 'Kuupäev',
|
||||
'debug_warning' => 'Hoiatus!',
|
||||
'debug_warning_text' => 'See rakendus töötab tootmisrežiimis, kus silumisvõimalused on lubatud. See võib avaldada tundlikke andmeid, kui teie rakendus on välismaailmale juurdepääsetav. Keela debugrežiim, määrates <code>APP_DEBUG</code> väärtuse oma <code>.env</code> failis <code>false</code>.',
|
||||
'debug_warning_text' => 'See rakendus töötab tootmisrežiimis, kus silumisvõimalused on lubatud. See võib avaldada tundlikke andmeid, kui teie rakendus on välismaailmale juurdepääsetav. Keela debugrežiim, määrates <code>APP_DEBUG</code> väärtuse oma <code>.env</code> failis <code>false</code>.',
|
||||
'delete' => 'Kustuta',
|
||||
'deleted' => 'Kustutatud',
|
||||
'delete_seats' => 'Kustutatud istmed',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Ajalugu',
|
||||
'history_for' => 'Ajalugu jaoks',
|
||||
'id' => 'ID',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Kustuta pilt',
|
||||
'image_upload' => 'Laadi pilt üles',
|
||||
'import' => 'Impordi',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'Atribuut: on juba võetud.',
|
||||
'uploaded' => 'Atribuut ei õnnestunud üles laadida.',
|
||||
'url' => 'Atribuudivorming on vale.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Teie praegune parool on vale",
|
||||
'dumbpwd' => 'See parool on liiga levinud.',
|
||||
"statuslabel_type" => "Peate valima kehtiva olekutüübi tüübi",
|
||||
"unique_undeleted" => "Atribuut peab olema ainulaadne.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -61,7 +61,8 @@ return array(
|
||||
'error' => 'دارایی در بررسی نیست، لطفا دوباره امتحان کنید',
|
||||
'success' => 'دارایی را بررسی کنید موفقیت.',
|
||||
'user_does_not_exist' => 'کاربر نامعتبر است لطفا دوباره امتحان کنید.',
|
||||
'not_available' => 'این دارایی برای پرداخت در دسترس نیست!'
|
||||
'not_available' => 'این دارایی برای پرداخت در دسترس نیست!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'متن "حذف" در کادر زیر برای پاکسازی پرونده حذف شده خود را وارد کنید. این دستور قابل بازگشت نیست.',
|
||||
'custom_css' => 'سفارشی CSS',
|
||||
'custom_css_help' => 'هر ابطال CSS سفارشی می خواهید استفاده کنید را وارد کنید.از برچسب های <style></style> استفاده نکنید.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'ارز پیش فرض',
|
||||
'default_eula_text' => 'EULA پیش فرض',
|
||||
'default_language' => 'زبان پیش فرض',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP فعال شد.',
|
||||
'ldap_integration' => 'ادغام LDAP',
|
||||
'ldap_settings' => 'تنظیمات LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'سرویس دهنده LDAP',
|
||||
'ldap_server_help' => 'این باید با ldap: // (برای رمزگذاری نشده یا TLS) یا ldaps: ((برای SSL)',
|
||||
'ldap_server_cert' => 'اعتبار گواهی نامه LDAP SSL',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'تامین کننده وجود ندارد.',
|
||||
'assoc_users' => 'این شرکت در حال حاضر همراه با حداقل یک مدل است و قادر به حذف نمی شود. لطفا بروز مدل های خود را به دیگر تامین کننده این مرجع و دوباره امتحان کنید. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'تامین کننده ایجاد نشد, لطفا دوباره سعی کنید.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'آیا شما مطمئن هستید که می خواهید این کارپرداز را حذف کنید؟',
|
||||
'error' => 'در حذف کردن این کارپرداز مشکلی وجود داشت. لطفا دوباره تلاش کنید.',
|
||||
'success' => 'کارپرداز با موفقیت حذف شد.'
|
||||
'success' => 'کارپرداز با موفقیت حذف شد.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'تجهیزات جانبی',
|
||||
'activated' => 'فعال شد',
|
||||
'activated' => 'فعال شد',
|
||||
'accessory' => 'لوازم جانبی',
|
||||
'accessory_report' => 'گزارش لوازم جانبی',
|
||||
'accessory_report' => 'گزارش لوازم جانبی',
|
||||
'action' => 'اقدام',
|
||||
'activity_report' => 'گزارش فعالیت',
|
||||
'address' => 'آدرس',
|
||||
'admin' => 'مدیر',
|
||||
'add_seats' => 'اضافه شدن صندلی',
|
||||
'add_seats' => 'اضافه شدن صندلی',
|
||||
'all_assets' => 'تمام دارایی ها',
|
||||
'all' => 'همه',
|
||||
'archived' => 'بایگانی شد',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'پرداخت',
|
||||
'city' => 'شهر',
|
||||
'click_here' => 'اینجا کلیک کنید',
|
||||
'companies' => 'شرکت ها',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'شرکت ها',
|
||||
'company' => 'شرکت',
|
||||
'component' => 'کامپوننت',
|
||||
'component' => 'کامپوننت',
|
||||
'components' => 'کامپوننت ها',
|
||||
'complete' => 'تکمیل',
|
||||
'consumable' => 'قابل مصرف',
|
||||
@@ -59,10 +60,10 @@
|
||||
',
|
||||
'dashboard' => 'میز کار',
|
||||
'days' => 'روزها',
|
||||
'days_to_next_audit' => 'روز به حسابرسی بعدی',
|
||||
'days_to_next_audit' => 'روز به حسابرسی بعدی',
|
||||
'date' => 'تاریخ',
|
||||
'debug_warning' => 'هشدار!',
|
||||
'debug_warning_text' => 'این برنامه در حالت تولید با استفاده از اشکال زدایی فعال است. این می تواند اطلاعات حساس را در صورت درخواست شما برای جهان خارج در دسترس قرار دهد. با تنظیم مقداری <code>APP_DEBUG</code> در <code>.env</code> فایل خود را به <code>false</code> غیرفعال کنید.',
|
||||
'debug_warning_text' => 'این برنامه در حالت تولید با استفاده از اشکال زدایی فعال است. این می تواند اطلاعات حساس را در صورت درخواست شما برای جهان خارج در دسترس قرار دهد. با تنظیم مقداری <code>APP_DEBUG</code> در <code>.env</code> فایل خود را به <code>false</code> غیرفعال کنید.',
|
||||
'delete' => 'حذف',
|
||||
'deleted' => 'حذف شد',
|
||||
'delete_seats' => 'صندلی ها حذف شده
|
||||
@@ -91,6 +92,7 @@
|
||||
'history' => 'پيشينه',
|
||||
'history_for' => 'پیشینه برای ',
|
||||
'id' => 'شناسه',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'عکس های پاک شده',
|
||||
'image_upload' => 'آپلود تصویر',
|
||||
'import' => 'واردات',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => 'ویژگی در حال حاضر گرفته شده است.',
|
||||
'uploaded' => 'ویژگی: attribute failed to upload.',
|
||||
'url' => 'شکل ویژگی نامعتبر است.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "رمز عبور فعلی شما اشتباه است",
|
||||
'dumbpwd' => 'این رمز عبور خیلی رایج است',
|
||||
"statuslabel_type" => "شما باید نوع برچسب معتبر را انتخاب کنید",
|
||||
"unique_undeleted" => ": attribute باید منحصر به فرد باشد.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Laitteen luovutus epäonnistui, yritä uudelleen',
|
||||
'success' => 'Laite luovutettu onnistuneesti.',
|
||||
'user_does_not_exist' => 'Käyttäjä on virheellinen. Yritä uudelleen.',
|
||||
'not_available' => 'Tätä omaisuutta ei ole saatavilla kassalle!'
|
||||
'not_available' => 'Tätä omaisuutta ei ole saatavilla kassalle!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Kirjoita alla olevaan kohtaan "DELETE" teksti tyhjentääksesi poistetut tietueet. Tätä toimintoa ei voi kumota.',
|
||||
'custom_css' => 'Oma CSS',
|
||||
'custom_css_help' => 'Anna haluamasi mukautetut CSS-ohitukset. Älä lisää <style></style> tunnisteita.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Oletusvaluutta',
|
||||
'default_eula_text' => 'Oletus EULA',
|
||||
'default_language' => 'Oletuskieli',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP käytössä',
|
||||
'ldap_integration' => 'LDAP integraatio',
|
||||
'ldap_settings' => 'LDAP Asetukset',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'LDAP Palvelin',
|
||||
'ldap_server_help' => 'Tämän pitäisi alkaa ldap: // (salaamaton tai TLS) tai ldaps: // (SSL)',
|
||||
'ldap_server_cert' => 'LDAP SSL Varmenteen varmennus',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Toimittajaa ei löydy.',
|
||||
'assoc_users' => 'Toimittaja on määritettynä yhdelle tai useammalle mallille eikä sitä voida poistaa. Poista toimittaja käytöstä kaikilta malleilta ja yritä uudelleen. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Toimittajaa ei luotu, yritä uudelleen.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Oletko varma että haluat poistaa tämän toimittajan?',
|
||||
'error' => 'Toimittajan poistossa tapahtui virhe. Yritä uudelleen.',
|
||||
'success' => 'Toimittaja poistettiin onnistuneesti.'
|
||||
'success' => 'Toimittaja poistettiin onnistuneesti.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return [
|
||||
'accessories' => 'Lisätarvikkeet',
|
||||
'activated' => 'Aktivoitu',
|
||||
'activated' => 'Aktivoitu',
|
||||
'accessory' => 'lisävaruste',
|
||||
'accessory_report' => 'Lisävarusteluettelo',
|
||||
'accessory_report' => 'Lisävarusteluettelo',
|
||||
'action' => 'Toiminto',
|
||||
'activity_report' => 'Toimintakertomus',
|
||||
'address' => 'Osoite',
|
||||
'admin' => 'Ylläpitäjä',
|
||||
'add_seats' => 'Lisäistuimia',
|
||||
'add_seats' => 'Lisäistuimia',
|
||||
'all_assets' => 'Kaikki Laitteet',
|
||||
'all' => 'Kaikki',
|
||||
'archived' => 'Arkistoitu',
|
||||
@@ -40,9 +40,10 @@
|
||||
'checkout' => 'Luovuta',
|
||||
'city' => 'Kaupunki',
|
||||
'click_here' => 'Klikkaa tästä',
|
||||
'companies' => 'Yritykset',
|
||||
'clear_selection' => 'Clear Selection',
|
||||
'companies' => 'Yritykset',
|
||||
'company' => 'Yritys',
|
||||
'component' => 'Komponentti',
|
||||
'component' => 'Komponentti',
|
||||
'components' => 'Komponentit',
|
||||
'complete' => 'Saattaa loppuun',
|
||||
'consumable' => 'kuluvia',
|
||||
@@ -58,10 +59,10 @@
|
||||
'custom_report' => 'Muokattu Laiteraportti',
|
||||
'dashboard' => 'Hallintasivu',
|
||||
'days' => 'päivää',
|
||||
'days_to_next_audit' => 'Päivää seuraavaan tarkastukseen',
|
||||
'days_to_next_audit' => 'Päivää seuraavaan tarkastukseen',
|
||||
'date' => 'Päivä',
|
||||
'debug_warning' => 'Varoitus!',
|
||||
'debug_warning_text' => 'Tämä sovellus on käynnissä tuotantotilassa, jossa virheenkorjaus on käytössä. Tämä voi paljastaa arkaluonteisia tietoja, jos sovellus on ulkomaailman käytettävissä. Poista debug-tilan käytöstä asettamalla <code>APP_DEBUG</code> -arvo <code>.env</code> -tiedostoosi <code>false</code>.',
|
||||
'debug_warning_text' => 'Tämä sovellus on käynnissä tuotantotilassa, jossa virheenkorjaus on käytössä. Tämä voi paljastaa arkaluonteisia tietoja, jos sovellus on ulkomaailman käytettävissä. Poista debug-tilan käytöstä asettamalla <code>APP_DEBUG</code> -arvo <code>.env</code> -tiedostoosi <code>false</code>.',
|
||||
'delete' => 'Poista',
|
||||
'deleted' => 'Poistettu',
|
||||
'delete_seats' => 'Poistetut istuimet',
|
||||
@@ -89,6 +90,7 @@
|
||||
'history' => 'Historia',
|
||||
'history_for' => 'Laitehistoria käyttäjälle',
|
||||
'id' => 'Tunnus',
|
||||
'image' => 'Image',
|
||||
'image_delete' => 'Poista Kuva',
|
||||
'image_upload' => 'Lähetä Kuva',
|
||||
'import' => 'Tuo tiedot',
|
||||
|
||||
@@ -87,6 +87,7 @@ return array(
|
||||
'unique' => ':attribute on jo käytössä.',
|
||||
'uploaded' => 'Attribuutti ei onnistunut lataamaan.',
|
||||
'url' => ':attribute muotoilu on virheellinen.',
|
||||
"unique_undeleted" => "The :attribute must be unique.",
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -117,7 +118,6 @@ return array(
|
||||
"hashed_pass" => "Nykyinen salasanasi on virheellinen",
|
||||
'dumbpwd' => 'Salasana on liian yleinen.',
|
||||
"statuslabel_type" => "Sinun on valittava kelvollinen tilamerkintyyppi",
|
||||
"unique_undeleted" => "Ominaisuuden on oltava ainutlaatuinen.",
|
||||
],
|
||||
|
||||
/*
|
||||
|
||||
@@ -62,7 +62,8 @@ return array(
|
||||
'error' => 'Ce bien n\'a pas été sorti, veuillez réessayer',
|
||||
'success' => 'Ce bien a été sorti correctement.',
|
||||
'user_does_not_exist' => 'Cet utilisateur est invalide. Veuillez réessayer.',
|
||||
'not_available' => 'Ce bien n\'est pas disponible pour être sorti!'
|
||||
'not_available' => 'Ce bien n\'est pas disponible pour être sorti!',
|
||||
'no_assets_selected' => 'You must select at least one asset from the list'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
|
||||
@@ -23,6 +23,8 @@ return array(
|
||||
'confirm_purge_help' => 'Entrer le texte "DELETE" dans la boite ci-dessous pour purger les enregistrements supprimés. Cette action est irréversible.',
|
||||
'custom_css' => 'CSS personnalisé',
|
||||
'custom_css_help' => 'Entrez les codes CSS personnalisé que vous souhaitez utiliser . Ne pas inclure les balises <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'default_currency' => 'Devise par défaut',
|
||||
'default_eula_text' => 'Licence d\'utilisation par défaut',
|
||||
'default_language' => 'Langue par défaut',
|
||||
@@ -44,6 +46,8 @@ return array(
|
||||
'ldap_enabled' => 'LDAP activé',
|
||||
'ldap_integration' => 'Intégration LDAP',
|
||||
'ldap_settings' => 'Paramètres LDAP',
|
||||
'ldap_login_test_help' => 'Enter a valid LDAP username and password from the base DN you specified above to test whether your LDAP login is configured correctly. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_login_sync_help' => 'This only tests that LDAP can sync correctly. If your LDAP Authentication query is not correct, users may still not be able to login. YOU MUST SAVE YOUR UPDATED LDAP SETTINGS FIRST.',
|
||||
'ldap_server' => 'Serveur LDAP',
|
||||
'ldap_server_help' => 'Ca devrait commencer par ldap:// (non crypté ou TLS) ou ldaps:// (SSL)',
|
||||
'ldap_server_cert' => 'Validation du certificat SSL LDAP',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Le fournisseur n\'existe pas.',
|
||||
'assoc_users' => 'Ce fournisseur est actuellement associé à au moins un modèle et ne peut être supprimé. Veuillez actualiser vos modèles pour ne plus référencer cette catégorie et réessayer. ',
|
||||
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Le fournisseur n\'a pas été créé, veuillez essayer à nouveau.',
|
||||
@@ -18,7 +18,10 @@ return array(
|
||||
'delete' => array(
|
||||
'confirm' => 'Êtes-vous sûr de vouloir supprimer ce fournisseur ?',
|
||||
'error' => 'Un problème a eu lieu pendant la suppression du fournisseur. Veuillez essayer à nouveau.',
|
||||
'success' => 'Le fournisseur a été supprimé avec succès.'
|
||||
'success' => 'Le fournisseur a été supprimé avec succès.',
|
||||
'assoc_assets' => 'This supplier is currently associated with :asset_count asset(s) and cannot be deleted. Please update your assets to no longer reference this supplier and try again. ',
|
||||
'assoc_licenses' => 'This supplier is currently associated with :licenses_count licences(s) and cannot be deleted. Please update your licenses to no longer reference this supplier and try again. ',
|
||||
'assoc_maintenances' => 'This supplier is currently associated with :asset_maintenances_count asset maintenances(s) and cannot be deleted. Please update your asset maintenances to no longer reference this supplier and try again. ',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user