Merge remote-tracking branch 'origin/develop'
This commit is contained in:
@@ -70,7 +70,7 @@ class AppCommand extends Command
|
||||
$this->askUserEmail();
|
||||
$this->askUserPassword();
|
||||
|
||||
$this->askUserDummyData();
|
||||
$this->askUserDummyData();
|
||||
|
||||
$this->comment('');
|
||||
$this->comment('');
|
||||
@@ -256,8 +256,7 @@ class AppCommand extends Command
|
||||
{
|
||||
// Ask the user to input the user password
|
||||
$dummydata = $this->ask('Do you want to seed your database with dummy data? y/N (default is no): ');
|
||||
|
||||
$this->dummyData = ( strstr($dummydata, 'N' ) || empty($dummydata) ) ? true : false;
|
||||
$this->dummyData = (strstr($dummydata, 'y' )) ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -169,6 +169,18 @@ class AssetImportCommand extends Command {
|
||||
$user_asset_purchase_cost = '';
|
||||
}
|
||||
|
||||
// Asset Company Name
|
||||
if (array_key_exists('14',$row)) {
|
||||
if ($row[14]!='') {
|
||||
$user_asset_company_name = trim($row[14]);
|
||||
} else {
|
||||
$user_asset_company_name= '';
|
||||
}
|
||||
} else {
|
||||
$user_asset_company_name = '';
|
||||
}
|
||||
|
||||
|
||||
// A number was given instead of a name
|
||||
if (is_numeric($user_name)) {
|
||||
$this->comment('User '.$user_name.' is not a name - assume this user already exists');
|
||||
@@ -179,7 +191,7 @@ class AssetImportCommand extends Command {
|
||||
$this->comment('No user data provided - skipping user creation, just adding asset');
|
||||
$first_name = '';
|
||||
$last_name = '';
|
||||
$user_username = '';
|
||||
//$user_username = '';
|
||||
|
||||
} else {
|
||||
$user_email_array = User::generateFormattedNameFromFullName($this->option('email_format'), $user_name);
|
||||
@@ -217,6 +229,7 @@ class AssetImportCommand extends Command {
|
||||
$this->comment('Purchase Date: '.$user_asset_purchase_date);
|
||||
$this->comment('Purchase Cost: '.$user_asset_purchase_cost);
|
||||
$this->comment('Notes: '.$user_asset_notes);
|
||||
$this->comment('Company Name: '.$user_asset_company_name);
|
||||
|
||||
$this->comment('------------- Action Summary ----------------');
|
||||
|
||||
@@ -298,13 +311,13 @@ class AssetImportCommand extends Command {
|
||||
} else {
|
||||
$category = new Category();
|
||||
|
||||
$category->name = $category_name;
|
||||
$category->name = $category_name;
|
||||
$category->category_type = 'asset';
|
||||
$category->user_id = 1;
|
||||
|
||||
if ($category->save()) {
|
||||
$this->comment('Category '.$user_asset_category.' was created');
|
||||
} else {
|
||||
} else {
|
||||
$this->comment('Something went wrong! Category '.$user_asset_category.' was NOT created');
|
||||
}
|
||||
|
||||
@@ -320,7 +333,7 @@ class AssetImportCommand extends Command {
|
||||
|
||||
if ($manufacturer->save()) {
|
||||
$this->comment('Manufacturer '.$user_asset_mfgr.' was created');
|
||||
} else {
|
||||
} else {
|
||||
$this->comment('Something went wrong! Manufacturer '.$user_asset_mfgr.' was NOT created');
|
||||
}
|
||||
|
||||
@@ -339,12 +352,26 @@ class AssetImportCommand extends Command {
|
||||
|
||||
if ($asset_model->save()) {
|
||||
$this->comment('Asset Model '.$user_asset_name.' with model number '.$user_asset_modelno.' was created');
|
||||
} else {
|
||||
} else {
|
||||
$this->comment('Something went wrong! Asset Model '.$user_asset_name.' was NOT created');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Check for the asset company match and create it if it doesn't exist
|
||||
if ($company = Company::where('name', $user_asset_company_name)->first()) {
|
||||
$this->comment('Company '.$user_asset_company_name.' already exists');
|
||||
} else {
|
||||
$company = new Company();
|
||||
$company->name = e($user_asset_company_name);
|
||||
|
||||
if ($company->save()) {
|
||||
$this->comment('Company '.$user_asset_company_name.' was created');
|
||||
} else {
|
||||
$this->comment('Something went wrong! Company '.$user_asset_company_name.' was NOT created');
|
||||
}
|
||||
}
|
||||
|
||||
// Check for the asset match and create it if it doesn't exist
|
||||
if ($asset = Asset::where('asset_tag', $user_asset_tag)->first()) {
|
||||
$this->comment('The Asset with asset tag '.$user_asset_tag.' already exists');
|
||||
@@ -368,6 +395,7 @@ class AssetImportCommand extends Command {
|
||||
$asset->rtd_location_id = $location->id;
|
||||
$asset->user_id = 1;
|
||||
$asset->status_id = $status_id;
|
||||
$asset->company_id = $company->id;
|
||||
if ($user_asset_purchase_date!='') {
|
||||
$asset->purchase_date = $user_asset_purchase_date;
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ return array(
|
||||
| Application Locale
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This locale ties into the languaage files in app/lang, which contain the
|
||||
| This locale ties into the language files in app/lang, which contain the
|
||||
| language files for each translation.
|
||||
|
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v2.0.6-14',
|
||||
'hash_version' => 'v2.0.6-14-g74ed75d',
|
||||
'app_version' => 'v2.0.6-169',
|
||||
'hash_version' => 'v2.0.6-169-g4aa3768',
|
||||
);
|
||||
@@ -37,6 +37,13 @@ class AuthController extends BaseController
|
||||
$baseDn = Setting::getSettings()->ldap_basedn;
|
||||
$filterQuery = Setting::getSettings()->ldap_auth_filter_query . $username;
|
||||
$ldapversion = Setting::getSettings()->ldap_version;
|
||||
$ldap_server_cert_ignore = Setting::getSettings()->ldap_server_cert_ignore;
|
||||
|
||||
// If we are ignoring the SSL cert we need to setup the environment variable
|
||||
// before we create the connection
|
||||
if($ldap_server_cert_ignore) {
|
||||
putenv('LDAPTLS_REQCERT=never');
|
||||
}
|
||||
|
||||
// Connecting to LDAP
|
||||
$connection = ldap_connect($ldaphost) or die("Could not connect to {$ldaphost}");
|
||||
@@ -50,7 +57,7 @@ class AuthController extends BaseController
|
||||
$ldapbind = ldap_bind($connection, $ldaprdn, $ldappass);
|
||||
if ( ($results = @ldap_search($connection, $baseDn, $filterQuery)) != false ) {
|
||||
$entry = ldap_first_entry($connection, $results);
|
||||
if ( ($userDn = @ldap_get_dn($connection, $entry)) !== false ) {
|
||||
if ( ($userDn = @ldap_get_dn($connection, $entry)) != false ) {
|
||||
if( ($isBound = ldap_bind($connection, $userDn, $password)) == "true") {
|
||||
return $returnUser ?
|
||||
array_change_key_case(ldap_get_attributes($connection, $entry),CASE_LOWER)
|
||||
@@ -89,8 +96,8 @@ class AuthController extends BaseController
|
||||
$item["email"] = isset( $ldapatttibutes[$ldap_result_email][0] ) ? $ldapatttibutes[$ldap_result_email][0] : "" ;
|
||||
|
||||
//create user
|
||||
if(!empty($item["username"]) && !empty($item['email'])) {
|
||||
$pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
|
||||
if(!empty($item["username"])) {
|
||||
//$pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
|
||||
|
||||
$newuser = array(
|
||||
'first_name' => $item["firstname"],
|
||||
@@ -98,21 +105,22 @@ class AuthController extends BaseController
|
||||
'username' => $item["username"],
|
||||
'email' => $item["email"],
|
||||
'employee_num' => $item["employee_number"],
|
||||
'password' => $pass,
|
||||
'password' => Input::get("password"), //$pass,
|
||||
'activated' => 1,
|
||||
'location_id' => null,
|
||||
'permissions' => '{"user":1}',
|
||||
'permissions' => ["user" => 1], //'{"user":1}',
|
||||
'notes' => 'Imported from LDAP'
|
||||
);
|
||||
|
||||
DB::table('users')->insert($newuser);
|
||||
Sentry::createUser($newuser);
|
||||
/*DB::table('users')->insert($newuser);
|
||||
$updateuser = Sentry::findUserByLogin($item["username"]);
|
||||
$updateuser->setHasher(new Cartalyst\Sentry\Hashing\BcryptHasher);
|
||||
|
||||
// Update the user details
|
||||
$updateuser->password = $pass;
|
||||
$updateuser->password = Input::get('password');
|
||||
|
||||
// Update the user
|
||||
$updateuser->save();
|
||||
$updateuser->save(); */
|
||||
} else {
|
||||
throw new Cartalyst\Sentry\Users\UserNotFoundException();
|
||||
}
|
||||
@@ -120,7 +128,7 @@ class AuthController extends BaseController
|
||||
//$item["note"] = "<strong>created</strong>";
|
||||
$credentials = array(
|
||||
'username' => $item["username"],
|
||||
'password' => $pass,
|
||||
'password' => Input::get("password")//$pass,
|
||||
);
|
||||
return $credentials;
|
||||
}
|
||||
@@ -149,47 +157,52 @@ class AuthController extends BaseController
|
||||
}
|
||||
try {
|
||||
|
||||
/**
|
||||
* =================================================================
|
||||
* Hack in LDAP authentication
|
||||
*/
|
||||
// Should we even check for LDAP users?
|
||||
if (Setting::getSettings()->ldap_enabled=='1') {
|
||||
|
||||
// Try to get the user from the database.
|
||||
$user = (array) DB::table('users')->where('username', Input::get('username'))->first();
|
||||
//If user does not exist and authenticates sucessfully with LDAP we will create it onf the fly and sign in with default permissions
|
||||
if(!$user){
|
||||
if($userattr = $this->ldap(Input::get('username'), Input::get('password'),true) ){
|
||||
LOG::debug("Creating LDAP authenticated user.");
|
||||
LOG::debug("LDAP is enabled.");
|
||||
// Check if the user exists in the database
|
||||
$user = User::where('username','=',Input::get('username'))->whereNull('deleted_at')->first();
|
||||
LOG::debug("Sentry lookup complete");
|
||||
|
||||
|
||||
// The user does not exist in the database. Try to get them from LDAP.
|
||||
// If user does not exist and authenticates sucessfully with LDAP we
|
||||
// will create it on the fly and sign in with default permissions
|
||||
if(!$user){
|
||||
LOG::debug("Local user ".Input::get('username')." does not exist");
|
||||
if($userattr = $this->ldap(Input::get('username'), Input::get('password'),true) ){
|
||||
LOG::debug("Creating local user from authenticated LDAP user.");
|
||||
$credentials = $this->createUserFromLdap($userattr);
|
||||
Sentry::authenticate($credentials, Input::get('remember-me', 0));
|
||||
} else {
|
||||
LOG::debug("User did not authenticate correctly against LDAP. No local user was created.");
|
||||
}
|
||||
|
||||
// If the user exists and they were imported from LDAP already
|
||||
} else {
|
||||
|
||||
}
|
||||
LOG::debug("Local user ".Input::get('username')." exists in database. Authenticating existing user against LDAP.");
|
||||
|
||||
if ($this->ldap(Input::get('username'), Input::get('password')) ) {
|
||||
LOG::debug("Valid LDAP login. Updating the local data.");
|
||||
$sentryuser=Sentry::findUserById($user->id); //need the Sentry object, not the Eloquent object, to access critical password hashing functions
|
||||
$sentryuser->password = Input::get('password');
|
||||
$sentryuser->save();
|
||||
|
||||
} else {
|
||||
LOG::debug("User did not authenticate correctly against LDAP. Local user was not updated.");
|
||||
}// End LDAP auth
|
||||
|
||||
} // End if(!user)
|
||||
|
||||
// NO LDAP enabled - just try to login the user normally
|
||||
}
|
||||
|
||||
else if ($user && strpos($user["notes"],'LDAP') !== false) {
|
||||
LOG::debug("Authenticating user against LDAP.");
|
||||
if( $this->ldap(Input::get('username'), Input::get('password')) ) {
|
||||
LOG::debug("valid login");
|
||||
$pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
|
||||
$user = Sentry::findUserByLogin( Input::get('username') );
|
||||
$user->password = $pass;
|
||||
$user->save();
|
||||
$credentials = array(
|
||||
'username' => Input::get('username'),
|
||||
'password' => $pass,
|
||||
);
|
||||
Sentry::authenticate($credentials, Input::get('remember-me', 0));
|
||||
}
|
||||
else {
|
||||
throw new Cartalyst\Sentry\Users\UserNotFoundException();
|
||||
}
|
||||
}
|
||||
/* ============================================================== */
|
||||
else {
|
||||
LOG::debug("Authenticating user against database.");
|
||||
// Try to log the user in
|
||||
Sentry::authenticate(Input::only('username', 'password'), Input::get('remember-me', 0));
|
||||
LOG::debug("Authenticating user against database.");
|
||||
// Try to log the user in
|
||||
if (!Sentry::authenticate(Input::only('username', 'password'), Input::get('remember-me', 0))) {
|
||||
LOG::debug("Local authentication failed.");
|
||||
throw new Cartalyst\Sentry\Users\UserNotFoundException();
|
||||
}
|
||||
|
||||
// Get the page we were before
|
||||
@@ -200,13 +213,25 @@ class AuthController extends BaseController
|
||||
|
||||
// Redirect to the users page
|
||||
return Redirect::to($redirect)->with('success', Lang::get('auth/message.signin.success'));
|
||||
|
||||
} catch (Cartalyst\Sentry\Users\UserNotFoundException $e) {
|
||||
LOG::debug("Local authentication: User ".Input::get('username')." not found");
|
||||
$this->messageBag->add('username', Lang::get('auth/message.account_not_found'));
|
||||
|
||||
} catch (Cartalyst\Sentry\Users\WrongPasswordException $e) {
|
||||
LOG::debug("Local authentication: Password for ".Input::get('username')." is incorrect.");
|
||||
$this->messageBag->add('username', Lang::get('auth/message.account_not_found'));
|
||||
|
||||
} catch (Cartalyst\Sentry\Users\UserNotActivatedException $e) {
|
||||
LOG::debug("Local authentication: User not activated");
|
||||
$this->messageBag->add('username', Lang::get('auth/message.account_not_activated'));
|
||||
|
||||
} catch (Cartalyst\Sentry\Throttling\UserSuspendedException $e) {
|
||||
LOG::debug("Local authentication: Account suspended");
|
||||
$this->messageBag->add('username', Lang::get('auth/message.account_suspended'));
|
||||
|
||||
} catch (Cartalyst\Sentry\Throttling\UserBannedException $e) {
|
||||
LOG::debug("Local authentication: Account banned.");
|
||||
$this->messageBag->add('username', Lang::get('auth/message.account_banned'));
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ use DB;
|
||||
use Slack;
|
||||
use Setting;
|
||||
use Config;
|
||||
use Mail;
|
||||
|
||||
class ViewAssetsController extends AuthorizedController
|
||||
{
|
||||
@@ -65,46 +66,57 @@ class ViewAssetsController extends AuthorizedController
|
||||
else {
|
||||
|
||||
$logaction = new Actionlog();
|
||||
$logaction->asset_id = $asset->id;
|
||||
$logaction->asset_type = 'hardware';
|
||||
$logaction->created_at = date("Y-m-d h:i:s");
|
||||
$logaction->asset_id = $data['asset_id'] = $asset->id;
|
||||
$logaction->asset_type = $data['asset_type'] = 'hardware';
|
||||
$logaction->created_at = $data['requested_date'] = date("Y-m-d h:i:s");
|
||||
|
||||
if ($user->location_id) {
|
||||
$logaction->location_id = $user->location_id;
|
||||
}
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->user_id = $data['user_id'] = Sentry::getUser()->id;
|
||||
$log = $logaction->logaction('requested');
|
||||
|
||||
$data['requested_by'] = $user->fullName();
|
||||
$data['asset_name'] = $asset->showAssetName();
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
if (($settings->alert_email!='') && ($settings->alerts_enabled=='1') && (!Config::get('app.lock_passwords'))) {
|
||||
Mail::send('emails.asset-requested', $data, function ($m) use ($user, $settings) {
|
||||
$m->to($settings->alert_email, $settings->site_name);
|
||||
$m->subject('Asset Requested');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'REQUESTED:',
|
||||
'value' => strtoupper($logaction->asset_type).' asset <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.$asset->showAssetName().'> requested by <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.Sentry::getUser()->fullName().'>.'
|
||||
]
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
]
|
||||
])->send('Asset Requested');
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
} catch (Exception $e) {
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'REQUESTED:',
|
||||
'value' => strtoupper($logaction->asset_type).' asset <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.$asset->showAssetName().'> requested by <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.Sentry::getUser()->fullName().'>.'
|
||||
]
|
||||
|
||||
}
|
||||
]
|
||||
])->send('Asset Requested');
|
||||
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return Redirect::route('requestable-assets')->with('success')->with('success', Lang::get('admin/hardware/message.requests.success'));
|
||||
}
|
||||
@@ -121,6 +133,12 @@ class ViewAssetsController extends AuthorizedController
|
||||
// Redirect to the asset management page
|
||||
return Redirect::to('account')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$user = Sentry::getUser();
|
||||
|
||||
if ($user->id != $findlog->checkedout_to) {
|
||||
return Redirect::to('account/view-assets')->with('error', Lang::get('admin/users/message.error.incorrect_user_accepted'));
|
||||
}
|
||||
|
||||
// Asset
|
||||
if (($findlog->asset_id!='') && ($findlog->asset_type=='hardware')) {
|
||||
@@ -172,6 +190,11 @@ class ViewAssetsController extends AuthorizedController
|
||||
}
|
||||
|
||||
$user = Sentry::getUser();
|
||||
|
||||
if ($user->id != $findlog->checkedout_to) {
|
||||
return Redirect::to('account/view-assets')->with('error', Lang::get('admin/users/message.error.incorrect_user_accepted'));
|
||||
}
|
||||
|
||||
$logaction = new Actionlog();
|
||||
|
||||
if (Input::get('asset_acceptance')=='accepted') {
|
||||
|
||||
@@ -170,7 +170,13 @@ class AccessoriesController extends AdminController
|
||||
|
||||
// Update the accessory data
|
||||
$accessory->name = e(Input::get('name'));
|
||||
$accessory->location_id = e(Input::get('location_id'));
|
||||
|
||||
if (e(Input::get('location_id')) == '') {
|
||||
$accessory->location_id = NULL;
|
||||
} else {
|
||||
$accessory->location_id = e(Input::get('location_id'));
|
||||
}
|
||||
|
||||
$accessory->category_id = e(Input::get('category_id'));
|
||||
$accessory->company_id = Company::getIdForCurrentUser(Input::get('company_id'));
|
||||
$accessory->order_number = e(Input::get('order_number'));
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
|
||||
foreach($maintenances as $maintenance) {
|
||||
|
||||
$actions = '<nobr><a href="'.route('update/asset_maintenance', $maintenance->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/statuslabel', $maintenance->id).'" data-content="'.Lang::get('admin/asset_maintenances/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($maintenance->title).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a></nobr>';
|
||||
$actions = '<nobr><a href="'.route('update/asset_maintenance', $maintenance->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/asset_maintenance', $maintenance->id).'" data-content="'.Lang::get('admin/asset_maintenances/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($maintenance->title).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a></nobr>';
|
||||
|
||||
if (($maintenance->cost) && ($maintenance->asset->assetloc) && ($maintenance->asset->assetloc->currency!='')) {
|
||||
$maintenance_cost = $maintenance->asset->assetloc->currency.$maintenance->cost;
|
||||
@@ -107,7 +107,7 @@
|
||||
'cost' => $maintenance_cost,
|
||||
'asset_maintenance_type' => e($maintenance->asset_maintenance_type),
|
||||
'start_date' => $maintenance->start_date,
|
||||
'time' => $maintenance->asset_maintenance_time,
|
||||
'asset_maintenance_time' => $maintenance->asset_maintenance_time,
|
||||
'completion_date' => $maintenance->completion_date,
|
||||
'actions' => $actions,
|
||||
'companyName' => is_null($company) ? '' : $company->name
|
||||
@@ -233,6 +233,16 @@
|
||||
$assetMaintenance->completion_date = null;
|
||||
}
|
||||
|
||||
if (( $assetMaintenance->completion_date !== "" )
|
||||
&& ( $assetMaintenance->completion_date !== "0000-00-00" )
|
||||
&& ( $assetMaintenance->start_date !== "" )
|
||||
&& ( $assetMaintenance->start_date !== "0000-00-00" )
|
||||
) {
|
||||
$startDate = Carbon::parse( $assetMaintenance->start_date );
|
||||
$completionDate = Carbon::parse( $assetMaintenance->completion_date );
|
||||
$assetMaintenance->asset_maintenance_time = $completionDate->diffInDays( $startDate );
|
||||
}
|
||||
|
||||
// Was the asset maintenance created?
|
||||
if ($assetMaintenance->save()) {
|
||||
|
||||
|
||||
@@ -31,7 +31,9 @@ use Paginator;
|
||||
use Manufacturer; //for embedded-create
|
||||
use Artisan;
|
||||
use Symfony\Component\Console\Output\BufferedOutput;
|
||||
use CustomField;
|
||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||
use Models;
|
||||
|
||||
|
||||
class AssetsController extends AdminController
|
||||
@@ -99,9 +101,25 @@ class AssetsController extends AdminController
|
||||
{
|
||||
// create a new model instance
|
||||
$asset = new Asset();
|
||||
$asset->model()->associate(Model::find(e(Input::get('model_id'))));
|
||||
|
||||
//attempt to validate
|
||||
$validator = Validator::make(Input::all(), $asset->validationRules());
|
||||
$input=Input::all();
|
||||
|
||||
$rules=$asset->validationRules();
|
||||
if($asset->model->fieldset)
|
||||
{
|
||||
foreach($asset->model->fieldset->fields AS $field) {
|
||||
$input[$field->db_column_name()]=$input['fields'][$field->db_column_name()];
|
||||
$asset->{$field->db_column_name()}=$input[$field->db_column_name()];
|
||||
}
|
||||
$rules+=$asset->model->fieldset->validation_rules();
|
||||
unset($input['fields']);
|
||||
}
|
||||
|
||||
$validator = Validator::make($input, $rules );
|
||||
$custom_errors=[];
|
||||
|
||||
|
||||
if ($validator->fails())
|
||||
{
|
||||
@@ -160,7 +178,7 @@ class AssetsController extends AdminController
|
||||
}
|
||||
|
||||
$checkModel = Config::get('app.url').'/api/models/'.e(Input::get('model_id')).'/check';
|
||||
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
//$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
|
||||
// Save the asset data
|
||||
$asset->name = e(Input::get('name'));
|
||||
@@ -269,8 +287,25 @@ class AssetsController extends AdminController
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
}
|
||||
|
||||
$input=Input::all();
|
||||
// return "INPUT IS: <pre>".print_r($input,true)."</pre>";
|
||||
$rules=$asset->validationRules($assetId);
|
||||
if($asset->model->fieldset)
|
||||
{
|
||||
foreach($asset->model->fieldset->fields AS $field) {
|
||||
$input[$field->db_column_name()]=$input['fields'][$field->db_column_name()];
|
||||
$asset->{$field->db_column_name()}=$input[$field->db_column_name()];
|
||||
}
|
||||
$rules+=$asset->model->fieldset->validation_rules();
|
||||
unset($input['fields']);
|
||||
}
|
||||
|
||||
//return "Rules: <pre>".print_r($rules,true)."</pre>";
|
||||
|
||||
//attempt to validate
|
||||
$validator = Validator::make(Input::all(), $asset->validationRules($assetId));
|
||||
$validator = Validator::make($input, $rules );
|
||||
|
||||
$custom_errors=[];
|
||||
|
||||
if ($validator->fails())
|
||||
{
|
||||
@@ -290,7 +325,7 @@ class AssetsController extends AdminController
|
||||
if (e(Input::get('warranty_months')) == '') {
|
||||
$asset->warranty_months = NULL;
|
||||
} else {
|
||||
$asset->warranty_months = e(Input::get('warranty_months'));
|
||||
$asset->warranty_months = e(Input::get('warranty_months'));
|
||||
}
|
||||
|
||||
if (e(Input::get('purchase_cost')) == '') {
|
||||
@@ -324,7 +359,7 @@ class AssetsController extends AdminController
|
||||
}
|
||||
|
||||
$checkModel = Config::get('app.url').'/api/models/'.e(Input::get('model_id')).'/check';
|
||||
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
//$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
|
||||
// Update the asset data
|
||||
$asset->name = e(Input::get('name'));
|
||||
@@ -363,6 +398,7 @@ class AssetsController extends AdminController
|
||||
|
||||
|
||||
// Redirect to the asset management page with error
|
||||
/** @noinspection PhpUnreachableStatementInspection Known to be unreachable but kept following discussion: https://github.com/snipe/snipe-it/pull/1423 */
|
||||
return Redirect::to("hardware/$assetId/edit")->with('error', Lang::get('admin/hardware/message.update.error'));
|
||||
|
||||
}
|
||||
@@ -464,17 +500,15 @@ class AssetsController extends AdminController
|
||||
|
||||
|
||||
if (Input::get('checkout_at')!= date("Y-m-d")){
|
||||
$checkout_at = e(Input::get('checkout_at')).' 00:00:00';
|
||||
$checkout_at = e(Input::get('checkout_at')).' 00:00:00';
|
||||
} else {
|
||||
$checkout_at = date("Y-m-d H:i:s");
|
||||
}
|
||||
|
||||
if (Input::has('expected_checkin')) {
|
||||
if (Input::get('expected_checkin')!= date("Y-m-d")){
|
||||
$expected_checkin = e(Input::get('expected_checkin'));
|
||||
}
|
||||
} else {
|
||||
$expected_checkin = null;
|
||||
$expected_checkin = e(Input::get('expected_checkin'));
|
||||
} else {
|
||||
$expected_checkin = '';
|
||||
}
|
||||
|
||||
|
||||
@@ -544,6 +578,8 @@ class AssetsController extends AdminController
|
||||
$asset->assigned_to = NULL;
|
||||
$asset->accepted = NULL;
|
||||
|
||||
$asset->expected_checkin = NULL;
|
||||
$asset->last_checkout = NULL;
|
||||
|
||||
// Was the asset updated?
|
||||
if($asset->save()) {
|
||||
@@ -1056,43 +1092,63 @@ class AssetsController extends AdminController
|
||||
public function postBulkEdit($assets = null)
|
||||
{
|
||||
|
||||
if (!Company::isCurrentUserAuthorized()) {
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
}
|
||||
else if (!Input::has('edit_asset')) {
|
||||
return Redirect::back()->with('error', 'No assets selected');
|
||||
} else {
|
||||
$asset_raw_array = Input::get('edit_asset');
|
||||
foreach ($asset_raw_array as $asset_id => $value) {
|
||||
$asset_ids[] = $asset_id;
|
||||
if (!Company::isCurrentUserAuthorized()) {
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
|
||||
}
|
||||
} elseif (!Input::has('edit_asset')) {
|
||||
return Redirect::back()->with('error', 'No assets selected');
|
||||
|
||||
}
|
||||
} else {
|
||||
$asset_raw_array = Input::get('edit_asset');
|
||||
foreach ($asset_raw_array as $asset_id => $value) {
|
||||
$asset_ids[] = $asset_id;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Input::has('bulk_actions')) {
|
||||
|
||||
|
||||
// Create labels
|
||||
if (Input::get('bulk_actions')=='labels') {
|
||||
$assets = Asset::find($asset_ids);
|
||||
$assetcount = count($assets);
|
||||
$count = 0;
|
||||
$settings = Setting::getSettings();
|
||||
if ($settings->qr_code=='1') {
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
return View::make('backend/hardware/labels')->with('assets',$assets)->with('settings',$settings)->with('count',$count);
|
||||
$assets = Asset::find($asset_ids);
|
||||
$assetcount = count($assets);
|
||||
$count = 0;
|
||||
|
||||
return View::make('backend/hardware/labels')->with('assets',$assets)->with('settings',$settings)->with('count',$count);
|
||||
|
||||
} else {
|
||||
// QR codes are not enabled
|
||||
return Redirect::to("hardware")->with('error','Barcodes are not enabled in Admin > Settings');
|
||||
}
|
||||
|
||||
} elseif (Input::get('bulk_actions')=='delete') {
|
||||
|
||||
|
||||
$assets = Asset::with('assigneduser','assetloc')->find($asset_ids);
|
||||
return View::make('backend/hardware/bulk-delete')->with('assets',$assets);
|
||||
|
||||
// Bulk edit
|
||||
} elseif (Input::get('bulk_actions')=='edit') {
|
||||
|
||||
$assets = Input::get('edit_asset');
|
||||
$supplier_list = array('' => '') + suppliersList();
|
||||
$statuslabel_list = array('' => '') + statusLabelList();
|
||||
$location_list = array('' => '') + locationsList();
|
||||
$models_list = array('' => '') + modelList();
|
||||
$companies_list = array('' => '') + array('clear' => Lang::get('general.remove_company')) + companyList();
|
||||
|
||||
$supplier_list = array('' => '') + Supplier::orderBy('name', 'asc')->lists('name', 'id');
|
||||
$statuslabel_list = array('' => '') + Statuslabel::lists('name', 'id');
|
||||
$location_list = array('' => '') + Location::lists('name', 'id');
|
||||
|
||||
return View::make('backend/hardware/bulk')->with('assets',$assets)->with('supplier_list',$supplier_list)->with('statuslabel_list',$statuslabel_list)->with('location_list',$location_list);
|
||||
return View::make('backend/hardware/bulk')
|
||||
->with('assets',$assets)
|
||||
->with('supplier_list',$supplier_list)
|
||||
->with('statuslabel_list',$statuslabel_list)
|
||||
->with('location_list',$location_list)
|
||||
->with('models_list',$models_list)
|
||||
->with('companies_list',$companies_list);
|
||||
|
||||
|
||||
}
|
||||
@@ -1115,14 +1171,14 @@ class AssetsController extends AdminController
|
||||
public function postBulkSave($assets = null)
|
||||
{
|
||||
|
||||
if (!Company::isCurrentUserAuthorized()) {
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
}
|
||||
else if (Input::has('bulk_edit')) {
|
||||
if (!Company::isCurrentUserAuthorized()) {
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
|
||||
} elseif (Input::has('bulk_edit')) {
|
||||
|
||||
$assets = Input::get('bulk_edit');
|
||||
|
||||
if ( (Input::has('purchase_date')) || (Input::has('purchase_cost')) || (Input::has('supplier_id')) || (Input::has('order_number')) || (Input::has('warranty_months')) || (Input::has('rtd_location_id')) || (Input::has('requestable')) || (Input::has('status_id')) ) {
|
||||
if ( (Input::has('purchase_date')) || (Input::has('purchase_cost')) || (Input::has('supplier_id')) || (Input::has('order_number')) || (Input::has('warranty_months')) || (Input::has('rtd_location_id')) || (Input::has('requestable')) || (Input::has('company_id')) || (Input::has('status_id')) || (Input::has('model_id')) ) {
|
||||
|
||||
foreach ($assets as $key => $value) {
|
||||
|
||||
@@ -1140,6 +1196,19 @@ class AssetsController extends AdminController
|
||||
$update_array['supplier_id'] = e(Input::get('supplier_id'));
|
||||
}
|
||||
|
||||
if (Input::has('model_id')) {
|
||||
$update_array['model_id'] = e(Input::get('model_id'));
|
||||
}
|
||||
|
||||
if (Input::has('company_id')) {
|
||||
if (Input::get('company_id')=="clear") {
|
||||
$update_array['company_id'] = null;
|
||||
} else {
|
||||
$update_array['company_id'] = e(Input::get('company_id'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (Input::has('order_number')) {
|
||||
$update_array['order_number'] = e(Input::get('order_number'));
|
||||
}
|
||||
@@ -1156,11 +1225,11 @@ class AssetsController extends AdminController
|
||||
$update_array['status_id'] = e(Input::get('status_id'));
|
||||
}
|
||||
|
||||
if (Input::get('requestable')=='1') {
|
||||
if (Input::get('requestable')=='1') {
|
||||
$update_array['requestable'] = 1;
|
||||
} else {
|
||||
$update_array['requestable'] = 0;
|
||||
}
|
||||
$update_array['requestable'] = 0;
|
||||
}
|
||||
|
||||
|
||||
if (DB::table('assets')
|
||||
@@ -1197,12 +1266,61 @@ class AssetsController extends AdminController
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Save bulk edits
|
||||
*
|
||||
* @return View
|
||||
**/
|
||||
public function postBulkDelete($assets = null)
|
||||
{
|
||||
|
||||
if (!Company::isCurrentUserAuthorized()) {
|
||||
return Redirect::to('hardware')->with('error', Lang::get('general.insufficient_permissions'));
|
||||
} elseif (Input::has('bulk_edit')) {
|
||||
//$assets = Input::get('bulk_edit');
|
||||
$assets = Asset::find(Input::get('bulk_edit'));
|
||||
//print_r($assets);
|
||||
|
||||
|
||||
foreach ($assets as $asset) {
|
||||
//echo '<li>'.$asset;
|
||||
$update_array['deleted_at'] = date('Y-m-d h:i:s');
|
||||
$update_array['assigned_to'] = NULL;
|
||||
|
||||
if (DB::table('assets')
|
||||
->where('id', $asset->id)
|
||||
->update($update_array)) {
|
||||
|
||||
$logaction = new Actionlog();
|
||||
$logaction->asset_id = $asset->id;
|
||||
$logaction->asset_type = 'hardware';
|
||||
$logaction->created_at = date("Y-m-d H:i:s");
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$log = $logaction->logaction('deleted');
|
||||
|
||||
}
|
||||
|
||||
} // endforeach
|
||||
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.delete.success'));
|
||||
|
||||
// no values given, nothing to update
|
||||
} else {
|
||||
return Redirect::to("hardware")->with('info',Lang::get('admin/hardware/message.delete.nothing_updated'));
|
||||
|
||||
}
|
||||
|
||||
// Something weird happened here - default to hardware
|
||||
return Redirect::to("hardware");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getDatatable($status = null)
|
||||
{
|
||||
|
||||
|
||||
$assets = Asset::select('assets.*')->with('model','assigneduser','assigneduser.userloc','assetstatus','defaultLoc','assetlog','model','model.category','assetstatus','assetloc', 'company')
|
||||
$assets = Asset::select('assets.*')->with('model','assigneduser','assigneduser.userloc','assetstatus','defaultLoc','assetlog','model','model.category','model.fieldset','assetstatus','assetloc', 'company')
|
||||
->Hardware();
|
||||
|
||||
if (Input::has('search')) {
|
||||
@@ -1266,6 +1384,12 @@ class AssetsController extends AdminController
|
||||
'image',
|
||||
];
|
||||
|
||||
$all_custom_fields=CustomField::all(); //used as a 'cache' of custom fields throughout this page load
|
||||
|
||||
foreach($all_custom_fields AS $field) {
|
||||
$allowed_columns[]=$field->db_column_name();
|
||||
}
|
||||
|
||||
$order = Input::get('order') === 'asc' ? 'asc' : 'desc';
|
||||
$sort = in_array(Input::get('sort'), $allowed_columns) ? Input::get('sort') : 'asset_tag';
|
||||
|
||||
@@ -1315,7 +1439,7 @@ class AssetsController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
$rows[] = array(
|
||||
$row = array(
|
||||
'checkbox' =>'<div class="text-center"><input type="checkbox" name="edit_asset['.$asset->id.']" class="one_required"></div>',
|
||||
'id' => $asset->id,
|
||||
'image' => (($asset->image) && ($asset->image!='')) ? '<img src="'.Config::get('app.url').'/uploads/assets/'.$asset->image.'" height=50 width=50>' : ((($asset->model) && ($asset->model->image!='')) ? '<img src="'.Config::get('app.url').'/uploads/models/'.$asset->model->image.'" height=40 width=50>' : ''),
|
||||
@@ -1328,13 +1452,17 @@ class AssetsController extends AdminController
|
||||
'category' => (($asset->model) && ($asset->model->category)) ? $asset->model->category->name : '',
|
||||
'eol' => ($asset->eol_date()) ? $asset->eol_date() : '',
|
||||
'notes' => $asset->notes,
|
||||
'order_number' => ($asset->order_number!='') ? '<a href="../hardware/?order_number='.$asset->order_number.'">'.$asset->order_number.'</a>' : '',
|
||||
'order_number' => ($asset->order_number!='') ? '<a href="'.Config::get('app.url').'/hardware?order_number='.$asset->order_number.'">'.$asset->order_number.'</a>' : '',
|
||||
'last_checkout' => ($asset->last_checkout!='') ? $asset->last_checkout : '',
|
||||
'expected_checkin' => ($asset->expected_checkin!='') ? $asset->expected_checkin : '',
|
||||
'change' => ($inout) ? $inout : '',
|
||||
'actions' => ($actions) ? $actions : '',
|
||||
'companyName' => is_null($asset->company) ? '' : e($asset->company->name)
|
||||
);
|
||||
);
|
||||
foreach($all_custom_fields AS $field) {
|
||||
$row[$field->db_column_name()]=$asset->{$field->db_column_name()};
|
||||
}
|
||||
$rows[]=$row;
|
||||
}
|
||||
|
||||
$data = array('total'=>$assetCount, 'rows'=>$rows);
|
||||
|
||||
@@ -250,12 +250,11 @@ class CategoriesController extends AdminController
|
||||
|
||||
foreach ($categories as $category) {
|
||||
$actions = '<a href="'.route('update/category', $category->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/category', $category->id).'" data-content="'.Lang::get('admin/categories/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($category->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
|
||||
|
||||
$rows[] = array(
|
||||
'id' => $category->id,
|
||||
'name' => link_to('/admin/settings/categories/'.$category->id.'/view', $category->name) ,
|
||||
'category_type' => ucwords($category->category_type),
|
||||
'count' => ($category->category_type=='asset') ? $category->assetscount() : $category->accessoriescount(),
|
||||
'count' => $category->itemCount(),
|
||||
'acceptance' => ($category->require_acceptance=='1') ? '<i class="fa fa-check"></i>' : '',
|
||||
//EULA is still not working correctly
|
||||
'eula' => ($category->getEula()) ? '<i class="fa fa-check"></i>' : '',
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
<?php namespace Controllers\Admin;
|
||||
|
||||
use View;
|
||||
use CustomFieldset;
|
||||
use CustomField;
|
||||
use Input;
|
||||
use Validator;
|
||||
use Redirect;
|
||||
use Model;
|
||||
use Lang;
|
||||
|
||||
class CustomFieldsController extends \BaseController {
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
//
|
||||
return View::make("backend.custom_fields.index")->with("custom_fieldsets",CustomFieldset::all())->with("custom_fields",CustomField::all());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
return View::make("backend.custom_fields.create");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return Response
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
//
|
||||
$cfset=new CustomFieldset(["name" => Input::get("name")]);
|
||||
$validator=Validator::make(Input::all(),$cfset->rules);
|
||||
if($validator->passes()) {
|
||||
$cfset->save();
|
||||
return Redirect::route("admin.custom_fields.show",[$cfset->id])->with('success',Lang::get('admin/custom_fields/message.fieldset.create.success'));
|
||||
} else {
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
}
|
||||
|
||||
public function associate($id)
|
||||
{
|
||||
|
||||
$set = CustomFieldset::find($id);
|
||||
|
||||
foreach($set->fields AS $field) {
|
||||
if($field->id == Input::get('field_id')) {
|
||||
return Redirect::route("admin.custom_fields.show",[$id])->withInput()->withErrors(['field_id' => Lang::get('admin/custom_fields/message.field.already_added')]);
|
||||
}
|
||||
}
|
||||
|
||||
$results=$set->fields()->attach(Input::get('field_id'),["required" => (Input::get('required') == "on"),"order" => Input::get('order')]);
|
||||
|
||||
return Redirect::route("admin.custom_fields.show",[$id])->with("success",Lang::get('admin/custom_fields/message.field.create.assoc_success'));
|
||||
}
|
||||
|
||||
public function createField()
|
||||
{
|
||||
return View::make("backend.custom_fields.create_field");
|
||||
}
|
||||
|
||||
public function storeField()
|
||||
{
|
||||
$field=new CustomField(["name" => Input::get("name"),"element" => Input::get("element")]);
|
||||
if(!in_array(Input::get('format'),["ALPHA","NUMERIC","MAC","IP"])) {
|
||||
$field->format=Input::get("custom_format");
|
||||
} else {
|
||||
$field->format=Input::get('format');
|
||||
}
|
||||
|
||||
$validator=Validator::make(Input::all(),$field->rules);
|
||||
if($validator->passes()) {
|
||||
$results=$field->save();
|
||||
//return "postCreateField: $results";
|
||||
if ($results) {
|
||||
return Redirect::route("admin.custom_fields.index")->with("success",Lang::get('admin/custom_fields/message.field.create.success'));
|
||||
} else {
|
||||
return Redirect::back()->withInput()->with('error', Lang::get('admin/custom_fields/message.field.create.error'));
|
||||
}
|
||||
} else {
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteField($field_id)
|
||||
{
|
||||
$field=CustomField::find($field_id);
|
||||
|
||||
if($field->fieldset->count()>0) {
|
||||
return Redirect::back()->withErrors(['message' => "Field is in-use"]);
|
||||
} else {
|
||||
$field->delete();
|
||||
return Redirect::route("admin.custom_fields.index")->with("success",Lang::get('admin/custom_fields/message.field.delete.success'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//$id=$parameters[0];
|
||||
$cfset=CustomFieldset::find($id);
|
||||
|
||||
//print_r($parameters);
|
||||
//
|
||||
$custom_fields_list=["" => "Add New Field to Fieldset"] + CustomField::lists("name","id");
|
||||
// print_r($custom_fields_list);
|
||||
$maxid=0;
|
||||
foreach($cfset->fields AS $field) {
|
||||
// print "Looking for: ".$field->id;
|
||||
if($field->pivot->order > $maxid) {
|
||||
$maxid=$field->pivot->order;
|
||||
}
|
||||
if(isset($custom_fields_list[$field->id])) {
|
||||
// print "Found ".$field->id.", so removing it.<br>";
|
||||
unset($custom_fields_list[$field->id]);
|
||||
}
|
||||
}
|
||||
|
||||
return View::make("backend.custom_fields.show")->with("custom_fieldset",$cfset)->with("maxid",$maxid+1)->with("custom_fields_list",$custom_fields_list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function update($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
$fieldset=CustomFieldset::find($id);
|
||||
|
||||
$models=Model::where("fieldset_id","=",$id);
|
||||
if($models->count()==0) {
|
||||
$fieldset->delete();
|
||||
return Redirect::route("admin.custom_fields.index")->with("success",Lang::get('admin/custom_fields/message.fieldset.delete.success'));
|
||||
}
|
||||
else {
|
||||
return Redirect::route("admin.custom_fields.index")->with("error",Lang::get('admin/custom_fields/message.fieldset.delete.in_use')); //->with("models",$models);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -143,6 +143,7 @@ class LocationsController extends AdminController
|
||||
}
|
||||
|
||||
// Redirect to the location create page
|
||||
/** @noinspection PhpUnreachableStatementInspection Known to be unreachable but kept following discussion: https://github.com/snipe/snipe-it/pull/1423 */
|
||||
return Redirect::to('admin/settings/locations/create')->with('error', Lang::get('admin/locations/message.create.error'));
|
||||
}
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ class ModelsController extends AdminController
|
||||
if ($validator->fails())
|
||||
{
|
||||
// The given data did not pass validation
|
||||
return Redirect::back()->withInput()->with('error', Lang::get('admin/models/message.create.duplicate_set'));;
|
||||
return Redirect::back()->withInput()->with('error', Lang::get('admin/models/message.create.duplicate_set'));
|
||||
}
|
||||
|
||||
|
||||
@@ -116,7 +116,11 @@ class ModelsController extends AdminController
|
||||
$model->manufacturer_id = e(Input::get('manufacturer_id'));
|
||||
$model->category_id = e(Input::get('category_id'));
|
||||
$model->user_id = Sentry::getId();
|
||||
$model->show_mac_address = e(Input::get('show_mac_address', '0'));
|
||||
if (Input::get('custom_fieldset')!='') {
|
||||
$model->fieldset_id = e(Input::get('custom_fieldset'));
|
||||
}
|
||||
|
||||
//$model->show_mac_address = e(Input::get('show_mac_address', '0'));
|
||||
|
||||
|
||||
if (Input::file('image')) {
|
||||
@@ -239,7 +243,9 @@ class ModelsController extends AdminController
|
||||
$model->modelno = e(Input::get('modelno'));
|
||||
$model->manufacturer_id = e(Input::get('manufacturer_id'));
|
||||
$model->category_id = e(Input::get('category_id'));
|
||||
$model->show_mac_address = e(Input::get('show_mac_address', '0'));
|
||||
if (Input::get('custom_fieldset')!='') {
|
||||
$model->fieldset_id = e(Input::get('custom_fieldset'));
|
||||
}
|
||||
|
||||
if (Input::file('image')) {
|
||||
$image = Input::file('image');
|
||||
@@ -375,6 +381,14 @@ class ModelsController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
public function getCustomFields($modelId)
|
||||
{
|
||||
$model=Model::find($modelId);
|
||||
return View::make("backend.models.custom_fields_form")->with("model",$model);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get the JSON response for the bootstrap table list view
|
||||
*
|
||||
|
||||
@@ -162,7 +162,7 @@ class ReportsController extends AdminController
|
||||
|
||||
if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id > 0 )) {
|
||||
$location = Location::find( $asset->assigneduser->location_id );
|
||||
if ($location->name) {
|
||||
if ($location) {
|
||||
$row[] = $location->name;
|
||||
} else {
|
||||
$row[] = '';
|
||||
@@ -474,23 +474,25 @@ class ReportsController extends AdminController
|
||||
}
|
||||
}
|
||||
if (e( Input::get( 'location' ) ) == '1') {
|
||||
if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id > 0 )) {
|
||||
$show_loc = '';
|
||||
if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id !='' )) {
|
||||
$location = Location::find( $asset->assigneduser->location_id );
|
||||
if ($location) {
|
||||
$row[] = $location->name;
|
||||
$show_loc .= $location->name;
|
||||
} else {
|
||||
$row[] = '';
|
||||
$show_loc .= 'User location '.$asset->assigneduser->location_id.' is invalid';
|
||||
}
|
||||
} elseif ($asset->rtd_location_id) {
|
||||
} elseif ($asset->rtd_location_id!='') {
|
||||
$location = Location::find( $asset->rtd_location_id );
|
||||
if ($location) {
|
||||
$row[] = $location->name;
|
||||
$show_loc .= $location->name;
|
||||
} else {
|
||||
$row[] = '';
|
||||
$show_loc .= 'Default location '.$asset->rtd_location_id.' is invalid';
|
||||
}
|
||||
} else {
|
||||
$row[] = ''; // Empty string if location is not set
|
||||
}
|
||||
|
||||
$row[] = $show_loc;
|
||||
|
||||
}
|
||||
if (e( Input::get( 'assigned_to' ) ) == '1') {
|
||||
if ($asset->assigned_to > 0) {
|
||||
|
||||
@@ -155,6 +155,7 @@ class SettingsController extends AdminController
|
||||
$setting->slack_botname = e(Input::get('slack_botname'));
|
||||
$setting->ldap_enabled = Input::get('ldap_enabled', '0');
|
||||
$setting->ldap_server = Input::get('ldap_server');
|
||||
$setting->ldap_server_cert_ignore = Input::get('ldap_server_cert_ignore', false);
|
||||
$setting->ldap_uname = Input::get('ldap_uname');
|
||||
$setting->ldap_pword = Crypt::encrypt(Input::get('ldap_pword'));
|
||||
$setting->ldap_basedn = Input::get('ldap_basedn');
|
||||
|
||||
@@ -536,6 +536,10 @@ class UsersController extends AdminController {
|
||||
unset($user_raw_array[$key]);
|
||||
}
|
||||
|
||||
if (!Sentry::getUser()->isSuperUser()) {
|
||||
return Redirect::route('users')->with('error', Lang::get('admin/users/message.insufficient_permissions'));
|
||||
}
|
||||
|
||||
if (!Config::get('app.lock_passwords')) {
|
||||
|
||||
$assets = Asset::whereIn('assigned_to', $user_raw_array)->get();
|
||||
@@ -587,6 +591,7 @@ class UsersController extends AdminController {
|
||||
return Redirect::route('users')->with('error', 'Bulk delete is not enabled in this installation');
|
||||
}
|
||||
|
||||
/** @noinspection PhpUnreachableStatementInspection Known to be unreachable but kept following discussion: https://github.com/snipe/snipe-it/pull/1423 */
|
||||
return Redirect::route('users')->with('error', 'An error has occurred');
|
||||
}
|
||||
}
|
||||
@@ -889,8 +894,8 @@ class UsersController extends AdminController {
|
||||
$sort = e(Input::get('sort'));
|
||||
}
|
||||
|
||||
$users = User::select(array('users.id','users.email','users.username','users.location_id','users.manager_id','users.first_name','users.last_name','users.created_at','users.notes','users.company_id'))
|
||||
->with('assets','accessories','consumables','licenses','manager','sentryThrottle','groups','userloc','company');
|
||||
$users = User::select(array('users.id','users.employee_num','users.email','users.username','users.location_id','users.manager_id','users.first_name','users.last_name','users.created_at','users.notes','users.company_id', 'users.deleted_at'))
|
||||
->with('assets','accessories','consumables','licenses','manager','sentryThrottle','groups','userloc','company');
|
||||
$users = Company::scopeCompanyables($users);
|
||||
|
||||
switch ($status) {
|
||||
@@ -916,7 +921,7 @@ class UsersController extends AdminController {
|
||||
default:
|
||||
$allowed_columns =
|
||||
[
|
||||
'last_name','first_name','email','username',
|
||||
'last_name','first_name','email','username','employee_num',
|
||||
'assets','accessories', 'consumables','licenses','groups'
|
||||
];
|
||||
|
||||
@@ -972,6 +977,7 @@ class UsersController extends AdminController {
|
||||
'location' => ($user->userloc) ? $user->userloc->name : '',
|
||||
'manager' => ($user->manager) ? '<a title="' . $user->manager->fullName() . '" href="users/' . $user->manager->id . '/view">' . $user->manager->fullName() . '</a>' : '',
|
||||
'assets' => $user->assets->count(),
|
||||
'employee_num' => $user->employee_num,
|
||||
'licenses' => $user->licenses->count(),
|
||||
'accessories' => $user->accessories->count(),
|
||||
'consumables' => $user->consumables->count(),
|
||||
@@ -1197,6 +1203,13 @@ class UsersController extends AdminController {
|
||||
$ldap_result_active_flag = Setting::getSettings()->ldap_active_flag_field;
|
||||
$ldap_result_emp_num = Setting::getSettings()->ldap_emp_num_field;
|
||||
$ldap_result_email = Setting::getSettings()->ldap_email_field;
|
||||
$ldap_server_cert_ignore = Setting::getSettings()->ldap_server_cert_ignore;
|
||||
|
||||
// If we are ignoring the SSL cert we need to setup the environment variable
|
||||
// before we create the connection
|
||||
if($ldap_server_cert_ignore) {
|
||||
putenv('LDAPTLS_REQCERT=never');
|
||||
}
|
||||
|
||||
// Connect to LDAP server
|
||||
$ldapconn = @ldap_connect($url);
|
||||
@@ -1216,6 +1229,8 @@ class UsersController extends AdminController {
|
||||
|
||||
// Binding to ldap server
|
||||
$ldapbind = @ldap_bind($ldapconn, $username, $password);
|
||||
|
||||
Log::error(ldap_errno($ldapconn));
|
||||
if (!$ldapbind) {
|
||||
return Redirect::route('users')->with('error', Lang::get('admin/users/message.error.ldap_could_not_bind').ldap_error($ldapconn));
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ class CreateModelsTable extends Migration
|
||||
$table->integer('manufacturer_id')->nullable();
|
||||
$table->integer('category_id')->nullable();
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ class CreateCategoriesTable extends Migration
|
||||
$table->string('name');
|
||||
$table->integer('parent')->default(0);
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ class CreateManufacturersTable extends Migration
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ class CreateAssetsTable extends Migration
|
||||
$table->text('notes');
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ class CreateLicensesTable extends Migration
|
||||
$table->text('notes');
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ class CreateDepreciationsTable extends Migration
|
||||
$table->integer('months');
|
||||
$table->timestamps();
|
||||
$table->integer('user_id');
|
||||
$table->engine = 'InnoDB';
|
||||
//$table->foreign('user_id')->references('id')->on('users');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ class CreateLocationsTable extends Migration
|
||||
$table->string('country',2);
|
||||
$table->timestamps();
|
||||
$table->integer('user_id');
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ class CreateHistoryTable extends Migration
|
||||
$table->integer('location_id')->nullable;
|
||||
$table->timestamps();
|
||||
$table->integer('user_id');
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ class CreateSettingsTable extends Migration
|
||||
$table->string('option_value');
|
||||
$table->timestamps();
|
||||
$table->integer('user_id');
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ class CreateStatusLabels extends Migration
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ class AddUploadsTable extends Migration
|
||||
$table->string('filenotes')->nullable;
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ class ReCreateLicensesTable extends Migration
|
||||
$table->integer('depreciation_id');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ class CreateLicenseSeatsTable extends Migration
|
||||
$table->integer('user_id');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@ class CreateNewLicensesTable extends Migration
|
||||
$table->integer('depreciation_id');
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ class AddSuppliers extends Migration
|
||||
$table->timestamps();
|
||||
$table->integer('user_id');
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -29,15 +29,15 @@ class AddEulaFields extends Migration {
|
||||
});
|
||||
|
||||
|
||||
Schema::create('requested_assets', function ($table) {
|
||||
$table->increments('id');
|
||||
$table->integer('asset_id')->default(NULL);
|
||||
$table->integer('user_id')->default(NULL);
|
||||
$table->dateTime('accepted_at')->nullable()->default(NULL);
|
||||
$table->dateTime('denied_at')->nullable()->default(NULL);
|
||||
$table->string('notes')->default(NULL);
|
||||
$table->timestamps();
|
||||
});
|
||||
Schema::create('requested_assets', function ($table) {
|
||||
$table->increments('id');
|
||||
$table->integer('asset_id')->default(NULL);
|
||||
$table->integer('user_id')->default(NULL);
|
||||
$table->dateTime('accepted_at')->nullable()->default(NULL);
|
||||
$table->dateTime('denied_at')->nullable()->default(NULL);
|
||||
$table->string('notes')->default(NULL);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,6 +22,7 @@ class AddAccessoriesTable extends Migration {
|
||||
$table->boolean('requestable')->default(0);
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
|
||||
@@ -17,12 +17,13 @@ class CreateConsumables extends Migration {
|
||||
$table->increments('id');
|
||||
$table->string('name')->nullable()->default(NULL);
|
||||
$table->integer('category_id')->nullable()->default(NULL);
|
||||
$table->integer('location_id')->nullable()->default(NULL);
|
||||
$table->integer('location_id')->nullable()->default(NULL);
|
||||
$table->integer('user_id')->nullable()->default(NULL);
|
||||
$table->integer('qty')->default(0);
|
||||
$table->boolean('requestable')->default(0);
|
||||
$table->timestamps();
|
||||
$table->softDeletes();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
//use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateCustomFieldsTable extends Migration
|
||||
{
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('custom_fields', function ($table) {
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->string('format');
|
||||
$table->string('element');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::drop('custom_fields');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateCustomFieldCustomFieldset extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('custom_field_custom_fieldset', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('custom_field_id');
|
||||
$table->integer('custom_fieldset_id');
|
||||
|
||||
$table->integer('order');
|
||||
$table->boolean('required');
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('custom_field_custom_fieldset');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CreateCustomFieldsets extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('custom_fieldsets', function(Blueprint $table)
|
||||
{
|
||||
$table->increments('id');
|
||||
$table->string('name');
|
||||
$table->engine = 'InnoDB';
|
||||
//
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::drop('custom_fieldsets');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddFieldsetIdToAssets extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('models', function (Blueprint $table) {
|
||||
$table->integer('fieldset_id')->nullable();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('models',function (Blueprint $table) {
|
||||
$table->dropColumn('fieldset_id');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class MigrateMacAddress extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
DB::getDoctrineSchemaManager()->getDatabasePlatform()->registerDoctrineTypeMapping('enum', 'string');
|
||||
|
||||
$f2=new CustomFieldset(['name' => "Asset with MAC Address"]);
|
||||
if(!$f2->save()) {
|
||||
throw new Exception("couldn't save customfieldset");
|
||||
}
|
||||
$macid=DB::table('custom_fields')->insertGetId([
|
||||
'name' => "MAC Address",
|
||||
'format' => CustomField::$PredefinedFormats['MAC'],
|
||||
'element'=>'text']);
|
||||
if(!$macid) {
|
||||
throw new Exception("Can't save MAC Custom field: $macid");
|
||||
}
|
||||
|
||||
$f2->fields()->attach($macid,['required' => false, 'order' => 1]);
|
||||
Model::where(["show_mac_address" => true])->update(["fieldset_id"=>$f2->id]);
|
||||
|
||||
DB::statement("ALTER TABLE assets CHANGE mac_address _snipeit_mac_address varchar(255)");
|
||||
|
||||
$ans=Schema::table("models",function (Blueprint $table) {
|
||||
$table->renameColumn('show_mac_address','deprecated_mac_address');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
$f=CustomFieldset::where(["name" => "Asset with MAC Address"])->first();
|
||||
$f->fields()->delete();
|
||||
$f->delete();
|
||||
Schema::table("models",function(Blueprint $table) {
|
||||
$table->renameColumn("deprecated_mac_address","show_mac_address");
|
||||
});
|
||||
DB::statement("ALTER TABLE assets CHANGE _snipeit_mac_address mac_address varchar(255)");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,6 +17,7 @@ class CreateCompaniesTable extends Migration {
|
||||
$table->increments('id');
|
||||
$table->string('name')->unique();
|
||||
$table->timestamps();
|
||||
$table->engine = 'InnoDB';
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class AddCompanyIdToConsumablesTable extends Migration {
|
||||
Schema::table('consumables', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('company_id')->unsigned()->nullable();
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
//$table->foreign('company_id')->references('id')->on('companies');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AddCompanyIdToConsumablesTable extends Migration {
|
||||
{
|
||||
Schema::table('consumables', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('consumables_company_id_foreign');
|
||||
//$table->dropForeign('consumables_company_id_foreign');
|
||||
$table->dropColumn('company_id');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class AddCompanyIdToAccessoriesTable extends Migration {
|
||||
Schema::table('accessories', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('company_id')->unsigned()->nullable();
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
//$table->foreign('company_id')->references('id')->on('companies');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AddCompanyIdToAccessoriesTable extends Migration {
|
||||
{
|
||||
Schema::table('accessories', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('accessories_company_id_foreign');
|
||||
//$table->dropForeign('accessories_company_id_foreign');
|
||||
$table->dropColumn('company_id');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class AddCompanyIdToUsersTable extends Migration {
|
||||
Schema::table('users', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('company_id')->unsigned()->nullable();
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
//$table->foreign('company_id')->references('id')->on('companies');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AddCompanyIdToUsersTable extends Migration {
|
||||
{
|
||||
Schema::table('users', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('users_company_id_foreign');
|
||||
//$table->dropForeign('users_company_id_foreign');
|
||||
$table->dropColumn('company_id');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class AddCompanyIdToLicensesTable extends Migration {
|
||||
Schema::table('licenses', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('company_id')->unsigned()->nullable();
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
//$table->foreign('company_id')->references('id')->on('companies');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AddCompanyIdToLicensesTable extends Migration {
|
||||
{
|
||||
Schema::table('licenses', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('licenses_company_id_foreign');
|
||||
//$table->dropForeign('licenses_company_id_foreign');
|
||||
$table->dropColumn('company_id');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ class AddCompanyIdToAssetsTable extends Migration {
|
||||
Schema::table('assets', function(Blueprint $table)
|
||||
{
|
||||
$table->integer('company_id')->unsigned()->nullable();
|
||||
$table->foreign('company_id')->references('id')->on('companies');
|
||||
//$table->foreign('company_id')->references('id')->on('companies');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AddCompanyIdToAssetsTable extends Migration {
|
||||
{
|
||||
Schema::table('assets', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('assets_company_id_foreign');
|
||||
// $table->dropForeign('assets_company_id_foreign');
|
||||
$table->dropColumn('company_id');
|
||||
});
|
||||
}
|
||||
|
||||
@@ -13,30 +13,30 @@ class RemoveFkCompanyId extends Migration {
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::table('users', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('users_company_id_foreign');
|
||||
});
|
||||
|
||||
Schema::table('accessories', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('accessories_company_id_foreign');
|
||||
});
|
||||
|
||||
Schema::table('assets', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('assets_company_id_foreign');
|
||||
});
|
||||
|
||||
Schema::table('consumables', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('consumables_company_id_foreign');
|
||||
});
|
||||
|
||||
Schema::table('licenses', function(Blueprint $table)
|
||||
{
|
||||
$table->dropForeign('licenses_company_id_foreign');
|
||||
});
|
||||
// Schema::table('users', function(Blueprint $table)
|
||||
// {
|
||||
// $table->dropForeign('users_company_id_foreign');
|
||||
// });
|
||||
//
|
||||
// Schema::table('accessories', function(Blueprint $table)
|
||||
// {
|
||||
// $table->dropForeign('accessories_company_id_foreign');
|
||||
// });
|
||||
//
|
||||
// Schema::table('assets', function(Blueprint $table)
|
||||
// {
|
||||
// $table->dropForeign('assets_company_id_foreign');
|
||||
// });
|
||||
//
|
||||
// Schema::table('consumables', function(Blueprint $table)
|
||||
// {
|
||||
// $table->dropForeign('consumables_company_id_foreign');
|
||||
// });
|
||||
//
|
||||
// Schema::table('licenses', function(Blueprint $table)
|
||||
// {
|
||||
// $table->dropForeign('licenses_company_id_foreign');
|
||||
// });
|
||||
|
||||
|
||||
}
|
||||
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddLdapServerCertIgnoreToSettingsTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('settings', function(Blueprint $table)
|
||||
{
|
||||
$table->boolean('ldap_server_cert_ignore')->default(FALSE);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('settings', function(Blueprint $table)
|
||||
{
|
||||
$table->dropColumn('ldap_server_cert_ignore');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
+28
-6
@@ -5,13 +5,16 @@
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
function ParseFloat($floatString){
|
||||
|
||||
// use comma for thousands until local info is property used
|
||||
$LocaleInfo = localeconv();
|
||||
$floatString = str_replace("," , "", $floatString);
|
||||
$floatString = str_replace($LocaleInfo["decimal_point"] , ".", $floatString);
|
||||
return floatval($floatString);
|
||||
if(!function_exists("ParseFloat")) {
|
||||
//this may be only necessary to run tests?
|
||||
function ParseFloat($floatString){
|
||||
// use comma for thousands until local info is property used
|
||||
$LocaleInfo = localeconv();
|
||||
$floatString = str_replace("," , "", $floatString);
|
||||
$floatString = str_replace($LocaleInfo["decimal_point"] , ".", $floatString);
|
||||
return floatval($floatString);
|
||||
}
|
||||
}
|
||||
|
||||
function modelList() {
|
||||
@@ -23,6 +26,14 @@ function modelList() {
|
||||
return $model_list;
|
||||
}
|
||||
|
||||
function companyList() {
|
||||
$company_list = array('' => '') + DB::table('companies')
|
||||
->orderBy('name', 'asc')
|
||||
->lists('name', 'id');
|
||||
return $company_list;
|
||||
}
|
||||
|
||||
|
||||
function categoryList() {
|
||||
$category_list = array('' => '') + DB::table('categories')
|
||||
->whereNull('deleted_at')
|
||||
@@ -86,6 +97,17 @@ function usersList() {
|
||||
return $users_list;
|
||||
}
|
||||
|
||||
function customFieldsetList() {
|
||||
$customfields=CustomFieldset::lists('name','id');
|
||||
return array('' => Lang::get('admin/models/general.no_custom_field')) + $customfields;
|
||||
}
|
||||
|
||||
function predefined_formats() {
|
||||
$keys=array_keys(CustomField::$PredefinedFormats);
|
||||
$stuff=array_combine($keys,$keys);
|
||||
return $stuff+["" => "Custom Format..."];
|
||||
}
|
||||
|
||||
function barcodeDimensions ($barcode_type = 'QRCODE') {
|
||||
if ($barcode_type == 'C128') {
|
||||
$size['height'] = '-1';
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Bulk Update Assets',
|
||||
'bulk_update_help' => 'This form allows you to update multiple assets at once. Only fill in the fields you need to change. Any fields left blank will remain unchanged. ',
|
||||
'bulk_update_warn' => 'You are about to edit the properties of :asset_count assets.',
|
||||
|
||||
@@ -52,7 +52,12 @@ return array(
|
||||
'checkin' => array(
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid.. Please try again.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'restore' => 'Restore Model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'view_deleted' => 'View Deleted',
|
||||
'view_models' => 'View Models',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -30,6 +30,9 @@ return array(
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'حدث خطأ أثناء استيراد المستخدمين. حاول مرة أخرى.',
|
||||
'asset_already_accepted' => 'هذا الجهاز تم قبوله مسبقاً.',
|
||||
'accept_or_decline' => 'You must either accept or decline this asset.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Could not connect to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
'ldap_could_not_bind' => 'Could not bind to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server: ',
|
||||
'ldap_could_not_search' => 'Could not search the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
'activity_report' => 'Activity Report',
|
||||
'address' => 'العنوان',
|
||||
'admin' => 'الإدارة',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'كل الأصول',
|
||||
'all' => 'الكل',
|
||||
'archived' => 'Archived',
|
||||
@@ -102,9 +103,10 @@
|
||||
'processing' => 'Processing',
|
||||
'profile' => 'ملفك الشخصي',
|
||||
'qty' => 'QTY',
|
||||
'quanitity' => 'Quanitity',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'جاهزة للتوزيع',
|
||||
'recent_activity' => 'Recent Activity',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'التقارير',
|
||||
'requested' => 'Requested',
|
||||
'save' => 'حفظ',
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Accessory does not exist.',
|
||||
'does_not_exist' => 'Аксесоарът на съществува.',
|
||||
'assoc_users' => 'От този аксесоар са предадени :count броя на потребителите. Моля впишете обратно нови или върнати и опитайте отново.',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Accessory was not created, please try again.',
|
||||
'success' => 'Accessory created successfully.'
|
||||
'error' => 'Аксесоарът не беше създаден. Моля опитайте отново.',
|
||||
'success' => 'Аксесоарът създаден успешно.'
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Accessory was not updated, please try again',
|
||||
'success' => 'Accessory updated successfully.'
|
||||
'error' => 'Аксесоарът не беше обновен. Моля опитайте отново.',
|
||||
'success' => 'Аксесоарът обновен успешно.'
|
||||
),
|
||||
|
||||
'delete' => array(
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Масово обновяване на активи',
|
||||
'bulk_update_help' => 'Тук можете да обновите множество активи едновременно. Попълнете единствено полетата, които желаете да промените. Всички празни полета няма да бъдат променени.',
|
||||
'bulk_update_warn' => 'Ще бъдат променени записите за :asset_count актива.',
|
||||
|
||||
@@ -52,6 +52,11 @@ return array(
|
||||
'error' => 'Активът не беше вписан. Моля опитайте отново.',
|
||||
'success' => 'Активът вписан успешно.',
|
||||
'user_does_not_exist' => 'Невалиден потребител. Моля опитайте отново.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -18,7 +18,7 @@ return array(
|
||||
'serial' => 'Сериен номер',
|
||||
'status' => 'Статус',
|
||||
'title' => 'Актив ',
|
||||
'image' => 'Device Image',
|
||||
'image' => 'Изображение на устройството',
|
||||
'days_without_acceptance' => 'Дни без да е предаден'
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'Моделът беше изтрит. <a href="/hardware/models/:model_id/restore">Възстановяване</a>.',
|
||||
'deleted' => 'Моделът беше изтрит. <a href="/hardware/models/:model_id/restore">Възстановяване</a>.',
|
||||
'restore' => 'Възстановяване на модел',
|
||||
'show_mac_address' => 'Визуализиране на поле за MAC адрес в активите за този модел',
|
||||
'show_mac_address' => 'Визуализиране на поле за MAC адрес в активите за този модел',
|
||||
'view_deleted' => 'Преглед на изтритите',
|
||||
'view_models' => 'Преглед на моделите',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -26,27 +26,30 @@ return array(
|
||||
'header_color' => 'Цвят на хедъра',
|
||||
'info' => 'Тези настройки позволяват да конфигурирате различни аспекти на Вашата инсталация.',
|
||||
'laravel' => 'Версия на Laravel',
|
||||
'ldap_enabled' => 'LDAP enabled',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
'ldap_filter' => 'LDAP Filter',
|
||||
'ldap_username_field' => 'Username Field',
|
||||
'ldap_lname_field' => 'Last Name',
|
||||
'ldap_fname_field' => 'LDAP First Name',
|
||||
'ldap_auth_filter_query' => 'LDAP Authentication query',
|
||||
'ldap_version' => 'LDAP Version',
|
||||
'ldap_active_flag' => 'LDAP Active Flag',
|
||||
'ldap_emp_num' => 'LDAP Employee Number',
|
||||
'ldap_email' => 'LDAP Email',
|
||||
'ldap_enabled' => 'LDAP включен',
|
||||
'ldap_integration' => 'LDAP интеграция',
|
||||
'ldap_settings' => 'LDAP настройки',
|
||||
'ldap_server' => 'LDAP сървър',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP потребител за връзка',
|
||||
'ldap_pword' => 'LDAP парола на потребител за връзка',
|
||||
'ldap_basedn' => 'Базов DN',
|
||||
'ldap_filter' => 'LDAP филтър',
|
||||
'ldap_username_field' => 'Поле за потребителско име',
|
||||
'ldap_lname_field' => 'Фамилия',
|
||||
'ldap_fname_field' => 'LDAP собствено име',
|
||||
'ldap_auth_filter_query' => 'LDAP оторизационна заявка',
|
||||
'ldap_version' => 'LDAP версия',
|
||||
'ldap_active_flag' => 'LDAP флаг за активност',
|
||||
'ldap_emp_num' => 'LDAP номер на служител',
|
||||
'ldap_email' => 'LDAP електронна поща',
|
||||
'load_remote_text' => 'Отдалечени скриптове',
|
||||
'load_remote_help_text' => 'Тази Snipe-IT инсталация може да зарежда и изпълнява външни скриптове.',
|
||||
'logo' => 'Лого',
|
||||
'full_multiple_companies_support_help_text' => 'Restricting users (including admins) assigned to companies to their company\'s assets.',
|
||||
'full_multiple_companies_support_text' => 'Full Multiple Companies Support',
|
||||
'full_multiple_companies_support_help_text' => 'Ограничаване на потребителите (включително административните) до активите на собствената им компания.',
|
||||
'full_multiple_companies_support_text' => 'Поддръжка на множество компании',
|
||||
'optional' => 'незадължително',
|
||||
'per_page' => 'Резултати на страница',
|
||||
'php' => 'PHP версия',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'Проблем при зареждането на потребителите. Моля опитайте отново.',
|
||||
'asset_already_accepted' => 'Този актив е вече приет.',
|
||||
'accept_or_decline' => 'Трябва да приемете или да откажете този актив.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Проблем при комуникацията с LDAP сървъра. Моля прегледайте конфигурацията на LDAP.<br/>Грешка от LDAP сървъра: ',
|
||||
'ldap_could_not_bind' => 'Проблем при връзката с LDAP сървъра. Моля прегледайте конфигурацията на LDAP.<br/>Грешка от LDAP сървъра: ',
|
||||
'ldap_could_not_search' => 'Проблем при търсенето в LDAP сървъра. Моля прегледайте конфигурацията на LDAP.<br/>Грешка от LDAP сървъра: ',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
'activity_report' => 'Справка за дейностите',
|
||||
'address' => 'Aдрес',
|
||||
'admin' => 'Администриране',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'Всички активи',
|
||||
'all' => 'Всички',
|
||||
'archived' => 'Архивирани',
|
||||
@@ -30,8 +31,8 @@
|
||||
'checkin_from' => 'Форма за вписване',
|
||||
'checkout' => 'Изписване',
|
||||
'city' => 'Град',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'companies' => 'Компании',
|
||||
'company' => 'Компания',
|
||||
'consumable' => 'Консуматив',
|
||||
'consumables' => 'Консумативи',
|
||||
'country' => 'Държава',
|
||||
@@ -68,7 +69,7 @@
|
||||
'asset_maintenance_report' => 'Справка за поддръжка на активи',
|
||||
'asset_maintenances' => 'Поддръжки на активи',
|
||||
'item' => 'Информация',
|
||||
'insufficient_permissions' => 'Insufficient permissions!',
|
||||
'insufficient_permissions' => 'Нямате необходимите права!',
|
||||
'last' => 'Последна',
|
||||
'last_name' => 'Фамилия',
|
||||
'license' => 'Лиценз',
|
||||
@@ -102,9 +103,10 @@
|
||||
'processing' => 'Обработка',
|
||||
'profile' => 'Вашият профил',
|
||||
'qty' => 'Количество',
|
||||
'quanitity' => 'Количество',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'Готово за предоставяне',
|
||||
'recent_activity' => 'Последни действия',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'Справки',
|
||||
'requested' => 'Изискан',
|
||||
'save' => 'Запис',
|
||||
@@ -143,5 +145,5 @@
|
||||
'years' => 'години',
|
||||
'yes' => 'Да',
|
||||
'zip' => 'Пощенски код',
|
||||
'noimage' => 'No image uploaded or image not found.',
|
||||
'noimage' => 'Липсва изображение или не е качено.',
|
||||
];
|
||||
|
||||
@@ -5,14 +5,14 @@ return array(
|
||||
'about_accessories_text' => 'Příslušenství je cokoliv, co předáte uživatelům, ale nemá to sérivoé číslo (nebo to neevidujete). Např. myš, klávesnice.',
|
||||
'accessory_category' => 'Kategorie příslušenství',
|
||||
'accessory_name' => 'Název příslušenství',
|
||||
'cost' => 'Purchase Cost',
|
||||
'cost' => 'Pořizovací cena',
|
||||
'create' => 'Vytvoř příslušenství',
|
||||
'date' => 'Purchase Date',
|
||||
'date' => 'Datum pořízení',
|
||||
'eula_text' => 'Kategorie EULA',
|
||||
'eula_text_help' => 'Toto pole umožňuje upravit EULA pro různé druhy majetku. Pokud máte pouze jeden typ pro všechen majetek, můžete zaškrtnout položku níže pro použití jako výchozí.',
|
||||
'require_acceptance' => 'Požadovat potvrzení převzetí majetku v této kategorii.',
|
||||
'no_default_eula' => 'Žádná primární EULA. Přidat novou v Nastavení.',
|
||||
'order' => 'Order Number',
|
||||
'order' => 'Číslo objednávky',
|
||||
'qty' => 'Množství',
|
||||
'total' => 'CELKEM',
|
||||
'remaining' => 'Dostupný',
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Accessory does not exist.',
|
||||
'does_not_exist' => 'Doplněk neexistuje.',
|
||||
'assoc_users' => 'Tato kategorie má nyní :count položek k předání uživatelům. Zkontrolujte převzetí příslušenství a zkuste to znovu. ',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Accessory was not created, please try again.',
|
||||
'success' => 'Accessory created successfully.'
|
||||
'error' => 'Doplněk nebyl vytvořen, prosím zkuste to znovu.',
|
||||
'success' => 'Doplněk byl úspěšně vytvořen.'
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Accessory was not updated, please try again',
|
||||
'success' => 'Accessory updated successfully.'
|
||||
'error' => 'Doplněk nebyl upraven, prosím zkuste to znovu',
|
||||
'success' => 'Doplněk byl úspěšně upraven.'
|
||||
),
|
||||
|
||||
'delete' => array(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'dl_csv' => 'Download CSV',
|
||||
'dl_csv' => 'Stáhnout CSV',
|
||||
'eula_text' => 'EULA',
|
||||
'id' => 'ID',
|
||||
'require_acceptance' => 'Přijetí',
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'asset_maintenance_type' => 'Maintenance Type',
|
||||
'title' => 'Title',
|
||||
'asset_maintenance_type' => 'Druh údržby',
|
||||
'title' => 'Název',
|
||||
'start_date' => 'Začátek',
|
||||
'completion_date' => 'Completed',
|
||||
'completion_date' => 'Dokončeno',
|
||||
'cost' => 'Cena',
|
||||
'is_warranty' => 'Warranty Improvement',
|
||||
'asset_maintenance_time' => 'Days',
|
||||
'is_warranty' => 'Rozšíření záruky',
|
||||
'asset_maintenance_time' => 'Dnů',
|
||||
'notes' => 'Poznámky',
|
||||
'update' => 'Update',
|
||||
'create' => 'Create'
|
||||
'update' => 'Aktualizace',
|
||||
'create' => 'Vytvořit'
|
||||
];
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'asset_maintenances' => 'Asset Maintenances',
|
||||
'edit' => 'Edit Asset Maintenance',
|
||||
'delete' => 'Delete Asset Maintenance',
|
||||
'view' => 'View Asset Maintenance Details',
|
||||
'asset_maintenances' => 'Záznamy o údržbě zařízení',
|
||||
'edit' => 'Upravit záznam o údržbě zařízení',
|
||||
'delete' => 'Odstranit záznam o údržbě zařízení',
|
||||
'view' => 'Zobrazit podrobnosti o údržbě zařízení',
|
||||
'repair' => 'Oprava',
|
||||
'maintenance' => 'Údržba',
|
||||
'upgrade' => 'Upgradovat'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Asset Maintenance',
|
||||
'title' => 'Údržba zařízení',
|
||||
'asset_name' => 'Název majetku',
|
||||
'supplier_name' => 'Dodavatel',
|
||||
'is_warranty' => 'Záruka',
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Hromadná aktualizace majetku',
|
||||
'bulk_update_help' => 'Tento formulář umožňuje hromadnou editaci majetku. Vyplňte pouze položky, které chcete změnit. Jakékoliv prázné položky zůstanou nezměněny. ',
|
||||
'bulk_update_warn' => 'Budou se editovat vlastnosti :asset_count assets.',
|
||||
|
||||
@@ -52,7 +52,12 @@ return array(
|
||||
'checkin' => array(
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid.. Please try again.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'Model byl vymazán. <a href="/hardware/models/:model_id/restore">Klikněte sem pro jeho obnovení</a>.',
|
||||
'deleted' => 'Model byl vymazán. <a href="/hardware/models/:model_id/restore">Klikněte sem pro jeho obnovení</a>.',
|
||||
'restore' => 'Obnovení Modelu',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'view_deleted' => 'Zobrazit smazané',
|
||||
'view_models' => 'Zobrazit Modely',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -30,6 +30,9 @@ return array(
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
'asset_already_accepted' => 'This asset has already been accepted.',
|
||||
'accept_or_decline' => 'You must either accept or decline this asset.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Could not connect to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
'ldap_could_not_bind' => 'Could not bind to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server: ',
|
||||
'ldap_could_not_search' => 'Could not search the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
|
||||
@@ -4,7 +4,7 @@ return array(
|
||||
|
||||
'activated' => 'Aktivní',
|
||||
'allow' => 'Povolit',
|
||||
'checkedout' => 'Assets',
|
||||
'checkedout' => 'Zařízení',
|
||||
'created_at' => 'Vytvořeno',
|
||||
'createuser' => 'Nový uživatel',
|
||||
'deny' => 'Zakázat',
|
||||
@@ -25,8 +25,8 @@ return array(
|
||||
'password_confirm' => 'Potvrzení hesla',
|
||||
'password' => 'Heslo',
|
||||
'phone' => 'Telefon',
|
||||
'show_current' => 'Show Current Users',
|
||||
'show_deleted' => 'Show Deleted Users',
|
||||
'show_current' => 'Zobraz aktuální uživatele',
|
||||
'show_deleted' => 'Zobraz smazané uživatele',
|
||||
'title' => 'Title',
|
||||
'updateuser' => 'Update User',
|
||||
'username' => 'Uživatelské jméno',
|
||||
|
||||
@@ -8,7 +8,7 @@ return array(
|
||||
'delete' => 'Smazat',
|
||||
'edit' => 'Upravit',
|
||||
'restore' => 'Obnovit',
|
||||
'request' => 'Request',
|
||||
'request' => 'Požadavek',
|
||||
'submit' => 'Odeslat',
|
||||
'upload' => 'Nahrát',
|
||||
|
||||
|
||||
+15
-13
@@ -3,11 +3,12 @@
|
||||
return [
|
||||
'accessories' => 'Příslušenství',
|
||||
'accessory' => 'Příslušenství',
|
||||
'accessory_report' => 'Accessory Report',
|
||||
'accessory_report' => 'Zpráva o doplňcích',
|
||||
'action' => 'Akce',
|
||||
'activity_report' => 'Report aktivity',
|
||||
'address' => 'Adresa',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'Všechna zařízení',
|
||||
'all' => 'Vše',
|
||||
'archived' => 'Archivováno',
|
||||
@@ -30,10 +31,10 @@
|
||||
'checkin_from' => 'Převzít od',
|
||||
'checkout' => 'Výdej',
|
||||
'city' => 'Město',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'consumable' => 'Consumable',
|
||||
'consumables' => 'Consumables',
|
||||
'companies' => 'Firmy',
|
||||
'company' => 'Společnost',
|
||||
'consumable' => 'Spotřební materiál',
|
||||
'consumables' => 'Spotřební materiál',
|
||||
'country' => 'Země',
|
||||
'create' => 'Vytvořit nové',
|
||||
'created_asset' => 'vytvořit majetek',
|
||||
@@ -64,11 +65,11 @@
|
||||
'image_delete' => 'Smazat obrázek',
|
||||
'image_upload' => 'Nahrát obrázek',
|
||||
'import' => 'Import',
|
||||
'asset_maintenance' => 'Asset Maintenance',
|
||||
'asset_maintenance_report' => 'Asset Maintenance Report',
|
||||
'asset_maintenances' => 'Asset Maintenances',
|
||||
'asset_maintenance' => 'Údržba zařízení',
|
||||
'asset_maintenance_report' => 'Zpráva o údržbě zařízení',
|
||||
'asset_maintenances' => 'Záznamy o údržbě zařízení',
|
||||
'item' => 'Položka',
|
||||
'insufficient_permissions' => 'Insufficient permissions!',
|
||||
'insufficient_permissions' => 'Nedostatečná oprávnění!',
|
||||
'last' => 'Poslední',
|
||||
'last_name' => 'Příjmení',
|
||||
'license' => 'Licence',
|
||||
@@ -101,12 +102,13 @@
|
||||
'previous' => 'Předchozí',
|
||||
'processing' => 'Pracuji',
|
||||
'profile' => 'Váš profil',
|
||||
'qty' => 'QTY',
|
||||
'quanitity' => 'Množství',
|
||||
'qty' => 'Množství',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'Připraveno k přidělení',
|
||||
'recent_activity' => 'Nedávná aktivita',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'Reporty',
|
||||
'requested' => 'Requested',
|
||||
'requested' => 'Požadováno',
|
||||
'save' => 'Uložit',
|
||||
'select' => 'Zvolit',
|
||||
'search' => 'Hledat',
|
||||
@@ -143,5 +145,5 @@
|
||||
'years' => 'roky',
|
||||
'yes' => 'Ano',
|
||||
'zip' => 'PSČ',
|
||||
'noimage' => 'No image uploaded or image not found.',
|
||||
'noimage' => 'Obrázek nebyl nahrán, nebo nebyl nalezen.',
|
||||
];
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Masseopdater Aktiver',
|
||||
'bulk_update_help' => 'Denne form tillader dig at opdatere flere aktiver på en gang. Udfyld kun de felter der skal ændres. Ikke udfyldte feltet forbilver uændret.',
|
||||
'bulk_update_warn' => 'Du er i færd med at redigere egenskaber på :asset_count aktiver.',
|
||||
|
||||
@@ -52,7 +52,12 @@ return array(
|
||||
'checkin' => array(
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
'user_does_not_exist' => 'That user is invalid.. Please try again.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'restore' => 'Restore Model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'view_deleted' => 'View Deleted',
|
||||
'view_models' => 'View Models',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -30,6 +30,9 @@ return array(
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
'asset_already_accepted' => 'This asset has already been accepted.',
|
||||
'accept_or_decline' => 'You must either accept or decline this asset.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Could not connect to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
'ldap_could_not_bind' => 'Could not bind to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server: ',
|
||||
'ldap_could_not_search' => 'Could not search the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
'activity_report' => 'Activity Report',
|
||||
'address' => 'Addresse',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'Alle aktiver',
|
||||
'all' => 'Alle',
|
||||
'archived' => 'Arkiveret',
|
||||
@@ -102,9 +103,10 @@
|
||||
'processing' => 'Processing',
|
||||
'profile' => 'Din profil',
|
||||
'qty' => 'QTY',
|
||||
'quanitity' => 'Quanitity',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'Klar til Implementering',
|
||||
'recent_activity' => 'Recent Activity',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'Rapporter',
|
||||
'requested' => 'Requested',
|
||||
'save' => 'Gem',
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Accessory does not exist.',
|
||||
'does_not_exist' => 'Zubehör existiert nicht.',
|
||||
'assoc_users' => 'Dieses Zubehör ist derzeit an :count Benutzern zur Verwendung ausgegeben worden. Bitte buchen Sie das Zubehör wieder ein und versuchen es dann noch Einmal. ',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Accessory was not created, please try again.',
|
||||
'success' => 'Accessory created successfully.'
|
||||
'error' => 'Zubehör wurde nicht erzeugt, bitte versuchen Sie es erneut.',
|
||||
'success' => 'Zubehör erfolgreich angelegt.'
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Accessory was not updated, please try again',
|
||||
'success' => 'Accessory updated successfully.'
|
||||
'error' => 'Zubehör wurde nicht aktualisiert, bitte versuchen Sie es erneut',
|
||||
'success' => 'Zubehör wurde erfolgreich aktualisiert.'
|
||||
),
|
||||
|
||||
'delete' => array(
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Massenaktualisierung von Assets',
|
||||
'bulk_update_help' => 'Diese Eingabemaske erlaubt Ihnen die Aktualisierung von mehrere Assets zugleich. Füllen Sie die Felder aus welche Sie ändern möchten. Alle leeren Felder bleiben unverändert. ',
|
||||
'bulk_update_warn' => 'Sie sind dabei die Eigenschaften von :asset_count assets zu bearbeiten.',
|
||||
|
||||
@@ -53,6 +53,11 @@ return array(
|
||||
'error' => 'Asset konnte nicht eingebucht werden. Bitte versuchen Sie es erneut',
|
||||
'success' => 'Asset wurde erfolgreich eingebucht.',
|
||||
'user_does_not_exist' => 'Dieser Benutzer existiert nicht. Bitte versuchen Sie es erneut.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -18,7 +18,7 @@ return array(
|
||||
'serial' => 'Seriennummer',
|
||||
'status' => 'Status',
|
||||
'title' => 'Asset ',
|
||||
'image' => 'Device Image',
|
||||
'image' => 'Geräte-Image',
|
||||
'days_without_acceptance' => 'Tage ohne Akzeptierung'
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'Dieses Modell wurde gelöscht.<a href="/hardware/models/:model_id/restore">klicken Sie hier um es Wiederzuherstellen</a>.',
|
||||
'deleted' => 'Dieses Modell wurde gelöscht.<a href="/hardware/models/:model_id/restore">klicken Sie hier um es Wiederzuherstellen</a>.',
|
||||
'restore' => 'Modell wiederherstellen',
|
||||
'show_mac_address' => 'MAC Adressen Feld anzeigen für Assets mit diesses Modell',
|
||||
'show_mac_address' => 'MAC Adressen Feld anzeigen für Assets mit diesses Modell',
|
||||
'view_deleted' => 'Gelöschte anzeigen',
|
||||
'view_models' => 'Modelle anzeigen',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -26,27 +26,30 @@ return array(
|
||||
'header_color' => 'Farbe der Kopfzeile',
|
||||
'info' => 'Mit diesen Einstellungen können Sie verschieden Aspekte Ihrer Installation bearbeiten.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'ldap_enabled' => 'LDAP enabled',
|
||||
'ldap_enabled' => 'LDAP aktiviert',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_settings' => 'LDAP Einstellungen',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP Bind Nutzername',
|
||||
'ldap_pword' => 'LDAP Bind Passwort',
|
||||
'ldap_basedn' => 'Basis Bind DN',
|
||||
'ldap_filter' => 'LDAP Filter',
|
||||
'ldap_username_field' => 'Username Field',
|
||||
'ldap_lname_field' => 'Last Name',
|
||||
'ldap_fname_field' => 'LDAP First Name',
|
||||
'ldap_auth_filter_query' => 'LDAP Authentication query',
|
||||
'ldap_username_field' => 'Benutzername',
|
||||
'ldap_lname_field' => 'Familienname',
|
||||
'ldap_fname_field' => 'LDAP Vorname',
|
||||
'ldap_auth_filter_query' => 'LDAP Authentifikationsabfrage',
|
||||
'ldap_version' => 'LDAP Version',
|
||||
'ldap_active_flag' => 'LDAP Active Flag',
|
||||
'ldap_emp_num' => 'LDAP Employee Number',
|
||||
'ldap_email' => 'LDAP Email',
|
||||
'ldap_active_flag' => 'LDAP Aktiv-Markierung',
|
||||
'ldap_emp_num' => 'LDAP Mitarbeiternummer',
|
||||
'ldap_email' => 'LDAP E-Mail',
|
||||
'load_remote_text' => 'Remote Skripte',
|
||||
'load_remote_help_text' => 'Diese Installation von Snipe-IT kann Skripte von außerhalb laden.',
|
||||
'logo' => 'Logo',
|
||||
'full_multiple_companies_support_help_text' => 'Restricting users (including admins) assigned to companies to their company\'s assets.',
|
||||
'full_multiple_companies_support_text' => 'Full Multiple Companies Support',
|
||||
'full_multiple_companies_support_help_text' => 'Beschränkung von Benutzern (inklusive Administratoren) die einer Firma zugewiesen sind zu den Assets der Firma.',
|
||||
'full_multiple_companies_support_text' => 'Volle Mehrmandanten-Unterstützung für Firmen',
|
||||
'optional' => 'optional',
|
||||
'per_page' => 'Ergebnisse pro Seite',
|
||||
'php' => 'PHP Version',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'Es gab ein Problem beim importieren der Benutzer. Bitte noch einmal versuchen.',
|
||||
'asset_already_accepted' => 'Dieses Asset wurde bereits akzeptiert.',
|
||||
'accept_or_decline' => 'Sie müssen diesen Gegenstand entweder annehmen oder ablehnen.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Konnte keine Verbindung zum LDAP Server herstellen. Bitte LDAP Einstellungen in der LDAP Konfigurationsdatei prüfen. <br>Fehler vom LDAP Server:',
|
||||
'ldap_could_not_bind' => 'Konnte keine Verbindung zum LDAP Server herstellen. Bitte LDAP Einstellungen in der LDAP Konfigurationsdatei prüfen. <br>Fehler vom LDAP Server: ',
|
||||
'ldap_could_not_search' => 'Konnte LDAP Server nicht suchen. Bitte LDAP Einstellungen in der LDAP Konfigurationsdatei prüfen. <br>Fehler vom LDAP Server:',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
'activity_report' => 'Aktivitätsreport',
|
||||
'address' => 'Supplier Address',
|
||||
'admin' => 'Administrator',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'Alle Assets',
|
||||
'all' => 'Alle',
|
||||
'archived' => 'Archiviert',
|
||||
@@ -30,8 +31,8 @@
|
||||
'checkin_from' => 'Einchecken von',
|
||||
'checkout' => 'Checkout Asset to User',
|
||||
'city' => 'Stadt',
|
||||
'companies' => 'Companies',
|
||||
'company' => 'Company',
|
||||
'companies' => 'Firmen',
|
||||
'company' => 'Firma',
|
||||
'consumable' => 'Verbrauchsmaterial',
|
||||
'consumables' => 'Verbrauchsmaterialien',
|
||||
'country' => 'Land',
|
||||
@@ -68,7 +69,7 @@
|
||||
'asset_maintenance_report' => 'Asset Wartungsbericht',
|
||||
'asset_maintenances' => 'Asset Wartungen',
|
||||
'item' => 'Gegenstand',
|
||||
'insufficient_permissions' => 'Insufficient permissions!',
|
||||
'insufficient_permissions' => 'Unzureichende Berechtigungen!',
|
||||
'last' => 'Letztes',
|
||||
'last_name' => 'Familienname',
|
||||
'license' => 'Lizenz',
|
||||
@@ -102,9 +103,10 @@
|
||||
'processing' => 'In Arbeit',
|
||||
'profile' => 'Ihr Profil',
|
||||
'qty' => 'St',
|
||||
'quanitity' => 'Anzahl',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'Fertig zum herausgeben',
|
||||
'recent_activity' => 'Letzte Aktivität',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'Berichte',
|
||||
'requested' => 'Angefragt',
|
||||
'save' => 'Speichern',
|
||||
@@ -143,5 +145,5 @@
|
||||
'years' => 'Jahre',
|
||||
'yes' => 'Ja',
|
||||
'zip' => 'Postal Code',
|
||||
'noimage' => 'No image uploaded or image not found.',
|
||||
'noimage' => 'Kein Bild hochgeladen oder kein Bild gefunden.',
|
||||
];
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Bulk Update Assets',
|
||||
'bulk_update_help' => 'This form allows you to update multiple assets at once. Only fill in the fields you need to change. Any fields left blank will remain unchanged. ',
|
||||
'bulk_update_warn' => 'You are about to edit the properties of :asset_count assets.',
|
||||
|
||||
@@ -53,6 +53,11 @@ return array(
|
||||
'error' => 'Asset was not checked in, please try again',
|
||||
'success' => 'Asset checked in successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
),
|
||||
|
||||
'requests' => array(
|
||||
'error' => 'Asset was not requested, please try again',
|
||||
'success' => 'Asset requested successfully.',
|
||||
)
|
||||
|
||||
);
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
return array(
|
||||
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'deleted' => 'This model has been deleted. <a href="/hardware/models/:model_id/restore">Click here to restore it</a>.',
|
||||
'restore' => 'Restore Model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'view_deleted' => 'View Deleted',
|
||||
'view_models' => 'View Models',
|
||||
'fieldset' => 'Fieldset',
|
||||
'no_custom_field' => 'No custom fields',
|
||||
|
||||
);
|
||||
|
||||
@@ -30,6 +30,9 @@ return array(
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
'ldap_settings' => 'LDAP Settings',
|
||||
'ldap_server' => 'LDAP Server',
|
||||
'ldap_server_cert' => 'LDAP SSL certificate validation',
|
||||
'ldap_server_cert_ignore' => 'Allow invalid SSL Certificate',
|
||||
'ldap_server_cert_help' => 'Select this checkbox if you are using a self signed SSL cert and would like to accept an invalid SSL certificate.',
|
||||
'ldap_uname' => 'LDAP Bind Username',
|
||||
'ldap_pword' => 'LDAP Bind Password',
|
||||
'ldap_basedn' => 'Base Bind DN',
|
||||
|
||||
@@ -33,6 +33,7 @@ return array(
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
'asset_already_accepted' => 'This asset has already been accepted.',
|
||||
'accept_or_decline' => 'You must either accept or decline this asset.',
|
||||
'incorrect_user_accepted' => 'The asset you have attempted to accept was not checked out to you.',
|
||||
'ldap_could_not_connect' => 'Could not connect to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
'ldap_could_not_bind' => 'Could not bind to the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server: ',
|
||||
'ldap_could_not_search' => 'Could not search the LDAP server. Please check your LDAP server configuration in the LDAP config file. <br>Error from LDAP Server:',
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
'activity_report' => 'Activity Report',
|
||||
'address' => 'Address',
|
||||
'admin' => 'Admin',
|
||||
'add_seats' => 'Added seats',
|
||||
'all_assets' => 'All Assets',
|
||||
'all' => 'All',
|
||||
'archived' => 'Archived',
|
||||
@@ -102,9 +103,10 @@
|
||||
'processing' => 'Processing',
|
||||
'profile' => 'Your profile',
|
||||
'qty' => 'QTY',
|
||||
'quanitity' => 'Quanitity',
|
||||
'quantity' => 'Quantity',
|
||||
'ready_to_deploy' => 'Ready to Deploy',
|
||||
'recent_activity' => 'Recent Activity',
|
||||
'remove_company' => 'Remove Company Association',
|
||||
'reports' => 'Reports',
|
||||
'requested' => 'Requested',
|
||||
'save' => 'Save',
|
||||
|
||||
@@ -5,14 +5,14 @@ return array(
|
||||
'about_accessories_text' => 'Aksesoris adalah Aset yang tidak memiliki nomor seri (atau Anda tidak peduli tentang pelacakan mereka secara unik). Misalnya, mouse komputer atau keyboard.',
|
||||
'accessory_category' => 'Kategori Aksesoris',
|
||||
'accessory_name' => 'Nama Aksesoris',
|
||||
'cost' => 'Purchase Cost',
|
||||
'cost' => 'Harga Beli',
|
||||
'create' => 'Buat Aksesoris',
|
||||
'date' => 'Purchase Date',
|
||||
'date' => 'Tanggal Pembelian',
|
||||
'eula_text' => 'Kategori EULA',
|
||||
'eula_text_help' => 'Bidang ini memungkinkan Anda untuk menyesuaikan EULA Anda untuk jenis tertentu dari aset. Jika Anda hanya memiliki satu EULA untuk semua aset Anda, Anda dapat memeriksa kotak di bawah untuk menggunakan default primer.',
|
||||
'require_acceptance' => 'Mengharuskan pengguna untuk mengkonfirmasi penerimaan aset dalam kategori ini.',
|
||||
'no_default_eula' => 'Tidak ada EULA standar utama yang ditemukan. Tambahkan satu di Settings.',
|
||||
'order' => 'Order Number',
|
||||
'order' => 'Nomor Pembelian',
|
||||
'qty' => 'QTY',
|
||||
'total' => 'Total',
|
||||
'remaining' => 'Tersedia',
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Accessory does not exist.',
|
||||
'does_not_exist' => 'Aksesori tidak ditemukan.',
|
||||
'assoc_users' => 'Aksesori saat ini memiliki :count item untuk pengguna. Silahkan cek di aksesoris dan dan coba lagi. ',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Accessory was not created, please try again.',
|
||||
'success' => 'Accessory created successfully.'
|
||||
'error' => 'Aksesori tidak dapat dibuat, silahkan coba kembali.',
|
||||
'success' => 'Aksesori berhasil dibuat.'
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Accessory was not updated, please try again',
|
||||
'success' => 'Accessory updated successfully.'
|
||||
'error' => 'Aksesori tidak dapat diperbaharui, silahkan coba kembali',
|
||||
'success' => 'Aksesori berhasil diperbaharui.'
|
||||
),
|
||||
|
||||
'delete' => array(
|
||||
|
||||
@@ -4,10 +4,10 @@ return array(
|
||||
'about_consumables_title' => 'Tentang Consumables',
|
||||
'about_consumables_text' => 'Consumables adalah sesuatu yang dibeli yang akan digunakan dari waktu ke waktu. Misalnya, tinta printer atau kertas fotokopi.',
|
||||
'consumable_name' => 'Nama Consumable',
|
||||
'cost' => 'Purchase Cost',
|
||||
'cost' => 'Harga Beli',
|
||||
'create' => 'Buat Consumable',
|
||||
'date' => 'Purchase Date',
|
||||
'order' => 'Order Number',
|
||||
'date' => 'Tanggal Pembelian',
|
||||
'order' => 'Nomor Pembelian',
|
||||
'remaining' => 'Tersisa',
|
||||
'total' => 'Total',
|
||||
'update' => 'Update Consumable',
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_delete' => 'Confrm Bulk Delete Assets',
|
||||
'bulk_delete_help' => 'Review the assets for bulk deletion below. Once deleted, these assets can be restored, but they will no longer be associated with any users they are currently assigned to.',
|
||||
'bulk_delete_warn' => 'You are about to delete :asset_count assets.',
|
||||
'bulk_update' => 'Perbarui Aset secara massal',
|
||||
'bulk_update_help' => 'Formulir ini memungkinkan Anda untuk memperbarui beberapa aset sekaligus. Hanya mengisi kolom yang Anda butuhkan untuk mengubah. Setiap bidang dibiarkan kosong tidak berubah. ',
|
||||
'bulk_update_warn' => 'Anda akan mengedit properti :asset_count aset.',
|
||||
@@ -10,33 +12,33 @@ return array(
|
||||
'checkin_date' => 'Tanggal Check in',
|
||||
'checkout_to' => 'Checkout to',
|
||||
'cost' => 'Purchase Cost',
|
||||
'create' => 'Create Asset',
|
||||
'create' => 'Buat Aset',
|
||||
'date' => 'Purchase Date',
|
||||
'depreciates_on' => 'Depreciates On',
|
||||
'depreciation' => 'Depreciation',
|
||||
'default_location' => 'Default Location',
|
||||
'default_location' => 'Lokasi Standar',
|
||||
'eol_date' => 'EOL Date',
|
||||
'eol_rate' => 'EOL Rate',
|
||||
'expected_checkin' => 'Expected Checkin Date',
|
||||
'expires' => 'Expires',
|
||||
'expires' => 'Kadaluarsa',
|
||||
'fully_depreciated' => 'Fully Depreciated',
|
||||
'help_checkout' => 'If you wish to assign this asset immediately, select "Ready to Deploy" from the status list above. ',
|
||||
'mac_address' => 'MAC Address',
|
||||
'manufacturer' => 'Manufacturer',
|
||||
'model' => 'Model',
|
||||
'months' => 'months',
|
||||
'name' => 'Asset Name',
|
||||
'notes' => 'Notes',
|
||||
'months' => 'bulan',
|
||||
'name' => 'Nama Aset',
|
||||
'notes' => 'Catatan',
|
||||
'order' => 'Order Number',
|
||||
'qr' => 'QR Code',
|
||||
'requestable' => 'Users may request this asset',
|
||||
'select_statustype' => 'Select Status Type',
|
||||
'select_statustype' => 'Pilih Jenis Status',
|
||||
'serial' => 'Serial',
|
||||
'status' => 'Status',
|
||||
'supplier' => 'Supplier',
|
||||
'supplier' => 'Pemasok',
|
||||
'tag' => 'Asset Tag',
|
||||
'update' => 'Asset Update',
|
||||
'warranty' => 'Warranty',
|
||||
'years' => 'years',
|
||||
'warranty' => 'Garansi',
|
||||
'years' => 'tahun',
|
||||
)
|
||||
;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user