Merge branch 'develop' into bug/sc-28148
# Conflicts: # routes/web.php
This commit is contained in:
commit
ae7d7f7d22
358 changed files with 3594 additions and 1691 deletions
|
@ -122,6 +122,25 @@ class Handler extends ExceptionHandler
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// This is traaaaash but it handles models that are not found while using route model binding :(
|
||||||
|
// The only alternative is to set that at *each* route, which is crazypants
|
||||||
|
if ($e instanceof \Illuminate\Database\Eloquent\ModelNotFoundException) {
|
||||||
|
$model_name = last(explode('\\', $e->getModel()));
|
||||||
|
$route = str_plural(strtolower(last(explode('\\', $e->getModel())))).'.index';
|
||||||
|
|
||||||
|
// Sigh. Fucking laravel.
|
||||||
|
if ($route == 'assets.index') {
|
||||||
|
$route = 'hardware.index';
|
||||||
|
} elseif ($route == 'reporttemplates.index') {
|
||||||
|
$route = 'reports/custom';
|
||||||
|
} elseif ($route == 'predefinedkits.index') {
|
||||||
|
$route = 'kits.index';
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()
|
||||||
|
->route($route)
|
||||||
|
->withError(trans('general.generic_model_not_found', ['model' => $model_name]));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if ($this->isHttpException($e) && (isset($statusCode)) && ($statusCode == '404' )) {
|
if ($this->isHttpException($e) && (isset($statusCode)) && ($statusCode == '404' )) {
|
||||||
|
|
|
@ -1520,11 +1520,11 @@ class Helper
|
||||||
if ($redirect_option == 'target') {
|
if ($redirect_option == 'target') {
|
||||||
switch ($checkout_to_type) {
|
switch ($checkout_to_type) {
|
||||||
case 'user':
|
case 'user':
|
||||||
return route('users.show', ['user' => $request->assigned_user]);
|
return route('users.show', $request->assigned_user);
|
||||||
case 'location':
|
case 'location':
|
||||||
return route('locations.show', ['location' => $request->assigned_location]);
|
return route('locations.show', $request->assigned_location);
|
||||||
case 'asset':
|
case 'asset':
|
||||||
return route('hardware.show', ['hardware' => $request->assigned_asset]);
|
return route('hardware.show', $request->assigned_asset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return redirect()->back()->with('error', trans('admin/hardware/message.checkout.error'));
|
return redirect()->back()->with('error', trans('admin/hardware/message.checkout.error'));
|
||||||
|
|
|
@ -59,6 +59,8 @@ class IconHelper
|
||||||
return 'fas fa-cog';
|
return 'fas fa-cog';
|
||||||
case 'angle-left':
|
case 'angle-left':
|
||||||
return 'fas fa-angle-left';
|
return 'fas fa-angle-left';
|
||||||
|
case 'angle-right':
|
||||||
|
return 'fas fa-angle-right';
|
||||||
case 'warning':
|
case 'warning':
|
||||||
return 'fas fa-exclamation-triangle';
|
return 'fas fa-exclamation-triangle';
|
||||||
case 'kits':
|
case 'kits':
|
||||||
|
@ -184,6 +186,8 @@ class IconHelper
|
||||||
return 'fa-regular fa-id-card';
|
return 'fa-regular fa-id-card';
|
||||||
case 'department' :
|
case 'department' :
|
||||||
return 'fa-solid fa-building-user';
|
return 'fa-solid fa-building-user';
|
||||||
|
case 'home' :
|
||||||
|
return 'fa-solid fa-house';
|
||||||
case 'note':
|
case 'note':
|
||||||
case 'notes':
|
case 'notes':
|
||||||
return 'fas fa-sticky-note';
|
return 'fas fa-sticky-note';
|
||||||
|
|
|
@ -95,16 +95,10 @@ class AccessoriesController extends Controller
|
||||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
* @param int $accessoryId
|
* @param int $accessoryId
|
||||||
*/
|
*/
|
||||||
public function edit($accessoryId = null) : View | RedirectResponse
|
public function edit(Accessory $accessory) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
|
$this->authorize('update', Accessory::class);
|
||||||
if ($item = Accessory::find($accessoryId)) {
|
return view('accessories.edit')->with('item', $accessory)->with('category_type', 'accessory');
|
||||||
$this->authorize($item);
|
|
||||||
return view('accessories.edit', compact('item'))->with('category_type', 'accessory');
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist'));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -114,19 +108,12 @@ class AccessoriesController extends Controller
|
||||||
* @param int $accessoryId
|
* @param int $accessoryId
|
||||||
* @since [v6.0]
|
* @since [v6.0]
|
||||||
*/
|
*/
|
||||||
public function getClone($accessoryId = null) : View | RedirectResponse
|
public function getClone(Accessory $accessory) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
|
|
||||||
$this->authorize('create', Accessory::class);
|
$this->authorize('create', Accessory::class);
|
||||||
|
|
||||||
// Check if the asset exists
|
$accessory = clone $accessory;
|
||||||
if (is_null($accessory_to_clone = Accessory::find($accessoryId))) {
|
|
||||||
// Redirect to the asset management page
|
|
||||||
return redirect()->route('accessories.index')
|
|
||||||
->with('error', trans('admin/accessories/message.does_not_exist', ['id' => $accessoryId]));
|
|
||||||
}
|
|
||||||
|
|
||||||
$accessory = clone $accessory_to_clone;
|
|
||||||
$accessory->id = null;
|
$accessory->id = null;
|
||||||
$accessory->location_id = null;
|
$accessory->location_id = null;
|
||||||
|
|
||||||
|
@ -142,9 +129,9 @@ class AccessoriesController extends Controller
|
||||||
* @param ImageUploadRequest $request
|
* @param ImageUploadRequest $request
|
||||||
* @param int $accessoryId
|
* @param int $accessoryId
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $accessoryId = null) : RedirectResponse
|
public function update(ImageUploadRequest $request, Accessory $accessory) : RedirectResponse
|
||||||
{
|
{
|
||||||
if ($accessory = Accessory::withCount('checkouts as checkouts_count')->find($accessoryId)) {
|
if ($accessory = Accessory::withCount('checkouts as checkouts_count')->find($accessory->id)) {
|
||||||
|
|
||||||
$this->authorize($accessory);
|
$this->authorize($accessory);
|
||||||
|
|
||||||
|
@ -231,14 +218,10 @@ class AccessoriesController extends Controller
|
||||||
* @see AccessoriesController::getDataView() method that generates the JSON response
|
* @see AccessoriesController::getDataView() method that generates the JSON response
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function show($accessoryID = null) : View | RedirectResponse
|
public function show(Accessory $accessory) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$accessory = Accessory::withCount('checkouts as checkouts_count')->find($accessoryID);
|
$accessory = Accessory::withCount('checkouts as checkouts_count')->find($accessory->id);
|
||||||
$this->authorize('view', $accessory);
|
$this->authorize('view', $accessory);
|
||||||
if (isset($accessory->id)) {
|
|
||||||
return view('accessories.view', compact('accessory'));
|
return view('accessories.view', compact('accessory'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist', ['id' => $accessoryID]));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,19 +139,12 @@ class AssetMaintenancesController extends Controller
|
||||||
* @version v1.0
|
* @version v1.0
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
*/
|
*/
|
||||||
public function edit($assetMaintenanceId = null) : View | RedirectResponse
|
public function edit(AssetMaintenance $maintenance) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Asset::class);
|
$this->authorize('update', Asset::class);
|
||||||
// Check if the asset maintenance exists
|
if ((!$maintenance->asset) || ($maintenance->asset->deleted_at!='')) {
|
||||||
$this->authorize('update', Asset::class);
|
|
||||||
// Check if the asset maintenance exists
|
|
||||||
if (is_null($assetMaintenance = AssetMaintenance::find($assetMaintenanceId))) {
|
|
||||||
// Redirect to the asset maintenance management page
|
|
||||||
return redirect()->route('maintenances.index')->with('error', trans('admin/asset_maintenances/message.not_found'));
|
|
||||||
} elseif ((!$assetMaintenance->asset) || ($assetMaintenance->asset->deleted_at!='')) {
|
|
||||||
// Redirect to the asset maintenance management page
|
|
||||||
return redirect()->route('maintenances.index')->with('error', 'asset does not exist');
|
return redirect()->route('maintenances.index')->with('error', 'asset does not exist');
|
||||||
} elseif (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
|
} elseif (! Company::isCurrentUserHasAccess($maintenance->asset)) {
|
||||||
return static::getInsufficientPermissionsRedirect();
|
return static::getInsufficientPermissionsRedirect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +154,7 @@ class AssetMaintenancesController extends Controller
|
||||||
return view('asset_maintenances/edit')
|
return view('asset_maintenances/edit')
|
||||||
->with('selectedAsset', null)
|
->with('selectedAsset', null)
|
||||||
->with('assetMaintenanceType', $assetMaintenanceType)
|
->with('assetMaintenanceType', $assetMaintenanceType)
|
||||||
->with('item', $assetMaintenance);
|
->with('item', $maintenance);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -174,24 +167,20 @@ class AssetMaintenancesController extends Controller
|
||||||
* @version v1.0
|
* @version v1.0
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $assetMaintenanceId = null) : View | RedirectResponse
|
public function update(Request $request, AssetMaintenance $maintenance) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Asset::class);
|
$this->authorize('update', Asset::class);
|
||||||
// Check if the asset maintenance exists
|
|
||||||
if (is_null($assetMaintenance = AssetMaintenance::find($assetMaintenanceId))) {
|
if ((!$maintenance->asset) || ($maintenance->asset->deleted_at!='')) {
|
||||||
// Redirect to the asset maintenance management page
|
|
||||||
return redirect()->route('maintenances.index')->with('error', trans('admin/asset_maintenances/message.not_found'));
|
|
||||||
} elseif ((!$assetMaintenance->asset) || ($assetMaintenance->asset->deleted_at!='')) {
|
|
||||||
// Redirect to the asset maintenance management page
|
|
||||||
return redirect()->route('maintenances.index')->with('error', 'asset does not exist');
|
return redirect()->route('maintenances.index')->with('error', 'asset does not exist');
|
||||||
} elseif (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
|
} elseif (! Company::isCurrentUserHasAccess($maintenance->asset)) {
|
||||||
return static::getInsufficientPermissionsRedirect();
|
return static::getInsufficientPermissionsRedirect();
|
||||||
}
|
}
|
||||||
|
|
||||||
$assetMaintenance->supplier_id = $request->input('supplier_id');
|
$maintenance->supplier_id = $request->input('supplier_id');
|
||||||
$assetMaintenance->is_warranty = $request->input('is_warranty');
|
$maintenance->is_warranty = $request->input('is_warranty');
|
||||||
$assetMaintenance->cost = $request->input('cost');
|
$maintenance->cost = $request->input('cost');
|
||||||
$assetMaintenance->notes = $request->input('notes');
|
$maintenance->notes = $request->input('notes');
|
||||||
|
|
||||||
$asset = Asset::find(request('asset_id'));
|
$asset = Asset::find(request('asset_id'));
|
||||||
|
|
||||||
|
@ -200,39 +189,39 @@ class AssetMaintenancesController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save the asset maintenance data
|
// Save the asset maintenance data
|
||||||
$assetMaintenance->asset_id = $request->input('asset_id');
|
$maintenance->asset_id = $request->input('asset_id');
|
||||||
$assetMaintenance->asset_maintenance_type = $request->input('asset_maintenance_type');
|
$maintenance->asset_maintenance_type = $request->input('asset_maintenance_type');
|
||||||
$assetMaintenance->title = $request->input('title');
|
$maintenance->title = $request->input('title');
|
||||||
$assetMaintenance->start_date = $request->input('start_date');
|
$maintenance->start_date = $request->input('start_date');
|
||||||
$assetMaintenance->completion_date = $request->input('completion_date');
|
$maintenance->completion_date = $request->input('completion_date');
|
||||||
|
|
||||||
if (($assetMaintenance->completion_date == null)
|
if (($maintenance->completion_date == null)
|
||||||
) {
|
) {
|
||||||
if (($assetMaintenance->asset_maintenance_time !== 0)
|
if (($maintenance->asset_maintenance_time !== 0)
|
||||||
|| (! is_null($assetMaintenance->asset_maintenance_time))
|
|| (! is_null($maintenance->asset_maintenance_time))
|
||||||
) {
|
) {
|
||||||
$assetMaintenance->asset_maintenance_time = null;
|
$maintenance->asset_maintenance_time = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($assetMaintenance->completion_date !== null)
|
if (($maintenance->completion_date !== null)
|
||||||
&& ($assetMaintenance->start_date !== '')
|
&& ($maintenance->start_date !== '')
|
||||||
&& ($assetMaintenance->start_date !== '0000-00-00')
|
&& ($maintenance->start_date !== '0000-00-00')
|
||||||
) {
|
) {
|
||||||
$startDate = Carbon::parse($assetMaintenance->start_date);
|
$startDate = Carbon::parse($maintenance->start_date);
|
||||||
$completionDate = Carbon::parse($assetMaintenance->completion_date);
|
$completionDate = Carbon::parse($maintenance->completion_date);
|
||||||
$assetMaintenance->asset_maintenance_time = $completionDate->diffInDays($startDate);
|
$maintenance->asset_maintenance_time = $completionDate->diffInDays($startDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Was the asset maintenance created?
|
// Was the asset maintenance created?
|
||||||
if ($assetMaintenance->save()) {
|
if ($maintenance->save()) {
|
||||||
|
|
||||||
// Redirect to the new asset maintenance page
|
// Redirect to the new asset maintenance page
|
||||||
return redirect()->route('maintenances.index')
|
return redirect()->route('maintenances.index')
|
||||||
->with('success', trans('admin/asset_maintenances/message.edit.success'));
|
->with('success', trans('admin/asset_maintenances/message.edit.success'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->back()->withInput()->withErrors($assetMaintenance->getErrors());
|
return redirect()->back()->withInput()->withErrors($maintenance->getErrors());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -271,19 +260,13 @@ class AssetMaintenancesController extends Controller
|
||||||
* @version v1.0
|
* @version v1.0
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
*/
|
*/
|
||||||
public function show($assetMaintenanceId) : View | RedirectResponse
|
public function show(AssetMaintenance $maintenance) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Asset::class);
|
$this->authorize('view', Asset::class);
|
||||||
|
if (! Company::isCurrentUserHasAccess($maintenance->asset)) {
|
||||||
// Check if the asset maintenance exists
|
|
||||||
if (is_null($assetMaintenance = AssetMaintenance::find($assetMaintenanceId))) {
|
|
||||||
// Redirect to the asset maintenance management page
|
|
||||||
return redirect()->route('maintenances.index')
|
|
||||||
->with('error', trans('admin/asset_maintenances/message.not_found'));
|
|
||||||
} elseif (! Company::isCurrentUserHasAccess($assetMaintenance->asset)) {
|
|
||||||
return static::getInsufficientPermissionsRedirect();
|
return static::getInsufficientPermissionsRedirect();
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('asset_maintenances/view')->with('assetMaintenance', $assetMaintenance);
|
return view('asset_maintenances/view')->with('assetMaintenance', $maintenance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,16 +109,11 @@ class AssetModelsController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @param int $modelId
|
* @param int $modelId
|
||||||
*/
|
*/
|
||||||
public function edit($modelId = null) : View | RedirectResponse
|
public function edit(AssetModel $model) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', AssetModel::class);
|
$this->authorize('update', AssetModel::class);
|
||||||
if ($item = AssetModel::find($modelId)) {
|
|
||||||
$category_type = 'asset';
|
$category_type = 'asset';
|
||||||
return view('models/edit', compact('item', 'category_type'))->with('depreciation_list', Helper::depreciationList());
|
return view('models/edit', compact('category_type'))->with('item', $model)->with('depreciation_list', Helper::depreciationList());
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('models.index')->with('error', trans('admin/models/message.does_not_exist'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,16 +128,11 @@ class AssetModelsController extends Controller
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function update(StoreAssetModelRequest $request, $modelId) : RedirectResponse
|
public function update(StoreAssetModelRequest $request, AssetModel $model) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', AssetModel::class);
|
$this->authorize('update', AssetModel::class);
|
||||||
|
|
||||||
if (is_null($model = AssetModel::find($modelId))) {
|
|
||||||
return redirect()->route('models.index')->with('error', trans('admin/models/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$model = $request->handleImages($model);
|
$model = $request->handleImages($model);
|
||||||
|
|
||||||
$model->depreciation_id = $request->input('depreciation_id');
|
$model->depreciation_id = $request->input('depreciation_id');
|
||||||
$model->eol = $request->input('eol');
|
$model->eol = $request->input('eol');
|
||||||
$model->name = $request->input('name');
|
$model->name = $request->input('name');
|
||||||
|
@ -267,18 +257,12 @@ class AssetModelsController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @param int $modelId
|
* @param int $modelId
|
||||||
*/
|
*/
|
||||||
public function show($modelId = null) : View | RedirectResponse
|
public function show(AssetModel $model) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', AssetModel::class);
|
$this->authorize('view', AssetModel::class);
|
||||||
$model = AssetModel::withTrashed()->find($modelId);
|
|
||||||
|
|
||||||
if (isset($model->id)) {
|
|
||||||
return view('models/view', compact('model'));
|
return view('models/view', compact('model'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('models.index')->with('error', trans('admin/models/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the clone page to clone a model
|
* Get the clone page to clone a model
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,17 +26,14 @@ class AssetCheckoutController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
*/
|
*/
|
||||||
public function create($assetId) : View | RedirectResponse
|
public function create(Asset $asset) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
// Check if the asset exists
|
|
||||||
if (is_null($asset = Asset::with('company')->find(e($assetId)))) {
|
|
||||||
return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('checkout', $asset);
|
$this->authorize('checkout', $asset);
|
||||||
|
|
||||||
if (!$asset->model) {
|
if (!$asset->model) {
|
||||||
return redirect()->route('hardware.show', $asset->id)->with('error', trans('admin/hardware/general.model_invalid_fix'));
|
return redirect()->route('hardware.show', $asset)
|
||||||
|
->with('error', trans('admin/hardware/general.model_invalid_fix'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($asset->availableForCheckout()) {
|
if ($asset->availableForCheckout()) {
|
||||||
|
@ -45,8 +42,8 @@ class AssetCheckoutController extends Controller
|
||||||
->with('table_name', 'Assets');
|
->with('table_name', 'Assets');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return redirect()->route('hardware.index')
|
||||||
return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.checkout.not_available'));
|
->with('error', trans('admin/hardware/message.checkout.not_available'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -68,7 +65,7 @@ class AssetCheckoutController extends Controller
|
||||||
$this->authorize('checkout', $asset);
|
$this->authorize('checkout', $asset);
|
||||||
|
|
||||||
if (!$asset->model) {
|
if (!$asset->model) {
|
||||||
return redirect()->route('hardware.show', $asset->id)->with('error', trans('admin/hardware/general.model_invalid_fix'));
|
return redirect()->route('hardware.show', $asset)->with('error', trans('admin/hardware/general.model_invalid_fix'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$admin = auth()->user();
|
$admin = auth()->user();
|
||||||
|
|
|
@ -30,6 +30,7 @@ use Illuminate\Http\Response;
|
||||||
use Illuminate\Contracts\View\View;
|
use Illuminate\Contracts\View\View;
|
||||||
use Illuminate\Http\RedirectResponse;
|
use Illuminate\Http\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||||
|
use TypeError;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class controls all actions related to assets for
|
* This class controls all actions related to assets for
|
||||||
|
@ -201,7 +202,7 @@ class AssetsController extends Controller
|
||||||
$asset->checkOut($target, auth()->user(), date('Y-m-d H:i:s'), $request->input('expected_checkin', null), 'Checked out on asset creation', $request->get('name'), $location);
|
$asset->checkOut($target, auth()->user(), date('Y-m-d H:i:s'), $request->input('expected_checkin', null), 'Checked out on asset creation', $request->get('name'), $location);
|
||||||
}
|
}
|
||||||
|
|
||||||
$successes[] = "<a href='" . route('hardware.show', ['hardware' => $asset->id]) . "' style='color: white;'>" . e($asset->asset_tag) . "</a>";
|
$successes[] = "<a href='" . route('hardware.show', $asset) . "' style='color: white;'>" . e($asset->asset_tag) . "</a>";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$failures[] = join(",", $asset->getErrors()->all());
|
$failures[] = join(",", $asset->getErrors()->all());
|
||||||
|
@ -222,7 +223,7 @@ class AssetsController extends Controller
|
||||||
//the most common case, keeping it so we don't have to make every use of that translation string be trans_choice'ed
|
//the most common case, keeping it so we don't have to make every use of that translation string be trans_choice'ed
|
||||||
//and re-translated
|
//and re-translated
|
||||||
return redirect()->to(Helper::getRedirectOption($request, $asset->id, 'Assets'))
|
return redirect()->to(Helper::getRedirectOption($request, $asset->id, 'Assets'))
|
||||||
->with('success-unescaped', trans('admin/hardware/message.create.success_linked', ['link' => route('hardware.show', ['hardware' => $asset->id]), 'id', 'tag' => e($asset->asset_tag)]));
|
->with('success-unescaped', trans('admin/hardware/message.create.success_linked', ['link' => route('hardware.show', $asset), 'id', 'tag' => e($asset->asset_tag)]));
|
||||||
} else {
|
} else {
|
||||||
//multi-success
|
//multi-success
|
||||||
return redirect()->to(Helper::getRedirectOption($request, $asset->id, 'Assets'))
|
return redirect()->to(Helper::getRedirectOption($request, $asset->id, 'Assets'))
|
||||||
|
@ -240,20 +241,14 @@ class AssetsController extends Controller
|
||||||
* Returns a view that presents a form to edit an existing asset.
|
* Returns a view that presents a form to edit an existing asset.
|
||||||
*
|
*
|
||||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
* @param int $assetId
|
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
*/
|
*/
|
||||||
public function edit($assetId = null) : View | RedirectResponse
|
public function edit(Asset $asset) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
if (! $item = Asset::find($assetId)) {
|
$this->authorize($asset);
|
||||||
// Redirect to the asset management page with error
|
return view('hardware/edit')
|
||||||
return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist'));
|
->with('item', $asset)
|
||||||
}
|
|
||||||
//Handles company checks and permissions.
|
|
||||||
$this->authorize($item);
|
|
||||||
|
|
||||||
return view('hardware/edit', compact('item'))
|
|
||||||
->with('statuslabel_list', Helper::statusLabelList())
|
->with('statuslabel_list', Helper::statusLabelList())
|
||||||
->with('statuslabel_types', Helper::statusTypeList());
|
->with('statuslabel_types', Helper::statusTypeList());
|
||||||
}
|
}
|
||||||
|
@ -267,15 +262,14 @@ class AssetsController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
*/
|
*/
|
||||||
public function show($assetId = null) : View | RedirectResponse
|
public function show(Asset $asset) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$asset = Asset::withTrashed()->find($assetId);
|
|
||||||
$this->authorize('view', $asset);
|
$this->authorize('view', $asset);
|
||||||
$settings = Setting::getSettings();
|
$settings = Setting::getSettings();
|
||||||
|
|
||||||
if (isset($asset)) {
|
if (isset($asset)) {
|
||||||
$audit_log = Actionlog::where('action_type', '=', 'audit')
|
$audit_log = Actionlog::where('action_type', '=', 'audit')
|
||||||
->where('item_id', '=', $assetId)
|
->where('item_id', '=', $asset->id)
|
||||||
->where('item_type', '=', Asset::class)
|
->where('item_type', '=', Asset::class)
|
||||||
->orderBy('created_at', 'DESC')->first();
|
->orderBy('created_at', 'DESC')->first();
|
||||||
|
|
||||||
|
@ -291,7 +285,7 @@ class AssetsController extends Controller
|
||||||
|
|
||||||
$qr_code = (object) [
|
$qr_code = (object) [
|
||||||
'display' => $settings->qr_code == '1',
|
'display' => $settings->qr_code == '1',
|
||||||
'url' => route('qr_code/hardware', $asset->id),
|
'url' => route('qr_code/hardware', $asset),
|
||||||
];
|
];
|
||||||
|
|
||||||
return view('hardware/view', compact('asset', 'qr_code', 'settings'))
|
return view('hardware/view', compact('asset', 'qr_code', 'settings'))
|
||||||
|
@ -308,14 +302,9 @@ class AssetsController extends Controller
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $assetId = null) : RedirectResponse
|
public function update(ImageUploadRequest $request, Asset $asset) : RedirectResponse
|
||||||
{
|
{
|
||||||
|
|
||||||
// Check if the asset exists
|
|
||||||
if (! $asset = Asset::find($assetId)) {
|
|
||||||
// Redirect to the asset management page with error
|
|
||||||
return redirect()->route('hardware.index')->with('error', trans('admin/hardware/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
$this->authorize($asset);
|
$this->authorize($asset);
|
||||||
|
|
||||||
$asset->status_id = $request->input('status_id', null);
|
$asset->status_id = $request->input('status_id', null);
|
||||||
|
@ -430,7 +419,7 @@ class AssetsController extends Controller
|
||||||
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
|
||||||
|
|
||||||
if ($asset->save()) {
|
if ($asset->save()) {
|
||||||
return redirect()->to(Helper::getRedirectOption($request, $assetId, 'Assets'))
|
return redirect()->to(Helper::getRedirectOption($request, $asset->id, 'Assets'))
|
||||||
->with('success', trans('admin/hardware/message.update.success'));
|
->with('success', trans('admin/hardware/message.update.success'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -531,12 +520,12 @@ class AssetsController extends Controller
|
||||||
* @param int $assetId
|
* @param int $assetId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function getQrCode($assetId = null) : Response | BinaryFileResponse | string | bool
|
public function getQrCode(Asset $asset) : Response | BinaryFileResponse | string | bool
|
||||||
{
|
{
|
||||||
$settings = Setting::getSettings();
|
$settings = Setting::getSettings();
|
||||||
|
|
||||||
if (($settings->qr_code == '1') && ($settings->label2_2d_type !== 'none')) {
|
if (($settings->qr_code == '1') && ($settings->label2_2d_type !== 'none')) {
|
||||||
$asset = Asset::withTrashed()->find($assetId);
|
|
||||||
if ($asset) {
|
if ($asset) {
|
||||||
$size = Helper::barcodeDimensions($settings->label2_2d_type);
|
$size = Helper::barcodeDimensions($settings->label2_2d_type);
|
||||||
$qr_file = public_path().'/uploads/barcodes/qr-'.str_slug($asset->asset_tag).'-'.str_slug($asset->id).'.png';
|
$qr_file = public_path().'/uploads/barcodes/qr-'.str_slug($asset->asset_tag).'-'.str_slug($asset->id).'.png';
|
||||||
|
@ -590,7 +579,7 @@ class AssetsController extends Controller
|
||||||
file_put_contents($barcode_file, $barcode_obj->getPngData());
|
file_put_contents($barcode_file, $barcode_obj->getPngData());
|
||||||
|
|
||||||
return response($barcode_obj->getPngData())->header('Content-type', 'image/png');
|
return response($barcode_obj->getPngData())->header('Content-type', 'image/png');
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception|TypeError $e) {
|
||||||
Log::debug('The barcode format is invalid.');
|
Log::debug('The barcode format is invalid.');
|
||||||
|
|
||||||
return response(file_get_contents(public_path('uploads/barcodes/invalid_barcode.gif')))->header('Content-type', 'image/gif');
|
return response(file_get_contents(public_path('uploads/barcodes/invalid_barcode.gif')))->header('Content-type', 'image/gif');
|
||||||
|
@ -877,12 +866,11 @@ class AssetsController extends Controller
|
||||||
return view('hardware/quickscan-checkin')->with('statusLabel_list', Helper::statusLabelList());
|
return view('hardware/quickscan-checkin')->with('statusLabel_list', Helper::statusLabelList());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function audit($id)
|
public function audit(Asset $asset)
|
||||||
{
|
{
|
||||||
$settings = Setting::getSettings();
|
$settings = Setting::getSettings();
|
||||||
$this->authorize('audit', Asset::class);
|
$this->authorize('audit', Asset::class);
|
||||||
$dt = Carbon::now()->addMonths($settings->audit_interval)->toDateString();
|
$dt = Carbon::now()->addMonths($settings->audit_interval)->toDateString();
|
||||||
$asset = Asset::findOrFail($id);
|
|
||||||
return view('hardware/audit')->with('asset', $asset)->with('next_audit_date', $dt)->with('locations_list');
|
return view('hardware/audit')->with('asset', $asset)->with('next_audit_date', $dt)->with('locations_list');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -901,7 +889,7 @@ class AssetsController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function auditStore(UploadFileRequest $request, $id)
|
public function auditStore(UploadFileRequest $request, Asset $asset)
|
||||||
{
|
{
|
||||||
$this->authorize('audit', Asset::class);
|
$this->authorize('audit', Asset::class);
|
||||||
|
|
||||||
|
@ -916,8 +904,6 @@ class AssetsController extends Controller
|
||||||
return response()->json(Helper::formatStandardApiResponse('error', null, $validator->errors()->all()));
|
return response()->json(Helper::formatStandardApiResponse('error', null, $validator->errors()->all()));
|
||||||
}
|
}
|
||||||
|
|
||||||
$asset = Asset::findOrFail($id);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Even though we do a save() further down, we don't want to log this as a "normal" asset update,
|
* Even though we do a save() further down, we don't want to log this as a "normal" asset update,
|
||||||
* which would trigger the Asset Observer and would log an asset *update* log entry (because the
|
* which would trigger the Asset Observer and would log an asset *update* log entry (because the
|
||||||
|
|
|
@ -88,14 +88,10 @@ class CategoriesController extends Controller
|
||||||
* @param int $categoryId
|
* @param int $categoryId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($categoryId = null) : RedirectResponse | View
|
public function edit(Category $category) : RedirectResponse | View
|
||||||
{
|
{
|
||||||
$this->authorize('update', Category::class);
|
$this->authorize('update', Category::class);
|
||||||
if (is_null($item = Category::find($categoryId))) {
|
return view('categories/edit')->with('item', $category)
|
||||||
return redirect()->route('categories.index')->with('error', trans('admin/categories/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('categories/edit', compact('item'))
|
|
||||||
->with('category_types', Helper::categoryTypeList());
|
->with('category_types', Helper::categoryTypeList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,19 +104,10 @@ class CategoriesController extends Controller
|
||||||
* @param int $categoryId
|
* @param int $categoryId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $categoryId = null) : RedirectResponse
|
public function update(ImageUploadRequest $request, Category $category) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Category::class);
|
$this->authorize('update', Category::class);
|
||||||
if (is_null($category = Category::find($categoryId))) {
|
|
||||||
// Redirect to the categories management page
|
|
||||||
return redirect()->route('categories.index')->with('error', trans('admin/categories/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update the category data
|
|
||||||
$category->name = $request->input('name');
|
$category->name = $request->input('name');
|
||||||
// If the item count is > 0, we disable the category type in the edit. Disabled items
|
|
||||||
// don't POST, so if the category_type is blank we just set it to the default.
|
|
||||||
|
|
||||||
|
|
||||||
// Don't allow the user to change the category_type once it's been created
|
// Don't allow the user to change the category_type once it's been created
|
||||||
if (($request->filled('category_type') && ($category->itemCount() > 0))) {
|
if (($request->filled('category_type') && ($category->itemCount() > 0))) {
|
||||||
|
@ -181,10 +168,10 @@ class CategoriesController extends Controller
|
||||||
* @param $id
|
* @param $id
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
*/
|
*/
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Category $category) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Category::class);
|
$this->authorize('view', Category::class);
|
||||||
if ($category = Category::find($id)) {
|
|
||||||
if ($category->category_type == 'asset') {
|
if ($category->category_type == 'asset') {
|
||||||
$category_type = 'hardware';
|
$category_type = 'hardware';
|
||||||
$category_type_route = 'assets';
|
$category_type_route = 'assets';
|
||||||
|
@ -200,7 +187,4 @@ class CategoriesController extends Controller
|
||||||
->with('category_type', $category_type)
|
->with('category_type', $category_type)
|
||||||
->with('category_type_route', $category_type_route);
|
->with('category_type_route', $category_type_route);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('categories.index')->with('error', trans('admin/categories/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,16 +80,10 @@ final class CompaniesController extends Controller
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
* @param int $companyId
|
* @param int $companyId
|
||||||
*/
|
*/
|
||||||
public function edit($companyId) : View | RedirectResponse
|
public function edit(Company $company) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
if (is_null($item = Company::find($companyId))) {
|
$this->authorize('update', $company);
|
||||||
return redirect()->route('companies.index')
|
return view('companies/edit')->with('item', $company);
|
||||||
->with('error', trans('admin/companies/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $item);
|
|
||||||
|
|
||||||
return view('companies/edit')->with('item', $item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -100,14 +94,10 @@ final class CompaniesController extends Controller
|
||||||
* @param ImageUploadRequest $request
|
* @param ImageUploadRequest $request
|
||||||
* @param int $companyId
|
* @param int $companyId
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $companyId) : RedirectResponse
|
public function update(ImageUploadRequest $request, Company $company) : RedirectResponse
|
||||||
{
|
{
|
||||||
if (is_null($company = Company::find($companyId))) {
|
|
||||||
return redirect()->route('companies.index')->with('error', trans('admin/companies/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $company);
|
$this->authorize('update', $company);
|
||||||
|
|
||||||
$company->name = $request->input('name');
|
$company->name = $request->input('name');
|
||||||
$company->phone = $request->input('phone');
|
$company->phone = $request->input('phone');
|
||||||
$company->fax = $request->input('fax');
|
$company->fax = $request->input('fax');
|
||||||
|
@ -158,15 +148,9 @@ final class CompaniesController extends Controller
|
||||||
->with('success', trans('admin/companies/message.delete.success'));
|
->with('success', trans('admin/companies/message.delete.success'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Company $company) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Company::class);
|
$this->authorize('view', Company::class);
|
||||||
|
|
||||||
if (is_null($company = Company::find($id))) {
|
|
||||||
return redirect()->route('companies.index')
|
|
||||||
->with('error', trans('admin/companies/message.not_found'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('companies/view')->with('company', $company);
|
return view('companies/view')->with('company', $company);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,15 +107,13 @@ class ComponentsController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function edit($componentId = null)
|
public function edit(Component $component)
|
||||||
{
|
{
|
||||||
if ($item = Component::find($componentId)) {
|
|
||||||
$this->authorize('update', $item);
|
|
||||||
|
|
||||||
return view('components/edit', compact('item'))->with('category_type', 'component');
|
$this->authorize('update', $component);
|
||||||
}
|
return view('components/edit')
|
||||||
|
->with('item', $component)
|
||||||
return redirect()->route('components.index')->with('error', trans('admin/components/message.does_not_exist'));
|
->with('category_type', 'component');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,11 +128,8 @@ class ComponentsController extends Controller
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
* @since [v3.0]
|
* @since [v3.0]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $componentId = null)
|
public function update(ImageUploadRequest $request, Component $component)
|
||||||
{
|
{
|
||||||
if (is_null($component = Component::find($componentId))) {
|
|
||||||
return redirect()->route('components.index')->with('error', trans('admin/components/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
$min = $component->numCheckedOut();
|
$min = $component->numCheckedOut();
|
||||||
$validator = Validator::make($request->all(), [
|
$validator = Validator::make($request->all(), [
|
||||||
'qty' => "required|numeric|min:$min",
|
'qty' => "required|numeric|min:$min",
|
||||||
|
@ -216,17 +211,9 @@ class ComponentsController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function show($componentId = null)
|
public function show(Component $component)
|
||||||
{
|
{
|
||||||
$component = Component::find($componentId);
|
|
||||||
|
|
||||||
if (isset($component->id)) {
|
|
||||||
$this->authorize('view', $component);
|
$this->authorize('view', $component);
|
||||||
|
|
||||||
return view('components/view', compact('component'));
|
return view('components/view', compact('component'));
|
||||||
}
|
}
|
||||||
// Redirect to the user management page
|
|
||||||
return redirect()->route('components.index')
|
|
||||||
->with('error', trans('admin/components/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,15 +104,13 @@ class ConsumablesController extends Controller
|
||||||
* @see ConsumablesController::postEdit() method that stores the form data.
|
* @see ConsumablesController::postEdit() method that stores the form data.
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($consumableId = null) : View | RedirectResponse
|
public function edit(Consumable $consumable) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
if ($item = Consumable::find($consumableId)) {
|
$this->authorize($consumable);
|
||||||
$this->authorize($item);
|
return view('consumables/edit')
|
||||||
|
->with('item', $consumable)
|
||||||
|
->with('category_type', 'consumable');
|
||||||
|
|
||||||
return view('consumables/edit', compact('item'))->with('category_type', 'consumable');
|
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.does_not_exist'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -126,11 +124,8 @@ class ConsumablesController extends Controller
|
||||||
* @see ConsumablesController::getEdit() method that stores the form data.
|
* @see ConsumablesController::getEdit() method that stores the form data.
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(StoreConsumableRequest $request, $consumableId = null)
|
public function update(StoreConsumableRequest $request, Consumable $consumable)
|
||||||
{
|
{
|
||||||
if (is_null($consumable = Consumable::find($consumableId))) {
|
|
||||||
return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$min = $consumable->numCheckedOut();
|
$min = $consumable->numCheckedOut();
|
||||||
$validator = Validator::make($request->all(), [
|
$validator = Validator::make($request->all(), [
|
||||||
|
@ -202,18 +197,13 @@ class ConsumablesController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function show($consumableId = null)
|
public function show(Consumable $consumable)
|
||||||
{
|
{
|
||||||
$consumable = Consumable::withCount('users as users_consumables')->find($consumableId);
|
$consumable = Consumable::withCount('users as users_consumables')->find($consumable->id);
|
||||||
$this->authorize($consumable);
|
$this->authorize($consumable);
|
||||||
if (isset($consumable->id)) {
|
|
||||||
return view('consumables/view', compact('consumable'));
|
return view('consumables/view', compact('consumable'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('consumables.index')
|
|
||||||
->with('error', trans('admin/consumables/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
public function clone(Consumable $consumable) : View
|
public function clone(Consumable $consumable) : View
|
||||||
{
|
{
|
||||||
$this->authorize('create', $consumable);
|
$this->authorize('create', $consumable);
|
||||||
|
|
|
@ -193,10 +193,8 @@ class CustomFieldsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v4.0]
|
* @since [v4.0]
|
||||||
*/
|
*/
|
||||||
public function edit(Request $request, $id) : View | RedirectResponse
|
public function edit(Request $request, CustomField $field) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
if ($field = CustomField::find($id)) {
|
|
||||||
|
|
||||||
$this->authorize('update', $field);
|
$this->authorize('update', $field);
|
||||||
$fieldsets = CustomFieldset::get();
|
$fieldsets = CustomFieldset::get();
|
||||||
$customFormat = '';
|
$customFormat = '';
|
||||||
|
@ -210,10 +208,6 @@ class CustomFieldsController extends Controller
|
||||||
'fieldsets' => $fieldsets,
|
'fieldsets' => $fieldsets,
|
||||||
'predefinedFormats' => Helper::predefined_formats(),
|
'predefinedFormats' => Helper::predefined_formats(),
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route("fields.index")
|
|
||||||
->with("error", trans('admin/custom_fields/message.field.invalid'));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -229,13 +223,9 @@ class CustomFieldsController extends Controller
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function update(CustomFieldRequest $request, $id) : RedirectResponse
|
public function update(CustomFieldRequest $request, CustomField $field) : RedirectResponse
|
||||||
{
|
{
|
||||||
$field = CustomField::find($id);
|
|
||||||
|
|
||||||
$this->authorize('update', $field);
|
$this->authorize('update', $field);
|
||||||
|
|
||||||
|
|
||||||
$show_in_email = $request->get("show_in_email", 0);
|
$show_in_email = $request->get("show_in_email", 0);
|
||||||
$display_in_user_view = $request->get("display_in_user_view", 0);
|
$display_in_user_view = $request->get("display_in_user_view", 0);
|
||||||
|
|
||||||
|
|
|
@ -35,10 +35,12 @@ class CustomFieldsetsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v1.8]
|
* @since [v1.8]
|
||||||
*/
|
*/
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(CustomFieldset $fieldset) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$cfset = CustomFieldset::with('fields')
|
$cfset = CustomFieldset::with('fields')
|
||||||
->where('id', '=', $id)->orderBy('id', 'ASC')->first();
|
->where('id', '=', $fieldset->id)
|
||||||
|
->orderBy('id', 'ASC')
|
||||||
|
->first();
|
||||||
|
|
||||||
$this->authorize('view', $cfset);
|
$this->authorize('view', $cfset);
|
||||||
|
|
||||||
|
@ -122,18 +124,12 @@ class CustomFieldsetsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v6.0.14]
|
* @since [v6.0.14]
|
||||||
*/
|
*/
|
||||||
public function edit($id) : View | RedirectResponse
|
public function edit(CustomFieldset $fieldset) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('create', CustomField::class);
|
$this->authorize('create', CustomField::class);
|
||||||
|
|
||||||
if ($fieldset = CustomFieldset::find($id)) {
|
|
||||||
return view('custom_fields.fieldsets.edit')->with('item', $fieldset);
|
return view('custom_fields.fieldsets.edit')->with('item', $fieldset);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('fields.index')->with('error', trans('admin/custom_fields/general.fieldset_does_not_exist', ['id' => $id]));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Saves updated fieldset data
|
* Saves updated fieldset data
|
||||||
*
|
*
|
||||||
|
@ -141,12 +137,10 @@ class CustomFieldsetsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v6.0.14]
|
* @since [v6.0.14]
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $id) : RedirectResponse
|
public function update(Request $request, CustomFieldset $fieldset) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('create', CustomField::class);
|
$this->authorize('create', CustomField::class);
|
||||||
|
|
||||||
if ($fieldset = CustomFieldset::find($id)) {
|
|
||||||
|
|
||||||
$fieldset->name = $request->input('name');
|
$fieldset->name = $request->input('name');
|
||||||
|
|
||||||
if ($fieldset->save()) {
|
if ($fieldset->save()) {
|
||||||
|
@ -157,9 +151,6 @@ class CustomFieldsetsController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('fields.index')->with('error', trans('admin/custom_fields/general.fieldset_does_not_exist', ['id' => $id]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates a custom fieldset and then deletes if it has no models associated.
|
* Validates a custom fieldset and then deletes if it has no models associated.
|
||||||
*
|
*
|
||||||
|
|
|
@ -73,19 +73,12 @@ class DepartmentsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v4.0]
|
* @since [v4.0]
|
||||||
*/
|
*/
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Department $department) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$department = Department::find($id);
|
|
||||||
|
|
||||||
$this->authorize('view', $department);
|
$this->authorize('view', $department);
|
||||||
|
|
||||||
if (isset($department->id)) {
|
|
||||||
return view('departments/view', compact('department'));
|
return view('departments/view', compact('department'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('departments.index')->with('error', trans('admin/departments/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a form view used to create a new department.
|
* Returns a form view used to create a new department.
|
||||||
*
|
*
|
||||||
|
@ -139,15 +132,10 @@ class DepartmentsController extends Controller
|
||||||
* @param int $departmentId
|
* @param int $departmentId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($departmentId = null) : View | RedirectResponse
|
public function edit(Department $department) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
if (is_null($item = Department::find($departmentId))) {
|
$this->authorize('update', $department);
|
||||||
return redirect()->back()->with('error', trans('admin/locations/message.does_not_exist'));
|
return view('departments/edit')->with('item', $department);
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $item);
|
|
||||||
|
|
||||||
return view('departments/edit', compact('item'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -158,11 +146,8 @@ class DepartmentsController extends Controller
|
||||||
* @param int $departmentId
|
* @param int $departmentId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $id) : RedirectResponse
|
public function update(ImageUploadRequest $request, Department $department) : RedirectResponse
|
||||||
{
|
{
|
||||||
if (is_null($department = Department::find($id))) {
|
|
||||||
return redirect()->route('departments.index')->with('error', trans('admin/departments/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $department);
|
$this->authorize('update', $department);
|
||||||
|
|
||||||
|
|
|
@ -95,17 +95,11 @@ class DepreciationsController extends Controller
|
||||||
* @param int $depreciationId
|
* @param int $depreciationId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($depreciationId = null) : RedirectResponse | View
|
public function edit(Depreciation $depreciation) : RedirectResponse | View
|
||||||
{
|
{
|
||||||
// Check if the depreciation exists
|
|
||||||
if (is_null($item = Depreciation::find($depreciationId))) {
|
|
||||||
// Redirect to the blogs management page
|
|
||||||
return redirect()->route('depreciations.index')->with('error', trans('admin/depreciations/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $item);
|
$this->authorize('update', $depreciation);
|
||||||
|
return view('depreciations/edit')->with('item', $depreciation);
|
||||||
return view('depreciations/edit', compact('item'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,17 +111,10 @@ class DepreciationsController extends Controller
|
||||||
* @param int $depreciationId
|
* @param int $depreciationId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $depreciationId = null) : RedirectResponse
|
public function update(Request $request, Depreciation $depreciation) : RedirectResponse
|
||||||
{
|
{
|
||||||
// Check if the depreciation exists
|
|
||||||
if (is_null($depreciation = Depreciation::find($depreciationId))) {
|
|
||||||
// Redirect to the blogs management page
|
|
||||||
return redirect()->route('depreciations.index')->with('error', trans('admin/depreciations/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $depreciation);
|
$this->authorize('update', $depreciation);
|
||||||
|
|
||||||
// Depreciation data
|
|
||||||
$depreciation->name = $request->input('name');
|
$depreciation->name = $request->input('name');
|
||||||
$depreciation->months = $request->input('months');
|
$depreciation->months = $request->input('months');
|
||||||
|
|
||||||
|
@ -191,12 +178,12 @@ class DepreciationsController extends Controller
|
||||||
* @param int $depreciationId
|
* @param int $depreciationId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Depreciation $depreciation) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$depreciation = Depreciation::withCount('assets as assets_count')
|
$depreciation = Depreciation::withCount('assets as assets_count')
|
||||||
->withCount('models as models_count')
|
->withCount('models as models_count')
|
||||||
->withCount('licenses as licenses_count')
|
->withCount('licenses as licenses_count')
|
||||||
->find($id);
|
->find($depreciation->id);
|
||||||
|
|
||||||
$this->authorize('view', $depreciation);
|
$this->authorize('view', $depreciation);
|
||||||
|
|
||||||
|
|
|
@ -79,21 +79,14 @@ class GroupsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($id) : View | RedirectResponse
|
public function edit(Group $group) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$group = Group::find($id);
|
|
||||||
|
|
||||||
if ($group) {
|
|
||||||
$permissions = config('permissions');
|
$permissions = config('permissions');
|
||||||
$groupPermissions = $group->decodePermissions();
|
$groupPermissions = $group->decodePermissions();
|
||||||
$selected_array = Helper::selectedPermissionsArray($permissions, $groupPermissions);
|
$selected_array = Helper::selectedPermissionsArray($permissions, $groupPermissions);
|
||||||
|
|
||||||
return view('groups.edit', compact('group', 'permissions', 'selected_array', 'groupPermissions'));
|
return view('groups.edit', compact('group', 'permissions', 'selected_array', 'groupPermissions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('groups.index')->with('error', trans('admin/groups/message.group_not_found', ['id' => $id]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates and stores the updated User Group data.
|
* Validates and stores the updated User Group data.
|
||||||
*
|
*
|
||||||
|
@ -102,11 +95,8 @@ class GroupsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $id = null) : RedirectResponse
|
public function update(Request $request, Group $group) : RedirectResponse
|
||||||
{
|
{
|
||||||
if (! $group = Group::find($id)) {
|
|
||||||
return redirect()->route('groups.index')->with('error', trans('admin/groups/message.group_not_found', ['id' => $id]));
|
|
||||||
}
|
|
||||||
$group->name = $request->input('name');
|
$group->name = $request->input('name');
|
||||||
$group->permissions = json_encode($request->input('permission'));
|
$group->permissions = json_encode($request->input('permission'));
|
||||||
$group->notes = $request->input('notes');
|
$group->notes = $request->input('notes');
|
||||||
|
@ -151,14 +141,8 @@ class GroupsController extends Controller
|
||||||
* @param $id
|
* @param $id
|
||||||
* @since [v4.0.11]
|
* @since [v4.0.11]
|
||||||
*/
|
*/
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Group $group) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$group = Group::find($id);
|
|
||||||
|
|
||||||
if ($group) {
|
|
||||||
return view('groups/view', compact('group'));
|
return view('groups/view', compact('group'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('groups.index')->with('error', trans('admin/groups/message.group_not_found', ['id' => $id]));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,10 +4,8 @@ namespace App\Http\Controllers\Kits;
|
||||||
|
|
||||||
use App\Http\Controllers\CheckInOutRequest;
|
use App\Http\Controllers\CheckInOutRequest;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Models\PredefinedKit;
|
|
||||||
use App\Models\Asset;
|
use App\Models\Asset;
|
||||||
use App\Models\PredefinedLicence;
|
use App\Models\PredefinedKit;
|
||||||
use App\Models\PredefinedModel;
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use App\Services\PredefinedKitCheckoutService;
|
use App\Services\PredefinedKitCheckoutService;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
@ -35,12 +33,9 @@ class CheckoutKitController extends Controller
|
||||||
* @author [D. Minaev.] [<dmitriy.minaev.v@gmail.com>]
|
* @author [D. Minaev.] [<dmitriy.minaev.v@gmail.com>]
|
||||||
* @return \Illuminate\Contracts\View\View View to checkout
|
* @return \Illuminate\Contracts\View\View View to checkout
|
||||||
*/
|
*/
|
||||||
public function showCheckout($kit_id)
|
public function showCheckout(PredefinedKit $kit)
|
||||||
{
|
{
|
||||||
$this->authorize('checkout', Asset::class);
|
$this->authorize('checkout', Asset::class);
|
||||||
|
|
||||||
$kit = PredefinedKit::findOrFail($kit_id);
|
|
||||||
|
|
||||||
return view('kits/checkout')->with('kit', $kit);
|
return view('kits/checkout')->with('kit', $kit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,17 +76,15 @@ class PredefinedKitsController extends Controller
|
||||||
* @param int $kit_id
|
* @param int $kit_id
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
*/
|
*/
|
||||||
public function edit($kit_id = null)
|
public function edit(PredefinedKit $kit)
|
||||||
{
|
{
|
||||||
$this->authorize('update', PredefinedKit::class);
|
$this->authorize('update', PredefinedKit::class);
|
||||||
if ($kit = PredefinedKit::find($kit_id)) {
|
|
||||||
return view('kits/edit')
|
return view('kits/edit')
|
||||||
->with('item', $kit)
|
->with('item', $kit)
|
||||||
->with('models', $kit->models)
|
->with('models', $kit->models)
|
||||||
->with('licenses', $kit->licenses);
|
->with('licenses', $kit->licenses);
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('kits.index')->with('error', trans('admin/kits/general.kit_none'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -98,15 +96,9 @@ class PredefinedKitsController extends Controller
|
||||||
* @param int $kit_id
|
* @param int $kit_id
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $kit_id = null)
|
public function update(ImageUploadRequest $request, PredefinedKit $kit)
|
||||||
{
|
{
|
||||||
$this->authorize('update', PredefinedKit::class);
|
$this->authorize('update', PredefinedKit::class);
|
||||||
// Check if the kit exists
|
|
||||||
if (is_null($kit = PredefinedKit::find($kit_id))) {
|
|
||||||
// Redirect to the kits management page
|
|
||||||
return redirect()->route('kits.index')->with('error', trans('admin/kits/general.kit_none'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$kit->name = $request->input('name');
|
$kit->name = $request->input('name');
|
||||||
|
|
||||||
if ($kit->save()) {
|
if ($kit->save()) {
|
||||||
|
@ -153,9 +145,9 @@ class PredefinedKitsController extends Controller
|
||||||
* @param int $modelId
|
* @param int $modelId
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
*/
|
*/
|
||||||
public function show($kit_id = null)
|
public function show(PredefinedKit $kit)
|
||||||
{
|
{
|
||||||
return $this->edit($kit_id);
|
return $this->edit($kit);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -28,16 +28,11 @@ class LicenseCheckinController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function create($seatId = null, $backTo = null)
|
public function create(LicenseSeat $licenseSeat, $backTo = null)
|
||||||
{
|
{
|
||||||
// Check if the asset exists
|
// Check if the asset exists
|
||||||
if (is_null($licenseSeat = LicenseSeat::find($seatId)) || is_null($license = License::find($licenseSeat->license_id))) {
|
$license = License::find($licenseSeat->license_id);
|
||||||
// Redirect to the asset management page with error
|
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('checkout', $license);
|
$this->authorize('checkout', $license);
|
||||||
|
|
||||||
return view('licenses/checkin', compact('licenseSeat'))->with('backto', $backTo);
|
return view('licenses/checkin', compact('licenseSeat'))->with('backto', $backTo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,17 +28,14 @@ class LicenseCheckoutController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function create($id)
|
public function create(License $license)
|
||||||
{
|
{
|
||||||
|
|
||||||
if ($license = License::find($id)) {
|
|
||||||
|
|
||||||
$this->authorize('checkout', $license);
|
$this->authorize('checkout', $license);
|
||||||
|
|
||||||
if ($license->category) {
|
if ($license->category) {
|
||||||
|
|
||||||
// Make sure there is at least one available to checkout
|
// Make sure there is at least one available to checkout
|
||||||
if ($license->availCount()->count() < 1){
|
if ($license->availCount()->count() < 1) {
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.checkout.not_enough_seats'));
|
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.checkout.not_enough_seats'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,12 +49,6 @@ class LicenseCheckoutController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Not found
|
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates and stores the license checkout action.
|
* Validates and stores the license checkout action.
|
||||||
*
|
*
|
||||||
|
|
|
@ -121,13 +121,10 @@ class LicensesController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function edit($licenseId = null)
|
public function edit(License $license)
|
||||||
{
|
{
|
||||||
if (is_null($item = License::find($licenseId))) {
|
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $item);
|
$this->authorize('update', $license);
|
||||||
|
|
||||||
$maintained_list = [
|
$maintained_list = [
|
||||||
'' => 'Maintained',
|
'' => 'Maintained',
|
||||||
|
@ -135,7 +132,8 @@ class LicensesController extends Controller
|
||||||
'0' => 'No',
|
'0' => 'No',
|
||||||
];
|
];
|
||||||
|
|
||||||
return view('licenses/edit', compact('item'))
|
return view('licenses/edit')
|
||||||
|
->with('item', $license)
|
||||||
->with('depreciation_list', Helper::depreciationList())
|
->with('depreciation_list', Helper::depreciationList())
|
||||||
->with('maintained_list', $maintained_list);
|
->with('maintained_list', $maintained_list);
|
||||||
}
|
}
|
||||||
|
@ -153,11 +151,9 @@ class LicensesController extends Controller
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $licenseId = null)
|
public function update(Request $request, License $license)
|
||||||
{
|
{
|
||||||
if (is_null($license = License::find($licenseId))) {
|
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->authorize('update', $license);
|
$this->authorize('update', $license);
|
||||||
|
|
||||||
|
@ -201,10 +197,10 @@ class LicensesController extends Controller
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function destroy($licenseId)
|
public function destroy(License $license)
|
||||||
{
|
{
|
||||||
// Check if the license exists
|
// Check if the license exists
|
||||||
if (is_null($license = License::find($licenseId))) {
|
if (is_null($license = License::find($license->id))) {
|
||||||
// Redirect to the license management page
|
// Redirect to the license management page
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.not_found'));
|
||||||
}
|
}
|
||||||
|
@ -238,14 +234,9 @@ class LicensesController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function show($licenseId = null)
|
public function show(License $license)
|
||||||
{
|
{
|
||||||
$license = License::with('assignedusers')->find($licenseId);
|
$license = License::with('assignedusers')->find($license->id);
|
||||||
|
|
||||||
if (!$license) {
|
|
||||||
return redirect()->route('licenses.index')
|
|
||||||
->with('error', trans('admin/licenses/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$users_count = User::where('autoassign_licenses', '1')->count();
|
$users_count = User::where('autoassign_licenses', '1')->count();
|
||||||
$total_seats_count = $license->totalSeatsByLicenseID();
|
$total_seats_count = $license->totalSeatsByLicenseID();
|
||||||
|
@ -267,10 +258,10 @@ class LicensesController extends Controller
|
||||||
*
|
*
|
||||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
* @param int $licenseId
|
* @param int $licenseId
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse | \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function getClone($licenseId = null)
|
public function getClone($licenseId = null) : \Illuminate\Contracts\View\View | \Illuminate\Http\RedirectResponse
|
||||||
{
|
{
|
||||||
if (is_null($license_to_clone = License::find($licenseId))) {
|
if (is_null($license_to_clone = License::find($licenseId))) {
|
||||||
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.does_not_exist'));
|
return redirect()->route('licenses.index')->with('error', trans('admin/licenses/message.does_not_exist'));
|
||||||
|
|
|
@ -97,15 +97,10 @@ class LocationsController extends Controller
|
||||||
* @param int $locationId
|
* @param int $locationId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($locationId = null) : View | RedirectResponse
|
public function edit(Location $location) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Location::class);
|
$this->authorize('update', Location::class);
|
||||||
// Check if the location exists
|
return view('locations/edit');
|
||||||
if (is_null($item = Location::find($locationId))) {
|
|
||||||
return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
return view('locations/edit', compact('item'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,15 +112,10 @@ class LocationsController extends Controller
|
||||||
* @param int $locationId
|
* @param int $locationId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $locationId = null) : RedirectResponse
|
public function update(ImageUploadRequest $request, Location $location) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Location::class);
|
$this->authorize('update', Location::class);
|
||||||
// Check if the location exists
|
|
||||||
if (is_null($location = Location::find($locationId))) {
|
|
||||||
return redirect()->route('locations.index')->with('error', trans('admin/locations/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update the location data
|
|
||||||
$location->name = $request->input('name');
|
$location->name = $request->input('name');
|
||||||
$location->parent_id = $request->input('parent_id', null);
|
$location->parent_id = $request->input('parent_id', null);
|
||||||
$location->currency = $request->input('currency', '$');
|
$location->currency = $request->input('currency', '$');
|
||||||
|
@ -194,7 +184,7 @@ class LocationsController extends Controller
|
||||||
* @param int $id
|
* @param int $id
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function show($id = null) : View | RedirectResponse
|
public function show(Location $location) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$location = Location::withCount('assignedAssets as assigned_assets_count')
|
$location = Location::withCount('assignedAssets as assigned_assets_count')
|
||||||
->withCount('assets as assets_count')
|
->withCount('assets as assets_count')
|
||||||
|
@ -202,7 +192,7 @@ class LocationsController extends Controller
|
||||||
->withCount('children as children_count')
|
->withCount('children as children_count')
|
||||||
->withCount('users as users_count')
|
->withCount('users as users_count')
|
||||||
->withTrashed()
|
->withTrashed()
|
||||||
->find($id);
|
->find($location->id);
|
||||||
|
|
||||||
if (isset($location->id)) {
|
if (isset($location->id)) {
|
||||||
return view('locations/view', compact('location'));
|
return view('locations/view', compact('location'));
|
||||||
|
|
|
@ -85,18 +85,10 @@ class ManufacturersController extends Controller
|
||||||
* @param int $manufacturerId
|
* @param int $manufacturerId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function edit($manufacturerId = null) : View | RedirectResponse
|
public function edit(Manufacturer $manufacturer) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
// Handles manufacturer checks and permissions.
|
|
||||||
$this->authorize('update', Manufacturer::class);
|
$this->authorize('update', Manufacturer::class);
|
||||||
|
return view('manufacturers/edit')->with('item', $manufacturer);
|
||||||
// Check if the manufacturer exists
|
|
||||||
if (! $item = Manufacturer::find($manufacturerId)) {
|
|
||||||
return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show the page
|
|
||||||
return view('manufacturers/edit', compact('item'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -108,16 +100,10 @@ class ManufacturersController extends Controller
|
||||||
* @param int $manufacturerId
|
* @param int $manufacturerId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function update(ImageUploadRequest $request, $manufacturerId = null) : RedirectResponse
|
public function update(ImageUploadRequest $request, Manufacturer $manufacturer) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Manufacturer::class);
|
$this->authorize('update', Manufacturer::class);
|
||||||
// Check if the manufacturer exists
|
|
||||||
if (is_null($manufacturer = Manufacturer::find($manufacturerId))) {
|
|
||||||
// Redirect to the manufacturer page
|
|
||||||
return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save the data
|
|
||||||
$manufacturer->name = $request->input('name');
|
$manufacturer->name = $request->input('name');
|
||||||
$manufacturer->url = $request->input('url');
|
$manufacturer->url = $request->input('url');
|
||||||
$manufacturer->support_url = $request->input('support_url');
|
$manufacturer->support_url = $request->input('support_url');
|
||||||
|
@ -185,20 +171,12 @@ class ManufacturersController extends Controller
|
||||||
* @param int $manufacturerId
|
* @param int $manufacturerId
|
||||||
* @since [v1.0]
|
* @since [v1.0]
|
||||||
*/
|
*/
|
||||||
public function show($manufacturerId = null) : View | RedirectResponse
|
public function show(Manufacturer $manufacturer) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Manufacturer::class);
|
$this->authorize('view', Manufacturer::class);
|
||||||
$manufacturer = Manufacturer::find($manufacturerId);
|
|
||||||
|
|
||||||
if (isset($manufacturer->id)) {
|
|
||||||
return view('manufacturers/view', compact('manufacturer'));
|
return view('manufacturers/view', compact('manufacturer'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$error = trans('admin/manufacturers/message.does_not_exist');
|
|
||||||
// Redirect to the user management page
|
|
||||||
return redirect()->route('manufacturers.index')->with('error', $error);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restore a given Manufacturer (mark as un-deleted)
|
* Restore a given Manufacturer (mark as un-deleted)
|
||||||
*
|
*
|
||||||
|
|
|
@ -26,16 +26,12 @@ class StatuslabelsController extends Controller
|
||||||
return view('statuslabels.index');
|
return view('statuslabels.index');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($id) : View | RedirectResponse
|
public function show(Statuslabel $statuslabel) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Statuslabel::class);
|
$this->authorize('view', Statuslabel::class);
|
||||||
if ($statuslabel = Statuslabel::find($id)) {
|
|
||||||
return view('statuslabels.view')->with('statuslabel', $statuslabel);
|
return view('statuslabels.view')->with('statuslabel', $statuslabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Statuslabel create.
|
* Statuslabel create.
|
||||||
*
|
*
|
||||||
|
@ -91,20 +87,15 @@ class StatuslabelsController extends Controller
|
||||||
*
|
*
|
||||||
* @param int $statuslabelId
|
* @param int $statuslabelId
|
||||||
*/
|
*/
|
||||||
public function edit($statuslabelId = null) : View | RedirectResponse
|
public function edit(Statuslabel $statuslabel) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Statuslabel::class);
|
$this->authorize('update', Statuslabel::class);
|
||||||
// Check if the Statuslabel exists
|
|
||||||
if (is_null($item = Statuslabel::find($statuslabelId))) {
|
|
||||||
// Redirect to the blogs management page
|
|
||||||
return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
$use_statuslabel_type = $item->getStatuslabelType();
|
|
||||||
|
|
||||||
$statuslabel_types = ['' => trans('admin/hardware/form.select_statustype')] + ['undeployable' => trans('admin/hardware/general.undeployable')] + ['pending' => trans('admin/hardware/general.pending')] + ['archived' => trans('admin/hardware/general.archived')] + ['deployable' => trans('admin/hardware/general.deployable')];
|
$statuslabel_types = ['' => trans('admin/hardware/form.select_statustype')] + ['undeployable' => trans('admin/hardware/general.undeployable')] + ['pending' => trans('admin/hardware/general.pending')] + ['archived' => trans('admin/hardware/general.archived')] + ['deployable' => trans('admin/hardware/general.deployable')];
|
||||||
|
|
||||||
return view('statuslabels/edit', compact('item', 'statuslabel_types'))->with('use_statuslabel_type', $use_statuslabel_type);
|
return view('statuslabels/edit', compact('statuslabel_types'))
|
||||||
|
->with('item', $statuslabel)
|
||||||
|
->with('use_statuslabel_type', $statuslabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -112,14 +103,9 @@ class StatuslabelsController extends Controller
|
||||||
*
|
*
|
||||||
* @param int $statuslabelId
|
* @param int $statuslabelId
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, $statuslabelId = null) : RedirectResponse
|
public function update(Request $request, Statuslabel $statuslabel) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Statuslabel::class);
|
$this->authorize('update', Statuslabel::class);
|
||||||
// Check if the Statuslabel exists
|
|
||||||
if (is_null($statuslabel = Statuslabel::find($statuslabelId))) {
|
|
||||||
// Redirect to the blogs management page
|
|
||||||
return redirect()->route('statuslabels.index')->with('error', trans('admin/statuslabels/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! $request->filled('statuslabel_types')) {
|
if (! $request->filled('statuslabel_types')) {
|
||||||
return redirect()->back()->withInput()->withErrors(['statuslabel_types' => trans('validation.statuslabel_type')]);
|
return redirect()->back()->withInput()->withErrors(['statuslabel_types' => trans('validation.statuslabel_type')]);
|
||||||
|
|
|
@ -77,17 +77,10 @@ class SuppliersController extends Controller
|
||||||
*
|
*
|
||||||
* @param int $supplierId
|
* @param int $supplierId
|
||||||
*/
|
*/
|
||||||
public function edit($supplierId = null) : View | RedirectResponse
|
public function edit(Supplier $supplier) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Supplier::class);
|
$this->authorize('update', Supplier::class);
|
||||||
// Check if the supplier exists
|
return view('suppliers/edit')->with('item', $supplier);
|
||||||
if (is_null($item = Supplier::find($supplierId))) {
|
|
||||||
// Redirect to the supplier page
|
|
||||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show the page
|
|
||||||
return view('suppliers/edit', compact('item'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -95,14 +88,9 @@ class SuppliersController extends Controller
|
||||||
*
|
*
|
||||||
* @param int $supplierId
|
* @param int $supplierId
|
||||||
*/
|
*/
|
||||||
public function update($supplierId, ImageUploadRequest $request) : RedirectResponse
|
public function update(ImageUploadRequest $request, Supplier $supplier) : RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('update', Supplier::class);
|
$this->authorize('update', Supplier::class);
|
||||||
|
|
||||||
if (is_null($supplier = Supplier::find($supplierId))) {
|
|
||||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.does_not_exist'));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Save the data
|
// Save the data
|
||||||
$supplier->name = request('name');
|
$supplier->name = request('name');
|
||||||
$supplier->address = request('address');
|
$supplier->address = request('address');
|
||||||
|
@ -163,15 +151,10 @@ class SuppliersController extends Controller
|
||||||
* @param null $supplierId
|
* @param null $supplierId
|
||||||
* @internal param int $assetId
|
* @internal param int $assetId
|
||||||
*/
|
*/
|
||||||
public function show($supplierId = null) : View | RedirectResponse
|
public function show(Supplier $supplier) : View | RedirectResponse
|
||||||
{
|
{
|
||||||
$this->authorize('view', Supplier::class);
|
$this->authorize('view', Supplier::class);
|
||||||
$supplier = Supplier::find($supplierId);
|
|
||||||
|
|
||||||
if (isset($supplier->id)) {
|
|
||||||
return view('suppliers/view', compact('supplier'));
|
return view('suppliers/view', compact('supplier'));
|
||||||
}
|
|
||||||
|
|
||||||
return redirect()->route('suppliers.index')->with('error', trans('admin/suppliers/message.does_not_exist'));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -182,11 +182,11 @@ class UsersController extends Controller
|
||||||
* @internal param int $id
|
* @internal param int $id
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function edit($id)
|
public function edit(User $user)
|
||||||
{
|
{
|
||||||
|
|
||||||
$this->authorize('update', User::class);
|
$this->authorize('update', User::class);
|
||||||
$user = User::with(['assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc'])->withTrashed()->find($id);
|
$user = User::with(['assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc'])->withTrashed()->find($user->id);
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ class UsersController extends Controller
|
||||||
$userPermissions = Helper::selectedPermissionsArray($permissions, $user->permissions);
|
$userPermissions = Helper::selectedPermissionsArray($permissions, $user->permissions);
|
||||||
$permissions = $this->filterDisplayable($permissions);
|
$permissions = $this->filterDisplayable($permissions);
|
||||||
|
|
||||||
return view('users/edit', compact('user', 'groups', 'userGroups', 'permissions', 'userPermissions'))->with('item', $user);
|
return view('users/edit', compact('user', 'groups', 'userGroups', 'permissions', 'userPermissions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', compact('id')));
|
return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', compact('id')));
|
||||||
|
@ -324,7 +324,7 @@ class UsersController extends Controller
|
||||||
* @return \Illuminate\Http\RedirectResponse
|
* @return \Illuminate\Http\RedirectResponse
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function destroy(DeleteUserRequest $request, $id = null)
|
public function destroy(DeleteUserRequest $request, $id)
|
||||||
{
|
{
|
||||||
$this->authorize('delete', User::class);
|
$this->authorize('delete', User::class);
|
||||||
|
|
||||||
|
@ -398,25 +398,20 @@ class UsersController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function show($userId = null)
|
public function show(User $user)
|
||||||
{
|
{
|
||||||
// Make sure the user can view users at all
|
// Make sure the user can view users at all
|
||||||
$this->authorize('view', User::class);
|
$this->authorize('view', User::class);
|
||||||
|
|
||||||
$user = User::with('assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc')->withTrashed()->find($userId);
|
$user = User::with('assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc')->withTrashed()->find($user->id);
|
||||||
|
|
||||||
// Make sure they can view this particular user
|
// Make sure they can view this particular user
|
||||||
$this->authorize('view', $user);
|
$this->authorize('view', $user);
|
||||||
|
|
||||||
if ($user) {
|
|
||||||
$userlog = $user->userlog->load('item');
|
$userlog = $user->userlog->load('item');
|
||||||
return view('users/view', compact('user', 'userlog'))->with('settings', Setting::getSettings());
|
return view('users/view', compact('user', 'userlog'))->with('settings', Setting::getSettings());
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->route('users.index')->with('error', trans('admin/users/message.user_not_found', ['id' => $userId]));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a view containing a pre-populated new user form,
|
* Return a view containing a pre-populated new user form,
|
||||||
|
@ -428,7 +423,7 @@ class UsersController extends Controller
|
||||||
* @return \Illuminate\Contracts\View\View
|
* @return \Illuminate\Contracts\View\View
|
||||||
* @throws \Illuminate\Auth\Access\AuthorizationException
|
* @throws \Illuminate\Auth\Access\AuthorizationException
|
||||||
*/
|
*/
|
||||||
public function getClone(Request $request, $id = null)
|
public function getClone(Request $request, User $user)
|
||||||
{
|
{
|
||||||
$this->authorize('create', User::class);
|
$this->authorize('create', User::class);
|
||||||
|
|
||||||
|
@ -438,7 +433,7 @@ class UsersController extends Controller
|
||||||
app('request')->request->set('permissions', $permissions);
|
app('request')->request->set('permissions', $permissions);
|
||||||
|
|
||||||
|
|
||||||
$user_to_clone = User::with('assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc')->withTrashed()->find($id);
|
$user_to_clone = User::with('assets', 'assets.model', 'consumables', 'accessories', 'licenses', 'userloc')->withTrashed()->find($user->id);
|
||||||
// Make sure they can view this particular user
|
// Make sure they can view this particular user
|
||||||
$this->authorize('view', $user_to_clone);
|
$this->authorize('view', $user_to_clone);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ class DeleteUserRequest extends FormRequest
|
||||||
|
|
||||||
public function prepareForValidation(): void
|
public function prepareForValidation(): void
|
||||||
{
|
{
|
||||||
$user_to_delete = User::withTrashed()->find(request()->route('user'));
|
$user_to_delete = User::withTrashed()->with('managesUsers')->find(request()->route('user'));
|
||||||
|
|
||||||
if ($user_to_delete) {
|
if ($user_to_delete) {
|
||||||
$this->merge([
|
$this->merge([
|
||||||
|
@ -61,7 +61,8 @@ class DeleteUserRequest extends FormRequest
|
||||||
public function messages(): array
|
public function messages(): array
|
||||||
{
|
{
|
||||||
|
|
||||||
$user_to_delete = User::withTrashed()->find(request()->route('user'));
|
$user_to_delete = User::withTrashed()->with('managesUsers')->find(request()->route('user'));
|
||||||
|
|
||||||
$messages = [];
|
$messages = [];
|
||||||
|
|
||||||
if ($user_to_delete) {
|
if ($user_to_delete) {
|
||||||
|
|
|
@ -22,6 +22,15 @@ class AssetMaintenancesPresenter extends Presenter
|
||||||
'title' => trans('general.id'),
|
'title' => trans('general.id'),
|
||||||
'visible' => false,
|
'visible' => false,
|
||||||
], [
|
], [
|
||||||
|
'field' => 'title',
|
||||||
|
'searchable' => true,
|
||||||
|
'sortable' => true,
|
||||||
|
'switchable' => true,
|
||||||
|
'title' => trans('general.name'),
|
||||||
|
'visible' => true,
|
||||||
|
'formatter' => 'maintenancesLinkFormatter',
|
||||||
|
],
|
||||||
|
[
|
||||||
'field' => 'company',
|
'field' => 'company',
|
||||||
'searchable' => true,
|
'searchable' => true,
|
||||||
'sortable' => true,
|
'sortable' => true,
|
||||||
|
|
|
@ -35,7 +35,7 @@ class AssetPresenter extends Presenter
|
||||||
'switchable' => true,
|
'switchable' => true,
|
||||||
'title' => trans('general.company'),
|
'title' => trans('general.company'),
|
||||||
'visible' => false,
|
'visible' => false,
|
||||||
'formatter' => 'assetCompanyObjFilterFormatter',
|
'formatter' => 'companiesLinkObjFormatter',
|
||||||
], [
|
], [
|
||||||
'field' => 'name',
|
'field' => 'name',
|
||||||
'searchable' => true,
|
'searchable' => true,
|
||||||
|
|
|
@ -28,7 +28,7 @@ class StatusLabelPresenter extends Presenter
|
||||||
'switchable' => false,
|
'switchable' => false,
|
||||||
'title' => trans('general.name'),
|
'title' => trans('general.name'),
|
||||||
'visible' => true,
|
'visible' => true,
|
||||||
'formatter' => 'statuslabelsAssetLinkFormatter',
|
'formatter' => 'statuslabelsLinkFormatter',
|
||||||
],[
|
],[
|
||||||
'field' => 'type',
|
'field' => 'type',
|
||||||
'searchable' => false,
|
'searchable' => false,
|
||||||
|
|
539
app/Providers/BreadcrumbsServiceProvider.php
Normal file
539
app/Providers/BreadcrumbsServiceProvider.php
Normal file
|
@ -0,0 +1,539 @@
|
||||||
|
<?php namespace App\Providers;
|
||||||
|
|
||||||
|
use App\Models\Accessory;
|
||||||
|
use App\Models\Asset;
|
||||||
|
use App\Models\AssetMaintenance;
|
||||||
|
use App\Models\AssetModel;
|
||||||
|
use App\Models\Category;
|
||||||
|
use App\Models\Company;
|
||||||
|
use App\Models\Component;
|
||||||
|
use App\Models\Consumable;
|
||||||
|
use App\Models\CustomField;
|
||||||
|
use App\Models\CustomFieldset;
|
||||||
|
use App\Models\Department;
|
||||||
|
use App\Models\Depreciation;
|
||||||
|
use App\Models\Group;
|
||||||
|
use App\Models\License;
|
||||||
|
use App\Models\LicenseSeat;
|
||||||
|
use App\Models\Location;
|
||||||
|
use App\Models\Manufacturer;
|
||||||
|
use App\Models\PredefinedKit;
|
||||||
|
use App\Models\Statuslabel;
|
||||||
|
use App\Models\Supplier;
|
||||||
|
use App\Models\User;
|
||||||
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
use Tabuna\Breadcrumbs\Breadcrumbs;
|
||||||
|
use Tabuna\Breadcrumbs\Trail;
|
||||||
|
|
||||||
|
class BreadcrumbsServiceProvider extends ServiceProvider
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handles the resource routes for first-class objects
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function boot()
|
||||||
|
{
|
||||||
|
|
||||||
|
// Default home
|
||||||
|
Breadcrumbs::for('home', fn (Trail $trail) =>
|
||||||
|
$trail->push('<x-icon type="home" /><span class="sr-only">'.trans('general.dashboard').'</span>', route('home'))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asset Breadcrumbs
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
if ((request()->is('hardware*')) && (request()->status!='')) {
|
||||||
|
Breadcrumbs::for('hardware.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.assets'), route('hardware.index'))
|
||||||
|
->push(request()->status.' Assets', route('hardware.index', ['status' => request()->status]))
|
||||||
|
);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Breadcrumbs::for('hardware.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.assets'), route('hardware.index'))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Breadcrumbs::for('hardware.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('hardware.index', route('hardware.index'))
|
||||||
|
->push(trans('general.create'), route('hardware.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('hardware.show', fn (Trail $trail, Asset $asset) =>
|
||||||
|
$trail->parent('hardware.index', route('hardware.index'))
|
||||||
|
->push($asset->present()->fullName(), route('hardware.show', $asset))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('hardware.edit', fn (Trail $trail, Asset $asset) =>
|
||||||
|
$trail->parent('hardware.index', route('hardware.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $asset->asset_tag]), route('hardware.edit', $asset))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asset Model Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('models.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('hardware.index', route('hardware.index'))
|
||||||
|
->push(trans('general.asset_models'), route('models.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('models.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('models.index', route('models.index'))
|
||||||
|
->push(trans('general.create'), route('models.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('models.show', fn (Trail $trail, AssetModel $model) =>
|
||||||
|
$trail->parent('models.index', route('models.index'))
|
||||||
|
->push($model->name, route('models.show', $model))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('models.edit', fn (Trail $trail, AssetModel $model) =>
|
||||||
|
$trail->parent('models.index', route('models.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $model->name]), route('models.edit', $model))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Accessories Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('accessories.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.accessories'), route('accessories.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('accessories.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('accessories.index', route('accessories.index'))
|
||||||
|
->push(trans('general.create'), route('accessories.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('accessories.show', fn (Trail $trail, Accessory $accessory) =>
|
||||||
|
$trail->parent('accessories.index', route('accessories.index'))
|
||||||
|
->push($accessory->name, route('accessories.show', $accessory))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('accessories.edit', fn (Trail $trail, Accessory $accessory) =>
|
||||||
|
$trail->parent('accessories.index', route('accessories.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $accessory->name]), route('accessories.edit', $accessory))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Categories Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('categories.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.categories'), route('categories.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('categories.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('categories.index', route('categories.index'))
|
||||||
|
->push(trans('general.create'), route('categories.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('categories.show', fn (Trail $trail, Category $category) =>
|
||||||
|
$trail->parent('categories.index', route('categories.index'))
|
||||||
|
->push($category->name, route('categories.show', $category))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('categories.edit', fn (Trail $trail, Category $category) =>
|
||||||
|
$trail->parent('categories.index', route('categories.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $category->name]), route('categories.edit', $category))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Company Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('companies.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.companies'), route('companies.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('companies.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('companies.index', route('companies.index'))
|
||||||
|
->push(trans('general.create'), route('companies.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('companies.show', fn (Trail $trail, Company $company) =>
|
||||||
|
$trail->parent('companies.index', route('companies.index'))
|
||||||
|
->push($company->name, route('companies.show', $company))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('companies.edit', fn (Trail $trail, Company $company) =>
|
||||||
|
$trail->parent('companies.index', route('companies.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $company->name]), route('companies.edit', $company))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Components Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('components.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.components'), route('components.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('components.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('components.index', route('components.index'))
|
||||||
|
->push(trans('general.create'), route('components.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('components.show', fn (Trail $trail, Component $component) =>
|
||||||
|
$trail->parent('components.index', route('components.index'))
|
||||||
|
->push($component->name, route('components.show', $component))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('components.edit', fn (Trail $trail, Component $component) =>
|
||||||
|
$trail->parent('components.index', route('components.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $component->name]), route('components.edit', $component))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Consumables Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('consumables.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.consumables'), route('consumables.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('consumables.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('consumables.index', route('consumables.index'))
|
||||||
|
->push(trans('general.create'), route('consumables.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('consumables.show', fn (Trail $trail, Consumable $consumable) =>
|
||||||
|
$trail->parent('consumables.index', route('consumables.index'))
|
||||||
|
->push($consumable->name, route('consumables.show', $consumable))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('consumables.edit', fn (Trail $trail, Consumable $consumable) =>
|
||||||
|
$trail->parent('consumables.index', route('consumables.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $consumable->name]), route('consumables.edit', $consumable))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom fields Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('fields.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('models.index', route('models.index'))
|
||||||
|
->push(trans('admin/custom_fields/general.custom_fields'), route('fields.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('fields.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('fields.index', route('fields.index'))
|
||||||
|
->push(trans('general.create'), route('fields.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('fields.edit', fn (Trail $trail, CustomField $field) =>
|
||||||
|
$trail->parent('fields.index', route('fields.index'))
|
||||||
|
->push($field->name, route('fields.edit', $field))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom fieldsets Breadcrumbs
|
||||||
|
*/
|
||||||
|
|
||||||
|
Breadcrumbs::for('fieldsets.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('fields.index', route('fields.index'))
|
||||||
|
->push(trans('general.create'), route('fieldsets.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('fieldsets.show', fn (Trail $trail, CustomFieldset $fieldset) =>
|
||||||
|
$trail->parent('fields.index', route('fields.index'))
|
||||||
|
->push($fieldset->name, route('fields.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('fieldsets.edit', fn (Trail $trail, CustomFieldset $fieldset) =>
|
||||||
|
$trail->parent('fields.index', route('fields.index'))
|
||||||
|
->push($fieldset->name, route('fieldsets.edit', $fieldset))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Department Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('departments.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.departments'), route('departments.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('departments.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('departments.index', route('departments.index'))
|
||||||
|
->push(trans('general.create'), route('departments.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('departments.show', fn (Trail $trail, Department $department) =>
|
||||||
|
$trail->parent('departments.index', route('departments.index'))
|
||||||
|
->push($department->name, route('home'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('departments.edit', fn (Trail $trail, Department $department) =>
|
||||||
|
$trail->parent('departments.index', route('departments.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $department->name]), route('departments.edit', $department))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Department Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('depreciations.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.depreciations'), route('depreciations.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('depreciations.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('depreciations.index', route('depreciations.index'))
|
||||||
|
->push(trans('general.create'), route('depreciations.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('depreciations.show', fn (Trail $trail, Depreciation $depreciation) =>
|
||||||
|
$trail->parent('depreciations.index', route('depreciations.index'))
|
||||||
|
->push($depreciation->name, route('depreciations.show', $depreciation))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('depreciations.edit', fn (Trail $trail, Depreciation $depreciation) =>
|
||||||
|
$trail->parent('depreciations.index', route('depreciations.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $depreciation->name]), route('depreciations.edit', $depreciation))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Groups Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('groups.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('settings.index', route('settings.index'))
|
||||||
|
->push(trans('general.groups'), route('groups.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('groups.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('groups.index', route('groups.index'))
|
||||||
|
->push(trans('general.create'), route('groups.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('groups.show', fn (Trail $trail, Group $group) =>
|
||||||
|
$trail->parent('groups.index', route('groups.index'))
|
||||||
|
->push($group->name, route('groups.show', $group))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('groups.edit', fn (Trail $trail, Group $group) =>
|
||||||
|
$trail->parent('groups.index', route('groups.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $group->name]), route('groups.edit', $group))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Licenses Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('licenses.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.licenses'), route('licenses.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('licenses.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('licenses.index', route('licenses.index'))
|
||||||
|
->push(trans('general.create'), route('licenses.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('licenses.show', fn (Trail $trail, License $license) =>
|
||||||
|
$trail->parent('licenses.index', route('licenses.index'))
|
||||||
|
->push($license->name, route('licenses.show', $license))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('licenses.edit', fn (Trail $trail, License $license) =>
|
||||||
|
$trail->parent('licenses.index', route('licenses.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $license->name]), route('licenses.edit', $license))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Locations Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('locations.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.locations'), route('locations.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('locations.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('locations.index', route('locations.index'))
|
||||||
|
->push(trans('general.create'), route('locations.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('locations.show', fn (Trail $trail, Location $location) =>
|
||||||
|
$trail->parent('locations.index', route('locations.index'))
|
||||||
|
->push($location->name, route('locations.show', $location))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('locations.edit', fn (Trail $trail, Location $location) =>
|
||||||
|
$trail->parent('locations.index', route('locations.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $location->name]), route('locations.edit', $location))
|
||||||
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Maintenances Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('maintenances.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('hardware.index', route('hardware.index'))
|
||||||
|
->push(trans('general.maintenances'), route('maintenances.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('maintenances.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('maintenances.index', route('maintenances.index'))
|
||||||
|
->push(trans('general.create'), route('maintenances.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('maintenances.show', fn (Trail $trail, AssetMaintenance $maintenance) =>
|
||||||
|
$trail->parent('maintenances.index', route('locations.index'))
|
||||||
|
->push($maintenance->title, route('maintenances.show', $maintenance))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('manufacturers.edit', fn (Trail $trail, Manufacturer $manufacturer) =>
|
||||||
|
$trail->parent('manufacturers.index', route('manufacturers.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $manufacturer->name]), route('manufacturers.edit', $manufacturer))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manufacturers Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('manufacturers.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.manufacturers'), route('manufacturers.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('manufacturers.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('manufacturers.index', route('manufacturers.index'))
|
||||||
|
->push(trans('general.create'), route('manufacturers.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('manufacturers.show', fn (Trail $trail, Manufacturer $manufacturer) =>
|
||||||
|
$trail->parent('manufacturers.index', route('manufacturers.index'))
|
||||||
|
->push($manufacturer->name, route('home'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('manufacturers.edit', fn (Trail $trail, Manufacturer $manufacturer) =>
|
||||||
|
$trail->parent('manufacturers.index', route('manufacturers.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $manufacturer->name]), route('manufacturers.edit', $manufacturer))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Predefined Kits Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('kits.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.kits'), route('kits.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('kits.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('kits.index', route('kits.index'))
|
||||||
|
->push(trans('general.create'), route('kits.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('kits.show', fn (Trail $trail, PredefinedKit $kit) =>
|
||||||
|
$trail->parent('kits.index', route('kits.index'))
|
||||||
|
->push($kit->name, route('kits.show', $kit))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('kits.edit', fn (Trail $trail, PredefinedKit $kit) =>
|
||||||
|
$trail->parent('kits.index', route('kits.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $kit->name]), route('kits.edit', $kit))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Status Labels Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('statuslabels.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.status_labels'), route('statuslabels.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('statuslabels.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('statuslabels.index', route('statuslabels.index'))
|
||||||
|
->push(trans('general.create'), route('statuslabels.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('statuslabels.show', fn (Trail $trail, Statuslabel $statuslabel) =>
|
||||||
|
$trail->parent('statuslabels.index', route('statuslabels.index'))
|
||||||
|
->push($statuslabel->name, route('statuslabels.show', $statuslabel))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('statuslabels.edit', fn (Trail $trail, Statuslabel $statuslabel) =>
|
||||||
|
$trail->parent('statuslabels.index', route('statuslabels.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $statuslabel->name]), route('statuslabels.edit', $statuslabel))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Settings Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('settings.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.admin'), route('settings.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Suppliers Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('suppliers.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.suppliers'), route('suppliers.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('suppliers.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('suppliers.index', route('suppliers.index'))
|
||||||
|
->push(trans('general.create'), route('suppliers.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('suppliers.show', fn (Trail $trail, Supplier $supplier) =>
|
||||||
|
$trail->parent('suppliers.index', route('suppliers.index'))
|
||||||
|
->push($supplier->name, route('home'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('suppliers.edit', fn (Trail $trail, Supplier $supplier) =>
|
||||||
|
$trail->parent('suppliers.index', route('suppliers.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $supplier->name]), route('suppliers.edit', $supplier))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Users Breadcrumbs
|
||||||
|
*/
|
||||||
|
Breadcrumbs::for('users.index', fn (Trail $trail) =>
|
||||||
|
$trail->parent('home', route('home'))
|
||||||
|
->push(trans('general.users'), route('users.index'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('users.create', fn (Trail $trail) =>
|
||||||
|
$trail->parent('users.index', route('users.index'))
|
||||||
|
->push(trans('general.create'), route('users.create'))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('users.show', fn (Trail $trail, User $user) =>
|
||||||
|
$trail->parent('users.index', route('users.index'))
|
||||||
|
->push($user->username, route('users.show', $user))
|
||||||
|
);
|
||||||
|
|
||||||
|
Breadcrumbs::for('users.edit', fn (Trail $trail, User $user) =>
|
||||||
|
$trail->parent('users.index', route('users.index'))
|
||||||
|
->push(trans('general.breadcrumb_button_actions.edit_item', ['name' => $user->name]), route('users.edit', $user))
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -49,10 +49,6 @@ class SamlServiceProvider extends ServiceProvider
|
||||||
'uses' => 'Auth\SamlController@login', ]
|
'uses' => 'Auth\SamlController@login', ]
|
||||||
);
|
);
|
||||||
|
|
||||||
Route::group(['prefix' => 'admin', 'middleware' => ['web', 'auth', 'authorize:superuser']], function () {
|
|
||||||
Route::get('saml', ['as' => 'settings.saml.index', 'uses' => 'SettingsController@getSamlSettings']);
|
|
||||||
Route::post('saml', ['as' => 'settings.saml.save', 'uses' => 'SettingsController@postSamlSettings']);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@
|
||||||
"rollbar/rollbar-laravel": "^8.0",
|
"rollbar/rollbar-laravel": "^8.0",
|
||||||
"spatie/laravel-backup": "^8.8",
|
"spatie/laravel-backup": "^8.8",
|
||||||
"spatie/laravel-ignition": "^2.0",
|
"spatie/laravel-ignition": "^2.0",
|
||||||
|
"tabuna/breadcrumbs": "^4.2",
|
||||||
"tecnickcom/tc-lib-barcode": "^1.15",
|
"tecnickcom/tc-lib-barcode": "^1.15",
|
||||||
"tecnickcom/tcpdf": "^6.5",
|
"tecnickcom/tcpdf": "^6.5",
|
||||||
"unicodeveloper/laravel-password": "^1.0",
|
"unicodeveloper/laravel-password": "^1.0",
|
||||||
|
|
68
composer.lock
generated
68
composer.lock
generated
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "2a6e7f5e039ee2f40605aefc5c5baf08",
|
"content-hash": "8966b3d72c2db545cd54772d7f049804",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "alek13/slack",
|
"name": "alek13/slack",
|
||||||
|
@ -10938,6 +10938,72 @@
|
||||||
],
|
],
|
||||||
"time": "2024-11-08T15:28:48+00:00"
|
"time": "2024-11-08T15:28:48+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "tabuna/breadcrumbs",
|
||||||
|
"version": "4.2.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/tabuna/breadcrumbs.git",
|
||||||
|
"reference": "1d9047306f67e7fcc86fc7e608f1432f247636da"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/tabuna/breadcrumbs/zipball/1d9047306f67e7fcc86fc7e608f1432f247636da",
|
||||||
|
"reference": "1d9047306f67e7fcc86fc7e608f1432f247636da",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-json": "*",
|
||||||
|
"laravel/framework": "^10.0|^11.0",
|
||||||
|
"laravel/serializable-closure": "^1.0|^2.0",
|
||||||
|
"php": "^8.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"orchestra/testbench": "^8.0|^9.0",
|
||||||
|
"phpunit/php-code-coverage": "^10.|^11.0",
|
||||||
|
"phpunit/phpunit": "^10.5|^11.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"aliases": {
|
||||||
|
"Breadcrumbs": "Tabuna\\Breadcrumbs\\Breadcrumbs"
|
||||||
|
},
|
||||||
|
"providers": [
|
||||||
|
"Tabuna\\Breadcrumbs\\BreadcrumbsServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Tabuna\\Breadcrumbs\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Alexandr Chernyaev",
|
||||||
|
"email": "bliz48rus@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dwight Watson",
|
||||||
|
"email": "dwight@studentservices.com.au"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dave James Miller",
|
||||||
|
"email": "dave@davejamesmiller.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "An easy way to add breadcrumbs to your Laravel app.",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/tabuna/breadcrumbs/issues",
|
||||||
|
"source": "https://github.com/tabuna/breadcrumbs/tree/4.2.1"
|
||||||
|
},
|
||||||
|
"time": "2024-11-26T12:21:27+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tecnickcom/tc-lib-barcode",
|
"name": "tecnickcom/tc-lib-barcode",
|
||||||
"version": "1.18.4",
|
"version": "1.18.4",
|
||||||
|
|
|
@ -316,6 +316,7 @@ return [
|
||||||
App\Providers\LivewireServiceProvider::class,
|
App\Providers\LivewireServiceProvider::class,
|
||||||
App\Providers\MacroServiceProvider::class,
|
App\Providers\MacroServiceProvider::class,
|
||||||
App\Providers\SamlServiceProvider::class,
|
App\Providers\SamlServiceProvider::class,
|
||||||
|
App\Providers\BreadcrumbsServiceProvider::class,
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'crwdns1453:0crwdne1453:0',
|
'ldap_pword' => 'crwdns1453:0crwdne1453:0',
|
||||||
'ldap_basedn' => 'crwdns1454:0crwdne1454:0',
|
'ldap_basedn' => 'crwdns1454:0crwdne1454:0',
|
||||||
'ldap_filter' => 'crwdns1455:0crwdne1455:0',
|
'ldap_filter' => 'crwdns1455:0crwdne1455:0',
|
||||||
'ldap_pw_sync' => 'crwdns1692:0crwdne1692:0',
|
'ldap_pw_sync' => 'crwdns12882:0crwdne12882:0',
|
||||||
'ldap_pw_sync_help' => 'crwdns1693:0crwdne1693:0',
|
'ldap_pw_sync_help' => 'crwdns12884:0crwdne12884:0',
|
||||||
'ldap_username_field' => 'crwdns1456:0crwdne1456:0',
|
'ldap_username_field' => 'crwdns1456:0crwdne1456:0',
|
||||||
'ldap_lname_field' => 'crwdns1457:0crwdne1457:0',
|
'ldap_lname_field' => 'crwdns1457:0crwdne1457:0',
|
||||||
'ldap_fname_field' => 'crwdns1458:0crwdne1458:0',
|
'ldap_fname_field' => 'crwdns1458:0crwdne1458:0',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'crwdns6469:0crwdne6469:0',
|
'purge_help' => 'crwdns6469:0crwdne6469:0',
|
||||||
'ldap_extension_warning' => 'crwdns6471:0crwdne6471:0',
|
'ldap_extension_warning' => 'crwdns6471:0crwdne6471:0',
|
||||||
'ldap_ad' => 'crwdns6473:0crwdne6473:0',
|
'ldap_ad' => 'crwdns6473:0crwdne6473:0',
|
||||||
|
'ldap_test_label' => 'crwdns12892:0crwdne12892:0',
|
||||||
|
'ldap_test_login' => 'crwdns12894:0crwdne12894:0',
|
||||||
|
'ldap_username_placeholder' => 'crwdns12896:0crwdne12896:0',
|
||||||
|
'ldap_password_placeholder' => 'crwdns12898:0crwdne12898:0',
|
||||||
'employee_number' => 'crwdns6475:0crwdne6475:0',
|
'employee_number' => 'crwdns6475:0crwdne6475:0',
|
||||||
'create_admin_user' => 'crwdns6477:0crwdne6477:0',
|
'create_admin_user' => 'crwdns6477:0crwdne6477:0',
|
||||||
'create_admin_success' => 'crwdns6479:0crwdne6479:0',
|
'create_admin_success' => 'crwdns6479:0crwdne6479:0',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'crwdns6729:0crwdne6729:0',
|
'testing_authentication' => 'crwdns6729:0crwdne6729:0',
|
||||||
'authentication_success' => 'crwdns6731:0crwdne6731:0'
|
'authentication_success' => 'crwdns6731:0crwdne6731:0'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'crwdns12900:0crwdne12900:0',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'crwdns11373:0crwdne11373:0',
|
'sending' => 'crwdns11373:0crwdne11373:0',
|
||||||
'success' => 'crwdns11841:0crwdne11841:0',
|
'success' => 'crwdns11841:0crwdne11841:0',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'crwdns11843:0crwdne11843:0',
|
'error_redirect' => 'crwdns11843:0crwdne11843:0',
|
||||||
'error_misc' => 'crwdns11383:0crwdne11383:0',
|
'error_misc' => 'crwdns11383:0crwdne11383:0',
|
||||||
'webhook_fail' => 'crwdns12830:0crwdne12830:0',
|
'webhook_fail' => 'crwdns12830:0crwdne12830:0',
|
||||||
|
'webhook_channel_not_found' => 'crwdns12876:0crwdne12876:0'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'crwdns6115:0crwdne6115:0',
|
'customize_report' => 'crwdns6115:0crwdne6115:0',
|
||||||
'custom_report' => 'crwdns1139:0crwdne1139:0',
|
'custom_report' => 'crwdns1139:0crwdne1139:0',
|
||||||
'dashboard' => 'crwdns1202:0crwdne1202:0',
|
'dashboard' => 'crwdns1202:0crwdne1202:0',
|
||||||
|
'data_source' => 'crwdns12886:0crwdne12886:0',
|
||||||
'days' => 'crwdns1917:0crwdne1917:0',
|
'days' => 'crwdns1917:0crwdne1917:0',
|
||||||
'days_to_next_audit' => 'crwdns1918:0crwdne1918:0',
|
'days_to_next_audit' => 'crwdns1918:0crwdne1918:0',
|
||||||
'date' => 'crwdns1045:0crwdne1045:0',
|
'date' => 'crwdns1045:0crwdne1045:0',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'crwdns1995:0crwdne1995:0',
|
'firstname_lastname_underscore_format' => 'crwdns1995:0crwdne1995:0',
|
||||||
'lastnamefirstinitial_format' => 'crwdns1999:0crwdne1999:0',
|
'lastnamefirstinitial_format' => 'crwdns1999:0crwdne1999:0',
|
||||||
'firstintial_dot_lastname_format' => 'crwdns5948:0crwdne5948:0',
|
'firstintial_dot_lastname_format' => 'crwdns5948:0crwdne5948:0',
|
||||||
|
'lastname_dot_firstinitial_format' => 'crwdns12880:0crwdne12880:0',
|
||||||
'firstname_lastname_display' => 'crwdns11779:0crwdne11779:0',
|
'firstname_lastname_display' => 'crwdns11779:0crwdne11779:0',
|
||||||
'lastname_firstname_display' => 'crwdns11781:0crwdne11781:0',
|
'lastname_firstname_display' => 'crwdns11781:0crwdne11781:0',
|
||||||
'name_display_format' => 'crwdns11783:0crwdne11783:0',
|
'name_display_format' => 'crwdns11783:0crwdne11783:0',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'crwdns1075:0crwdne1075:0',
|
'no' => 'crwdns1075:0crwdne1075:0',
|
||||||
'notes' => 'crwdns1076:0crwdne1076:0',
|
'notes' => 'crwdns1076:0crwdne1076:0',
|
||||||
'note_added' => 'crwdns12858:0crwdne12858:0',
|
'note_added' => 'crwdns12858:0crwdne12858:0',
|
||||||
|
'options' => 'crwdns12888:0crwdne12888:0',
|
||||||
|
'preview' => 'crwdns12890:0crwdne12890:0',
|
||||||
'add_note' => 'crwdns12860:0crwdne12860:0',
|
'add_note' => 'crwdns12860:0crwdne12860:0',
|
||||||
'note_edited' => 'crwdns12862:0crwdne12862:0',
|
'note_edited' => 'crwdns12862:0crwdne12862:0',
|
||||||
'edit_note' => 'crwdns12864:0crwdne12864:0',
|
'edit_note' => 'crwdns12864:0crwdne12864:0',
|
||||||
|
@ -560,6 +564,7 @@ return [
|
||||||
'consumables' => 'crwdns12144:0crwdne12144:0',
|
'consumables' => 'crwdns12144:0crwdne12144:0',
|
||||||
'components' => 'crwdns12146:0crwdne12146:0',
|
'components' => 'crwdns12146:0crwdne12146:0',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'crwdns12288:0crwdne12288:0',
|
'more_info' => 'crwdns12288:0crwdne12288:0',
|
||||||
'quickscan_bulk_help' => 'crwdns12290:0crwdne12290:0',
|
'quickscan_bulk_help' => 'crwdns12290:0crwdne12290:0',
|
||||||
'whoops' => 'crwdns12304:0crwdne12304:0',
|
'whoops' => 'crwdns12304:0crwdne12304:0',
|
||||||
|
@ -576,4 +581,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'crwdns12872:0crwdne12872:0',
|
'user_managed_passwords_disallow' => 'crwdns12872:0crwdne12872:0',
|
||||||
'user_managed_passwords_allow' => 'crwdns12874:0crwdne12874:0',
|
'user_managed_passwords_allow' => 'crwdns12874:0crwdne12874:0',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'crwdns12878:0crwdne12878:0',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP-koppel wagwoord',
|
'ldap_pword' => 'LDAP-koppel wagwoord',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP-wagwoordsynkronisering',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Verwyder hierdie vinkje as u nie LDAP-wagwoorde wil laat sinkroniseer met plaaslike wagwoorde nie. As u hierdie opsie uitskakel, beteken dit dat u gebruikers dalk nie kan aanmeld as u LDAP-bediener om een of ander rede onbereikbaar is nie.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Gebruikernaam',
|
'ldap_username_field' => 'Gebruikernaam',
|
||||||
'ldap_lname_field' => 'Van',
|
'ldap_lname_field' => 'Van',
|
||||||
'ldap_fname_field' => 'LDAP Voornaam',
|
'ldap_fname_field' => 'LDAP Voornaam',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Verwyder verwyderde rekords',
|
'purge_help' => 'Verwyder verwyderde rekords',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Aangepaste bateverslag',
|
'custom_report' => 'Aangepaste bateverslag',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'dae',
|
'days' => 'dae',
|
||||||
'days_to_next_audit' => 'Dae na Volgende Oudit',
|
'days_to_next_audit' => 'Dae na Volgende Oudit',
|
||||||
'date' => 'datum',
|
'date' => 'datum',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Geen',
|
'no' => 'Geen',
|
||||||
'notes' => 'notas',
|
'notes' => 'notas',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Meer inligting',
|
'more_info' => 'Meer inligting',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Password',
|
'ldap_pword' => 'LDAP Bind Password',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP Password Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords synced with local passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Username Field',
|
'ldap_username_field' => 'Username Field',
|
||||||
'ldap_lname_field' => 'Last Name',
|
'ldap_lname_field' => 'Last Name',
|
||||||
'ldap_fname_field' => 'LDAP First Name',
|
'ldap_fname_field' => 'LDAP First Name',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Purge Deleted Records',
|
'purge_help' => 'Purge Deleted Records',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Custom Asset Report',
|
'custom_report' => 'Custom Asset Report',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'days',
|
'days' => 'days',
|
||||||
'days_to_next_audit' => 'Days to Next Audit',
|
'days_to_next_audit' => 'Days to Next Audit',
|
||||||
'date' => 'Date',
|
'date' => 'Date',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notes',
|
'notes' => 'Notes',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'More Info',
|
'more_info' => 'More Info',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'لداب ربط كلمة المرور',
|
'ldap_pword' => 'لداب ربط كلمة المرور',
|
||||||
'ldap_basedn' => 'قاعدة ربط دن',
|
'ldap_basedn' => 'قاعدة ربط دن',
|
||||||
'ldap_filter' => 'فلتر لداب',
|
'ldap_filter' => 'فلتر لداب',
|
||||||
'ldap_pw_sync' => 'مزامنة كلمة مرور لداب',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'ألغ تحديد هذا المربع إذا كنت لا ترغب في الاحتفاظ بكلمات مرور لداب التي تمت مزامنتها مع كلمات المرور المحلية. ويعني تعطيل هذا أن المستخدمين قد لا يتمكنون من تسجيل الدخول إذا تعذر الوصول إلى خادم لداب لسبب ما.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'حقل اسم المستخدم',
|
'ldap_username_field' => 'حقل اسم المستخدم',
|
||||||
'ldap_lname_field' => 'الكنية',
|
'ldap_lname_field' => 'الكنية',
|
||||||
'ldap_fname_field' => 'لداب الاسم الأول',
|
'ldap_fname_field' => 'لداب الاسم الأول',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'تطهير السجلات المحذوفة',
|
'purge_help' => 'تطهير السجلات المحذوفة',
|
||||||
'ldap_extension_warning' => 'لا يبدو أن ملحق LDAP مثبت أو مفعّل على هذا الخادم. لا يزال بإمكانك حفظ الإعدادات الخاصة بك، ولكن ستحتاج إلى تمكين ملحق LDAP لـ PHP قبل أن تعمل مزامنة LDAP أو تسجيل الدخول.',
|
'ldap_extension_warning' => 'لا يبدو أن ملحق LDAP مثبت أو مفعّل على هذا الخادم. لا يزال بإمكانك حفظ الإعدادات الخاصة بك، ولكن ستحتاج إلى تمكين ملحق LDAP لـ PHP قبل أن تعمل مزامنة LDAP أو تسجيل الدخول.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'رقم الموظف',
|
'employee_number' => 'رقم الموظف',
|
||||||
'create_admin_user' => 'إنشاء مستخدم ::',
|
'create_admin_user' => 'إنشاء مستخدم ::',
|
||||||
'create_admin_success' => 'نجاح! تم إضافة مستخدم المشرف الخاص بك!',
|
'create_admin_success' => 'نجاح! تم إضافة مستخدم المشرف الخاص بك!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'اختبار مصادقة LDAP...',
|
'testing_authentication' => 'اختبار مصادقة LDAP...',
|
||||||
'authentication_success' => 'تمت المصادقة على المستخدم ضد LDAP بنجاح!'
|
'authentication_success' => 'تمت المصادقة على المستخدم ضد LDAP بنجاح!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'إرسال رسالة اختبار :app ...',
|
'sending' => 'إرسال رسالة اختبار :app ...',
|
||||||
'success' => 'يعمل تكامل :webhook_name الخاص بك!',
|
'success' => 'يعمل تكامل :webhook_name الخاص بك!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'خطأ: 301/302 :endpoint يرجع إعادة توجيه. لأسباب أمنية، نحن لا نتابع إعادة التوجيه. الرجاء استخدام نقطة النهاية الفعلية.',
|
'error_redirect' => 'خطأ: 301/302 :endpoint يرجع إعادة توجيه. لأسباب أمنية، نحن لا نتابع إعادة التوجيه. الرجاء استخدام نقطة النهاية الفعلية.',
|
||||||
'error_misc' => 'حدث خطأ ما. :( ',
|
'error_misc' => 'حدث خطأ ما. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'تخصيص التقرير',
|
'customize_report' => 'تخصيص التقرير',
|
||||||
'custom_report' => 'تقرير مخصص للأصول',
|
'custom_report' => 'تقرير مخصص للأصول',
|
||||||
'dashboard' => 'لوحة القيادة',
|
'dashboard' => 'لوحة القيادة',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'أيام',
|
'days' => 'أيام',
|
||||||
'days_to_next_audit' => 'أيام إلى التدقيق التالي',
|
'days_to_next_audit' => 'أيام إلى التدقيق التالي',
|
||||||
'date' => 'التاريخ',
|
'date' => 'التاريخ',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'الاسم الأول الاسم الأخير (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'الاسم الأول الاسم الأخير (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'اللقب والحرف الاول من الاسم (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'اللقب والحرف الاول من الاسم (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'الاسم الأخير الأول (jsmith@example.com)',
|
'firstintial_dot_lastname_format' => 'الاسم الأخير الأول (jsmith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'الاسم الأول الاسم الأخير (جين سميث)',
|
'firstname_lastname_display' => 'الاسم الأول الاسم الأخير (جين سميث)',
|
||||||
'lastname_firstname_display' => 'اسم العائلة الأول (ميث جاني)',
|
'lastname_firstname_display' => 'اسم العائلة الأول (ميث جاني)',
|
||||||
'name_display_format' => 'تنسيق عرض الاسم',
|
'name_display_format' => 'تنسيق عرض الاسم',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'لا',
|
'no' => 'لا',
|
||||||
'notes' => 'مُلاحظات',
|
'notes' => 'مُلاحظات',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count مستهلكة<unk> :count مستهلك',
|
'consumables' => ':count مستهلكة<unk> :count مستهلك',
|
||||||
'components' => ':count مكون<unk> :count مكونات',
|
'components' => ':count مكون<unk> :count مكونات',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'المزيد من المعلومات',
|
'more_info' => 'المزيد من المعلومات',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP парола на потребител за връзка',
|
'ldap_pword' => 'LDAP парола на потребител за връзка',
|
||||||
'ldap_basedn' => 'Базов DN',
|
'ldap_basedn' => 'Базов DN',
|
||||||
'ldap_filter' => 'LDAP филтър',
|
'ldap_filter' => 'LDAP филтър',
|
||||||
'ldap_pw_sync' => 'LADP Password SYNC',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Премахнете отметката в тази клетка ако не желаете да запазите LDAP паролите синхронизирани с локални пароли. Деактивиране на това означава, че вашите потребители може да не успеят да влязат използвайки LDAP сървъри ако са недостижими по някаква причина.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Поле за потребителско име',
|
'ldap_username_field' => 'Поле за потребителско име',
|
||||||
'ldap_lname_field' => 'Фамилия',
|
'ldap_lname_field' => 'Фамилия',
|
||||||
'ldap_fname_field' => 'LDAP собствено име',
|
'ldap_fname_field' => 'LDAP собствено име',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Пречисти изтрити записи',
|
'purge_help' => 'Пречисти изтрити записи',
|
||||||
'ldap_extension_warning' => 'Изглежда, че нямате инсталирани LDAP разширения или не са пуснати на сървъра. Вие можете все пак да запишите настройките, но ще трябва да включите LDAP разширенията за PHP преди да синхронизирате с LDAP, в противен случай няма да можете да се логнете.',
|
'ldap_extension_warning' => 'Изглежда, че нямате инсталирани LDAP разширения или не са пуснати на сървъра. Вие можете все пак да запишите настройките, но ще трябва да включите LDAP разширенията за PHP преди да синхронизирате с LDAP, в противен случай няма да можете да се логнете.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Номер на служител',
|
'employee_number' => 'Номер на служител',
|
||||||
'create_admin_user' => 'Нов потребител ::',
|
'create_admin_user' => 'Нов потребител ::',
|
||||||
'create_admin_success' => 'Готово! Вашият админ потребител беше добавен!',
|
'create_admin_success' => 'Готово! Вашият админ потребител беше добавен!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Тест LDAP Автентификация...',
|
'testing_authentication' => 'Тест LDAP Автентификация...',
|
||||||
'authentication_success' => 'Потребителска Автентификация към LDAP успешна!'
|
'authentication_success' => 'Потребителска Автентификация към LDAP успешна!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Изпращане :app тест съобщение...',
|
'sending' => 'Изпращане :app тест съобщение...',
|
||||||
'success' => 'Вашата :webhook_name интеграция работи!',
|
'success' => 'Вашата :webhook_name интеграция работи!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'Грешка 301/302 :endpoint върна пренасочване. От съображения за сигурност, ние не отваряме пренасочванията. Моля ползвайте действителната крайна точка.',
|
'error_redirect' => 'Грешка 301/302 :endpoint върна пренасочване. От съображения за сигурност, ние не отваряме пренасочванията. Моля ползвайте действителната крайна точка.',
|
||||||
'error_misc' => 'Възникна грешка. :( ',
|
'error_misc' => 'Възникна грешка. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Персонализиран отчет',
|
'customize_report' => 'Персонализиран отчет',
|
||||||
'custom_report' => 'Потребителски справки за активи',
|
'custom_report' => 'Потребителски справки за активи',
|
||||||
'dashboard' => 'Табло',
|
'dashboard' => 'Табло',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'дни',
|
'days' => 'дни',
|
||||||
'days_to_next_audit' => 'Дни до следващия одит',
|
'days_to_next_audit' => 'Дни до следващия одит',
|
||||||
'date' => 'Дата',
|
'date' => 'Дата',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Име Фамилия (jane.smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Име Фамилия (jane.smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Фамилно име Инициал на собствено (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Фамилно име Инициал на собствено (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Първа буква от името и Фамилия (i.ivanov@example.com)',
|
'firstintial_dot_lastname_format' => 'Първа буква от името и Фамилия (i.ivanov@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Име Фамилия (Иван Иванов)',
|
'firstname_lastname_display' => 'Име Фамилия (Иван Иванов)',
|
||||||
'lastname_firstname_display' => 'Фамилия Име (Иванов Иван)',
|
'lastname_firstname_display' => 'Фамилия Име (Иванов Иван)',
|
||||||
'name_display_format' => 'Формат на показване на името',
|
'name_display_format' => 'Формат на показване на името',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Не',
|
'no' => 'Не',
|
||||||
'notes' => 'Бележки',
|
'notes' => 'Бележки',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Консуматив|:count Консумативи',
|
'consumables' => ':count Консуматив|:count Консумативи',
|
||||||
'components' => ':count Компонент|:count Компоненти',
|
'components' => ':count Компонент|:count Компоненти',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Повече информация',
|
'more_info' => 'Повече информация',
|
||||||
'quickscan_bulk_help' => 'Поставянето на отметка в това квадратче ще редактира записа на актива, за да отрази това ново местоположение. Оставянето му без отметка просто ще отбележи местоположението в журнала за проверка. Обърнете внимание, че ако този актив бъде извлечен, той няма да промени местоположението на лицето, актива или местоположението, към които е извлечен.',
|
'quickscan_bulk_help' => 'Поставянето на отметка в това квадратче ще редактира записа на актива, за да отрази това ново местоположение. Оставянето му без отметка просто ще отбележи местоположението в журнала за проверка. Обърнете внимание, че ако този актив бъде извлечен, той няма да промени местоположението на лицето, актива или местоположението, към които е извлечен.',
|
||||||
'whoops' => 'Упс!',
|
'whoops' => 'Упс!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Password',
|
'ldap_pword' => 'LDAP Bind Password',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP Password Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords synced with local passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Username Field',
|
'ldap_username_field' => 'Username Field',
|
||||||
'ldap_lname_field' => 'Last Name',
|
'ldap_lname_field' => 'Last Name',
|
||||||
'ldap_fname_field' => 'LDAP First Name',
|
'ldap_fname_field' => 'LDAP First Name',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Purge Deleted Records',
|
'purge_help' => 'Purge Deleted Records',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Informe de Recursos Personalitzat',
|
'custom_report' => 'Informe de Recursos Personalitzat',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'days',
|
'days' => 'days',
|
||||||
'days_to_next_audit' => 'Days to Next Audit',
|
'days_to_next_audit' => 'Days to Next Audit',
|
||||||
'date' => 'Date',
|
'date' => 'Date',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notes',
|
'notes' => 'Notes',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'More Info',
|
'more_info' => 'More Info',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Password',
|
'ldap_pword' => 'LDAP Bind Password',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP Password Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords synced with local passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Username Field',
|
'ldap_username_field' => 'Username Field',
|
||||||
'ldap_lname_field' => 'Last Name',
|
'ldap_lname_field' => 'Last Name',
|
||||||
'ldap_fname_field' => 'LDAP First Name',
|
'ldap_fname_field' => 'LDAP First Name',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Purge Deleted Records',
|
'purge_help' => 'Purge Deleted Records',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Custom Asset Report',
|
'custom_report' => 'Custom Asset Report',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'days',
|
'days' => 'days',
|
||||||
'days_to_next_audit' => 'Days to Next Audit',
|
'days_to_next_audit' => 'Days to Next Audit',
|
||||||
'date' => 'Date',
|
'date' => 'Date',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notes',
|
'notes' => 'Notes',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'More Info',
|
'more_info' => 'More Info',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP heslo připojení',
|
'ldap_pword' => 'LDAP heslo připojení',
|
||||||
'ldap_basedn' => 'Základní svázání DN',
|
'ldap_basedn' => 'Základní svázání DN',
|
||||||
'ldap_filter' => 'LDAP filtr',
|
'ldap_filter' => 'LDAP filtr',
|
||||||
'ldap_pw_sync' => 'LDAP heslo synchronizace',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Zrušte zaškrtnutí tohoto políčka, pokud si nepřejete zachovat hesla LDAP synchronizovaná s lokálními hesly. Pokud to zakážete znamená to, že se uživatelé nemusí přihlásit, pokud je váš LDAP server z nějakého důvodu nedostupný.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Pole uživatelského jména',
|
'ldap_username_field' => 'Pole uživatelského jména',
|
||||||
'ldap_lname_field' => 'Příjmení',
|
'ldap_lname_field' => 'Příjmení',
|
||||||
'ldap_fname_field' => 'LDAP jméno',
|
'ldap_fname_field' => 'LDAP jméno',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Vymazat smazané záznamy',
|
'purge_help' => 'Vymazat smazané záznamy',
|
||||||
'ldap_extension_warning' => 'Nevypadá to, že LDAP rozšíření je nainstalováno nebo povoleno na tomto serveru. Stále můžete uložit vaše nastavení, ale budete muset povolit LDAP rozšíření pro PHP, než bude fungovat LDAP synchronizace nebo přihlášení.',
|
'ldap_extension_warning' => 'Nevypadá to, že LDAP rozšíření je nainstalováno nebo povoleno na tomto serveru. Stále můžete uložit vaše nastavení, ale budete muset povolit LDAP rozšíření pro PHP, než bude fungovat LDAP synchronizace nebo přihlášení.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Osobní číslo',
|
'employee_number' => 'Osobní číslo',
|
||||||
'create_admin_user' => 'Vytvořit uživatele ::',
|
'create_admin_user' => 'Vytvořit uživatele ::',
|
||||||
'create_admin_success' => 'Úspěch! Administrátorský účet byl přidán!',
|
'create_admin_success' => 'Úspěch! Administrátorský účet byl přidán!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testování LDAP ověření...',
|
'testing_authentication' => 'Testování LDAP ověření...',
|
||||||
'authentication_success' => 'Uživatel byl úspěšně ověřen přes LDAP!'
|
'authentication_success' => 'Uživatel byl úspěšně ověřen přes LDAP!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Odesílání testovací zprávy :app...',
|
'sending' => 'Odesílání testovací zprávy :app...',
|
||||||
'success' => 'Vaše integrace :webhook_name funguje!',
|
'success' => 'Vaše integrace :webhook_name funguje!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'CHYBA: 301/302 :endpoint vrací přesměrování. Z bezpečnostních důvodů nesledujeme přesměrování. Použijte prosím skutečný koncový bod.',
|
'error_redirect' => 'CHYBA: 301/302 :endpoint vrací přesměrování. Z bezpečnostních důvodů nesledujeme přesměrování. Použijte prosím skutečný koncový bod.',
|
||||||
'error_misc' => 'Něco se nepovedlo.',
|
'error_misc' => 'Něco se nepovedlo.',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Přizpůsobit report',
|
'customize_report' => 'Přizpůsobit report',
|
||||||
'custom_report' => 'Vlastní report majetku',
|
'custom_report' => 'Vlastní report majetku',
|
||||||
'dashboard' => 'Nástěnka',
|
'dashboard' => 'Nástěnka',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'dnů',
|
'days' => 'dnů',
|
||||||
'days_to_next_audit' => 'Dny k dalšímu auditu',
|
'days_to_next_audit' => 'Dny k dalšímu auditu',
|
||||||
'date' => 'Datum',
|
'date' => 'Datum',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Jméno Příjmení (jan_novak@example.com)',
|
'firstname_lastname_underscore_format' => 'Jméno Příjmení (jan_novak@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Příjmení první písmeno ze jména (novakj@example.com)',
|
'lastnamefirstinitial_format' => 'Příjmení první písmeno ze jména (novakj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Iniciál Príjmení (j.novak@example.com)',
|
'firstintial_dot_lastname_format' => 'Iniciál Príjmení (j.novak@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Jméno příjmení (Jane Smith)',
|
'firstname_lastname_display' => 'Jméno příjmení (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Příjmení (Smith Jane)',
|
'lastname_firstname_display' => 'Příjmení (Smith Jane)',
|
||||||
'name_display_format' => 'Formát zobrazení jména',
|
'name_display_format' => 'Formát zobrazení jména',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Ne',
|
'no' => 'Ne',
|
||||||
'notes' => 'Poznámky',
|
'notes' => 'Poznámky',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Spotřební materiál|:count Spotřební materiál',
|
'consumables' => ':count Spotřební materiál|:count Spotřební materiál',
|
||||||
'components' => ':count komponenta|:count komponenty',
|
'components' => ':count komponenta|:count komponenty',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Více informací',
|
'more_info' => 'Více informací',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Cyfrinair i cysylltu trwy LDAP',
|
'ldap_pword' => 'Cyfrinair i cysylltu trwy LDAP',
|
||||||
'ldap_basedn' => 'DN Cyswllt Sylfaenol',
|
'ldap_basedn' => 'DN Cyswllt Sylfaenol',
|
||||||
'ldap_filter' => 'Hidlydd LDAP',
|
'ldap_filter' => 'Hidlydd LDAP',
|
||||||
'ldap_pw_sync' => 'Sync cyfrinair LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Tynnwch y tic o\'r focs yma os nad ydych am cadw cyfrineiriau LDAP mewn sync a cyfrineiriau lleol. Mae an-alluogi hyn yn feddwl ni ellith defnyddywr mewngofnodi os oes problem hefo\'r server LDAP.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Maes Enw Defnyddiwr',
|
'ldap_username_field' => 'Maes Enw Defnyddiwr',
|
||||||
'ldap_lname_field' => 'Enw Olaf',
|
'ldap_lname_field' => 'Enw Olaf',
|
||||||
'ldap_fname_field' => 'Enw Cyntaf LDAP',
|
'ldap_fname_field' => 'Enw Cyntaf LDAP',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Clirio cofnodion sydd wedi\'i dileu',
|
'purge_help' => 'Clirio cofnodion sydd wedi\'i dileu',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Adroddiad Asedau Addasedig',
|
'custom_report' => 'Adroddiad Asedau Addasedig',
|
||||||
'dashboard' => 'Dashfwrdd',
|
'dashboard' => 'Dashfwrdd',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'dyddiau',
|
'days' => 'dyddiau',
|
||||||
'days_to_next_audit' => 'Dyddiau tan yr awdit nesaf',
|
'days_to_next_audit' => 'Dyddiau tan yr awdit nesaf',
|
||||||
'date' => 'Dyddiad',
|
'date' => 'Dyddiad',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Enw Cyntaf Enw Olaf (jane.smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Enw Cyntaf Enw Olaf (jane.smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Enw Olaf Llythyren Cyntaf Enw Cyntaf (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Enw Olaf Llythyren Cyntaf Enw Cyntaf (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Llythyren Cyntaf Enw Cyntaf Cyfenw (jsmith@example.com)',
|
'firstintial_dot_lastname_format' => 'Llythyren Cyntaf Enw Cyntaf Cyfenw (jsmith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Na',
|
'no' => 'Na',
|
||||||
'notes' => 'Nodiadau',
|
'notes' => 'Nodiadau',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Mwy o wybodaeth',
|
'more_info' => 'Mwy o wybodaeth',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP-bindingsadgangskode',
|
'ldap_pword' => 'LDAP-bindingsadgangskode',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP-filter',
|
'ldap_filter' => 'LDAP-filter',
|
||||||
'ldap_pw_sync' => 'LDAP Password Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Fjern markeringen i dette felt, hvis du ikke vil beholde LDAP-adgangskoder synkroniseret med lokale adgangskoder. Deaktivering dette betyder, at dine brugere muligvis ikke kan logge ind, hvis din LDAP-server ikke er tilgængelig af en eller anden grund.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Brugernavn felt',
|
'ldap_username_field' => 'Brugernavn felt',
|
||||||
'ldap_lname_field' => 'Efternavn',
|
'ldap_lname_field' => 'Efternavn',
|
||||||
'ldap_fname_field' => 'LDAP fornavn',
|
'ldap_fname_field' => 'LDAP fornavn',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Ryd slettet poster',
|
'purge_help' => 'Ryd slettet poster',
|
||||||
'ldap_extension_warning' => 'Det ser ikke ud som om LDAP- udvidelsen er installeret eller aktiveret på denne server. Du kan stadig gemme dine indstillinger, men du bliver nødt til at aktivere LDAP-udvidelsen til PHP, før LDAP-synkronisering eller login vil virke.',
|
'ldap_extension_warning' => 'Det ser ikke ud som om LDAP- udvidelsen er installeret eller aktiveret på denne server. Du kan stadig gemme dine indstillinger, men du bliver nødt til at aktivere LDAP-udvidelsen til PHP, før LDAP-synkronisering eller login vil virke.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Medarbejdernummer',
|
'employee_number' => 'Medarbejdernummer',
|
||||||
'create_admin_user' => 'Opret en bruger ::',
|
'create_admin_user' => 'Opret en bruger ::',
|
||||||
'create_admin_success' => 'Succes! Din admin bruger er blevet tilføjet!',
|
'create_admin_success' => 'Succes! Din admin bruger er blevet tilføjet!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Test LDAP Autentificering...',
|
'testing_authentication' => 'Test LDAP Autentificering...',
|
||||||
'authentication_success' => 'Bruger godkendt mod LDAP!'
|
'authentication_success' => 'Bruger godkendt mod LDAP!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sender :app test besked...',
|
'sending' => 'Sender :app test besked...',
|
||||||
'success' => 'Dine :webhook_name Integration virker!',
|
'success' => 'Dine :webhook_name Integration virker!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'FEJL: 301/302: endpoint returnerer en omdirigering. Af sikkerhedsmæssige årsager følger vi ikke omdirigeringer. Brug det faktiske slutpunkt.',
|
'error_redirect' => 'FEJL: 301/302: endpoint returnerer en omdirigering. Af sikkerhedsmæssige årsager følger vi ikke omdirigeringer. Brug det faktiske slutpunkt.',
|
||||||
'error_misc' => 'Noget gik galt. :( ',
|
'error_misc' => 'Noget gik galt. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Tilpas rapport',
|
'customize_report' => 'Tilpas rapport',
|
||||||
'custom_report' => 'Tilpasset Aktiv Rapport',
|
'custom_report' => 'Tilpasset Aktiv Rapport',
|
||||||
'dashboard' => 'Oversigtspanel',
|
'dashboard' => 'Oversigtspanel',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'dage',
|
'days' => 'dage',
|
||||||
'days_to_next_audit' => 'Dage til næste revision',
|
'days_to_next_audit' => 'Dage til næste revision',
|
||||||
'date' => 'Dato',
|
'date' => 'Dato',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Fornavn Efternavn (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Fornavn Efternavn (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Efternavn Første initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Efternavn Første initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Første bogstav i fornavn efternavn (jsmith@example.com)',
|
'firstintial_dot_lastname_format' => 'Første bogstav i fornavn efternavn (jsmith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Fornavn Efternavn (Jane Smith)',
|
'firstname_lastname_display' => 'Fornavn Efternavn (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Efternavn Fornavn (Smith Jane)',
|
'lastname_firstname_display' => 'Efternavn Fornavn (Smith Jane)',
|
||||||
'name_display_format' => 'Navn Visningsformat',
|
'name_display_format' => 'Navn Visningsformat',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Nej',
|
'no' => 'Nej',
|
||||||
'notes' => 'Noter',
|
'notes' => 'Noter',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Forbrugsparti:count Forbrugsvarer',
|
'consumables' => ':count Forbrugsparti:count Forbrugsvarer',
|
||||||
'components' => ':count Komponent:count Komponenter',
|
'components' => ':count Komponent:count Komponenter',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Mere Info',
|
'more_info' => 'Mere Info',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -50,7 +50,7 @@ return array(
|
||||||
|
|
||||||
'checkin' => array(
|
'checkin' => array(
|
||||||
'error' => 'Lizenz wurde nicht zurückgenommen, bitte versuchen Sie es erneut.',
|
'error' => 'Lizenz wurde nicht zurückgenommen, bitte versuchen Sie es erneut.',
|
||||||
'not_reassignable' => 'License not reassignable',
|
'not_reassignable' => 'Lizenz nicht neu zuweisbar',
|
||||||
'success' => 'Die Lizenz wurde erfolgreich zurückgenommen'
|
'success' => 'Die Lizenz wurde erfolgreich zurückgenommen'
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@ return [
|
||||||
'user_country' => 'Land des Benutzers',
|
'user_country' => 'Land des Benutzers',
|
||||||
'user_zip' => 'Postleitzahl des Benutzers'
|
'user_zip' => 'Postleitzahl des Benutzers'
|
||||||
],
|
],
|
||||||
'open_saved_template' => 'Open Saved Template',
|
'open_saved_template' => 'Gespeicherte Vorlage öffnen',
|
||||||
'save_template' => 'Save Template',
|
'save_template' => 'Vorlage speichern',
|
||||||
'select_a_template' => 'Select a Template',
|
'select_a_template' => 'Wählen Sie eine Vorlage aus',
|
||||||
'template_name' => 'Template Name',
|
'template_name' => 'Vorlagenname',
|
||||||
'update_template' => 'Update Template',
|
'update_template' => 'Vorlage aktualisieren',
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'about_templates' => 'About Saved Templates',
|
'about_templates' => 'Über gespeicherte Vorlagen',
|
||||||
'saving_templates_description' => 'Select your options, then enter the name of your template in the box above and click the \'Save Template\' button. Use the dropdown to select a previously saved template.',
|
'saving_templates_description' => 'Wählen Sie Ihre Optionen aus, geben Sie dann den Namen Ihrer Vorlage in das Feld oben ein und klicken Sie auf die Schaltfläche „Vorlage speichern“. Verwenden Sie das Dropdown-Menü, um eine zuvor gespeicherte Vorlage auszuwählen.',
|
||||||
'create' => [
|
'create' => [
|
||||||
'success' => 'Template saved successfully',
|
'success' => 'Vorlage erfolgreich gespeichert',
|
||||||
],
|
],
|
||||||
'update' => [
|
'update' => [
|
||||||
'success' => 'Template updated successfully',
|
'success' => 'Vorlage erfolgreich aktualisiert',
|
||||||
],
|
],
|
||||||
'delete' => [
|
'delete' => [
|
||||||
'success' => 'Template deleted',
|
'success' => 'Vorlage gelöscht',
|
||||||
'no_delete_permission' => 'Template does not exist or you do not have permission to delete it.',
|
'no_delete_permission' => 'Die Vorlage existiert nicht oder Sie sind nicht berechtigt, sie zu löschen.',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -55,7 +55,7 @@ return [
|
||||||
'display_asset_name' => 'Zeige Assetname an',
|
'display_asset_name' => 'Zeige Assetname an',
|
||||||
'display_checkout_date' => 'Zeige Herausgabedatum',
|
'display_checkout_date' => 'Zeige Herausgabedatum',
|
||||||
'display_eol' => 'Zeige EOL in der Tabellenansicht',
|
'display_eol' => 'Zeige EOL in der Tabellenansicht',
|
||||||
'display_qr' => 'Zeige 2D Barcode',
|
'display_qr' => '2D-Barcode anzeigen',
|
||||||
'display_alt_barcode' => 'Zeige 1D Barcode an',
|
'display_alt_barcode' => 'Zeige 1D Barcode an',
|
||||||
'email_logo' => 'E-Mail-Logo',
|
'email_logo' => 'E-Mail-Logo',
|
||||||
'barcode_type' => '2D Barcode Typ',
|
'barcode_type' => '2D Barcode Typ',
|
||||||
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Passwort',
|
'ldap_pword' => 'LDAP Bind Passwort',
|
||||||
'ldap_basedn' => 'Basis Bind DN',
|
'ldap_basedn' => 'Basis Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP Passwörter synchronisieren',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Deaktivieren Sie diese Option, wenn Sie nicht möchten, dass LDAP-Passwörter mit lokalen Passwörtern synchronisiert werden. Wenn Sie dies deaktivieren, kann es sein, dass Benutzer sich möglicherweise nicht anmelden können falls der LDAP-Server aus irgendeinem Grund nicht erreichbar ist.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Benutzername',
|
'ldap_username_field' => 'Benutzername',
|
||||||
'ldap_lname_field' => 'Nachname',
|
'ldap_lname_field' => 'Nachname',
|
||||||
'ldap_fname_field' => 'LDAP Vorname',
|
'ldap_fname_field' => 'LDAP Vorname',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Inkrementieren und Präfixe',
|
'asset_tags_help' => 'Inkrementieren und Präfixe',
|
||||||
'labels' => 'Etiketten',
|
'labels' => 'Etiketten',
|
||||||
'labels_title' => 'Etiketten-Einstellungen aktualisieren',
|
'labels_title' => 'Etiketten-Einstellungen aktualisieren',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Barcodes & Etiketteneinstellungen',
|
||||||
'purge_help' => 'Gelöschte Einträge bereinigen',
|
'purge_help' => 'Gelöschte Einträge bereinigen',
|
||||||
'ldap_extension_warning' => 'Es sieht nicht so aus, als ob die LDAP-Erweiterung auf diesem Server installiert oder aktiviert ist. Sie können Ihre Einstellungen trotzdem speichern, aber Sie müssen die LDAP-Erweiterung für PHP aktivieren, bevor die LDAP-Synchronisierung oder der Login funktioniert.',
|
'ldap_extension_warning' => 'Es sieht nicht so aus, als ob die LDAP-Erweiterung auf diesem Server installiert oder aktiviert ist. Sie können Ihre Einstellungen trotzdem speichern, aber Sie müssen die LDAP-Erweiterung für PHP aktivieren, bevor die LDAP-Synchronisierung oder der Login funktioniert.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Mitarbeiternummer',
|
'employee_number' => 'Mitarbeiternummer',
|
||||||
'create_admin_user' => 'Benutzer erstellen ::',
|
'create_admin_user' => 'Benutzer erstellen ::',
|
||||||
'create_admin_success' => 'Erfolgreich! Ihr Admin-Benutzer wurde hinzugefügt!',
|
'create_admin_success' => 'Erfolgreich! Ihr Admin-Benutzer wurde hinzugefügt!',
|
||||||
|
@ -360,9 +364,9 @@ return [
|
||||||
'label2_fields_help' => 'Felder können in der linken Spalte hinzugefügt, entfernt und neu sortiert werden. In jedem Feld können mehrere Optionen für Label und Datenquelle in der rechten Spalte hinzugefügt, entfernt und neu angeordnet werden.',
|
'label2_fields_help' => 'Felder können in der linken Spalte hinzugefügt, entfernt und neu sortiert werden. In jedem Feld können mehrere Optionen für Label und Datenquelle in der rechten Spalte hinzugefügt, entfernt und neu angeordnet werden.',
|
||||||
'help_asterisk_bold' => 'Der eingegebene Text <code>**text**</code> wird in Fettschrift angezeigt',
|
'help_asterisk_bold' => 'Der eingegebene Text <code>**text**</code> wird in Fettschrift angezeigt',
|
||||||
'help_blank_to_use' => 'Leer lassen, um den Wert von <code>:setting_name</code> zu verwenden',
|
'help_blank_to_use' => 'Leer lassen, um den Wert von <code>:setting_name</code> zu verwenden',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> verwendet den Wert aus <code>:setting_name</code>. <br>Beachten Sie, dass der Wert der Barcodes der jeweiligen Barcode-Spezifikation entsprechen muss, damit sie erfolgreich generiert werden können. Weitere Einzelheiten finden Sie in der <a href="https://snipe-it.readme.io/docs/barcodes">Dokumentation <i class="fa fa-external-link"></i></a>. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'Asset-ID',
|
||||||
'data' => 'Data',
|
'data' => 'Daten',
|
||||||
'default' => 'Standard',
|
'default' => 'Standard',
|
||||||
'none' => 'Nichts',
|
'none' => 'Nichts',
|
||||||
'google_callback_help' => 'Dies sollte als Callback-URL in den Google OAuth App-Einstellungen in deinem Unternehmen eingegeben werden's <strong><a href="https://console.cloud.google.com/" target="_blank">Google Developer Konsole <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
'google_callback_help' => 'Dies sollte als Callback-URL in den Google OAuth App-Einstellungen in deinem Unternehmen eingegeben werden's <strong><a href="https://console.cloud.google.com/" target="_blank">Google Developer Konsole <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||||
|
@ -387,13 +391,13 @@ return [
|
||||||
|
|
||||||
/* Keywords for settings overview help */
|
/* Keywords for settings overview help */
|
||||||
'keywords' => [
|
'keywords' => [
|
||||||
'brand' => 'Fußzeile, Logo, Druck, Theme, Skin, Header, Farben, Farbe, CSS',
|
'brand' => 'Fußzeile, Logo, Drucken, Thema, Oberflächendesign, Header, Farben, Farbe, CSS',
|
||||||
'general_settings' => 'Firmenunterstützung, Unterschrift, Akzeptanz, E-Mail-Format, Benutzernamenformat, Bilder, pro Seite, Vorschaubilder, EULA, Gravatar, TOS, Dashboard, Privatsphäre',
|
'general_settings' => 'Firmensupport, Unterschrift, Akzeptanz, E-Mail-Format, Benutzernamenformat, Bilder, pro Seite, Miniaturansicht, EULA, Gravatar, Nutzungsbedingungen, Dashboard, Datenschutz',
|
||||||
'groups' => 'Berechtigungen, Berechtigungsgruppen, Autorisierung',
|
'groups' => 'Berechtigungen, Berechtigungsgruppen, Autorisierung',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'Etiketten, Barcodes, Strichcode, Tabellen, Druck, UPC, QR, 1D, 2D',
|
||||||
'localization' => 'Lokalisierung, Währung, lokal, Lokal, Zeitzone, International, Internationalisierung, Sprache, Sprachen, Übersetzung',
|
'localization' => 'Lokalisierung, Währung, lokal, Sprache, Zeitzone, Zeitzone, international, Internationalisierung, Sprache, Sprachen, Übersetzung',
|
||||||
'php_overview' => 'php Info, System, Info',
|
'php_overview' => 'PHP-Info, System, Info',
|
||||||
'purge' => 'Endgültig löschen',
|
'purge' => 'endgültig löschen',
|
||||||
'security' => 'Passwort, Passwörter, Anforderungen, Zwei-Faktor, Zwei-Faktor, übliche Passwörter, Remote-Login, Logout, Authentifizierung',
|
'security' => 'Passwort, Passwörter, Anforderungen, Zwei-Faktor, Zwei-Faktor, übliche Passwörter, Remote-Login, Logout, Authentifizierung',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'LDAP-Authentifizierung wird getestet...',
|
'testing_authentication' => 'LDAP-Authentifizierung wird getestet...',
|
||||||
'authentication_success' => 'Benutzer wurde erfolgreich gegen LDAP authentifiziert!'
|
'authentication_success' => 'Benutzer wurde erfolgreich gegen LDAP authentifiziert!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => ':app Testnachricht wird gesendet...',
|
'sending' => ':app Testnachricht wird gesendet...',
|
||||||
'success' => 'Ihre :webhook_name Integration funktioniert!',
|
'success' => 'Ihre :webhook_name Integration funktioniert!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Etwas ist schief gelaufen. :app antwortete mit: :error_message',
|
'error' => 'Etwas ist schief gelaufen. :app antwortete mit: :error_message',
|
||||||
'error_redirect' => 'FEHLER: 301/302 :endpoint gibt eine Umleitung zurück. Aus Sicherheitsgründen folgen wir keinen Umleitungen. Bitte verwenden Sie den aktuellen Endpunkt.',
|
'error_redirect' => 'FEHLER: 301/302 :endpoint gibt eine Umleitung zurück. Aus Sicherheitsgründen folgen wir keinen Umleitungen. Bitte verwenden Sie den aktuellen Endpunkt.',
|
||||||
'error_misc' => 'Etwas ist schiefgelaufen. :( ',
|
'error_misc' => 'Etwas ist schiefgelaufen. :( ',
|
||||||
'webhook_fail' => '',
|
'webhook_fail' => ' Webhook-Benachrichtigung fehlgeschlagen: Überprüfen Sie, ob die URL noch gültig ist.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Bericht anpassen',
|
'customize_report' => 'Bericht anpassen',
|
||||||
'custom_report' => 'Benutzerdefinierter Asset-Bericht',
|
'custom_report' => 'Benutzerdefinierter Asset-Bericht',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'Tage',
|
'days' => 'Tage',
|
||||||
'days_to_next_audit' => 'Tage bis zur nächsten Prüfung',
|
'days_to_next_audit' => 'Tage bis zur nächsten Prüfung',
|
||||||
'date' => 'Datum',
|
'date' => 'Datum',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Vorname_Nachname (erika_mustermann@example.com)',
|
'firstname_lastname_underscore_format' => 'Vorname_Nachname (erika_mustermann@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Nachname & Initiale des Vornamens (mustere@example.com)',
|
'lastnamefirstinitial_format' => 'Nachname & Initiale des Vornamens (mustere@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Initiale des Vornamen.Nachname (e.mustermann@example.com)',
|
'firstintial_dot_lastname_format' => 'Initiale des Vornamen.Nachname (e.mustermann@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Vorname Nachname (Max Mustermann)',
|
'firstname_lastname_display' => 'Vorname Nachname (Max Mustermann)',
|
||||||
'lastname_firstname_display' => 'Nachname Vorname (Mustermann Max)',
|
'lastname_firstname_display' => 'Nachname Vorname (Mustermann Max)',
|
||||||
'name_display_format' => 'Name Anzeigeformat',
|
'name_display_format' => 'Name Anzeigeformat',
|
||||||
|
@ -216,12 +218,14 @@ return [
|
||||||
'no_results' => 'Keine Treffer.',
|
'no_results' => 'Keine Treffer.',
|
||||||
'no' => 'Nein',
|
'no' => 'Nein',
|
||||||
'notes' => 'Notizen',
|
'notes' => 'Notizen',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Notiz hinzugefügt',
|
||||||
'add_note' => 'Add Note',
|
'options' => 'Options',
|
||||||
'note_edited' => 'Note Edited',
|
'preview' => 'Preview',
|
||||||
'edit_note' => 'Edit Note',
|
'add_note' => 'Notiz hinzufügen',
|
||||||
'note_deleted' => 'Note Deleted',
|
'note_edited' => 'Notiz bearbeitet',
|
||||||
'delete_note' => 'Delete Note',
|
'edit_note' => 'Notiz bearbeiten',
|
||||||
|
'note_deleted' => 'Notiz gelöscht',
|
||||||
|
'delete_note' => 'Notiz löschen',
|
||||||
'order_number' => 'Bestellnummer',
|
'order_number' => 'Bestellnummer',
|
||||||
'only_deleted' => 'Nur gelöschte Gegenstände',
|
'only_deleted' => 'Nur gelöschte Gegenstände',
|
||||||
'page_menu' => 'Zeige _MENU_ Einträge',
|
'page_menu' => 'Zeige _MENU_ Einträge',
|
||||||
|
@ -308,7 +312,7 @@ return [
|
||||||
'username_format' => 'Format der Benutzernamen',
|
'username_format' => 'Format der Benutzernamen',
|
||||||
'username' => 'Benutzername',
|
'username' => 'Benutzername',
|
||||||
'update' => 'Aktualisieren',
|
'update' => 'Aktualisieren',
|
||||||
'updating_item' => 'Updating :item',
|
'updating_item' => ':item wird aktualisiert',
|
||||||
'upload_filetypes_help' => 'Erlaubte Dateitypen sind png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf und rar. Maximale Uploadgröße beträgt :size.',
|
'upload_filetypes_help' => 'Erlaubte Dateitypen sind png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf und rar. Maximale Uploadgröße beträgt :size.',
|
||||||
'uploaded' => 'Hochgeladen',
|
'uploaded' => 'Hochgeladen',
|
||||||
'user' => 'Benutzer',
|
'user' => 'Benutzer',
|
||||||
|
@ -369,7 +373,7 @@ return [
|
||||||
'expected_checkin' => 'Erwartetes Rückgabedatum',
|
'expected_checkin' => 'Erwartetes Rückgabedatum',
|
||||||
'reminder_checked_out_items' => 'Dies ist eine Erinnerung an die Artikel, die gerade an Sie herausgegeben sind. Wenn Sie der Meinung sind, dass die Angaben falsch sind (fehlender Artikel oder Artikel, den Sie nie erhalten haben), senden Sie bitte eine E-Mail an :reply_to_name unter :reply_to_address.',
|
'reminder_checked_out_items' => 'Dies ist eine Erinnerung an die Artikel, die gerade an Sie herausgegeben sind. Wenn Sie der Meinung sind, dass die Angaben falsch sind (fehlender Artikel oder Artikel, den Sie nie erhalten haben), senden Sie bitte eine E-Mail an :reply_to_name unter :reply_to_address.',
|
||||||
'changed' => 'Geändert',
|
'changed' => 'Geändert',
|
||||||
'to' => 'An',
|
'to' => 'bis',
|
||||||
'report_fields_info' => '<p>Wählen Sie die Felder aus, die Sie in Ihren benutzerdefinierten Bericht einfügen möchten, und klicken Sie auf Generieren. Die Datei (custom-asset-report-YYYY-mm-dd.csv) wird automatisch heruntergeladen und Sie können sie in Excel öffnen.</p>
|
'report_fields_info' => '<p>Wählen Sie die Felder aus, die Sie in Ihren benutzerdefinierten Bericht einfügen möchten, und klicken Sie auf Generieren. Die Datei (custom-asset-report-YYYY-mm-dd.csv) wird automatisch heruntergeladen und Sie können sie in Excel öffnen.</p>
|
||||||
<p>Wenn Sie nur bestimmte Artikel exportieren möchten, verwenden Sie die folgenden Optionen, um Ihre Ergebnisse zu verfeinern.</p>',
|
<p>Wenn Sie nur bestimmte Artikel exportieren möchten, verwenden Sie die folgenden Optionen, um Ihre Ergebnisse zu verfeinern.</p>',
|
||||||
'range' => 'Bereich',
|
'range' => 'Bereich',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Verbrauchsmaterial|:count Verbrauchsmaterialien',
|
'consumables' => ':count Verbrauchsmaterial|:count Verbrauchsmaterialien',
|
||||||
'components' => ':count Komponente|:count Komponenten',
|
'components' => ':count Komponente|:count Komponenten',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Mehr Informationen',
|
'more_info' => 'Mehr Informationen',
|
||||||
'quickscan_bulk_help' => 'Wenn Sie dieses Kontrollkästchen aktivieren, wird der Asset-Datensatz so bearbeitet, dass dieser neue Standort angezeigt wird. Wenn Sie es nicht aktivieren, wird der Standort einfach im Prüfprotokoll vermerkt. Beachten Sie, dass sich der Standort der Person, des Assets oder des Standorts, an den es ausgecheckt wurde, nicht ändert, wenn dieses Asset ausgecheckt wird.',
|
'quickscan_bulk_help' => 'Wenn Sie dieses Kontrollkästchen aktivieren, wird der Asset-Datensatz so bearbeitet, dass dieser neue Standort angezeigt wird. Wenn Sie es nicht aktivieren, wird der Standort einfach im Prüfprotokoll vermerkt. Beachten Sie, dass sich der Standort der Person, des Assets oder des Standorts, an den es ausgecheckt wurde, nicht ändert, wenn dieses Asset ausgecheckt wird.',
|
||||||
'whoops' => 'Hoppla!',
|
'whoops' => 'Hoppla!',
|
||||||
|
@ -572,9 +577,14 @@ return [
|
||||||
'label' => 'Label',
|
'label' => 'Label',
|
||||||
'import_asset_tag_exists' => 'Ein Asset mit dem Asset-Tag :asset_tag ist bereits vorhanden und es wurde keine Aktualisierung angefordert. Es wurden keine Änderungen vorgenommen.',
|
'import_asset_tag_exists' => 'Ein Asset mit dem Asset-Tag :asset_tag ist bereits vorhanden und es wurde keine Aktualisierung angefordert. Es wurden keine Änderungen vorgenommen.',
|
||||||
'countries_manually_entered_help' => 'Werte mit einem Sternchen (*) wurden manuell eingegeben und stimmen nicht mit vorhandenen Dropdown-Werten nach ISO 3166 überein',
|
'countries_manually_entered_help' => 'Werte mit einem Sternchen (*) wurden manuell eingegeben und stimmen nicht mit vorhandenen Dropdown-Werten nach ISO 3166 überein',
|
||||||
'accessories_assigned' => 'Assigned Accessories',
|
'accessories_assigned' => 'Zugewiesenes Zubehör',
|
||||||
'user_managed_passwords' => 'Password Management',
|
'user_managed_passwords' => 'Passwortverwaltung',
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Benutzern die Verwaltung ihrer eigenen Passwörter verbieten',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Benutzern erlauben, ihre eigenen Passwörter zu verwalten',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -50,7 +50,7 @@ return array(
|
||||||
|
|
||||||
'checkin' => array(
|
'checkin' => array(
|
||||||
'error' => 'Lizenz wurde nicht zurückgenommen, bitte versuche es erneut.',
|
'error' => 'Lizenz wurde nicht zurückgenommen, bitte versuche es erneut.',
|
||||||
'not_reassignable' => 'License not reassignable',
|
'not_reassignable' => 'Lizenz nicht neu zuweisbar',
|
||||||
'success' => 'Die Lizenz wurde erfolgreich zurückgenommen'
|
'success' => 'Die Lizenz wurde erfolgreich zurückgenommen'
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@ return [
|
||||||
'user_country' => 'Benutzerland',
|
'user_country' => 'Benutzerland',
|
||||||
'user_zip' => 'Benutzer PLZ'
|
'user_zip' => 'Benutzer PLZ'
|
||||||
],
|
],
|
||||||
'open_saved_template' => 'Open Saved Template',
|
'open_saved_template' => 'Gespeicherte Vorlage öffnen',
|
||||||
'save_template' => 'Save Template',
|
'save_template' => 'Vorlage speichern',
|
||||||
'select_a_template' => 'Select a Template',
|
'select_a_template' => 'Wählen Sie eine Vorlage aus',
|
||||||
'template_name' => 'Template Name',
|
'template_name' => 'Vorlagenname',
|
||||||
'update_template' => 'Update Template',
|
'update_template' => 'Vorlage aktualisieren',
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
return [
|
return [
|
||||||
'about_templates' => 'About Saved Templates',
|
'about_templates' => 'Über gespeicherte Vorlagen',
|
||||||
'saving_templates_description' => 'Select your options, then enter the name of your template in the box above and click the \'Save Template\' button. Use the dropdown to select a previously saved template.',
|
'saving_templates_description' => 'Wählen Sie Ihre Optionen aus, geben Sie dann den Namen Ihrer Vorlage in das Feld oben ein und klicken Sie auf die Schaltfläche „Vorlage speichern“. Verwenden Sie das Dropdown-Menü, um eine zuvor gespeicherte Vorlage auszuwählen.',
|
||||||
'create' => [
|
'create' => [
|
||||||
'success' => 'Template saved successfully',
|
'success' => 'Vorlage erfolgreich gespeichert',
|
||||||
],
|
],
|
||||||
'update' => [
|
'update' => [
|
||||||
'success' => 'Template updated successfully',
|
'success' => 'Vorlage erfolgreich aktualisiert',
|
||||||
],
|
],
|
||||||
'delete' => [
|
'delete' => [
|
||||||
'success' => 'Template deleted',
|
'success' => 'Vorlage gelöscht',
|
||||||
'no_delete_permission' => 'Template does not exist or you do not have permission to delete it.',
|
'no_delete_permission' => 'Die Vorlage existiert nicht oder Sie sind nicht berechtigt, sie zu löschen.',
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -55,7 +55,7 @@ return [
|
||||||
'display_asset_name' => 'Asset-Name anzeigen',
|
'display_asset_name' => 'Asset-Name anzeigen',
|
||||||
'display_checkout_date' => 'Checkout-Datum anzeigen',
|
'display_checkout_date' => 'Checkout-Datum anzeigen',
|
||||||
'display_eol' => 'EOL in Tabellenansicht anzeigen',
|
'display_eol' => 'EOL in Tabellenansicht anzeigen',
|
||||||
'display_qr' => 'Zeige 2D Barcode',
|
'display_qr' => '2D-Barcode anzeigen',
|
||||||
'display_alt_barcode' => '1D Barcode anzeigen',
|
'display_alt_barcode' => '1D Barcode anzeigen',
|
||||||
'email_logo' => 'E-Mail-Logo',
|
'email_logo' => 'E-Mail-Logo',
|
||||||
'barcode_type' => '2D Barcode Typ',
|
'barcode_type' => '2D Barcode Typ',
|
||||||
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Passwort',
|
'ldap_pword' => 'LDAP Bind Passwort',
|
||||||
'ldap_basedn' => 'Basis Bind DN',
|
'ldap_basedn' => 'Basis Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP-Passwort-Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Deaktiviere diese Option, wenn du LDAP-Passwörter nicht mit lokalen Passwörtern synchronisieren möchtest. Wenn du diese Option deaktivierst, können sich deine Benutzer möglicherweise nicht anmelden, wenn dein LDAP-Server aus irgendeinem Grund nicht erreichbar ist.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Benutzernamen Feld',
|
'ldap_username_field' => 'Benutzernamen Feld',
|
||||||
'ldap_lname_field' => 'Nachname',
|
'ldap_lname_field' => 'Nachname',
|
||||||
'ldap_fname_field' => 'LDAP Vorname',
|
'ldap_fname_field' => 'LDAP Vorname',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Inkrementieren und Präfixe',
|
'asset_tags_help' => 'Inkrementieren und Präfixe',
|
||||||
'labels' => 'Etiketten',
|
'labels' => 'Etiketten',
|
||||||
'labels_title' => 'Etiketten-Einstellungen aktualisieren',
|
'labels_title' => 'Etiketten-Einstellungen aktualisieren',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Barcodes & Etiketteneinstellungen',
|
||||||
'purge_help' => 'Gelöschte Einträge bereinigen',
|
'purge_help' => 'Gelöschte Einträge bereinigen',
|
||||||
'ldap_extension_warning' => 'Es sieht nicht so aus, als ob die LDAP-Erweiterung auf diesem Server installiert oder aktiviert ist. Du kannst deine Einstellungen trotzdem speichern, aber du musst die LDAP-Erweiterung für PHP aktivieren, bevor die LDAP-Synchronisierung oder der Login funktioniert.',
|
'ldap_extension_warning' => 'Es sieht nicht so aus, als ob die LDAP-Erweiterung auf diesem Server installiert oder aktiviert ist. Du kannst deine Einstellungen trotzdem speichern, aber du musst die LDAP-Erweiterung für PHP aktivieren, bevor die LDAP-Synchronisierung oder der Login funktioniert.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Mitarbeiternummer',
|
'employee_number' => 'Mitarbeiternummer',
|
||||||
'create_admin_user' => 'Benutzer erstellen ::',
|
'create_admin_user' => 'Benutzer erstellen ::',
|
||||||
'create_admin_success' => 'Erfolgreich! Ihr Admin-Benutzer wurde hinzugefügt!',
|
'create_admin_success' => 'Erfolgreich! Ihr Admin-Benutzer wurde hinzugefügt!',
|
||||||
|
@ -360,9 +364,9 @@ return [
|
||||||
'label2_fields_help' => 'Felder können in der linken Spalte hinzugefügt, entfernt und neu sortiert werden. In jedem Feld können mehrere Optionen für Label und Datenquelle in der rechten Spalte hinzugefügt, entfernt und neu angeordnet werden.',
|
'label2_fields_help' => 'Felder können in der linken Spalte hinzugefügt, entfernt und neu sortiert werden. In jedem Feld können mehrere Optionen für Label und Datenquelle in der rechten Spalte hinzugefügt, entfernt und neu angeordnet werden.',
|
||||||
'help_asterisk_bold' => 'Der eingegebene Text <code>**text**</code> wird in Fettschrift angezeigt',
|
'help_asterisk_bold' => 'Der eingegebene Text <code>**text**</code> wird in Fettschrift angezeigt',
|
||||||
'help_blank_to_use' => 'Leer lassen, um den Wert von <code>:setting_name</code> zu verwenden',
|
'help_blank_to_use' => 'Leer lassen, um den Wert von <code>:setting_name</code> zu verwenden',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> verwendet den Wert aus <code>:setting_name</code>. <br>Beachten Sie, dass der Wert der Barcodes der jeweiligen Barcode-Spezifikation entsprechen muss, damit sie erfolgreich generiert werden können. Weitere Einzelheiten finden Sie in der <a href="https://snipe-it.readme.io/docs/barcodes">Dokumentation <i class="fa fa-external-link"></i></a>. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'Asset-ID',
|
||||||
'data' => 'Data',
|
'data' => 'Daten',
|
||||||
'default' => 'Standard',
|
'default' => 'Standard',
|
||||||
'none' => 'Nichts',
|
'none' => 'Nichts',
|
||||||
'google_callback_help' => 'Dies sollte als Callback-URL in den Google OAuth App-Einstellungen in deinem Unternehmen eingegeben werden's <strong><a href="https://console.cloud.google.com/" target="_blank">Google Developer Konsole <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
'google_callback_help' => 'Dies sollte als Callback-URL in den Google OAuth App-Einstellungen in deinem Unternehmen eingegeben werden's <strong><a href="https://console.cloud.google.com/" target="_blank">Google Developer Konsole <i class="fa fa-external-link" aria-hidden="true"></i></a></strong>.',
|
||||||
|
@ -390,7 +394,7 @@ return [
|
||||||
'brand' => 'Fußzeile, Logo, Druck, Thema, Skin, Header, Farben, Farbe, CSS',
|
'brand' => 'Fußzeile, Logo, Druck, Thema, Skin, Header, Farben, Farbe, CSS',
|
||||||
'general_settings' => 'firmenunterstützung, Unterschrift, Akzeptanz, E-Mail-Format, Benutzername Format, Bilder, pro Seite, Vorschaubilder, eula, gravatar, tos, Dashboard, Privatsphäre',
|
'general_settings' => 'firmenunterstützung, Unterschrift, Akzeptanz, E-Mail-Format, Benutzername Format, Bilder, pro Seite, Vorschaubilder, eula, gravatar, tos, Dashboard, Privatsphäre',
|
||||||
'groups' => 'berechtigungen, Berechtigungsgruppen, Autorisierung',
|
'groups' => 'berechtigungen, Berechtigungsgruppen, Autorisierung',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'Etiketten, Barcodes, Strichcode, Tabellen, Druck, UPC, QR, 1D, 2D',
|
||||||
'localization' => 'lokalisierung, Währung, lokal, Lokal, Zeitzone, International, Internationalisierung, Sprache, Sprachen, Übersetzung',
|
'localization' => 'lokalisierung, Währung, lokal, Lokal, Zeitzone, International, Internationalisierung, Sprache, Sprachen, Übersetzung',
|
||||||
'php_overview' => 'phpinfo, System, Info',
|
'php_overview' => 'phpinfo, System, Info',
|
||||||
'purge' => 'Endgültig löschen',
|
'purge' => 'Endgültig löschen',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'LDAP-Authentifizierung wird getestet...',
|
'testing_authentication' => 'LDAP-Authentifizierung wird getestet...',
|
||||||
'authentication_success' => 'Benutzer wurde erfolgreich gegen LDAP authentifiziert!'
|
'authentication_success' => 'Benutzer wurde erfolgreich gegen LDAP authentifiziert!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => ':app Testnachricht wird gesendet ...',
|
'sending' => ':app Testnachricht wird gesendet ...',
|
||||||
'success' => 'Deine :webhook_name Integration funktioniert!',
|
'success' => 'Deine :webhook_name Integration funktioniert!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Etwas ist schiefgelaufen. :app antwortete mit: :error_message',
|
'error' => 'Etwas ist schiefgelaufen. :app antwortete mit: :error_message',
|
||||||
'error_redirect' => 'FEHLER: 301/302 :endpoint gibt eine Umleitung zurück. Aus Sicherheitsgründen folgen wir keine Umleitungen. Bitte verwende den aktuellen Endpunkt.',
|
'error_redirect' => 'FEHLER: 301/302 :endpoint gibt eine Umleitung zurück. Aus Sicherheitsgründen folgen wir keine Umleitungen. Bitte verwende den aktuellen Endpunkt.',
|
||||||
'error_misc' => 'Etwas ist schiefgelaufen! :( ',
|
'error_misc' => 'Etwas ist schiefgelaufen! :( ',
|
||||||
'webhook_fail' => '',
|
'webhook_fail' => ' Webhook-Benachrichtigung fehlgeschlagen: Überprüfen Sie, ob die URL noch gültig ist.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Bericht anpassen',
|
'customize_report' => 'Bericht anpassen',
|
||||||
'custom_report' => 'Benutzerdefinierter Asset-Bericht',
|
'custom_report' => 'Benutzerdefinierter Asset-Bericht',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'Tage',
|
'days' => 'Tage',
|
||||||
'days_to_next_audit' => 'Tage bis zur nächsten Prüfung',
|
'days_to_next_audit' => 'Tage bis zur nächsten Prüfung',
|
||||||
'date' => 'Datum',
|
'date' => 'Datum',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Vorname_Nachname (erika_mustermann@example.com)',
|
'firstname_lastname_underscore_format' => 'Vorname_Nachname (erika_mustermann@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Nachname & Initiale des Vornamens (mustere@example.com)',
|
'lastnamefirstinitial_format' => 'Nachname & Initiale des Vornamens (mustere@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Initiale des Vornamen.Nachname (e.mustermann@example.com)',
|
'firstintial_dot_lastname_format' => 'Initiale des Vornamen.Nachname (e.mustermann@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Vorname Nachname (Max Mustermann)',
|
'firstname_lastname_display' => 'Vorname Nachname (Max Mustermann)',
|
||||||
'lastname_firstname_display' => 'Nachname Vorname (Mustermann Max)',
|
'lastname_firstname_display' => 'Nachname Vorname (Mustermann Max)',
|
||||||
'name_display_format' => 'Name Anzeigeformat',
|
'name_display_format' => 'Name Anzeigeformat',
|
||||||
|
@ -216,12 +218,14 @@ return [
|
||||||
'no_results' => 'Keine Treffer.',
|
'no_results' => 'Keine Treffer.',
|
||||||
'no' => 'Nein',
|
'no' => 'Nein',
|
||||||
'notes' => 'Anmerkungen',
|
'notes' => 'Anmerkungen',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Notiz hinzugefügt',
|
||||||
'add_note' => 'Add Note',
|
'options' => 'Options',
|
||||||
'note_edited' => 'Note Edited',
|
'preview' => 'Preview',
|
||||||
'edit_note' => 'Edit Note',
|
'add_note' => 'Notiz hinzufügen',
|
||||||
'note_deleted' => 'Note Deleted',
|
'note_edited' => 'Notiz bearbeitet',
|
||||||
'delete_note' => 'Delete Note',
|
'edit_note' => 'Notiz bearbeiten',
|
||||||
|
'note_deleted' => 'Notiz gelöscht',
|
||||||
|
'delete_note' => 'Notiz löschen',
|
||||||
'order_number' => 'Auftragsnummer',
|
'order_number' => 'Auftragsnummer',
|
||||||
'only_deleted' => 'Nur gelöschte Assets',
|
'only_deleted' => 'Nur gelöschte Assets',
|
||||||
'page_menu' => 'Zeige _MENU_ Einträge',
|
'page_menu' => 'Zeige _MENU_ Einträge',
|
||||||
|
@ -308,7 +312,7 @@ return [
|
||||||
'username_format' => 'Format der Benutzernamen',
|
'username_format' => 'Format der Benutzernamen',
|
||||||
'username' => 'Benutzername',
|
'username' => 'Benutzername',
|
||||||
'update' => 'Aktualisieren',
|
'update' => 'Aktualisieren',
|
||||||
'updating_item' => 'Updating :item',
|
'updating_item' => ':item wird aktualisiert',
|
||||||
'upload_filetypes_help' => 'Erlaubte Dateitypen sind png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf und rar. Maximale Uploadgröße beträgt :size.',
|
'upload_filetypes_help' => 'Erlaubte Dateitypen sind png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf und rar. Maximale Uploadgröße beträgt :size.',
|
||||||
'uploaded' => 'Hochgeladen',
|
'uploaded' => 'Hochgeladen',
|
||||||
'user' => 'Benutzer',
|
'user' => 'Benutzer',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Verbrauchsmaterialien|:count Verbrauchsmaterialien',
|
'consumables' => ':count Verbrauchsmaterialien|:count Verbrauchsmaterialien',
|
||||||
'components' => ':count Komponente|:count Komponenten',
|
'components' => ':count Komponente|:count Komponenten',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Mehr Info',
|
'more_info' => 'Mehr Info',
|
||||||
'quickscan_bulk_help' => 'Wenn du dieses Kontrollkästchen aktivierst, wird der Asset-Datensatz so bearbeitet, dass der neue Standort angezeigt wird. Wenn du es nicht aktivierst, wird der Standort nur im Prüfprotokoll vermerkt. Beachte, dass sich der Standort der Person, des Assets oder des Standorts, an den es ausgecheckt wurde, nicht ändert, wenn dieses Asset ausgecheckt wird.',
|
'quickscan_bulk_help' => 'Wenn du dieses Kontrollkästchen aktivierst, wird der Asset-Datensatz so bearbeitet, dass der neue Standort angezeigt wird. Wenn du es nicht aktivierst, wird der Standort nur im Prüfprotokoll vermerkt. Beachte, dass sich der Standort der Person, des Assets oder des Standorts, an den es ausgecheckt wurde, nicht ändert, wenn dieses Asset ausgecheckt wird.',
|
||||||
'whoops' => 'Hoppla!',
|
'whoops' => 'Hoppla!',
|
||||||
|
@ -572,9 +577,14 @@ return [
|
||||||
'label' => 'Label',
|
'label' => 'Label',
|
||||||
'import_asset_tag_exists' => 'Ein Asset mit dem Asset-Tag :asset_tag ist bereits vorhanden und es wurde keine Aktualisierung angefordert. Es wurden keine Änderungen vorgenommen.',
|
'import_asset_tag_exists' => 'Ein Asset mit dem Asset-Tag :asset_tag ist bereits vorhanden und es wurde keine Aktualisierung angefordert. Es wurden keine Änderungen vorgenommen.',
|
||||||
'countries_manually_entered_help' => 'Werte mit einem Sternchen (*) wurden manuell eingegeben und stimmen nicht mit vorhandenen Dropdown-Werten nach ISO 3166 überein',
|
'countries_manually_entered_help' => 'Werte mit einem Sternchen (*) wurden manuell eingegeben und stimmen nicht mit vorhandenen Dropdown-Werten nach ISO 3166 überein',
|
||||||
'accessories_assigned' => 'Assigned Accessories',
|
'accessories_assigned' => 'Zugewiesenes Zubehör',
|
||||||
'user_managed_passwords' => 'Password Management',
|
'user_managed_passwords' => 'Passwortverwaltung',
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Benutzern die Verwaltung ihrer eigenen Passwörter verbieten',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Benutzern erlauben, ihre eigenen Passwörter zu verwalten',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Κωδικός πρόσβασης δεσμού LDAP',
|
'ldap_pword' => 'Κωδικός πρόσβασης δεσμού LDAP',
|
||||||
'ldap_basedn' => 'Δέσμευση βάσης DN',
|
'ldap_basedn' => 'Δέσμευση βάσης DN',
|
||||||
'ldap_filter' => 'LDAP Φίλτρο',
|
'ldap_filter' => 'LDAP Φίλτρο',
|
||||||
'ldap_pw_sync' => 'LDAP συγχρονισμός κωδικού πρόσβασης',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Καταργήστε την επιλογή αυτού του πλαισίου αν δεν θέλετε να διατηρείτε τους κωδικούς LDAP συγχρονισμένους με τοπικούς κωδικούς πρόσβασης. Απενεργοποιώντας αυτό σημαίνει ότι οι χρήστες σας ενδέχεται να μην μπορούν να συνδεθούν αν ο διακομιστής LDAP δεν είναι προσβάσιμος για κάποιο λόγο.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Πεδίο ονόματος χρήστη',
|
'ldap_username_field' => 'Πεδίο ονόματος χρήστη',
|
||||||
'ldap_lname_field' => 'Επίθετο',
|
'ldap_lname_field' => 'Επίθετο',
|
||||||
'ldap_fname_field' => 'Όνομα LDAP',
|
'ldap_fname_field' => 'Όνομα LDAP',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Καθαρισμός αρχείων που έχουν διαγραφεί',
|
'purge_help' => 'Καθαρισμός αρχείων που έχουν διαγραφεί',
|
||||||
'ldap_extension_warning' => 'Δεν φαίνεται ότι η επέκταση LDAP είναι εγκατεστημένη ή ενεργοποιημένη σε αυτόν τον διακομιστή. Μπορείτε ακόμα να αποθηκεύσετε τις ρυθμίσεις σας, αλλά θα πρέπει να ενεργοποιήσετε την επέκταση LDAP για PHP πριν το συγχρονισμό LDAP ή σύνδεση θα λειτουργήσει.',
|
'ldap_extension_warning' => 'Δεν φαίνεται ότι η επέκταση LDAP είναι εγκατεστημένη ή ενεργοποιημένη σε αυτόν τον διακομιστή. Μπορείτε ακόμα να αποθηκεύσετε τις ρυθμίσεις σας, αλλά θα πρέπει να ενεργοποιήσετε την επέκταση LDAP για PHP πριν το συγχρονισμό LDAP ή σύνδεση θα λειτουργήσει.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Αριθμός Υπάλληλου',
|
'employee_number' => 'Αριθμός Υπάλληλου',
|
||||||
'create_admin_user' => 'Δημιουργία χρήστη ::',
|
'create_admin_user' => 'Δημιουργία χρήστη ::',
|
||||||
'create_admin_success' => 'Επιτυχία! Ο διαχειριστής σας έχει προστεθεί!',
|
'create_admin_success' => 'Επιτυχία! Ο διαχειριστής σας έχει προστεθεί!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Δοκιμή Πιστοποίησης Ldap...',
|
'testing_authentication' => 'Δοκιμή Πιστοποίησης Ldap...',
|
||||||
'authentication_success' => 'Ο χρήστης πιστοποιήθηκε με επιτυχία στο LDAP!'
|
'authentication_success' => 'Ο χρήστης πιστοποιήθηκε με επιτυχία στο LDAP!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Αποστολή δοκιμαστικού μηνύματος :app...',
|
'sending' => 'Αποστολή δοκιμαστικού μηνύματος :app...',
|
||||||
'success' => 'Το :webhook_name σας λειτουργεί!',
|
'success' => 'Το :webhook_name σας λειτουργεί!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ΣΦΑΛΜΑ: 301/302:endpoint επιστρέφει μια ανακατεύθυνση. Για λόγους ασφαλείας, δεν ακολουθούμε ανακατευθύνσεις. Παρακαλούμε χρησιμοποιήστε το πραγματικό τελικό σημείο.',
|
'error_redirect' => 'ΣΦΑΛΜΑ: 301/302:endpoint επιστρέφει μια ανακατεύθυνση. Για λόγους ασφαλείας, δεν ακολουθούμε ανακατευθύνσεις. Παρακαλούμε χρησιμοποιήστε το πραγματικό τελικό σημείο.',
|
||||||
'error_misc' => 'Κάτι πήγε στραβά. :( ',
|
'error_misc' => 'Κάτι πήγε στραβά. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Προσαρμογή Αναφοράς',
|
'customize_report' => 'Προσαρμογή Αναφοράς',
|
||||||
'custom_report' => 'Αναφορά προσαρμοσμένων στοιχείων ενεργητικού',
|
'custom_report' => 'Αναφορά προσαρμοσμένων στοιχείων ενεργητικού',
|
||||||
'dashboard' => 'Πίνακας ελέγχου',
|
'dashboard' => 'Πίνακας ελέγχου',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'ημέρες',
|
'days' => 'ημέρες',
|
||||||
'days_to_next_audit' => 'Ημέρες έως επόμενο έλεγχο',
|
'days_to_next_audit' => 'Ημέρες έως επόμενο έλεγχο',
|
||||||
'date' => 'Ημερομηνία',
|
'date' => 'Ημερομηνία',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Όνομα και επίθετο (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Όνομα και επίθετο (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Επίθετο και πρώτο γράμμα ονόματος (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Επίθετο και πρώτο γράμμα ονόματος (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Πρώτο Αρχικό Όνομα (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'Πρώτο Αρχικό Όνομα (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Όνομα Επώνυμο (Jane Smith)',
|
'firstname_lastname_display' => 'Όνομα Επώνυμο (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Επώνυμο Όνομα (Smith Jane)',
|
'lastname_firstname_display' => 'Επώνυμο Όνομα (Smith Jane)',
|
||||||
'name_display_format' => 'Μορφή Εμφάνισης Ονόματος',
|
'name_display_format' => 'Μορφή Εμφάνισης Ονόματος',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => '\'Οχι',
|
'no' => '\'Οχι',
|
||||||
'notes' => 'Σημειώσεις',
|
'notes' => 'Σημειώσεις',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Αναλώσιμα |:count Αναλώσιμα',
|
'consumables' => ':count Αναλώσιμα |:count Αναλώσιμα',
|
||||||
'components' => ':count Εξαρτήματα |:count Εξαρτήματα',
|
'components' => ':count Εξαρτήματα |:count Εξαρτήματα',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Περισσότερες Πληροφορίες',
|
'more_info' => 'Περισσότερες Πληροφορίες',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind Password',
|
'ldap_pword' => 'LDAP Bind Password',
|
||||||
'ldap_basedn' => 'Base Bind DN',
|
'ldap_basedn' => 'Base Bind DN',
|
||||||
'ldap_filter' => 'LDAP Filter',
|
'ldap_filter' => 'LDAP Filter',
|
||||||
'ldap_pw_sync' => 'LDAP Password Sync',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords synced with local passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Username Field',
|
'ldap_username_field' => 'Username Field',
|
||||||
'ldap_lname_field' => 'Last Name',
|
'ldap_lname_field' => 'Last Name',
|
||||||
'ldap_fname_field' => 'LDAP First Name',
|
'ldap_fname_field' => 'LDAP First Name',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Purge Deleted Records',
|
'purge_help' => 'Purge Deleted Records',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customise Report',
|
'customize_report' => 'Customise Report',
|
||||||
'custom_report' => 'Custom Asset Report',
|
'custom_report' => 'Custom Asset Report',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'days',
|
'days' => 'days',
|
||||||
'days_to_next_audit' => 'Days to Next Audit',
|
'days_to_next_audit' => 'Days to Next Audit',
|
||||||
'date' => 'Date',
|
'date' => 'Date',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Last Name First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notes',
|
'notes' => 'Notes',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'More Info',
|
'more_info' => 'More Info',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'LDAP Bind sandi',
|
'ldap_pword' => 'LDAP Bind sandi',
|
||||||
'ldap_basedn' => 'Mengikat Dasar DN',
|
'ldap_basedn' => 'Mengikat Dasar DN',
|
||||||
'ldap_filter' => 'Saring LDAP',
|
'ldap_filter' => 'Saring LDAP',
|
||||||
'ldap_pw_sync' => 'Sinkronisasi kata sandi LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Hapus centang pada kotak ini jika anda tidak ingin menyimpan kata sandi LDAP yang disinkronkan dengan kata sandi lokal. Menonaktifkan ini berarti pengguna anda tidak dapat masuk jika server LDAP anda tidak dapat dijangkau karena alasan tertentu.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Bidang Nama Pengguna',
|
'ldap_username_field' => 'Bidang Nama Pengguna',
|
||||||
'ldap_lname_field' => 'Nama Terakhir',
|
'ldap_lname_field' => 'Nama Terakhir',
|
||||||
'ldap_fname_field' => 'Nama Depan LDAP',
|
'ldap_fname_field' => 'Nama Depan LDAP',
|
||||||
|
@ -330,6 +330,10 @@ return [
|
||||||
'purge_help' => 'Bersihkan Arsip yang Dihapus',
|
'purge_help' => 'Bersihkan Arsip yang Dihapus',
|
||||||
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
'ldap_extension_warning' => 'It does not look like the LDAP extension is installed or enabled on this server. You can still save your settings, but you will need to enable the LDAP extension for PHP before LDAP syncing or login will work.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Employee Number',
|
'employee_number' => 'Employee Number',
|
||||||
'create_admin_user' => 'Create a User ::',
|
'create_admin_user' => 'Create a User ::',
|
||||||
'create_admin_success' => 'Success! Your admin user has been added!',
|
'create_admin_success' => 'Success! Your admin user has been added!',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Testing LDAP Authentication...',
|
'testing_authentication' => 'Testing LDAP Authentication...',
|
||||||
'authentication_success' => 'User authenticated against LDAP successfully!'
|
'authentication_success' => 'User authenticated against LDAP successfully!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Sending :app test message...',
|
'sending' => 'Sending :app test message...',
|
||||||
'success' => 'Your :webhook_name Integration works!',
|
'success' => 'Your :webhook_name Integration works!',
|
||||||
|
@ -46,5 +49,6 @@ return [
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint returns a redirect. For security reasons, we don’t follow redirects. Please use the actual endpoint.',
|
||||||
'error_misc' => 'Something went wrong. :( ',
|
'error_misc' => 'Something went wrong. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Customize Report',
|
'customize_report' => 'Customize Report',
|
||||||
'custom_report' => 'Laporan aset kostum',
|
'custom_report' => 'Laporan aset kostum',
|
||||||
'dashboard' => 'Dashboard',
|
'dashboard' => 'Dashboard',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'hari',
|
'days' => 'hari',
|
||||||
'days_to_next_audit' => 'Hari untuk audit selanjutnya',
|
'days_to_next_audit' => 'Hari untuk audit selanjutnya',
|
||||||
'date' => 'Tanggal',
|
'date' => 'Tanggal',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Nama Depan Nama Belakang (jane.smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Nama Depan Nama Belakang (jane.smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Nama Depan First Initial (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Nama Depan First Initial (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
'firstname_lastname_display' => 'First Name Last Name (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
'lastname_firstname_display' => 'Last Name First Name (Smith Jane)',
|
||||||
'name_display_format' => 'Name Display Format',
|
'name_display_format' => 'Name Display Format',
|
||||||
|
@ -217,6 +219,8 @@ return [
|
||||||
'no' => 'Tidak',
|
'no' => 'Tidak',
|
||||||
'notes' => 'Catatan',
|
'notes' => 'Catatan',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Note Added',
|
||||||
|
'options' => 'Options',
|
||||||
|
'preview' => 'Preview',
|
||||||
'add_note' => 'Add Note',
|
'add_note' => 'Add Note',
|
||||||
'note_edited' => 'Note Edited',
|
'note_edited' => 'Note Edited',
|
||||||
'edit_note' => 'Edit Note',
|
'edit_note' => 'Edit Note',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count Consumable|:count Consumables',
|
'consumables' => ':count Consumable|:count Consumables',
|
||||||
'components' => ':count Component|:count Components',
|
'components' => ':count Component|:count Components',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Info Lengkap',
|
'more_info' => 'Info Lengkap',
|
||||||
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
'quickscan_bulk_help' => 'Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log. Note that if this asset is checked out, it will not change the location of the person, asset or location it is checked out to.',
|
||||||
'whoops' => 'Whoops!',
|
'whoops' => 'Whoops!',
|
||||||
|
@ -577,4 +582,9 @@ return [
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -5,8 +5,8 @@ return [
|
||||||
'about_assets_text' => 'Assets are items tracked by serial number or asset tag. They tend to be higher value items where identifying a specific item matters.',
|
'about_assets_text' => 'Assets are items tracked by serial number or asset tag. They tend to be higher value items where identifying a specific item matters.',
|
||||||
'archived' => 'Archived',
|
'archived' => 'Archived',
|
||||||
'asset' => 'Asset',
|
'asset' => 'Asset',
|
||||||
'bulk_checkout' => 'Checkout Assets',
|
'bulk_checkout' => 'Bulk Checkout',
|
||||||
'bulk_checkin' => 'Checkin Assets',
|
'bulk_checkin' => 'Bulk Checkin',
|
||||||
'checkin' => 'Checkin Asset',
|
'checkin' => 'Checkin Asset',
|
||||||
'checkout' => 'Checkout Asset',
|
'checkout' => 'Checkout Asset',
|
||||||
'clone' => 'Clone Asset',
|
'clone' => 'Clone Asset',
|
||||||
|
|
|
@ -10,7 +10,7 @@ return [
|
||||||
'action' => 'Action',
|
'action' => 'Action',
|
||||||
'activity_report' => 'Activity Report',
|
'activity_report' => 'Activity Report',
|
||||||
'address' => 'Address',
|
'address' => 'Address',
|
||||||
'admin' => 'Admin',
|
'admin' => 'Admin Settings',
|
||||||
'admin_tooltip' => 'This user has admin privileges',
|
'admin_tooltip' => 'This user has admin privileges',
|
||||||
'superuser' => 'Superuser',
|
'superuser' => 'Superuser',
|
||||||
'superuser_tooltip' => 'This user has superuser privileges',
|
'superuser_tooltip' => 'This user has superuser privileges',
|
||||||
|
@ -29,6 +29,7 @@ return [
|
||||||
'assets_available' => 'Assets available',
|
'assets_available' => 'Assets available',
|
||||||
'accept_assets' => 'Accept Assets :name',
|
'accept_assets' => 'Accept Assets :name',
|
||||||
'accept_assets_menu' => 'Accept Assets',
|
'accept_assets_menu' => 'Accept Assets',
|
||||||
|
'accept_item' => 'Accept Item',
|
||||||
'audit' => 'Audit',
|
'audit' => 'Audit',
|
||||||
'audit_report' => 'Audit Log',
|
'audit_report' => 'Audit Log',
|
||||||
'assets' => 'Assets',
|
'assets' => 'Assets',
|
||||||
|
@ -337,10 +338,10 @@ return [
|
||||||
'token_expired' => 'Your form session has expired. Please try again.',
|
'token_expired' => 'Your form session has expired. Please try again.',
|
||||||
'login_enabled' => 'Login Enabled',
|
'login_enabled' => 'Login Enabled',
|
||||||
'audit_due' => 'Due for Audit',
|
'audit_due' => 'Due for Audit',
|
||||||
'audit_due_days' => 'Assets Due for Audit Within :days Day|Assets Due for Audit Within :days Days',
|
'audit_due_days' => '{}Assets Due or Overdue for Audit|[1]Assets Due or Overdue for Audit Within a Day|[2,*]Assets Due or Overdue for Audit Within :days Days',
|
||||||
'checkin_due' => 'Due for Checkin',
|
'checkin_due' => 'Due for Checkin',
|
||||||
'checkin_overdue' => 'Overdue for Checkin',
|
'checkin_overdue' => 'Overdue for Checkin',
|
||||||
'checkin_due_days' => 'Assets Due for Checkin Within :days Day|Assets Due for Checkin Within :days Days',
|
'checkin_due_days' => '{}Due for Checkin|[1]Assets Due for Checkin Within :days Day|[2,*]Assets Due for Checkin Within :days Days',
|
||||||
'audit_overdue' => 'Overdue for Audit',
|
'audit_overdue' => 'Overdue for Audit',
|
||||||
'accept' => 'Accept :asset',
|
'accept' => 'Accept :asset',
|
||||||
'i_accept' => 'I accept',
|
'i_accept' => 'I accept',
|
||||||
|
@ -587,4 +588,12 @@ return [
|
||||||
'notes' => 'Add a note',
|
'notes' => 'Add a note',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'breadcrumb_button_actions' => [
|
||||||
|
'edit_item' => 'Edit :name',
|
||||||
|
'checkout_item' => 'Checkout :name',
|
||||||
|
'checkin_item' => 'Checkin :name',
|
||||||
|
],
|
||||||
|
|
||||||
|
'generic_model_not_found' => 'That :model was not found or you do not have permission to access it',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Contraseña de enlace LDAP',
|
'ldap_pword' => 'Contraseña de enlace LDAP',
|
||||||
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
||||||
'ldap_filter' => 'Filtro LDAP',
|
'ldap_filter' => 'Filtro LDAP',
|
||||||
'ldap_pw_sync' => 'Sincronizar contraseña del LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Desmarque esta casilla si no desea mantener las contraseñas LDAP sincronizadas con las contraseñas locales. Si desactiva esta opción, los usuarios no podrán iniciar sesión si, por algún motivo, no se puede acceder al servidor LDAP.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Campo nombre de usuario',
|
'ldap_username_field' => 'Campo nombre de usuario',
|
||||||
'ldap_lname_field' => 'Apellido',
|
'ldap_lname_field' => 'Apellido',
|
||||||
'ldap_fname_field' => 'Nombre LDAP',
|
'ldap_fname_field' => 'Nombre LDAP',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Incrementos y prefijos',
|
'asset_tags_help' => 'Incrementos y prefijos',
|
||||||
'labels' => 'Etiquetas',
|
'labels' => 'Etiquetas',
|
||||||
'labels_title' => 'Actualizar configuración de etiquetas',
|
'labels_title' => 'Actualizar configuración de etiquetas',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Configuración de códigos de barras & etiquetas',
|
||||||
'purge_help' => 'Purgar registros eliminados',
|
'purge_help' => 'Purgar registros eliminados',
|
||||||
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Número de empleado',
|
'employee_number' => 'Número de empleado',
|
||||||
'create_admin_user' => 'Crear un usuario ::',
|
'create_admin_user' => 'Crear un usuario ::',
|
||||||
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
||||||
|
@ -355,14 +359,14 @@ return [
|
||||||
'label2_2d_type' => 'Tipo de código de barras 2D',
|
'label2_2d_type' => 'Tipo de código de barras 2D',
|
||||||
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
||||||
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
||||||
'label2_2d_target_help' => 'The data that will be contained in the 2D barcode',
|
'label2_2d_target_help' => 'Los datos que incluirá el código de barra 2D',
|
||||||
'label2_fields' => 'Definiciones del campo',
|
'label2_fields' => 'Definiciones del campo',
|
||||||
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
||||||
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
||||||
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> usará el valor de <code>:setting_name</code>. <br>Tenga en cuenta que el valor de los códigos de barras debe cumplir la especificación respectiva para que sean generados exitosamente. Por favor lea <a href="https://snipe-it.readme.io/docs/barcodes">la documentación <i class="fa fa-external-link"></i></a> para más detalles. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'ID del activo',
|
||||||
'data' => 'Data',
|
'data' => 'Datos',
|
||||||
'default' => 'Por defecto',
|
'default' => 'Por defecto',
|
||||||
'none' => 'Ninguna',
|
'none' => 'Ninguna',
|
||||||
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
||||||
|
@ -390,7 +394,7 @@ return [
|
||||||
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
||||||
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
||||||
'groups' => 'permisos, grupos de permisos, autorización',
|
'groups' => 'permisos, grupos de permisos, autorización',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'etiquetas, código de barras, código de barra, hojas, imprimir, upc, qr, 1d, 2d',
|
||||||
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
||||||
'php_overview' => 'phpinfo, sistema, información',
|
'php_overview' => 'phpinfo, sistema, información',
|
||||||
'purge' => 'eliminar permanentemente',
|
'purge' => 'eliminar permanentemente',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Probando autenticación LDAP...',
|
'testing_authentication' => 'Probando autenticación LDAP...',
|
||||||
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Enviando mensaje de prueba :app...',
|
'sending' => 'Enviando mensaje de prueba :app...',
|
||||||
'success' => '¡Su integración :webhook_name funciona!',
|
'success' => '¡Su integración :webhook_name funciona!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
||||||
'error_misc' => 'Algo salió mal. :( ',
|
'error_misc' => 'Algo salió mal. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' Notificación de webhook fallida: Compruebe que la URL sigue siendo válida.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Personalizar informe',
|
'customize_report' => 'Personalizar informe',
|
||||||
'custom_report' => 'Informe personalizado de activos',
|
'custom_report' => 'Informe personalizado de activos',
|
||||||
'dashboard' => 'Tablero',
|
'dashboard' => 'Tablero',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'días',
|
'days' => 'días',
|
||||||
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
||||||
'date' => 'Fecha',
|
'date' => 'Fecha',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@ejemplo.com)',
|
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@ejemplo.com)',
|
||||||
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
||||||
'name_display_format' => 'Formato para mostrar el nombre',
|
'name_display_format' => 'Formato para mostrar el nombre',
|
||||||
|
@ -216,12 +218,14 @@ return [
|
||||||
'no_results' => 'No hay resultados.',
|
'no_results' => 'No hay resultados.',
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notas',
|
'notes' => 'Notas',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Nota agregada',
|
||||||
'add_note' => 'Add Note',
|
'options' => 'Options',
|
||||||
'note_edited' => 'Note Edited',
|
'preview' => 'Preview',
|
||||||
'edit_note' => 'Edit Note',
|
'add_note' => 'Agregar nota',
|
||||||
'note_deleted' => 'Note Deleted',
|
'note_edited' => 'Nota editada',
|
||||||
'delete_note' => 'Delete Note',
|
'edit_note' => 'Editar nota',
|
||||||
|
'note_deleted' => 'Nota eliminada',
|
||||||
|
'delete_note' => 'Borrar nota',
|
||||||
'order_number' => 'Número de orden',
|
'order_number' => 'Número de orden',
|
||||||
'only_deleted' => 'Solo activos eliminados',
|
'only_deleted' => 'Solo activos eliminados',
|
||||||
'page_menu' => 'Mostrando elementos de _MENU_',
|
'page_menu' => 'Mostrando elementos de _MENU_',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count consumible|:count consumibles',
|
'consumables' => ':count consumible|:count consumibles',
|
||||||
'components' => ':count component|:count componentes',
|
'components' => ':count component|:count componentes',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Más información',
|
'more_info' => 'Más información',
|
||||||
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
||||||
'whoops' => '¡Uy!',
|
'whoops' => '¡Uy!',
|
||||||
|
@ -573,8 +578,13 @@ return [
|
||||||
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
||||||
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
||||||
'accessories_assigned' => 'Accesorios asignados',
|
'accessories_assigned' => 'Accesorios asignados',
|
||||||
'user_managed_passwords' => 'Password Management',
|
'user_managed_passwords' => 'Gestión de contraseña',
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Evitar que los usuarios gestionen sus propias contraseñas',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Permitir a los usuarios gestionar sus propias contraseñas',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Contraseña de enlace LDAP',
|
'ldap_pword' => 'Contraseña de enlace LDAP',
|
||||||
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
||||||
'ldap_filter' => 'Filtro LDAP',
|
'ldap_filter' => 'Filtro LDAP',
|
||||||
'ldap_pw_sync' => 'Sincronizar contraseña del LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Desmarque esta casilla si no desea mantener las contraseñas LDAP sincronizadas con las contraseñas locales. Si desactiva esta opción, los usuarios no podrán iniciar sesión si, por algún motivo, no se puede acceder al servidor LDAP.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Campo nombre de usuario',
|
'ldap_username_field' => 'Campo nombre de usuario',
|
||||||
'ldap_lname_field' => 'Apellido',
|
'ldap_lname_field' => 'Apellido',
|
||||||
'ldap_fname_field' => 'Nombre LDAP',
|
'ldap_fname_field' => 'Nombre LDAP',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Incrementos y prefijos',
|
'asset_tags_help' => 'Incrementos y prefijos',
|
||||||
'labels' => 'Etiquetas',
|
'labels' => 'Etiquetas',
|
||||||
'labels_title' => 'Actualizar configuración de etiquetas',
|
'labels_title' => 'Actualizar configuración de etiquetas',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Configuración de códigos de barras & etiquetas',
|
||||||
'purge_help' => 'Purgar registros eliminados',
|
'purge_help' => 'Purgar registros eliminados',
|
||||||
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Número de empleado',
|
'employee_number' => 'Número de empleado',
|
||||||
'create_admin_user' => 'Crear un usuario ::',
|
'create_admin_user' => 'Crear un usuario ::',
|
||||||
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
||||||
|
@ -355,14 +359,14 @@ return [
|
||||||
'label2_2d_type' => 'Tipo de códigos de barras 2D',
|
'label2_2d_type' => 'Tipo de códigos de barras 2D',
|
||||||
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
||||||
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
||||||
'label2_2d_target_help' => 'The data that will be contained in the 2D barcode',
|
'label2_2d_target_help' => 'Los datos que incluirá el código de barra 2D',
|
||||||
'label2_fields' => 'Definiciones del campo',
|
'label2_fields' => 'Definiciones del campo',
|
||||||
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
||||||
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
||||||
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> usará el valor de <code>:setting_name</code>. <br>Tenga en cuenta que el valor de los códigos de barras debe cumplir la especificación respectiva para que sean generados exitosamente. Por favor lea <a href="https://snipe-it.readme.io/docs/barcodes">la documentación <i class="fa fa-external-link"></i></a> para más detalles. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'ID del activo',
|
||||||
'data' => 'Data',
|
'data' => 'Datos',
|
||||||
'default' => 'Por defecto',
|
'default' => 'Por defecto',
|
||||||
'none' => 'Ninguna',
|
'none' => 'Ninguna',
|
||||||
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
||||||
|
@ -390,7 +394,7 @@ return [
|
||||||
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
||||||
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
||||||
'groups' => 'permisos, grupos de permisos, autorización',
|
'groups' => 'permisos, grupos de permisos, autorización',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'etiquetas, código de barras, código de barra, hojas, imprimir, upc, qr, 1d, 2d',
|
||||||
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
||||||
'php_overview' => 'phpinfo, sistema, información',
|
'php_overview' => 'phpinfo, sistema, información',
|
||||||
'purge' => 'eliminar permanentemente',
|
'purge' => 'eliminar permanentemente',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Probando autenticación LDAP...',
|
'testing_authentication' => 'Probando autenticación LDAP...',
|
||||||
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Enviando mensaje de prueba de :app...',
|
'sending' => 'Enviando mensaje de prueba de :app...',
|
||||||
'success' => '¡Su integración :webhook_name funciona!',
|
'success' => '¡Su integración :webhook_name funciona!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
||||||
'error_misc' => 'Algo salió mal. :( ',
|
'error_misc' => 'Algo salió mal. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' Notificación de webhook fallida: Compruebe que la URL sigue siendo válida.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Personalizar informe',
|
'customize_report' => 'Personalizar informe',
|
||||||
'custom_report' => 'Informe personalizado de activos',
|
'custom_report' => 'Informe personalizado de activos',
|
||||||
'dashboard' => 'Tablero',
|
'dashboard' => 'Tablero',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'días',
|
'days' => 'días',
|
||||||
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
||||||
'date' => 'Fecha',
|
'date' => 'Fecha',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
||||||
'name_display_format' => 'Formato para mostrar el nombre',
|
'name_display_format' => 'Formato para mostrar el nombre',
|
||||||
|
@ -216,12 +218,14 @@ return [
|
||||||
'no_results' => 'No hay resultados.',
|
'no_results' => 'No hay resultados.',
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notas',
|
'notes' => 'Notas',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Nota agregada',
|
||||||
'add_note' => 'Add Note',
|
'options' => 'Options',
|
||||||
'note_edited' => 'Note Edited',
|
'preview' => 'Preview',
|
||||||
'edit_note' => 'Edit Note',
|
'add_note' => 'Agregar nota',
|
||||||
'note_deleted' => 'Note Deleted',
|
'note_edited' => 'Nota editada',
|
||||||
'delete_note' => 'Delete Note',
|
'edit_note' => 'Editar nota',
|
||||||
|
'note_deleted' => 'Nota eliminada',
|
||||||
|
'delete_note' => 'Borrar nota',
|
||||||
'order_number' => 'Número de orden',
|
'order_number' => 'Número de orden',
|
||||||
'only_deleted' => 'Solo activos eliminados',
|
'only_deleted' => 'Solo activos eliminados',
|
||||||
'page_menu' => 'Mostrando elementos de _MENU_',
|
'page_menu' => 'Mostrando elementos de _MENU_',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count consumible|:count consumibles',
|
'consumables' => ':count consumible|:count consumibles',
|
||||||
'components' => ':count component|:count componentes',
|
'components' => ':count component|:count componentes',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Más información',
|
'more_info' => 'Más información',
|
||||||
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
||||||
'whoops' => '¡Uy!',
|
'whoops' => '¡Uy!',
|
||||||
|
@ -573,8 +578,13 @@ return [
|
||||||
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
||||||
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
||||||
'accessories_assigned' => 'Accesorios asignados',
|
'accessories_assigned' => 'Accesorios asignados',
|
||||||
'user_managed_passwords' => 'Password Management',
|
'user_managed_passwords' => 'Gestión de contraseña',
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Evitar que los usuarios gestionen sus propias contraseñas',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Permitir a los usuarios gestionar sus propias contraseñas',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Contraseña de enlace LDAP',
|
'ldap_pword' => 'Contraseña de enlace LDAP',
|
||||||
'ldap_basedn' => 'Enlazar base DN',
|
'ldap_basedn' => 'Enlazar base DN',
|
||||||
'ldap_filter' => 'Filtro LDAP',
|
'ldap_filter' => 'Filtro LDAP',
|
||||||
'ldap_pw_sync' => 'Sincronizar contraseña del LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Desmarque esta casilla si no desea mantener las contraseñas LDAP sincronizadas con las contraseñas locales. Si desactiva esta opción, los usuarios no podrán iniciar sesión si, por algún motivo, no se puede acceder al servidor LDAP.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Campo nombre de usuario',
|
'ldap_username_field' => 'Campo nombre de usuario',
|
||||||
'ldap_lname_field' => 'Apellido',
|
'ldap_lname_field' => 'Apellido',
|
||||||
'ldap_fname_field' => 'Nombre LDAP',
|
'ldap_fname_field' => 'Nombre LDAP',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Incrementos y prefijos',
|
'asset_tags_help' => 'Incrementos y prefijos',
|
||||||
'labels' => 'Etiquetas',
|
'labels' => 'Etiquetas',
|
||||||
'labels_title' => 'Actualizar configuración de etiquetas',
|
'labels_title' => 'Actualizar configuración de etiquetas',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Configuración de códigos de barras & etiquetas',
|
||||||
'purge_help' => 'Purgar registros eliminados',
|
'purge_help' => 'Purgar registros eliminados',
|
||||||
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Número de empleado',
|
'employee_number' => 'Número de empleado',
|
||||||
'create_admin_user' => 'Crear un usuario ::',
|
'create_admin_user' => 'Crear un usuario ::',
|
||||||
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
||||||
|
@ -355,14 +359,14 @@ return [
|
||||||
'label2_2d_type' => 'Tipo de código de barras 2D',
|
'label2_2d_type' => 'Tipo de código de barras 2D',
|
||||||
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
||||||
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
||||||
'label2_2d_target_help' => 'The data that will be contained in the 2D barcode',
|
'label2_2d_target_help' => 'Los datos que incluirá el código de barra 2D',
|
||||||
'label2_fields' => 'Definiciones del campo',
|
'label2_fields' => 'Definiciones del campo',
|
||||||
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
||||||
'help_asterisk_bold' => 'El texto escrito como <code>**texto**</code> se mostrará como negrita',
|
'help_asterisk_bold' => 'El texto escrito como <code>**texto**</code> se mostrará como negrita',
|
||||||
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> usará el valor de <code>:setting_name</code>. <br>Tenga en cuenta que el valor de los códigos de barras debe cumplir la especificación respectiva para que sean generados exitosamente. Por favor lea <a href="https://snipe-it.readme.io/docs/barcodes">la documentación <i class="fa fa-external-link"></i></a> para más detalles. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'ID del activo',
|
||||||
'data' => 'Data',
|
'data' => 'Datos',
|
||||||
'default' => 'Predeterminado',
|
'default' => 'Predeterminado',
|
||||||
'none' => 'Ninguno',
|
'none' => 'Ninguno',
|
||||||
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
||||||
|
@ -390,7 +394,7 @@ return [
|
||||||
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
||||||
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
||||||
'groups' => 'permisos, grupos de permisos, autorización',
|
'groups' => 'permisos, grupos de permisos, autorización',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'etiquetas, código de barras, código de barra, hojas, imprimir, upc, qr, 1d, 2d',
|
||||||
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
||||||
'php_overview' => 'phpinfo, sistema, información',
|
'php_overview' => 'phpinfo, sistema, información',
|
||||||
'purge' => 'eliminar permanentemente',
|
'purge' => 'eliminar permanentemente',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Probando autenticación LDAP...',
|
'testing_authentication' => 'Probando autenticación LDAP...',
|
||||||
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Enviando mensaje de prueba a :app...',
|
'sending' => 'Enviando mensaje de prueba a :app...',
|
||||||
'success' => '¡Su integración :webhook_name funciona!',
|
'success' => '¡Su integración :webhook_name funciona!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
||||||
'error_misc' => 'Algo salió mal. :( ',
|
'error_misc' => 'Algo salió mal. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' Notificación de webhook fallida: Compruebe que la URL sigue siendo válida.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
|
@ -92,6 +92,7 @@ return [
|
||||||
'customize_report' => 'Personalizar informe',
|
'customize_report' => 'Personalizar informe',
|
||||||
'custom_report' => 'Informe personalizado de activos',
|
'custom_report' => 'Informe personalizado de activos',
|
||||||
'dashboard' => 'Tablero',
|
'dashboard' => 'Tablero',
|
||||||
|
'data_source' => 'Data Source',
|
||||||
'days' => 'días',
|
'days' => 'días',
|
||||||
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
'days_to_next_audit' => 'Días hasta la siguiente auditoría',
|
||||||
'date' => 'Fecha',
|
'date' => 'Fecha',
|
||||||
|
@ -127,6 +128,7 @@ return [
|
||||||
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@example.com)',
|
'firstname_lastname_underscore_format' => 'Nombre y apellido (jane_smith@example.com)',
|
||||||
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
'lastnamefirstinitial_format' => 'Apellido e inicial del nombre (smithj@example.com)',
|
||||||
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
'firstintial_dot_lastname_format' => 'Inicial del nombre y apellido (j.smith@ejemplo.com)',
|
||||||
|
'lastname_dot_firstinitial_format' => 'Last Name First Initial (smith.j@example.com)',
|
||||||
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
'firstname_lastname_display' => 'Nombre y apellido (Jane Smith)',
|
||||||
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
'lastname_firstname_display' => 'Apellido y nombre (Smith Jane)',
|
||||||
'name_display_format' => 'Formato para mostrar el nombre',
|
'name_display_format' => 'Formato para mostrar el nombre',
|
||||||
|
@ -216,12 +218,14 @@ return [
|
||||||
'no_results' => 'No hay resultados.',
|
'no_results' => 'No hay resultados.',
|
||||||
'no' => 'No',
|
'no' => 'No',
|
||||||
'notes' => 'Notas',
|
'notes' => 'Notas',
|
||||||
'note_added' => 'Note Added',
|
'note_added' => 'Nota agregada',
|
||||||
'add_note' => 'Add Note',
|
'options' => 'Options',
|
||||||
'note_edited' => 'Note Edited',
|
'preview' => 'Preview',
|
||||||
'edit_note' => 'Edit Note',
|
'add_note' => 'Agregar nota',
|
||||||
'note_deleted' => 'Note Deleted',
|
'note_edited' => 'Nota editada',
|
||||||
'delete_note' => 'Delete Note',
|
'edit_note' => 'Editar nota',
|
||||||
|
'note_deleted' => 'Nota eliminada',
|
||||||
|
'delete_note' => 'Borrar nota',
|
||||||
'order_number' => 'Número de orden',
|
'order_number' => 'Número de orden',
|
||||||
'only_deleted' => 'Solo activos eliminados',
|
'only_deleted' => 'Solo activos eliminados',
|
||||||
'page_menu' => 'Mostrando elementos de _MENU_',
|
'page_menu' => 'Mostrando elementos de _MENU_',
|
||||||
|
@ -561,6 +565,7 @@ return [
|
||||||
'consumables' => ':count consumible|:count consumibles',
|
'consumables' => ':count consumible|:count consumibles',
|
||||||
'components' => ':count component|:count componentes',
|
'components' => ':count component|:count componentes',
|
||||||
],
|
],
|
||||||
|
|
||||||
'more_info' => 'Más información',
|
'more_info' => 'Más información',
|
||||||
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
'quickscan_bulk_help' => 'Al marcar esta casilla se actualizará el activo para reflejar esta nueva ubicación. Dejarla sin marcar, simplemente almacenará la ubicación en el registro de auditoría. Tenga en cuenta que si este activo ya está asignado, no cambiará la ubicación de la persona, del activo o de la ubicación a la que esté asignado.',
|
||||||
'whoops' => '¡Uy!',
|
'whoops' => '¡Uy!',
|
||||||
|
@ -573,8 +578,13 @@ return [
|
||||||
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
'import_asset_tag_exists' => 'Ya existe un activo con la placa :asset_tag y no se ha solicitado una actualización. No se ha realizado ningún cambio.',
|
||||||
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
'countries_manually_entered_help' => 'Los valores con asterisco (*) fueron introducidos manualmente y no coinciden con los valores desplegables ISO 3166 existentes',
|
||||||
'accessories_assigned' => 'Accesorios asignados',
|
'accessories_assigned' => 'Accesorios asignados',
|
||||||
'user_managed_passwords' => 'Password Management',
|
'user_managed_passwords' => 'Gestión de contraseña',
|
||||||
'user_managed_passwords_disallow' => 'Disallow users from managing their own passwords',
|
'user_managed_passwords_disallow' => 'Evitar que los usuarios gestionen sus propias contraseñas',
|
||||||
'user_managed_passwords_allow' => 'Allow users to manage their own passwords',
|
'user_managed_passwords_allow' => 'Permitir a los usuarios gestionar sus propias contraseñas',
|
||||||
|
|
||||||
|
// Add form placeholders here
|
||||||
|
'placeholders' => [
|
||||||
|
'notes' => 'Add a note',
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -109,8 +109,8 @@ return [
|
||||||
'ldap_pword' => 'Contraseña de enlace LDAP',
|
'ldap_pword' => 'Contraseña de enlace LDAP',
|
||||||
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
'ldap_basedn' => 'DN del enlace base (Base Bind DN)',
|
||||||
'ldap_filter' => 'Filtro LDAP',
|
'ldap_filter' => 'Filtro LDAP',
|
||||||
'ldap_pw_sync' => 'Sincronizar contraseña del LDAP',
|
'ldap_pw_sync' => 'Cache LDAP Passwords',
|
||||||
'ldap_pw_sync_help' => 'Desmarque esta casilla si no desea mantener las contraseñas LDAP sincronizadas con las contraseñas locales. Si desactiva esta opción, los usuarios no podrán iniciar sesión si, por algún motivo, no se puede acceder al servidor LDAP.',
|
'ldap_pw_sync_help' => 'Uncheck this box if you do not wish to keep LDAP passwords cached as local hashed passwords. Disabling this means that your users may not be able to login if your LDAP server is unreachable for some reason.',
|
||||||
'ldap_username_field' => 'Campo nombre de usuario',
|
'ldap_username_field' => 'Campo nombre de usuario',
|
||||||
'ldap_lname_field' => 'Apellido',
|
'ldap_lname_field' => 'Apellido',
|
||||||
'ldap_fname_field' => 'Nombre LDAP',
|
'ldap_fname_field' => 'Nombre LDAP',
|
||||||
|
@ -326,10 +326,14 @@ return [
|
||||||
'asset_tags_help' => 'Incrementos y prefijos',
|
'asset_tags_help' => 'Incrementos y prefijos',
|
||||||
'labels' => 'Etiquetas',
|
'labels' => 'Etiquetas',
|
||||||
'labels_title' => 'Actualizar configuración de etiquetas',
|
'labels_title' => 'Actualizar configuración de etiquetas',
|
||||||
'labels_help' => 'Barcodes & label settings',
|
'labels_help' => 'Configuración de códigos de barras & etiquetas',
|
||||||
'purge_help' => 'Purgar registros eliminados',
|
'purge_help' => 'Purgar registros eliminados',
|
||||||
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
'ldap_extension_warning' => 'No parece que la extensión LDAP esté instalada o habilitada en este servidor. Todavía puede guardar su configuración, pero necesitará habilitar la extensión LDAP para PHP antes de que funcione la sincronización LDAP o el inicio de sesión.',
|
||||||
'ldap_ad' => 'LDAP/AD',
|
'ldap_ad' => 'LDAP/AD',
|
||||||
|
'ldap_test_label' => 'Test LDAP Sync',
|
||||||
|
'ldap_test_login' => ' Test LDAP Login',
|
||||||
|
'ldap_username_placeholder' => 'LDAP Username',
|
||||||
|
'ldap_password_placeholder' => 'LDAP Password',
|
||||||
'employee_number' => 'Número de empleado',
|
'employee_number' => 'Número de empleado',
|
||||||
'create_admin_user' => 'Crear un usuario ::',
|
'create_admin_user' => 'Crear un usuario ::',
|
||||||
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
'create_admin_success' => '¡Éxito! ¡Su usuario admin ha sido añadido!',
|
||||||
|
@ -355,14 +359,14 @@ return [
|
||||||
'label2_2d_type' => 'Tipo de código de barras 2D',
|
'label2_2d_type' => 'Tipo de código de barras 2D',
|
||||||
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
'label2_2d_type_help' => 'Formato para códigos de barras 2D',
|
||||||
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
'label2_2d_target' => 'Apuntamiento del código de barras 2D',
|
||||||
'label2_2d_target_help' => 'The data that will be contained in the 2D barcode',
|
'label2_2d_target_help' => 'Los datos que incluirá el código de barra 2D',
|
||||||
'label2_fields' => 'Definiciones del campo',
|
'label2_fields' => 'Definiciones del campo',
|
||||||
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
'label2_fields_help' => 'Los campos se pueden añadir, eliminar y reordenar en la columna izquierda. Para cada campo, se pueden agregar, eliminar y reordenar múltiples opciones para etiquetas y para orígenes de datos en la columna derecha.',
|
||||||
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
'help_asterisk_bold' => 'Texto introducido como <code>**texto**</code> se mostrará como negrita',
|
||||||
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
'help_blank_to_use' => 'Deje en blanco para usar el valor de <code>:setting_name</code>',
|
||||||
'help_default_will_use' => '<code>:default</code> will use the value from <code>:setting_name</code>. <br>Note that the value of the barcodes must comply with the respective barcode spec in order to be successfully generated. Please see <a href="https://snipe-it.readme.io/docs/barcodes">the documentation <i class="fa fa-external-link"></i></a> for more details. ',
|
'help_default_will_use' => '<code>:default</code> usará el valor de <code>:setting_name</code>. <br>Tenga en cuenta que el valor de los códigos de barras debe cumplir la especificación respectiva para que sean generados exitosamente. Por favor lea <a href="https://snipe-it.readme.io/docs/barcodes">la documentación <i class="fa fa-external-link"></i></a> para más detalles. ',
|
||||||
'asset_id' => 'Asset ID',
|
'asset_id' => 'ID del activo',
|
||||||
'data' => 'Data',
|
'data' => 'Datos',
|
||||||
'default' => 'Por defecto',
|
'default' => 'Por defecto',
|
||||||
'none' => 'Ninguna',
|
'none' => 'Ninguna',
|
||||||
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
'google_callback_help' => 'Esto debe introducirse como URL de devolución de llamada (callback) en la configuración de su aplicación de Google OAuth en la <strong><a href="https://console.cloud.google.com/" target="_blank">consola de desarrollador de Google <i class="fa fa-external-link" aria-hidden="true"></i></a></strong> de su organización .',
|
||||||
|
@ -390,7 +394,7 @@ return [
|
||||||
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
'brand' => 'pie de página, logotipo, impresión, tema, apariencia, encabezado, colores, color, css',
|
||||||
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
'general_settings' => 'soporte de la compañía, firma, aceptación, formato de correo electrónico, formato de nombre de usuario, imágenes, por página, miniatura, acuerdo de uso, términos y condiciones, gravatar, términos de servicio, tablero de indicadores, privacidad',
|
||||||
'groups' => 'permisos, grupos de permisos, autorización',
|
'groups' => 'permisos, grupos de permisos, autorización',
|
||||||
'labels' => 'labels, barcodes, barcode, sheets, print, upc, qr, 1d, 2d',
|
'labels' => 'etiquetas, código de barras, código de barra, hojas, imprimir, upc, qr, 1d, 2d',
|
||||||
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
'localization' => 'localización, moneda, local, ubicación, zona horaria, internacional, internacionalización, idioma, traducción',
|
||||||
'php_overview' => 'phpinfo, sistema, información',
|
'php_overview' => 'phpinfo, sistema, información',
|
||||||
'purge' => 'eliminar permanentemente',
|
'purge' => 'eliminar permanentemente',
|
||||||
|
|
|
@ -36,6 +36,9 @@ return [
|
||||||
'testing_authentication' => 'Probando autenticación LDAP...',
|
'testing_authentication' => 'Probando autenticación LDAP...',
|
||||||
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
'authentication_success' => 'Usuario autenticado contra LDAP con éxito!'
|
||||||
],
|
],
|
||||||
|
'labels' => [
|
||||||
|
'null_template' => 'Label template not found. Please select a template.',
|
||||||
|
],
|
||||||
'webhook' => [
|
'webhook' => [
|
||||||
'sending' => 'Enviando mensaje de prueba :app...',
|
'sending' => 'Enviando mensaje de prueba :app...',
|
||||||
'success' => '¡Su integración :webhook_name funciona!',
|
'success' => '¡Su integración :webhook_name funciona!',
|
||||||
|
@ -45,6 +48,7 @@ return [
|
||||||
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
'error' => 'Algo salió mal. :app respondió con: :error_message',
|
||||||
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
'error_redirect' => 'ERROR: 301/302 :endpoint devuelve una redirección. Por razones de seguridad, no seguimos redirecciones. Por favor, utilice el punto final actual.',
|
||||||
'error_misc' => 'Algo salió mal. :( ',
|
'error_misc' => 'Algo salió mal. :( ',
|
||||||
'webhook_fail' => ' webhook notification failed: Check to make sure the URL is still valid.',
|
'webhook_fail' => ' Notificación de webhook fallida: Compruebe que la URL sigue siendo válida.',
|
||||||
|
'webhook_channel_not_found' => ' webhook channel not found.'
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue