Compare commits
158 Commits
v1.2.5
...
v1.2.6-beta
| Author | SHA1 | Date | |
|---|---|---|---|
| 715fc3fa9b | |||
| c484afb12b | |||
| 5ec91ef5fc | |||
| 30db9a2943 | |||
| 1273c4ca87 | |||
| cb73d81d5b | |||
| 04735f1aff | |||
| d33dcbbcb1 | |||
| 0ff23c422a | |||
| 74a7b304c2 | |||
| 231e465898 | |||
| 68c3e88343 | |||
| ef6eae63d8 | |||
| afe2eb736c | |||
| 1552c1e917 | |||
| 258d1cd705 | |||
| d7b4e8a8de | |||
| c0c563b1c7 | |||
| 430b8233ed | |||
| 47f1488acc | |||
| 21799cca6d | |||
| e7ae4bd1c4 | |||
| 7da6ba5f68 | |||
| 8e9f7965c7 | |||
| 4ef2dd0c7e | |||
| 19ad8970d7 | |||
| a20e1f6943 | |||
| 5010720a97 | |||
| efaf067b94 | |||
| 6efd268004 | |||
| 7f26f01a8f | |||
| 31df29cac8 | |||
| 15a7e205be | |||
| 3e189d3502 | |||
| 6d16c97902 | |||
| 1ac401f0c0 | |||
| 62cb1daefd | |||
| acedab5587 | |||
| ad30aebcbc | |||
| 528c06cf7f | |||
| 97d97fc4df | |||
| e89cb883ec | |||
| 88ce0abe85 | |||
| 4570efc68b | |||
| ea28873fb0 | |||
| eb5d4983de | |||
| 379f6bef6c | |||
| e090762b5a | |||
| 9f3edd701b | |||
| 54bad2e4f6 | |||
| e41621def0 | |||
| 95fd96f29a | |||
| 663d5213eb | |||
| 92d6ed0761 | |||
| 59ea144b28 | |||
| f9f3b5b4f9 | |||
| 3de1a8f96c | |||
| 5d71628927 | |||
| 323a607130 | |||
| 8eaa70c39b | |||
| 29863004e2 | |||
| c2bbc1281c | |||
| a6232cbfd8 | |||
| 734dc49564 | |||
| a5a1c4223b | |||
| ca1351b704 | |||
| 3135869d5a | |||
| c2d30ce865 | |||
| 69a446af97 | |||
| 93b11c35d0 | |||
| cc3d007fa6 | |||
| 8cc1bd0159 | |||
| 8879bff160 | |||
| fae70bb485 | |||
| d4cafe364f | |||
| 346b62bf26 | |||
| 3ba6e45011 | |||
| 525a9225c8 | |||
| df448f0c35 | |||
| 7808039d0d | |||
| 0ff0d18351 | |||
| fc4f1fd7fc | |||
| d55d9f5530 | |||
| cd7461a3a8 | |||
| ad39ec1dc3 | |||
| b2af455523 | |||
| 6d4f4c6064 | |||
| 2b83b52735 | |||
| cd99295f83 | |||
| 6ab95ff387 | |||
| 1aa25d1e6d | |||
| 1b5b3fba8a | |||
| c71bdc0d5e | |||
| 7380affe9c | |||
| 1734c5ab99 | |||
| 18f96bb20a | |||
| da28036297 | |||
| 474731d1a3 | |||
| f59db3c741 | |||
| ecfc0e0e2b | |||
| 8ac16e53c7 | |||
| 5d81c04b3d | |||
| 037a8bee2f | |||
| e12bbbc171 | |||
| 31e2299385 | |||
| 097bb38a23 | |||
| 4340d50071 | |||
| de94311c47 | |||
| cb51dc45b6 | |||
| dee4baf7dd | |||
| e04ac89c5a | |||
| 3fa1bc5c3f | |||
| 254f4b5f3e | |||
| 132578bfe3 | |||
| c2a1e39b54 | |||
| c41f4e9203 | |||
| c54615a85f | |||
| a7d953f923 | |||
| 35cf5b3d60 | |||
| ae381576aa | |||
| b28bcce5f1 | |||
| 7d7059504e | |||
| e04fb70aa3 | |||
| 7f1489a701 | |||
| 720c36e433 | |||
| 0cceacd17d | |||
| f9ad8d8aa5 | |||
| 253c402f3d | |||
| 083cb1b5ec | |||
| 8b3e22b58e | |||
| ad9e7f1d9e | |||
| 5887cce2c5 | |||
| f85061f988 | |||
| f8e12cabd4 | |||
| 348e996e31 | |||
| 70ae59ed62 | |||
| 6c4d661a85 | |||
| ae104293da | |||
| c07907833c | |||
| 7360e52f61 | |||
| 7d87b3384c | |||
| 30df21c7aa | |||
| 6bc1524783 | |||
| 366fb60628 | |||
| 01f11f2da4 | |||
| f6ae35df63 | |||
| 87936a58fa | |||
| 305db59472 | |||
| c0ce1939cb | |||
| 879b6b8f3f | |||
| 8777a1a9f1 | |||
| f5b5f66b82 | |||
| 24e72d1b56 | |||
| f2922b0a44 | |||
| 92a99993ea | |||
| 9be159ea15 | |||
| 3ee9e93349 | |||
| c9b51bface |
@@ -0,0 +1,5 @@
|
||||
.git
|
||||
.dockerignore
|
||||
app/storage/logs/*
|
||||
app/storage/views/*
|
||||
vendor/*
|
||||
+4
-1
@@ -17,4 +17,7 @@ public/uploads/avatars/*
|
||||
/app/storage/debugbar/
|
||||
/bin/
|
||||
.idea
|
||||
crowdin.yaml
|
||||
crowdin.yaml
|
||||
public/uploads/logo.gif
|
||||
public/uploads/logo.png
|
||||
.siteflow
|
||||
|
||||
+2
-1
@@ -6,12 +6,13 @@ Please submit all issues and pull requests to the [snipe/snipe-it](http://github
|
||||
|
||||
If you don't have a feature in mind, but would like to contribute back to the project, check out the [open issues](https://github.com/snipe/snipe-it/issues?state=open) and see if there are any you can tackle.
|
||||
|
||||
-----
|
||||
We use Waffle.io to help better communicate our roadmap with users. Our [project page there](http://waffle.io/snipe/snipe-it) will show you the backlog, what's ready to be worked on, what's in progress, and what's completed.
|
||||
|
||||
[](http://waffle.io/snipe/snipe-it)
|
||||
|
||||
The labels we use in GitHub Issues and Waffle.io indicate whether we've confirmed an issue as a bug, whether we're considering the issue as a potential feature, and whether it's ready for someone to work on it. We also provide labels such as "n00b", "intermediate" and "advanced" for the experience level we think it requires for contributors who want to help.
|
||||
|
||||
-----
|
||||
|
||||
## Translations!
|
||||
|
||||
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
FROM ubuntu
|
||||
MAINTAINER Brady Wetherington <uberbrady@gmail.com>
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
apache2-bin \
|
||||
libapache2-mod-php5 \
|
||||
php5-mysql \
|
||||
php5-mcrypt \
|
||||
php5-gd \
|
||||
patch \
|
||||
curl \
|
||||
vim \
|
||||
git
|
||||
|
||||
RUN php5enmod mcrypt
|
||||
RUN php5enmod gd
|
||||
|
||||
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php5/apache2/php.ini
|
||||
RUN sed -i 's/variables_order = .*/variables_order = "EGPCS"/' /etc/php5/cli/php.ini
|
||||
|
||||
RUN useradd --uid 1000 --gid 50 docker
|
||||
|
||||
RUN echo export APACHE_RUN_USER=docker >> /etc/apache2/envvars
|
||||
RUN echo export APACHE_RUN_GROUP=staff >> /etc/apache2/envvars
|
||||
|
||||
COPY docker/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
||||
|
||||
COPY . /var/www/html
|
||||
|
||||
RUN a2enmod rewrite
|
||||
|
||||
############ INITIAL APPLICATION SETUP #####################
|
||||
|
||||
COPY docker/app_start.patch /tmp/app_start.patch
|
||||
|
||||
WORKDIR /var/www/html
|
||||
|
||||
#Patch bootstrap file
|
||||
RUN patch -p1 < /tmp/app_start.patch
|
||||
|
||||
#DB create?
|
||||
# mysqladmin -u root create snipeit_laravel
|
||||
|
||||
#DB create user, grant access to new DB?
|
||||
# grant all privileges on snipeit_laravel.* TO snipeit;
|
||||
|
||||
#DB config file init? (NEVER overwrite!)
|
||||
#RUN cp -n /var/www/html/app/config/production/database.example.php /var/www/html/app/config/production/database.php
|
||||
COPY docker/database.php /var/www/html/app/config/production/database.php
|
||||
|
||||
COPY docker/mail.php /var/www/html/app/config/production/mail.php
|
||||
|
||||
#change DB file user
|
||||
#RUN sed -i s/travis/snipe_it/ /var/www/html/app/config/production/database.php
|
||||
|
||||
#init app config file (DO NOT overwrite!)
|
||||
RUN cp -n /var/www/html/app/config/production/app.example.php /var/www/html/app/config/production/app.php
|
||||
|
||||
# Change default hostname to blank...I guess?
|
||||
RUN sed -i s%http://staging.yourserver.com%% /var/www/html/app/config/production/app.php
|
||||
|
||||
# turn off the toolbar
|
||||
RUN sed -i 's%\x27debug\x27 => true%\x27debug\x27 => false%' /var/www/html/app/config/production/app.php
|
||||
|
||||
RUN chown -R docker /var/www/html
|
||||
|
||||
############## DEPENDENCIES via COMPOSER ###################
|
||||
|
||||
#global install of composer
|
||||
RUN cd /tmp;curl -sS https://getcomposer.org/installer | php;mv /tmp/composer.phar /usr/local/bin/composer
|
||||
|
||||
# Get dependencies
|
||||
RUN cd /var/www/html;composer install
|
||||
|
||||
############### APPLICATION INSTALL/INIT #################
|
||||
|
||||
#RUN php artisan app:install
|
||||
# too interactive! Try something else
|
||||
|
||||
#COPY docker/app_install.exp /tmp/app_install.exp
|
||||
#RUN chmod +x /tmp/app_install.exp
|
||||
#RUN /tmp/app_install.exp
|
||||
|
||||
##### START SERVER
|
||||
|
||||
CMD . /etc/apache2/envvars ;apache2 -DFOREGROUND
|
||||
|
||||
EXPOSE 80
|
||||
@@ -65,7 +65,3 @@ Whenever you pull down a new version from master or develop, when you grab the [
|
||||
php artisan migrate
|
||||
|
||||
Forgetting to do this can mean your DB might end up out of sync with the new files you just pulled, or you may have some funky cached autoloader values. It's a good idea to get into the habit of running these every time you pull anything new down. If there are no database changes to migrate, it won't hurt anything to run migrations anyway.
|
||||
|
||||
|
||||
[](https://bitdeli.com/free "Bitdeli Badge")
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ class AppCommand extends Command
|
||||
'email' => null,
|
||||
'password' => null
|
||||
);
|
||||
|
||||
protected $dummyData = true;
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
@@ -67,6 +69,7 @@ class AppCommand extends Command
|
||||
$this->askUserEmail();
|
||||
$this->askUserPassword();
|
||||
|
||||
$this->askUserDummyData();
|
||||
|
||||
$this->comment('');
|
||||
$this->comment('');
|
||||
@@ -95,7 +98,19 @@ class AppCommand extends Command
|
||||
$this->sentryRunner();
|
||||
|
||||
// Seed the tables with dummy data
|
||||
$this->call('db:seed');
|
||||
if( $this->dummyData === true )
|
||||
{
|
||||
$this->call('db:seed', array('--force'=>true));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Seeding Settings table is mandatory
|
||||
$this->call('db:seed', array('--class' => 'SettingsSeeder', '--force'=>true));
|
||||
// Seeding Statuslabels is strongly recommended
|
||||
$this->call('db:seed', array('--class' => 'StatuslabelsSeeder', '--force'=>true));
|
||||
// Seeding Categories is good to have
|
||||
$this->call('db:seed', array('--class' => 'CategoriesSeeder', '--force'=>true));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -192,6 +207,20 @@ class AppCommand extends Command
|
||||
$this->userData['password'] = $password;
|
||||
} while( ! $password);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asks the user to create dummy data
|
||||
*
|
||||
* @return void
|
||||
* @todo Use the Laravel Validator
|
||||
*/
|
||||
protected function askUserDummyData()
|
||||
{
|
||||
// Ask the user to input the user password
|
||||
$dummydata = $this->ask('Do you want to seed your database with dummy data? (deafult is yes): ');
|
||||
|
||||
$this->dummyData = ( strstr($dummydata, 'y' ) || empty($dummydata) ) ? true : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs all the necessary Sentry commands.
|
||||
@@ -207,7 +236,10 @@ class AppCommand extends Command
|
||||
$this->sentryCreateUser();
|
||||
|
||||
// Create dummy user
|
||||
$this->sentryCreateDummyUser();
|
||||
if( $this->dummyData === true )
|
||||
{
|
||||
$this->sentryCreateDummyUser();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Input\InputArgument;
|
||||
|
||||
class SendExpirationAlerts extends Command {
|
||||
|
||||
/**
|
||||
* The console command name.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $name = 'alerts:expiring';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'This command checks for expiring warrantees and service agreements, and sends out an alert email.';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function fire()
|
||||
{
|
||||
$expiring_assets = Asset::getExpiringWarrantee(60);
|
||||
|
||||
$data['count'] = count($expiring_assets);
|
||||
$data['email_content'] ='';
|
||||
|
||||
|
||||
|
||||
foreach ($expiring_assets as $asset) {
|
||||
$now = date("Y-m-d");
|
||||
$expires = $asset->warrantee_expires();
|
||||
$difference = round(abs(strtotime($expires) - strtotime($now))/86400);
|
||||
|
||||
if ($difference > 30) {
|
||||
$data['email_content'] .= '<tr style="background-color: #fcffa3;">';
|
||||
} else {
|
||||
$data['email_content'] .= '<tr style="background-color:#d9534f;">';
|
||||
}
|
||||
$data['email_content'] .= '<td><a href="'.Config::get('app.url').'/hardware/'.$asset->id.'/view">';
|
||||
$data['email_content'] .= $asset->name.'</a></td><td>'.$asset->asset_tag.'</td>';
|
||||
$data['email_content'] .= '<td>'.$asset->warrantee_expires().'</td>';
|
||||
$data['email_content'] .= '<td>'.$difference.' days</td>';
|
||||
$data['email_content'] .= '</tr>';
|
||||
}
|
||||
|
||||
if ((Setting::getSettings()->alert_email!='') && (Setting::getSettings()->alerts_enabled==1)){
|
||||
|
||||
if (count($expiring_assets) > 0) {
|
||||
|
||||
Mail::send('emails.expiring-report', $data, function ($m) {
|
||||
$m->to(Setting::getSettings()->alert_email, Setting::getSettings()->site_name);
|
||||
$m->subject('Expiring Assets Report');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if (Setting::getSettings()->alert_email=='') {
|
||||
echo "Could not send email. No alert email configured in settings. \n";
|
||||
} elseif (Setting::getSettings()->alerts_enabled!=1) {
|
||||
echo "Alerts are disabled in the settings. No mail will be sent. \n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+19
-1
@@ -43,6 +43,20 @@ return array(
|
||||
*/
|
||||
|
||||
'cipher' => MCRYPT_RIJNDAEL_256,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Prevent Password changes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If for some reason you do not wish for admins to be able to edit the password
|
||||
| for any user (including themselves), set this to true.
|
||||
|
|
||||
*/
|
||||
|
||||
'lock_passwords' => false,
|
||||
|
||||
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -87,6 +101,7 @@ return array(
|
||||
'Barryvdh\Debugbar\ServiceProvider',
|
||||
'Cartalyst\Sentry\SentryServiceProvider',
|
||||
'Chumper\Datatable\DatatableServiceProvider',
|
||||
'Dinesh\Barcode\BarcodeServiceProvider',
|
||||
|
||||
),
|
||||
|
||||
@@ -156,7 +171,10 @@ return array(
|
||||
'Str' => 'Illuminate\Support\Str',
|
||||
'URL' => 'Illuminate\Support\Facades\URL',
|
||||
'Validator' => 'Illuminate\Support\Facades\Validator',
|
||||
'View' => 'Illuminate\Support\Facades\View'
|
||||
'View' => 'Illuminate\Support\Facades\View',
|
||||
'Reader' => 'League\Csv\Reader',
|
||||
'DNS1D' => 'Dinesh\Barcode\Facades\DNS1DFacade',
|
||||
'DNS2D' => 'Dinesh\Barcode\Facades\DNS2DFacade',
|
||||
|
||||
),
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ use Redirect;
|
||||
use Sentry;
|
||||
use Validator;
|
||||
use View;
|
||||
use Config;
|
||||
use Lang;
|
||||
|
||||
class ChangeEmailController extends AuthorizedController
|
||||
{
|
||||
@@ -36,34 +38,39 @@ class ChangeEmailController extends AuthorizedController
|
||||
'email' => 'required|email|unique:users,email,'.Sentry::getUser()->email.',email',
|
||||
'email_confirm' => 'required|same:email',
|
||||
);
|
||||
|
||||
if (Config::get('app.lock_passwords')) {
|
||||
return Redirect::route('change-password')->with('error', Lang::get('admin/users/table.lock_passwords'));
|
||||
} else {
|
||||
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
// If validation fails, we'll exit the operation now.
|
||||
if ($validator->fails()) {
|
||||
// Ooops.. something went wrong
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
|
||||
// Grab the user
|
||||
$user = Sentry::getUser();
|
||||
|
||||
// Check the user current password
|
||||
if ( ! $user->checkPassword(Input::get('current_password'))) {
|
||||
// Set the error message
|
||||
$this->messageBag->add('current_password', 'Your current password is incorrect');
|
||||
|
||||
// Redirect to the change email page
|
||||
return Redirect::route('change-email')->withErrors($this->messageBag);
|
||||
}
|
||||
|
||||
// Update the user email
|
||||
$user->email = Input::get('email');
|
||||
$user->save();
|
||||
|
||||
// Redirect to the settings page
|
||||
return Redirect::route('change-email')->with('success', 'Email successfully updated');
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
// If validation fails, we'll exit the operation now.
|
||||
if ($validator->fails()) {
|
||||
// Ooops.. something went wrong
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
|
||||
// Grab the user
|
||||
$user = Sentry::getUser();
|
||||
|
||||
// Check the user current password
|
||||
if ( ! $user->checkPassword(Input::get('current_password'))) {
|
||||
// Set the error message
|
||||
$this->messageBag->add('current_password', 'Your current password is incorrect');
|
||||
|
||||
// Redirect to the change email page
|
||||
return Redirect::route('change-email')->withErrors($this->messageBag);
|
||||
}
|
||||
|
||||
// Update the user email
|
||||
$user->email = Input::get('email');
|
||||
$user->save();
|
||||
|
||||
// Redirect to the settings page
|
||||
return Redirect::route('change-email')->with('success', 'Email successfully updated');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ use Redirect;
|
||||
use Sentry;
|
||||
use Validator;
|
||||
use View;
|
||||
use Config;
|
||||
use Lang;
|
||||
|
||||
class ChangePasswordController extends AuthorizedController
|
||||
{
|
||||
@@ -37,6 +39,9 @@ class ChangePasswordController extends AuthorizedController
|
||||
'password_confirm' => 'required|same:password',
|
||||
);
|
||||
|
||||
if (Config::get('app.lock_passwords')) {
|
||||
return Redirect::route('change-password')->with('error', Lang::get('admin/users/table.lock_passwords'));
|
||||
} else {
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
@@ -61,6 +66,7 @@ class ChangePasswordController extends AuthorizedController
|
||||
// Update the user password
|
||||
$user->password = Input::get('password');
|
||||
$user->save();
|
||||
}
|
||||
|
||||
// Redirect to the change-password page
|
||||
return Redirect::route('change-password')->with('success', 'Password successfully updated');
|
||||
|
||||
@@ -8,6 +8,9 @@ use Validator;
|
||||
use Location;
|
||||
use View;
|
||||
use Asset;
|
||||
use Actionlog;
|
||||
use Lang;
|
||||
use Accessory;
|
||||
|
||||
class ViewAssetsController extends AuthorizedController
|
||||
{
|
||||
@@ -55,6 +58,89 @@ class ViewAssetsController extends AuthorizedController
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Get the acceptance screen
|
||||
public function getAcceptAsset($logID = null) {
|
||||
|
||||
if (is_null($findlog = Actionlog::find($logID))) {
|
||||
// Redirect to the asset management page
|
||||
return Redirect::to('account')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
|
||||
// Asset
|
||||
if (($findlog->asset_id!='') && ($findlog->asset_type=='hardware')) {
|
||||
$item = Asset::find($findlog->asset_id);
|
||||
|
||||
// software
|
||||
} elseif (($findlog->asset_id!='') && ($findlog->asset_type=='software')) {
|
||||
$item = License::find($findlog->asset_id);
|
||||
// accessories
|
||||
} elseif ($findlog->accessory_id!='') {
|
||||
$item = Accessory::find($findlog->accessory_id);
|
||||
}
|
||||
|
||||
// Check if the asset exists
|
||||
if (is_null($item)) {
|
||||
// Redirect to the asset management page
|
||||
return Redirect::to('account')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
|
||||
return View::make('frontend/account/accept-asset', compact('item'))->with('findlog', $findlog);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Save the acceptance
|
||||
public function postAcceptAsset($logID = null) {
|
||||
|
||||
|
||||
// Check if the asset exists
|
||||
if (is_null($findlog = Actionlog::find($logID))) {
|
||||
// Redirect to the asset management page
|
||||
return Redirect::to('account')->with('error', Lang::get('admin/hardware/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$user = Sentry::getUser();
|
||||
$logaction = new Actionlog();
|
||||
|
||||
// Asset
|
||||
if (($findlog->asset_id!='') && ($findlog->asset_type=='hardware')) {
|
||||
$logaction->asset_id = $findlog->asset_id;
|
||||
$logaction->accessory_id = NULL;
|
||||
$logaction->asset_type = 'hardware';
|
||||
|
||||
// software
|
||||
} elseif (($findlog->asset_id!='') && ($findlog->asset_type=='software')) {
|
||||
$logaction->asset_id = $findlog->asset_id;
|
||||
$logaction->accessory_id = NULL;
|
||||
$logaction->asset_type = 'software';
|
||||
|
||||
// accessories
|
||||
} elseif ($findlog->accessory_id!='') {
|
||||
$logaction->asset_id = NULL;
|
||||
$logaction->accessory_id = $findlog->accessory_id;
|
||||
$logaction->asset_type = 'accessory';
|
||||
}
|
||||
|
||||
$logaction->checkedout_to = $findlog->checkedout_to;
|
||||
|
||||
$logaction->note = e(Input::get('note'));
|
||||
$logaction->user_id = $user->id;
|
||||
$logaction->accepted_at = date("Y-m-d h:i:s");
|
||||
$log = $logaction->logaction('accepted');
|
||||
|
||||
return Redirect::to('account/view-assets')->with('success', 'You have successfully accept this asset.');
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+362
@@ -0,0 +1,362 @@
|
||||
<?php namespace Controllers\Admin;
|
||||
|
||||
use AdminController;
|
||||
use Input;
|
||||
use Lang;
|
||||
use Accessory;
|
||||
use Redirect;
|
||||
use Setting;
|
||||
use DB;
|
||||
use Sentry;
|
||||
use Str;
|
||||
use Validator;
|
||||
use View;
|
||||
use User;
|
||||
use Actionlog;
|
||||
use Mail;
|
||||
|
||||
class AccessoriesController extends AdminController
|
||||
{
|
||||
/**
|
||||
* Show a list of all the accessories.
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
|
||||
public function getIndex()
|
||||
{
|
||||
// Grab all the accessories
|
||||
$accessories = Accessory::orderBy('created_at', 'DESC')->get();
|
||||
|
||||
// Show the page
|
||||
return View::make('backend/accessories/index', compact('accessories'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Accessory create.
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
public function getCreate()
|
||||
{
|
||||
// Show the page
|
||||
$category_list = array('' => '') + DB::table('categories')->where('category_type','=','accessory')->whereNull('deleted_at')->lists('name', 'id');
|
||||
return View::make('backend/accessories/edit')->with('accessory',new Accessory)->with('category_list',$category_list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Accessory create form processing.
|
||||
*
|
||||
* @return Redirect
|
||||
*/
|
||||
public function postCreate()
|
||||
{
|
||||
|
||||
// create a new model instance
|
||||
$accessory = new Accessory();
|
||||
|
||||
$validator = Validator::make(Input::all(), $accessory->rules);
|
||||
|
||||
if ($validator->fails())
|
||||
{
|
||||
// The given data did not pass validation
|
||||
return Redirect::back()->withInput()->withErrors($validator->messages());
|
||||
}
|
||||
else{
|
||||
|
||||
// Update the accessory data
|
||||
$accessory->name = e(Input::get('name'));
|
||||
$accessory->category_id = e(Input::get('category_id'));
|
||||
$accessory->qty = e(Input::get('qty'));
|
||||
$accessory->user_id = Sentry::getId();
|
||||
|
||||
// Was the accessory created?
|
||||
if($accessory->save()) {
|
||||
// Redirect to the new accessory page
|
||||
return Redirect::to("admin/accessories")->with('success', Lang::get('admin/accessories/message.create.success'));
|
||||
}
|
||||
}
|
||||
|
||||
// Redirect to the accessory create page
|
||||
return Redirect::to('admin/accessories/create')->with('error', Lang::get('admin/accessories/message.create.error'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Accessory update.
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return View
|
||||
*/
|
||||
public function getEdit($accessoryId = null)
|
||||
{
|
||||
// Check if the accessory exists
|
||||
if (is_null($accessory = Accessory::find($accessoryId))) {
|
||||
// Redirect to the blogs management page
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.does_not_exist'));
|
||||
}
|
||||
|
||||
$category_list = array('' => '') + DB::table('categories')->where('category_type','=','accessory')->whereNull('deleted_at')->lists('name', 'id');
|
||||
return View::make('backend/accessories/edit', compact('accessory'))->with('category_list',$category_list);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Accessory update form processing page.
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return Redirect
|
||||
*/
|
||||
public function postEdit($accessoryId = null)
|
||||
{
|
||||
// Check if the blog post exists
|
||||
if (is_null($accessory = Accessory::find($accessoryId))) {
|
||||
// Redirect to the blogs management page
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.does_not_exist'));
|
||||
}
|
||||
|
||||
|
||||
// get the POST data
|
||||
$new = Input::all();
|
||||
|
||||
// attempt validation
|
||||
$validator = Validator::make(Input::all(), $accessory->validationRules($accessoryId));
|
||||
|
||||
|
||||
if ($validator->fails())
|
||||
{
|
||||
// The given data did not pass validation
|
||||
return Redirect::back()->withInput()->withErrors($validator->messages());
|
||||
}
|
||||
// attempt validation
|
||||
else {
|
||||
|
||||
// Update the accessory data
|
||||
$accessory->name = e(Input::get('name'));
|
||||
$accessory->category_id = e(Input::get('category_id'));
|
||||
$accessory->qty = e(Input::get('qty'));
|
||||
|
||||
// Was the accessory created?
|
||||
if($accessory->save()) {
|
||||
// Redirect to the new accessory page
|
||||
return Redirect::to("admin/accessories")->with('success', Lang::get('admin/accessories/message.update.success'));
|
||||
}
|
||||
}
|
||||
|
||||
// Redirect to the accessory management page
|
||||
return Redirect::to("admin/accessories/$accessoryID/edit")->with('error', Lang::get('admin/accessories/message.update.error'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete the given accessory.
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return Redirect
|
||||
*/
|
||||
public function getDelete($accessoryId)
|
||||
{
|
||||
// Check if the blog post exists
|
||||
if (is_null($accessory = Accessory::find($accessoryId))) {
|
||||
// Redirect to the blogs management page
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
|
||||
if ($accessory->hasUsers() > 0) {
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.assoc_users', array('count'=> $accessory->hasUsers())));
|
||||
} else {
|
||||
$accessory->delete();
|
||||
|
||||
// Redirect to the locations management page
|
||||
return Redirect::to('admin/accessories')->with('success', Lang::get('admin/accessories/message.delete.success'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get the accessory information to present to the accessory view page
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return View
|
||||
**/
|
||||
public function getView($accessoryID = null)
|
||||
{
|
||||
$accessory = Accessory::find($accessoryID);
|
||||
|
||||
if (isset($accessory->id)) {
|
||||
return View::make('backend/accessories/view', compact('accessory'));
|
||||
} else {
|
||||
// Prepare the error message
|
||||
$error = Lang::get('admin/accessories/message.does_not_exist', compact('id'));
|
||||
|
||||
// Redirect to the user management page
|
||||
return Redirect::route('accessories')->with('error', $error);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check out the accessory to a person
|
||||
**/
|
||||
public function getCheckout($accessoryId)
|
||||
{
|
||||
// Check if the accessory exists
|
||||
if (is_null($accessory = Accessory::find($accessoryId))) {
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to('accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
// Get the dropdown of users and then pass it to the checkout view
|
||||
$users_list = array('' => 'Select a User') + DB::table('users')->select(DB::raw('concat(last_name,", ",first_name) as full_name, id'))->whereNull('deleted_at')->orderBy('last_name', 'asc')->orderBy('first_name', 'asc')->lists('full_name', 'id');
|
||||
|
||||
return View::make('backend/accessories/checkout', compact('accessory'))->with('users_list',$users_list);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Check out the accessory to a person
|
||||
**/
|
||||
public function postCheckout($accessoryId)
|
||||
{
|
||||
// Check if the accessory exists
|
||||
if (is_null($accessory = Accessory::find($accessoryId))) {
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to('accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
$assigned_to = e(Input::get('assigned_to'));
|
||||
|
||||
|
||||
// Declare the rules for the form validation
|
||||
$rules = array(
|
||||
'assigned_to' => 'required|min:1'
|
||||
);
|
||||
|
||||
// Create a new validator instance from our validation rules
|
||||
$validator = Validator::make(Input::all(), $rules);
|
||||
|
||||
// If validation fails, we'll exit the operation now.
|
||||
if ($validator->fails()) {
|
||||
// Ooops.. something went wrong
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
|
||||
|
||||
// Check if the user exists
|
||||
if (is_null($user = User::find($assigned_to))) {
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.user_does_not_exist'));
|
||||
}
|
||||
|
||||
// Update the accessory data
|
||||
$accessory->assigned_to = e(Input::get('assigned_to'));
|
||||
|
||||
$accessory->users()->attach($accessory->id, array(
|
||||
'accessory_id' => $accessory->id,
|
||||
'assigned_to' => e(Input::get('assigned_to'))));
|
||||
|
||||
$logaction = new Actionlog();
|
||||
$logaction->accessory_id = $accessory->id;
|
||||
$logaction->checkedout_to = $accessory->assigned_to;
|
||||
$logaction->asset_type = 'accessory';
|
||||
$logaction->location_id = $user->location_id;
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->note = e(Input::get('note'));
|
||||
$log = $logaction->logaction('checkout');
|
||||
|
||||
$accessory_user = DB::table('accessories_users')->where('assigned_to','=',$accessory->assigned_to)->where('accessory_id','=',$accessory->id)->first();
|
||||
|
||||
$data['log_id'] = $logaction->id;
|
||||
$data['eula'] = $accessory->getEula();
|
||||
$data['first_name'] = $user->first_name;
|
||||
$data['item_name'] = $accessory->name;
|
||||
$data['require_acceptance'] = $accessory->requireAcceptance();
|
||||
|
||||
|
||||
if (($accessory->requireAcceptance()=='1') || ($accessory->getEula())) {
|
||||
|
||||
Mail::send('emails.accept-asset', $data, function ($m) use ($user) {
|
||||
$m->to($user->email, $user->first_name . ' ' . $user->last_name);
|
||||
$m->subject('Confirm accessory delivery');
|
||||
});
|
||||
}
|
||||
|
||||
// Redirect to the new accessory page
|
||||
return Redirect::to("admin/accessories")->with('success', Lang::get('admin/accessories/message.checkout.success'));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check the accessory back into inventory
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return View
|
||||
**/
|
||||
public function getCheckin($accessoryUserId)
|
||||
{
|
||||
// Check if the accessory exists
|
||||
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
$accessory = Accessory::find($accessory_user->accessory_id);
|
||||
return View::make('backend/accessories/checkin', compact('accessory'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check in the item so that it can be checked out again to someone else
|
||||
*
|
||||
* @param int $accessoryId
|
||||
* @return View
|
||||
**/
|
||||
public function postCheckin($accessoryUserId)
|
||||
{
|
||||
// Check if the accessory exists
|
||||
if (is_null($accessory_user = DB::table('accessories_users')->find($accessoryUserId))) {
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to('admin/accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
|
||||
$accessory = Accessory::find($accessory_user->accessory_id);
|
||||
$logaction = new Actionlog();
|
||||
$logaction->checkedout_to = $accessory_user->assigned_to;
|
||||
|
||||
// Was the accessory updated?
|
||||
if(DB::table('accessories_users')->where('id', '=', $accessory_user->id)->delete()) {
|
||||
|
||||
$logaction->accessory_id = $accessory->id;
|
||||
$logaction->location_id = NULL;
|
||||
$logaction->asset_type = 'accessory';
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$log = $logaction->logaction('checkin from');
|
||||
|
||||
// Redirect to the new accessory page
|
||||
return Redirect::to("admin/accessories")->with('success', Lang::get('admin/accessories/message.checkin.success'));
|
||||
}
|
||||
|
||||
// Redirect to the accessory management page with error
|
||||
return Redirect::to("admin/accessories")->with('error', Lang::get('admin/accessories/message.checkin.error'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -21,12 +21,12 @@ use Response;
|
||||
use Config;
|
||||
use Location;
|
||||
use Log;
|
||||
|
||||
use BaconQrCode\Renderer\Image as QrImage;
|
||||
use DNS2D;
|
||||
use Mail;
|
||||
|
||||
class AssetsController extends AdminController
|
||||
{
|
||||
protected $qrCodeDimensions = array( 'height' => 170, 'width' => 170);
|
||||
protected $qrCodeDimensions = array( 'height' => 3.5, 'width' => 3.5);
|
||||
|
||||
/**
|
||||
* Show a list of all the assets.
|
||||
@@ -239,7 +239,10 @@ class AssetsController extends AdminController
|
||||
|
||||
|
||||
// Grab the dropdown list of models
|
||||
$model_list = array('' => '') + Model::orderBy('name', 'asc')->lists('name', 'id');
|
||||
$model_list = array('' => '') + DB::table('models')
|
||||
->select(DB::raw('concat(name," / ",modelno) as name, id'))->orderBy('name', 'asc')
|
||||
->orderBy('modelno', 'asc')
|
||||
->lists('name', 'id');
|
||||
$supplier_list = array('' => '') + Supplier::orderBy('name', 'asc')->lists('name', 'id');
|
||||
$location_list = array('' => '') + Location::orderBy('name', 'asc')->lists('name', 'id');
|
||||
|
||||
@@ -429,7 +432,7 @@ class AssetsController extends AdminController
|
||||
|
||||
|
||||
// Check if the user exists
|
||||
if (is_null($assigned_to = User::find($assigned_to))) {
|
||||
if (is_null($user = User::find($assigned_to))) {
|
||||
// Redirect to the asset management page with error
|
||||
return Redirect::to('hardware')->with('error', Lang::get('admin/hardware/message.user_does_not_exist'));
|
||||
}
|
||||
@@ -443,10 +446,25 @@ class AssetsController extends AdminController
|
||||
$logaction->asset_id = $asset->id;
|
||||
$logaction->checkedout_to = $asset->assigned_to;
|
||||
$logaction->asset_type = 'hardware';
|
||||
$logaction->location_id = $assigned_to->location_id;
|
||||
$logaction->location_id = $user->location_id;
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->note = e(Input::get('note'));
|
||||
$log = $logaction->logaction('checkout');
|
||||
|
||||
$data['log_id'] = $logaction->id;
|
||||
$data['eula'] = $asset->getEula();
|
||||
$data['first_name'] = $user->first_name;
|
||||
$data['item_name'] = $asset->name;
|
||||
$data['require_acceptance'] = $asset->requireAcceptance();
|
||||
|
||||
|
||||
if (($asset->requireAcceptance()=='1') || ($asset->getEula())) {
|
||||
|
||||
Mail::send('emails.accept-asset', $data, function ($m) use ($user) {
|
||||
$m->to($user->email, $user->first_name . ' ' . $user->last_name);
|
||||
$m->subject('Confirm asset delivery');
|
||||
});
|
||||
}
|
||||
|
||||
// Redirect to the new asset page
|
||||
return Redirect::to("hardware")->with('success', Lang::get('admin/hardware/message.checkout.success'));
|
||||
@@ -534,8 +552,6 @@ class AssetsController extends AdminController
|
||||
|
||||
$qr_code = (object) array(
|
||||
'display' => $settings->qr_code == '1',
|
||||
'height' => $this->qrCodeDimensions['height'],
|
||||
'width' => $this->qrCodeDimensions['width'],
|
||||
'url' => route('qr_code/hardware', $asset->id)
|
||||
);
|
||||
|
||||
@@ -562,15 +578,15 @@ class AssetsController extends AdminController
|
||||
|
||||
if ($settings->qr_code == '1') {
|
||||
$asset = Asset::find($assetId);
|
||||
if (isset($asset->id)) {
|
||||
|
||||
if (isset($asset->id,$asset->asset_tag)) {
|
||||
|
||||
$content = DNS2D::getBarcodePNG(route('view/hardware', $asset->id), "QRCODE",
|
||||
$this->qrCodeDimensions['height'],$this->qrCodeDimensions['width']);
|
||||
|
||||
$renderer = new \BaconQrCode\Renderer\Image\Png;
|
||||
$renderer->setWidth($this->qrCodeDimensions['height'])
|
||||
->setHeight($this->qrCodeDimensions['height']);
|
||||
|
||||
$writer = new \BaconQrCode\Writer($renderer);
|
||||
$content = $writer->writeString(route('view/hardware', $asset->id));
|
||||
$img = imagecreatefromstring(base64_decode($content));
|
||||
imagepng($img);
|
||||
imagedestroy($img);
|
||||
|
||||
$content_disposition = sprintf('attachment;filename=qr_code_%s.png', preg_replace('/\W/', '', $asset->asset_tag));
|
||||
$response = Response::make($content, 200);
|
||||
@@ -863,6 +879,8 @@ class AssetsController extends AdminController
|
||||
return Redirect::to("hardware");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -38,7 +38,9 @@ class CategoriesController extends AdminController
|
||||
public function getCreate()
|
||||
{
|
||||
// Show the page
|
||||
return View::make('backend/categories/edit')->with('category',new Category);
|
||||
$category_types= array('' => '', 'asset' => 'Asset', 'accessory' => 'Accessory');
|
||||
return View::make('backend/categories/edit')->with('category',new Category)
|
||||
->with('category_types',$category_types);
|
||||
}
|
||||
|
||||
|
||||
@@ -63,8 +65,12 @@ class CategoriesController extends AdminController
|
||||
else{
|
||||
|
||||
// Update the category data
|
||||
$category->name = e(Input::get('name'));
|
||||
$category->user_id = Sentry::getId();
|
||||
$category->name = e(Input::get('name'));
|
||||
$category->category_type = e(Input::get('category_type'));
|
||||
$category->eula_text = e(Input::get('eula_text'));
|
||||
$category->use_default_eula = e(Input::get('use_default_eula', '0'));
|
||||
$category->require_acceptance = e(Input::get('require_acceptance', '0'));
|
||||
$category->user_id = Sentry::getId();
|
||||
|
||||
// Was the asset created?
|
||||
if($category->save()) {
|
||||
@@ -97,7 +103,11 @@ class CategoriesController extends AdminController
|
||||
//$category_options = array('' => 'Top Level') + Category::lists('name', 'id');
|
||||
|
||||
$category_options = array('' => 'Top Level') + DB::table('categories')->where('id', '!=', $categoryId)->lists('name', 'id');
|
||||
return View::make('backend/categories/edit', compact('category'))->with('category_options',$category_options);
|
||||
$category_types= array('' => '', 'asset' => 'Asset', 'accessory' => 'Accessory');
|
||||
|
||||
return View::make('backend/categories/edit', compact('category'))
|
||||
->with('category_options',$category_options)
|
||||
->with('category_types',$category_types);
|
||||
}
|
||||
|
||||
|
||||
@@ -133,6 +143,10 @@ class CategoriesController extends AdminController
|
||||
|
||||
// Update the category data
|
||||
$category->name = e(Input::get('name'));
|
||||
$category->category_type = e(Input::get('category_type'));
|
||||
$category->eula_text = e(Input::get('eula_text'));
|
||||
$category->use_default_eula = e(Input::get('use_default_eula', '0'));
|
||||
$category->require_acceptance = e(Input::get('require_acceptance', '0'));
|
||||
|
||||
// Was the asset created?
|
||||
if($category->save()) {
|
||||
@@ -154,7 +168,7 @@ class CategoriesController extends AdminController
|
||||
*/
|
||||
public function getDelete($categoryId)
|
||||
{
|
||||
// Check if the blog post exists
|
||||
// Check if the category exists
|
||||
if (is_null($category = Category::find($categoryId))) {
|
||||
// Redirect to the blogs management page
|
||||
return Redirect::to('admin/settings/categories')->with('error', Lang::get('admin/categories/message.not_found'));
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
use AdminController;
|
||||
use View;
|
||||
use Asset;
|
||||
use Actionlog;
|
||||
|
||||
class DashboardController extends AdminController
|
||||
{
|
||||
@@ -13,7 +15,57 @@ class DashboardController extends AdminController
|
||||
public function getIndex()
|
||||
{
|
||||
// Show the page
|
||||
return View::make('backend/dashboard');
|
||||
|
||||
$recent_activity = Actionlog::orderBy('created_at','DESC')->take(7)->get();
|
||||
|
||||
|
||||
$asset_stats['total'] = Asset::Hardware()->count();
|
||||
|
||||
$asset_stats['rtd']['total'] = Asset::Hardware()->RTD()->count();
|
||||
|
||||
if ($asset_stats['rtd']['total'] > 0) {
|
||||
$asset_stats['rtd']['percent'] = round(($asset_stats['rtd']['total']/$asset_stats['total']) * 100);
|
||||
} else {
|
||||
$asset_stats['rtd']['percent'] = 0;
|
||||
}
|
||||
|
||||
|
||||
$asset_stats['pending']['total'] = Asset::Hardware()->Pending()->count();
|
||||
|
||||
if ($asset_stats['pending']['total'] > 0) {
|
||||
$asset_stats['pending']['percent'] = round(($asset_stats['pending']['total']/$asset_stats['total']) * 100);
|
||||
} else {
|
||||
$asset_stats['pending']['percent'] = 0;
|
||||
}
|
||||
|
||||
|
||||
$asset_stats['deployed']['total'] = Asset::Hardware()->Deployed()->count();
|
||||
|
||||
if ($asset_stats['deployed']['total'] > 0) {
|
||||
$asset_stats['deployed']['percent'] = round(($asset_stats['deployed']['total']/$asset_stats['total']) * 100);
|
||||
} else {
|
||||
$asset_stats['deployed']['percent'] = 0;
|
||||
}
|
||||
|
||||
|
||||
$asset_stats['undeployable']['total'] = Asset::Hardware()->Undeployable()->count();
|
||||
|
||||
if ($asset_stats['undeployable']['total'] > 0) {
|
||||
$asset_stats['undeployable']['percent'] = round(($asset_stats['undeployable']['total']/$asset_stats['total']) * 100);
|
||||
} else {
|
||||
$asset_stats['undeployable']['percent'] = 0;
|
||||
}
|
||||
|
||||
$asset_stats['archived']['total'] = Asset::Hardware()->Archived()->count();
|
||||
|
||||
if ($asset_stats['archived']['total'] > 0) {
|
||||
$asset_stats['archived']['percent'] = round(($asset_stats['archived']['total']/$asset_stats['total']) * 100);
|
||||
} else {
|
||||
$asset_stats['archived']['percent'] = 0;
|
||||
}
|
||||
|
||||
|
||||
return View::make('backend/dashboard')->with('asset_stats',$asset_stats)->with('recent_activity',$recent_activity);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -511,6 +511,7 @@ class LicensesController extends AdminController
|
||||
$logaction->asset_type = 'software';
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->note = e(Input::get('note'));
|
||||
$logaction->asset_id = $licenseseat->license_id;
|
||||
|
||||
|
||||
// Update the asset data
|
||||
@@ -583,7 +584,7 @@ class LicensesController extends AdminController
|
||||
|
||||
// Was the asset updated?
|
||||
if($licenseseat->save()) {
|
||||
$logaction->asset_id = NULL;
|
||||
$logaction->asset_id = $licenseseat->license_id;
|
||||
$logaction->location_id = NULL;
|
||||
$logaction->asset_type = 'software';
|
||||
$logaction->note = e(Input::get('note'));
|
||||
|
||||
@@ -25,7 +25,12 @@ class ModelsController extends AdminController
|
||||
public function getIndex()
|
||||
{
|
||||
// Grab all the models
|
||||
$models = Model::orderBy('created_at', 'DESC')->get();
|
||||
$models = Model::orderBy('created_at', 'DESC');
|
||||
if (Input::get('Deleted')) {
|
||||
$models->withTrashed()->Deleted();
|
||||
}
|
||||
|
||||
$models = $models->with('category','assets','depreciation')->get();
|
||||
|
||||
// Show the page
|
||||
return View::make('backend/models/index', compact('models'));
|
||||
@@ -238,6 +243,29 @@ class ModelsController extends AdminController
|
||||
return Redirect::to('hardware/models')->with('success', Lang::get('admin/models/message.delete.success'));
|
||||
}
|
||||
}
|
||||
|
||||
public function getRestore($modelId = null)
|
||||
{
|
||||
|
||||
// Get user information
|
||||
$model = Model::withTrashed()->find($modelId);
|
||||
|
||||
if (isset($model->id)) {
|
||||
|
||||
// Restore the model
|
||||
$model->restore();
|
||||
|
||||
// Prepare the success message
|
||||
$success = Lang::get('admin/models/message.restore.success');
|
||||
|
||||
// Redirect back
|
||||
return Redirect::back()->with('success', $success);
|
||||
|
||||
} else {
|
||||
return Redirect::back()->with('error', Lang::get('admin/models/message.not_found'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -248,7 +276,7 @@ class ModelsController extends AdminController
|
||||
**/
|
||||
public function getView($modelId = null)
|
||||
{
|
||||
$model = Model::find($modelId);
|
||||
$model = Model::withTrashed()->find($modelId);
|
||||
|
||||
if (isset($model->id)) {
|
||||
return View::make('backend/models/view', compact('model'));
|
||||
|
||||
@@ -148,10 +148,8 @@ class ReportsController extends AdminController
|
||||
*/
|
||||
public function exportDeprecationReport()
|
||||
{
|
||||
// @todo - It may be worthwhile creating a separate controller for reporting
|
||||
|
||||
// Grab all the assets
|
||||
$assets = Asset::orderBy('created_at', 'DESC')->get();
|
||||
$assets = Asset::with('model','assigneduser','assetstatus','defaultLoc','assetlog')->orderBy('created_at', 'DESC')->get();
|
||||
|
||||
$rows = array();
|
||||
|
||||
@@ -198,17 +196,20 @@ class ReportsController extends AdminController
|
||||
$row[] = ''; // Empty string if location is not set
|
||||
}
|
||||
|
||||
$depreciation = $asset->depreciate();
|
||||
|
||||
|
||||
|
||||
|
||||
$row[] = $asset->purchase_date;
|
||||
$row[] = '"'.number_format($asset->purchase_cost).'"';
|
||||
$row[] = '"'.number_format($depreciation).'"';
|
||||
$row[] = '"'.number_format($asset->purchase_cost - $depreciation).'"';
|
||||
$row[] = '"'.Lang::get('general.currency').number_format($asset->purchase_cost).'"';
|
||||
$row[] = '"'.Lang::get('general.currency').number_format($asset->getDepreciatedValue()).'"';
|
||||
$row[] = '"-'.Lang::get('general.currency').number_format(($asset->purchase_cost - $asset->getDepreciatedValue())).'"';
|
||||
$rows[] = implode($row, ',');
|
||||
}
|
||||
|
||||
// spit out a csv
|
||||
$csv = implode($rows, "\n");
|
||||
|
||||
$response = Response::make($csv, 200);
|
||||
$response->header('Content-Type', 'text/csv');
|
||||
$response->header('Content-disposition', 'attachment;filename=report.csv');
|
||||
|
||||
@@ -10,6 +10,7 @@ use Sentry;
|
||||
use Str;
|
||||
use Validator;
|
||||
use View;
|
||||
use Image;
|
||||
|
||||
class SettingsController extends AdminController
|
||||
{
|
||||
@@ -64,8 +65,10 @@ class SettingsController extends AdminController
|
||||
// Declare the rules for the form validation
|
||||
$rules = array(
|
||||
"site_name" => 'required|min:3',
|
||||
"per_page" => 'required|min:1|numeric',
|
||||
"qr_text" => 'min:1|max:31'
|
||||
"per_page" => 'required|min:1|numeric',
|
||||
"qr_text" => 'min:1|max:31',
|
||||
"logo" => 'mimes:jpeg,bmp,png,gif',
|
||||
"alert_email" => 'email',
|
||||
);
|
||||
|
||||
// Create a new validator instance from our validation rules
|
||||
@@ -77,6 +80,20 @@ class SettingsController extends AdminController
|
||||
// Ooops.. something went wrong
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
|
||||
if (Input::get('clear_logo')=='1') {
|
||||
$setting->logo = NULL;
|
||||
} elseif (Input::file('logo')) {
|
||||
$image = Input::file('logo');
|
||||
$file_name = "logo.".$image->getClientOriginalExtension();
|
||||
$path = public_path('uploads/'.$file_name);
|
||||
Image::make($image->getRealPath())->resize(null, 40, function ($constraint) {
|
||||
$constraint->aspectRatio();
|
||||
$constraint->upsize();
|
||||
})->save($path);
|
||||
$setting->logo = $file_name;
|
||||
}
|
||||
|
||||
|
||||
// Update the asset data
|
||||
$setting->id = '1';
|
||||
@@ -90,6 +107,11 @@ class SettingsController extends AdminController
|
||||
$setting->qr_text = e(Input::get('qr_text'));
|
||||
$setting->auto_increment_prefix = e(Input::get('auto_increment_prefix'));
|
||||
$setting->auto_increment_assets = e(Input::get('auto_increment_assets', '0'));
|
||||
$setting->alert_email = e(Input::get('alert_email'));
|
||||
$setting->alerts_enabled = e(Input::get('alerts_enabled', '0'));
|
||||
$setting->header_color = e(Input::get('header_color'));
|
||||
$setting->default_eula_text = e(Input::get('default_eula_text'));
|
||||
|
||||
|
||||
// Was the asset updated?
|
||||
if($setting->save()) {
|
||||
|
||||
@@ -21,6 +21,8 @@ use Sentry;
|
||||
use Validator;
|
||||
use View;
|
||||
use Chumper\Datatable\Facades\Datatable;
|
||||
use League\Csv\Reader;
|
||||
use Mail;
|
||||
|
||||
class UsersController extends AdminController
|
||||
{
|
||||
@@ -149,7 +151,7 @@ class UsersController extends AdminController
|
||||
// permissions here before we create the user.
|
||||
|
||||
// Get the inputs, with some exceptions
|
||||
$inputs = Input::except('csrf_token', 'password_confirm', 'groups');
|
||||
$inputs = Input::except('csrf_token', 'password_confirm', 'groups','email_user');
|
||||
|
||||
// @TODO: Figure out WTF I need to do this.
|
||||
if ($inputs['manager_id']=='') {
|
||||
@@ -174,6 +176,22 @@ class UsersController extends AdminController
|
||||
|
||||
// Redirect to the new user page
|
||||
//return Redirect::route('update/user', $user->id)->with('success', $success);
|
||||
|
||||
if (Input::get('email_user')==1) {
|
||||
// Send the credentials through email
|
||||
|
||||
$data = array();
|
||||
$data['email'] = e(Input::get('email'));
|
||||
$data['first_name'] = e(Input::get('first_name'));
|
||||
$data['password'] = e(Input::get('password'));
|
||||
|
||||
Mail::send('emails.send-login', $data, function ($m) use ($user) {
|
||||
$m->to($user->email, $user->first_name . ' ' . $user->last_name);
|
||||
$m->subject('Welcome ' . $user->first_name);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return Redirect::route('users')->with('success', $success);
|
||||
}
|
||||
|
||||
@@ -493,7 +511,7 @@ class UsersController extends AdminController
|
||||
}
|
||||
)
|
||||
->addColumn('activated', function ($model) {
|
||||
$activated = $model->isActivated() ? '<i class="icon-ok"></i>' : '';
|
||||
$activated = $model->isActivated() ? '<i class="fa fa-check"></i>' : '';
|
||||
return $activated;
|
||||
}
|
||||
)
|
||||
@@ -601,5 +619,122 @@ class UsersController extends AdminController
|
||||
return Redirect::route('users')->with('error', $error);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* User import.
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
public function getImport()
|
||||
{
|
||||
// Get all the available groups
|
||||
$groups = Sentry::getGroupProvider()->findAll();
|
||||
// Selected groups
|
||||
$selectedGroups = Input::old('groups', array());
|
||||
// Get all the available permissions
|
||||
$permissions = Config::get('permissions');
|
||||
$this->encodeAllPermissions($permissions);
|
||||
// Selected permissions
|
||||
$selectedPermissions = Input::old('permissions', array('superuser' => -1));
|
||||
$this->encodePermissions($selectedPermissions);
|
||||
// Show the page
|
||||
return View::make('backend/users/import', compact('groups', 'selectedGroups', 'permissions', 'selectedPermissions'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* User import form processing.
|
||||
*
|
||||
* @return Redirect
|
||||
*/
|
||||
public function postImport()
|
||||
{
|
||||
|
||||
if (! ini_get("auto_detect_line_endings")) {
|
||||
ini_set("auto_detect_line_endings", '1');
|
||||
}
|
||||
|
||||
$csv = Reader::createFromPath(Input::file('user_import_csv'));
|
||||
$csv->setNewline("\r\n");
|
||||
|
||||
if (Input::get('has_headers')==1) {
|
||||
$csv->setOffset(1);
|
||||
}
|
||||
|
||||
$duplicates = '';
|
||||
|
||||
$nbInsert = $csv->each(function ($row) use ($duplicates) {
|
||||
|
||||
if (array_key_exists(2, $row)) {
|
||||
|
||||
if (Input::get('activate')==1) {
|
||||
$activated = '1';
|
||||
} else {
|
||||
$activated = '0';
|
||||
}
|
||||
|
||||
$pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
|
||||
|
||||
|
||||
|
||||
try {
|
||||
// Check if this email already exists in the system
|
||||
$user = DB::table('users')->where('email', $row[2])->first();
|
||||
if ($user) {
|
||||
$duplicates .= $row[2].', ';
|
||||
} else {
|
||||
|
||||
$newuser = array(
|
||||
'first_name' => $row[0],
|
||||
'last_name' => $row[1],
|
||||
'email' => $row[2],
|
||||
'password' => $pass,
|
||||
'activated' => $activated,
|
||||
'permissions' => '{"user":1}'
|
||||
);
|
||||
|
||||
DB::table('users')->insert($newuser);
|
||||
|
||||
$udpateuser = Sentry::findUserByLogin($row[2]);
|
||||
|
||||
// Update the user details
|
||||
$udpateuser->password = $pass;
|
||||
|
||||
// Update the user
|
||||
$udpateuser->save();
|
||||
|
||||
|
||||
if (Input::get('email_user')==1) {
|
||||
// Send the credentials through email
|
||||
|
||||
$data = array();
|
||||
$data['email'] = $row[2];
|
||||
$data['first_name'] = $row[0];
|
||||
$data['password'] = $pass;
|
||||
|
||||
Mail::send('emails.send-login', $data, function ($m) use ($newuser) {
|
||||
$m->to($newuser['email'], $newuser['first_name'] . ' ' . $newuser['last_name']);
|
||||
$m->subject('Welcome ' . $newuser['first_name']);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo 'Caught exception: ', $e->getMessage(), "\n";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
return Redirect::route('users')->with('duplicates',$duplicates)->with('success', 'Success');
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddLogoAndColorsToSettings extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->string('logo')->nullable()->default(NULL);
|
||||
$table->string('header_color')->nullable()->default(NULL);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->dropColumn('logo');
|
||||
$table->dropColumn('header_color');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddAlertsToSettings extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->string('alert_email')->nullable()->default(NULL);
|
||||
$table->boolean('alerts_enabled')->default(1);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->dropColumn('alert_email');
|
||||
$table->dropColumn('alerts_enabled');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddEulaFields extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->longText('default_eula_text');
|
||||
});
|
||||
|
||||
Schema::table('categories', function ($table) {
|
||||
$table->longText('eula_text');
|
||||
$table->boolean('use_default_eula')->default(0);
|
||||
$table->boolean('require_acceptance')->default(0);
|
||||
});
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
$table->dateTime('requested_at')->nullable()->default(NULL);
|
||||
$table->dateTime('accepted_at')->nullable()->default(NULL);
|
||||
});
|
||||
|
||||
|
||||
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();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::table('settings', function ($table) {
|
||||
$table->dropColumn('default_eula_text');
|
||||
});
|
||||
|
||||
Schema::table('categories', function ($table) {
|
||||
$table->dropColumn('eula_text');
|
||||
$table->dropColumn('use_default_eula');
|
||||
$table->dropColumn('require_acceptance');
|
||||
});
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
$table->dropColumn('requested_at');
|
||||
$table->dropColumn('accepted_at');
|
||||
});
|
||||
|
||||
Schema::drop('requested_assets');
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddAccessoriesTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::create('accessories', function ($table) {
|
||||
$table->increments('id');
|
||||
$table->string('name')->nullable()->default(NULL);
|
||||
$table->integer('category_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();
|
||||
});
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
$table->integer('accessory_id')->nullable()->default(NULL);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::drop('accessories');
|
||||
|
||||
Schema::table('asset_logs', function ($table) {
|
||||
$table->dropColumn('accessory_id');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddAccessoriesUserTable extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::create('accessories_users', function ($table) {
|
||||
$table->increments('id');
|
||||
$table->integer('user_id')->nullable()->default(NULL);
|
||||
$table->integer('accessory_id')->nullable()->default(NULL);
|
||||
$table->integer('assigned_to')->nullable()->default(NULL);
|
||||
$table->timestamps();
|
||||
});
|
||||
|
||||
Schema::table('accessories', function ($table) {
|
||||
$table->integer('location_id')->nullable()->default(NULL);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::drop('accessories_users');
|
||||
|
||||
Schema::table('accessories', function ($table) {
|
||||
$table->dropColumn('location_id');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddDeletedAtModels extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('models', function ($table){
|
||||
$table->softDeletes();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('models', function ($table){
|
||||
$table->dropColumn('deleted_at');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddCategoryType extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
//
|
||||
Schema::table('categories', function ($table) {
|
||||
$table->string('category_type')->nullable()->default('asset');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
//
|
||||
Schema::table('categories', function ($table) {
|
||||
$table->dropColumn('category_type');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,6 +12,8 @@ class CategoriesSeeder extends Seeder
|
||||
'created_at' => $date->modify('-10 day'),
|
||||
'updated_at' => $date->modify('-3 day'),
|
||||
'user_id' => 1,
|
||||
'use_default_eula' => 0,
|
||||
'require_acceptance' => 0,
|
||||
'deleted_at' => NULL,
|
||||
);
|
||||
|
||||
@@ -21,6 +23,8 @@ class CategoriesSeeder extends Seeder
|
||||
'created_at' => $date->modify('-10 day'),
|
||||
'updated_at' => $date->modify('-3 day'),
|
||||
'user_id' => 1,
|
||||
'use_default_eula' => 0,
|
||||
'require_acceptance' => 0,
|
||||
'deleted_at' => NULL,
|
||||
);
|
||||
|
||||
@@ -30,6 +34,8 @@ class CategoriesSeeder extends Seeder
|
||||
'created_at' => $date->modify('-10 day'),
|
||||
'updated_at' => $date->modify('-3 day'),
|
||||
'user_id' => 1,
|
||||
'use_default_eula' => 0,
|
||||
'require_acceptance' => 0,
|
||||
'deleted_at' => NULL,
|
||||
);
|
||||
|
||||
@@ -39,6 +45,8 @@ class CategoriesSeeder extends Seeder
|
||||
'created_at' => $date->modify('-10 day'),
|
||||
'updated_at' => $date->modify('-3 day'),
|
||||
'user_id' => 1,
|
||||
'use_default_eula' => 0,
|
||||
'require_acceptance' => 0,
|
||||
'deleted_at' => NULL,
|
||||
);
|
||||
|
||||
@@ -48,6 +56,8 @@ class CategoriesSeeder extends Seeder
|
||||
'created_at' => $date->modify('-10 day'),
|
||||
'updated_at' => $date->modify('-3 day'),
|
||||
'user_id' => 1,
|
||||
'use_default_eula' => 0,
|
||||
'require_acceptance' => 0,
|
||||
'deleted_at' => NULL,
|
||||
);
|
||||
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Checked Out To',
|
||||
'checkout_to' => 'Checkout to',
|
||||
'cost' => 'Purchase Cost',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.'
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this asset?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Display Checkout Date',
|
||||
'display_eol' => 'Display EOL in table view',
|
||||
'display_qr' => 'Display QR Codes',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'These settings let you customize certain aspects of your installation.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Results Per Page',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'You must install php-gd to display QR codes, see install instructions.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'software_user' => 'Software Checked out to :name',
|
||||
'view_user' => 'View User :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'User was successfully unbanned.',
|
||||
'suspend' => 'User was successfully suspended.',
|
||||
'unsuspend' => 'User was successfully unsuspended.',
|
||||
'restored' => 'User was successfully restored.'
|
||||
'restored' => 'User was successfully restored.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'There was an issue creating the user. Please try again.',
|
||||
'update' => 'There was an issue updating the user. Please try again.',
|
||||
'delete' => 'There was an issue deleting the user. Please try again.',
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.'
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ return array(
|
||||
'deleted' => 'تم حذفها',
|
||||
'deployed' => 'مُوزعة',
|
||||
'depreciation_report' => 'تقرير الإستهلاك',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'الإستهلاك',
|
||||
'editprofile' => 'تعديل الملف الشخصي',
|
||||
'eol' => 'الحياة',
|
||||
@@ -48,8 +49,8 @@ return array(
|
||||
'gravatar_email' => 'البريد الإلكتروني لخدمة Gravatar',
|
||||
'history_for' => 'السجل لـ',
|
||||
'id' => 'الرقم',
|
||||
'image_delete' => 'حذف الصورة',
|
||||
'image_upload' => 'رفع صورة',
|
||||
'image_delete' => 'حذف الصورة',
|
||||
'image_upload' => 'رفع صورة',
|
||||
'last_name' => 'الإسم الأخير',
|
||||
'license' => 'الرخص',
|
||||
'license_report' => 'License Report',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Vydané komu',
|
||||
'checkout_to' => 'Vydat někomu',
|
||||
'cost' => 'Pořizovací cena',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.'
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this asset?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Display Checkout Date',
|
||||
'display_eol' => 'Display EOL in table view',
|
||||
'display_qr' => 'Display QR Codes',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'These settings let you customize certain aspects of your installation.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Results Per Page',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'You must install php-gd to display QR codes, see install instructions.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'software_user' => 'Software Checked out to :name',
|
||||
'view_user' => 'View User :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'User was successfully unbanned.',
|
||||
'suspend' => 'User was successfully suspended.',
|
||||
'unsuspend' => 'User was successfully unsuspended.',
|
||||
'restored' => 'User was successfully restored.'
|
||||
'restored' => 'User was successfully restored.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'There was an issue creating the user. Please try again.',
|
||||
'update' => 'There was an issue updating the user. Please try again.',
|
||||
'delete' => 'There was an issue deleting the user. Please try again.',
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.'
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ return array(
|
||||
'deleted' => 'Odstraněno',
|
||||
'deployed' => 'Vydané',
|
||||
'depreciation_report' => 'Report zastarání',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'Amortizace',
|
||||
'editprofile' => 'Upravit profil',
|
||||
'eol' => 'Konec životnosti',
|
||||
@@ -48,8 +49,8 @@ return array(
|
||||
'gravatar_email' => 'Emailová adresa Gravatar',
|
||||
'history_for' => 'Historie uživatele',
|
||||
'id' => 'ID',
|
||||
'image_delete' => 'Smazat obrázek',
|
||||
'image_upload' => 'Nahrát obrázek',
|
||||
'image_delete' => 'Smazat obrázek',
|
||||
'image_upload' => 'Nahrát obrázek',
|
||||
'last_name' => 'Příjmení',
|
||||
'license' => 'Licence',
|
||||
'license_report' => 'Report licencí',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Checked Out To',
|
||||
'checkout_to' => 'Checkout to',
|
||||
'cost' => 'Purchase Cost',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.'
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this asset?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Display Checkout Date',
|
||||
'display_eol' => 'Display EOL in table view',
|
||||
'display_qr' => 'Display QR Codes',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'These settings let you customize certain aspects of your installation.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Results Per Page',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'You must install php-gd to display QR codes, see install instructions.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'software_user' => 'Software Checked out to :name',
|
||||
'view_user' => 'View User :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'User was successfully unbanned.',
|
||||
'suspend' => 'User was successfully suspended.',
|
||||
'unsuspend' => 'User was successfully unsuspended.',
|
||||
'restored' => 'User was successfully restored.'
|
||||
'restored' => 'User was successfully restored.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'There was an issue creating the user. Please try again.',
|
||||
'update' => 'There was an issue updating the user. Please try again.',
|
||||
'delete' => 'There was an issue deleting the user. Please try again.',
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.'
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ return array(
|
||||
'deleted' => 'Slettet',
|
||||
'deployed' => 'Deployed',
|
||||
'depreciation_report' => 'Depreciation Report',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'Depreciation',
|
||||
'editprofile' => 'Edit Your Profile',
|
||||
'eol' => 'EOL',
|
||||
@@ -48,8 +49,8 @@ return array(
|
||||
'gravatar_email' => 'Gravatar email addresse',
|
||||
'history_for' => 'History for',
|
||||
'id' => 'ID',
|
||||
'image_delete' => 'Slet billede',
|
||||
'image_upload' => 'Upload billede',
|
||||
'image_delete' => 'Slet billede',
|
||||
'image_upload' => 'Upload billede',
|
||||
'last_name' => 'Efternavn',
|
||||
'license' => 'Licens',
|
||||
'license_report' => 'License Report',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Herausgegeben an',
|
||||
'checkout_to' => 'Herausgeben an',
|
||||
'cost' => 'Einkaufspreis',
|
||||
@@ -15,7 +18,7 @@ return array(
|
||||
'expires' => 'Gültig bis',
|
||||
'fully_depreciated' => 'Komplett Abgeschrieben',
|
||||
'help_checkout' => 'Wenn du dieses Asset sofort zuweisen möchtest, solltest du "Ready to Deploy" im Statusfeld auswählen oder es könnten unerwartete Probleme auftreten. ',
|
||||
'mac_address' => 'MAC Address',
|
||||
'mac_address' => 'MAC Adresse',
|
||||
'manufacturer' => 'Hersteller',
|
||||
'model' => 'Modell',
|
||||
'months' => 'Monate',
|
||||
@@ -24,7 +27,7 @@ return array(
|
||||
'order' => 'Bestellnummer',
|
||||
'qr' => 'QR-Code',
|
||||
'requestable' => 'Benutzer dürfen dieses Asset anfordern',
|
||||
'select_statustype' => 'Select Status Type',
|
||||
'select_statustype' => 'Status Typ auswählen',
|
||||
'serial' => 'Seriennummer',
|
||||
'status' => 'Status',
|
||||
'supplier' => 'Lieferant',
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Archiviert',
|
||||
'asset' => 'Asset',
|
||||
'checkin' => 'Asset zurücknehmen',
|
||||
'checkout' => 'Asset an Benutzer herausgeben',
|
||||
'clone' => 'Asset duplizieren',
|
||||
'deployable' => 'Deployable',
|
||||
'deleted' => 'This asset has been deleted. <a href="/hardware/:asset_id/restore">Click here to restore it</a>.',
|
||||
'deployable' => 'Einsetzbar',
|
||||
'deleted' => 'Dieses Asset wurde gelöscht. <a href="/hardware/:asset_id/restore">Zur Wiederherstellung hier klicken</a>.',
|
||||
'edit' => 'Asset editieren',
|
||||
'requestable' => 'Requestable',
|
||||
'restore' => 'Restore Asset',
|
||||
'pending' => 'Pending',
|
||||
'undeployable' => 'Undeployable',
|
||||
'requestable' => 'Anforderbar',
|
||||
'restore' => 'Asset wiederherstellen',
|
||||
'pending' => 'Ausstehend',
|
||||
'undeployable' => 'nicht einsetzbar',
|
||||
'view' => 'Asset ansehen',
|
||||
);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
|
||||
'undeployable' => '<strong>Warning: </strong> This asset has been marked as currently undeployable.
|
||||
If this status has changed, please update the asset status.',
|
||||
'undeployable' => '<strong>Achtung:</strong>Dieses Asset wurde kürzlich als nicht verteilbar markiert.
|
||||
Falls sich dieser Status verändert hat, aktualisieren Sie bitte den Asset Status.',
|
||||
'does_not_exist' => 'Asset existiert nicht.',
|
||||
'assoc_users' => 'Dieses Asset ist im Moment an einen Benutzer herausgegeben und kann nicht entfernt werden. Bitte buchen sie das Asset wieder ein und versuchen Sie dann erneut es zu entfernen. ',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Asset wurde nicht aktualisiert. Bitte versuchen Sie es erneut',
|
||||
'success' => 'Asset wurde erfolgreich aktualisiert.'
|
||||
'error' => 'Asset wurde nicht aktualisiert. Bitte versuchen Sie es erneut',
|
||||
'success' => 'Asset wurde erfolgreich aktualisiert.',
|
||||
'nothing_updated' => 'Es wurden keine Felder ausgewählt, somit wurde auch nichts aktualisiert.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
'error' => 'Asset wurde nicht wiederhergestellt, bitte versuchen Sie es noch einmal',
|
||||
'success' => 'Asset erfolgreich wiederhergestellt.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'Datei wurde nicht gelöscht. Bitte noch einmal Probieren.',
|
||||
'success' => 'Datei erfolgreich gelöscht.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'Datei(en) wurde nicht hochgeladen. Bitte noch einmal Probieren.',
|
||||
'success' => 'Datei(en) erfolgreich hochgeladen.',
|
||||
'nofiles' => 'Sie haben keine Datei zum hochladen ausgewählt',
|
||||
'invalidfiles' => 'Eine oder mehrere Ihrer Dateien ist zu groß oder deren Dateityp ist nicht zugelassen. Zugelassene Dateitypen sind png, gif, jpg, doc, docx, pdf, und txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Sind Sie sicher, dass Sie dieses Asset entfernen möchten?',
|
||||
|
||||
@@ -9,7 +9,7 @@ return array(
|
||||
'date' => 'Kaufdatum',
|
||||
'depreciation' => 'Abschreibung',
|
||||
'expiration' => 'Ablaufdatum',
|
||||
'maintained' => 'Maintained',
|
||||
'maintained' => 'Verwaltet',
|
||||
'name' => 'Software Name',
|
||||
'no_depreciation' => 'Nicht abschreiben',
|
||||
'notes' => 'Notizen',
|
||||
|
||||
@@ -15,15 +15,15 @@ return array(
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
'error' => 'Datei nicht gelöscht. Bitte versuchen Sie es noch einmal.',
|
||||
'success' => 'Datei erfolgreich gelöscht.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
'error' => 'Datei(en) wurden nicht hochgeladen. Bitte versuchen Sie es noch einmal.',
|
||||
'success' => 'Datei(en) erfolgreich hochgeladen.',
|
||||
'nofiles' => 'Sie haben keine Datei(en) zum Hochladen ausgewählt',
|
||||
'invalidfiles' => 'Eine oder mehrere Ihrer Datei(en) sind zu groß oder ein Dateityp ist nicht erlaubt. Erlaubte Dateitypen sind png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
return array(
|
||||
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'MAC Adressen Feld anzeigen für Assets mit diesses Modell',
|
||||
|
||||
);
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Erzeugen von fortlaufenden Asset IDs',
|
||||
'auto_increment_prefix' => 'Präfix (optional)',
|
||||
'auti_incrementing_help' => 'Aktiviere zuerst fortlaufende asset IDs um dies zu setzen',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Zeige Herausgabedatum',
|
||||
'display_eol' => 'Zeige EOL in der Tabellenansicht',
|
||||
'display_qr' => 'Zeige QR-Codes',
|
||||
'header_color' => 'Farbe der Kopfzeile',
|
||||
'info' => 'Mit diesen Einstellungen können Sie verschieden Aspekte Ihrer Installation bearbeiten.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'Diese Installation von Snipe-IT kann Skripte aus der Aussenwelt laden.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Ergebnisse pro Seite',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'Um QR-Codes anzeigen zu können muss php-gd installiert sein, siehe Installationshinweise.',
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return array(
|
||||
'about' => 'Info Statusbezeichnung',
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Archiviert',
|
||||
'create' => 'Statusbezeichnung erstellen',
|
||||
'deployable' => 'Deployable',
|
||||
'info' => 'Status labels are used to describe the various states your assets could be in. They may be out for repair, lost/stolen, etc. You can create new status labels for deployable, pending and archived assets.',
|
||||
'deployable' => 'Einsetzbar',
|
||||
'info' => 'Status Label werden eingesetzt um diverse Stati Ihrer Assets zu beschreiben. Diese können zB. in Reparatur sein, Gestohlen oder Verlohren worden sein. Sie können neue Status Labels für Einsetzbare, Unerledigte und Archivierte Assets erstellen.',
|
||||
'name' => 'Statusname',
|
||||
'pending' => 'Pending',
|
||||
'status_type' => 'Status Type',
|
||||
'pending' => 'Unerledigt',
|
||||
'status_type' => 'Statustyp',
|
||||
'title' => 'Statusbezeichnungen',
|
||||
'undeployable' => 'Undeployable',
|
||||
'undeployable' => 'nicht Einsetzbar',
|
||||
'update' => 'Statusbezeichnung bearbeiten',
|
||||
);
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Letzte Anmeldung',
|
||||
'software_user' => 'Software herausgegeben an :name',
|
||||
'view_user' => 'Benutze :name ansehen',
|
||||
'usercsv' => 'CSV Datei',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'Benutzer wurde erfolgreich wieder eingeschlossen.',
|
||||
'suspend' => 'Der Benutzer wurde erfolgreich deaktiviert.',
|
||||
'unsuspend' => 'Der Benutzer wurde erfolgreich reaktiviert.',
|
||||
'restored' => 'Benutzer wurde erfolgreich wiederhergestellt.'
|
||||
'restored' => 'Benutzer wurde erfolgreich wiederhergestellt.',
|
||||
+ 'import' => 'Benutzer erfolgreich Importiert.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'Beim Erstellen des Benutzers ist ein Fehler aufgetreten. Bitte probieren Sie es noch einmal.',
|
||||
'update' => 'Beim Aktualisieren des Benutzers ist ein Fehler aufgetreten. Bitte probieren Sie es noch einmal.',
|
||||
'delete' => 'Beim Entfernen des Benutzers ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
|
||||
'unsuspend' => 'Es gab ein Problem beim reaktivieren des Benutzers. Bitte versuche es erneut.'
|
||||
'unsuspend' => 'Es gab ein Problem beim reaktivieren des Benutzers. Bitte versuche es erneut.',
|
||||
'import' => 'Es gab ein Problem beim importieren der Benutzer. Bitte noch einmal versuchen.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
return array(
|
||||
|
||||
'actions' => 'Aktionen',
|
||||
'add' => 'Add New',
|
||||
'cancel' => 'Cancel',
|
||||
'add' => 'Hinzufügen',
|
||||
'cancel' => 'Abbrechen',
|
||||
'delete' => 'Löschen',
|
||||
'edit' => 'Bearbeiten',
|
||||
'restore' => 'Wiederherstellen',
|
||||
'submit' => 'Abschicken',
|
||||
'upload' => 'Upload',
|
||||
'upload' => 'Hochladen',
|
||||
|
||||
);
|
||||
|
||||
@@ -7,7 +7,7 @@ return array(
|
||||
'admin' => 'Administrator',
|
||||
'all_assets' => 'Alle Assets',
|
||||
'all' => 'Alle',
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Archiviert',
|
||||
'asset_models' => 'Asset Modelle',
|
||||
'asset' => 'Asset',
|
||||
'asset_report' => 'Asset Bericht',
|
||||
@@ -37,19 +37,20 @@ return array(
|
||||
'deleted' => 'Gelöscht',
|
||||
'deployed' => 'Herausgegeben',
|
||||
'depreciation_report' => 'Abschreibunsgreport',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'Abschreibung',
|
||||
'editprofile' => 'Profil bearbeiten',
|
||||
'eol' => 'EOL',
|
||||
'first_name' => 'Vorname',
|
||||
'file_name' => 'File',
|
||||
'file_uploads' => 'File Uploads',
|
||||
'file_name' => 'Datei',
|
||||
'file_uploads' => 'Datei-Uploads',
|
||||
'generate' => 'Generieren',
|
||||
'groups' => 'Gruppen',
|
||||
'gravatar_email' => 'Gravatar E-Mail Adresse',
|
||||
'history_for' => 'Verlauf für',
|
||||
'id' => 'Id',
|
||||
'image_delete' => 'Bild löschen',
|
||||
'image_upload' => 'Bild hinzufügen',
|
||||
'image_delete' => 'Bild löschen',
|
||||
'image_upload' => 'Bild hinzufügen',
|
||||
'last_name' => 'Familienname',
|
||||
'license' => 'Lizenz',
|
||||
'license_report' => 'Lizenz Report',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Checked Out To',
|
||||
'checkout_to' => 'Checkout to',
|
||||
'cost' => 'Purchase Cost',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.'
|
||||
'error' => 'Asset was not updated, please try again',
|
||||
'success' => 'Asset updated successfully.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this asset?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Display Checkout Date',
|
||||
'display_eol' => 'Display EOL in table view',
|
||||
'display_qr' => 'Display QR Codes',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'These settings let you customize certain aspects of your installation.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Results Per Page',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'You must install php-gd to display QR codes, see install instructions.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'software_user' => 'Software Checked out to :name',
|
||||
'view_user' => 'View User :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'User was successfully unbanned.',
|
||||
'suspend' => 'User was successfully suspended.',
|
||||
'unsuspend' => 'User was successfully unsuspended.',
|
||||
'restored' => 'User was successfully restored.'
|
||||
'restored' => 'User was successfully restored.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'There was an issue creating the user. Please try again.',
|
||||
'update' => 'There was an issue updating the user. Please try again.',
|
||||
'delete' => 'There was an issue deleting the user. Please try again.',
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.'
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ return array(
|
||||
'deleted' => 'Deleted',
|
||||
'deployed' => 'Deployed',
|
||||
'depreciation_report' => 'Depreciation Report',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'Depreciation',
|
||||
'editprofile' => 'Edit Your Profile',
|
||||
'eol' => 'EOL',
|
||||
@@ -48,8 +49,8 @@ return array(
|
||||
'gravatar_email' => 'Gravatar Email Address',
|
||||
'history_for' => 'History for',
|
||||
'id' => 'ID',
|
||||
'image_delete' => 'Delete Image',
|
||||
'image_upload' => 'Upload Image',
|
||||
'image_delete' => 'Delete Image',
|
||||
'image_upload' => 'Upload Image',
|
||||
'last_name' => 'Last Name',
|
||||
'license' => 'License',
|
||||
'license_report' => 'License Report',
|
||||
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'about_accessories_title' => 'About Accessories',
|
||||
'about_accessories_text' => 'Accessories are anything you issue to users but that do not have a serial number (or you do not care about tracking them uniquely). For example, computer mice or keyboards.',
|
||||
'accessory_category' => 'Accessory Category',
|
||||
'accessory_name' => 'Accessory Name',
|
||||
'create' => 'Create Category',
|
||||
'eula_text' => 'Category EULA',
|
||||
'eula_text_help' => 'This field allows you to customize your EULAs for specific types of assets. If you only have one EULA for all of your assets, you can check the box below to use the primary default.',
|
||||
'require_acceptance' => 'Require users to confirm acceptance of assets in this category.',
|
||||
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
|
||||
'qty' => 'QTY',
|
||||
'total' => 'Total',
|
||||
'remaining' => 'Avail',
|
||||
'update' => 'Update Category',
|
||||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
||||
|
||||
);
|
||||
Executable
+37
@@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Category does not exist.',
|
||||
'assoc_users' => 'This accessory currently has :count items checked out to users. Please check in the accessories and and try again. ',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Category was not created, please try again.',
|
||||
'success' => 'Category created successfully.'
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Category was not updated, please try again',
|
||||
'success' => 'Category updated successfully.'
|
||||
),
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Are you sure you wish to delete this category?',
|
||||
'error' => 'There was an issue deleting the category. Please try again.',
|
||||
'success' => 'The category was deleted successfully.'
|
||||
),
|
||||
|
||||
'checkout' => array(
|
||||
'error' => 'Accessory was not checked out, please try again',
|
||||
'success' => 'Accessory checked out successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
'error' => 'Accessory was not checked in, please try again',
|
||||
'success' => 'Accessory checked in successfully.',
|
||||
'user_does_not_exist' => 'That user is invalid. Please try again.'
|
||||
)
|
||||
|
||||
|
||||
);
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'eula_text' => 'EULA',
|
||||
'id' => 'ID',
|
||||
'require_acceptance' => 'Acceptance',
|
||||
'title' => 'Accessory Name',
|
||||
|
||||
);
|
||||
@@ -5,7 +5,17 @@ return array(
|
||||
'about_categories' => 'Asset categories help you organize your assets. Some example categories might be "Desktops", "Laptops", "Mobile Phones", "Tablets", and so on, but you can use asset categories any way that makes sense for you.',
|
||||
'asset_categories' => 'Asset Categories',
|
||||
'category_name' => 'Category Name',
|
||||
'clone' => 'Clone Category',
|
||||
'create' => 'Create Category',
|
||||
'edit' => 'Edit Category',
|
||||
'eula_text' => 'Category EULA',
|
||||
'eula_text_help' => 'This field allows you to customize your EULAs for specific types of assets. If you only have one EULA for all of your assets, you can check the box below to use the primary default.',
|
||||
'require_acceptance' => 'Require users to confirm acceptance of assets in this category.',
|
||||
'required_acceptance' => 'This user will be emailed with a link to confirm acceptance of this item.',
|
||||
'required_eula' => 'This user will be emailed a copy of the EULA',
|
||||
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
|
||||
'update' => 'Update Category',
|
||||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
||||
|
||||
);
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
|
||||
'id' => 'ID',
|
||||
'parent' => 'Parent',
|
||||
'title' => 'Asset Category Name',
|
||||
'eula_text' => 'EULA',
|
||||
'id' => 'ID',
|
||||
'parent' => 'Parent',
|
||||
'require_acceptance' => 'Acceptance',
|
||||
'title' => 'Asset Category Name',
|
||||
|
||||
);
|
||||
|
||||
@@ -9,6 +9,7 @@ return array(
|
||||
'deployable' => 'Deployable',
|
||||
'deleted' => 'This asset has been deleted. <a href="/hardware/:asset_id/restore">Click here to restore it</a>.',
|
||||
'edit' => 'Edit Asset',
|
||||
'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.<br/> <a href="/hardware/models/:model_id/restore">Click here to restore the model</a>.',
|
||||
'requestable' => 'Requestable',
|
||||
'restore' => 'Restore Asset',
|
||||
'pending' => 'Pending',
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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',
|
||||
'view_deleted' => 'View Deleted',
|
||||
'view_models' => 'View Models',
|
||||
|
||||
);
|
||||
|
||||
@@ -20,6 +20,11 @@ return array(
|
||||
'confirm' => 'Are you sure you wish to delete this asset model?',
|
||||
'error' => 'There was an issue deleting the model. Please try again.',
|
||||
'success' => 'The model was deleted successfully.'
|
||||
)
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Model was not restored, please try again',
|
||||
'success' => 'Model restored successfully.'
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
'auto_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
'default_eula_text' => 'Default EULA',
|
||||
'default_eula_help_text' => 'You can also associate custom EULAs to specific asset categories.',
|
||||
'display_asset_name' => 'Display Asset Name',
|
||||
'display_checkout_date' => 'Display Checkout Date',
|
||||
'display_eol' => 'Display EOL in table view',
|
||||
'display_qr' => 'Display QR Codes',
|
||||
'eula_markdown' => 'This EULA allows <a href="https://help.github.com/articles/github-flavored-markdown/">Github flavored markdown</a>.',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'These settings let you customize certain aspects of your installation.',
|
||||
'laravel' => 'Laravel Version',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Results Per Page',
|
||||
'php' => 'PHP Version',
|
||||
'php_gd_info' => 'You must install php-gd to display QR codes, see install instructions.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'software_user' => 'Software Checked out to :name',
|
||||
'view_user' => 'View User :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'User was successfully unbanned.',
|
||||
'suspend' => 'User was successfully suspended.',
|
||||
'unsuspend' => 'User was successfully unsuspended.',
|
||||
'restored' => 'User was successfully restored.'
|
||||
'restored' => 'User was successfully restored.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'There was an issue creating the user. Please try again.',
|
||||
'update' => 'There was an issue updating the user. Please try again.',
|
||||
'delete' => 'There was an issue deleting the user. Please try again.',
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.'
|
||||
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -18,6 +18,7 @@ return array(
|
||||
'last_login' => 'Last Login',
|
||||
'last_name' => 'Last Name',
|
||||
'location' => 'Location',
|
||||
'lock_passwords' => 'Login details cannot be changed on this installation.',
|
||||
'manager' => 'Manager',
|
||||
'name' => 'Name',
|
||||
'password_confirm' => 'Confirm Password',
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
return array(
|
||||
|
||||
|
||||
'accessories' => 'Accessories',
|
||||
'accessory' => 'Accessory',
|
||||
'address' => 'Address',
|
||||
'admin' => 'Admin',
|
||||
'all_assets' => 'All Assets',
|
||||
@@ -32,6 +34,7 @@ return array(
|
||||
'currency' => '$',
|
||||
'current' => 'Current',
|
||||
'custom_report' => 'Custom Asset Report',
|
||||
'dashboard' => 'Dashboard',
|
||||
'date' => 'Date',
|
||||
'delete' => 'Delete',
|
||||
'deleted' => 'Deleted',
|
||||
@@ -86,6 +89,7 @@ return array(
|
||||
'suppliers' => 'Suppliers',
|
||||
'total_assets' => 'total assets',
|
||||
'total_licenses' => 'total licenses',
|
||||
'type' => 'Type',
|
||||
'undeployable' => 'Un-deployable',
|
||||
'unknown_admin' => 'Unknown Admin',
|
||||
'user' => 'User',
|
||||
|
||||
@@ -5,5 +5,6 @@ return array(
|
||||
'actions' => 'Actions',
|
||||
'action' => 'Action',
|
||||
'by' => 'By',
|
||||
'item' => 'Item',
|
||||
|
||||
);
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Asignado a',
|
||||
'checkout_to' => 'Asignar a',
|
||||
'cost' => 'Precio Compra',
|
||||
@@ -15,7 +18,7 @@ return array(
|
||||
'expires' => 'Expira',
|
||||
'fully_depreciated' => 'Totalmente amortizado',
|
||||
'help_checkout' => 'Si desea asignar a este activo inmediatamente, deberá seleccionar "Listo para desplegar" de la lista de estado anterior, o pueden ocurrir cosas inesperadas. ',
|
||||
'mac_address' => 'MAC Address',
|
||||
'mac_address' => 'MAC Dirección',
|
||||
'manufacturer' => 'Fabricante',
|
||||
'model' => 'Modelo',
|
||||
'months' => 'meses',
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
|
||||
'undeployable' => '<strong>Warning: </strong> This asset has been marked as currently undeployable.
|
||||
If this status has changed, please update the asset status.',
|
||||
'undeployable' => '<strong>Atención: </strong> Este equipo está marcado como no isntalabre.
|
||||
Si no es correcto, actualiza su estado.',
|
||||
'does_not_exist' => 'Equipo inexistente.',
|
||||
'assoc_users' => 'Equipo asignado a un usuario, no se puede eliminar.',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Equipo no actualizado, intentalo de nuevo',
|
||||
'success' => 'Equipo actualizado.'
|
||||
'error' => 'Equipo no actualizado, intentalo de nuevo',
|
||||
'success' => 'Equipo actualizado.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Estás seguro que quieres eliminar el equipo?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Generar IDs de equipo autoincrementales',
|
||||
'auto_increment_prefix' => 'Prefijo (opcional)',
|
||||
'auti_incrementing_help' => 'Activa la generación automática de IDs de equipo antes de fijar esto',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Mostrar Fecha de Salida',
|
||||
'display_eol' => 'Mostrar EOL',
|
||||
'display_qr' => 'Mostrar Códigos QR',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'Estos parámetros permirten personalizar ciertos aspectos de la aplicación.',
|
||||
'laravel' => 'Versión de Laravel',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Resultados por página',
|
||||
'php' => 'Versión de PHP',
|
||||
'php_gd_info' => 'Debes instalar php-gd para mostrar Códigos QR, ver instrucciones de instalación en <a href="http://www.php.net/manual/en/image.installation.php"></a>.',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Último acceso',
|
||||
'software_user' => 'Software asignado a :name',
|
||||
'view_user' => 'Ver Usuario :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'Usuario correctamente desbloqueado.',
|
||||
'suspend' => 'Usuario correctamente suspendido.',
|
||||
'unsuspend' => 'Usuario correctamente no suspendido.',
|
||||
'restored' => 'Usuario correctamente restaurado.'
|
||||
'restored' => 'Usuario correctamente restaurado.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'Ha habido un problema creando el Usuario. Intentalo de nuevo.',
|
||||
'update' => 'Ha habido un problema actualizando el Usuario. Intentalo de nuevo.',
|
||||
'delete' => 'Ha habido un problema eliminando el Usuario. Intentalo de nuevo.',
|
||||
'unsuspend' => 'Ha habido un problema marcando como no suspendido el Usuario. Intentalo de nuevo.'
|
||||
'unsuspend' => 'Ha habido un problema marcando como no suspendido el Usuario. Intentalo de nuevo.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ return array(
|
||||
'deleted' => 'Borrado',
|
||||
'deployed' => 'Instalados - ',
|
||||
'depreciation_report' => 'Informe de amortización',
|
||||
'download' => 'Download',
|
||||
'depreciation' => 'Amortización',
|
||||
'editprofile' => 'Editar Perfil',
|
||||
'eol' => 'EOL',
|
||||
@@ -48,8 +49,8 @@ return array(
|
||||
'gravatar_email' => 'Gravatar Email',
|
||||
'history_for' => 'Historial de',
|
||||
'id' => 'Id',
|
||||
'image_delete' => 'Borrar imagen',
|
||||
'image_upload' => 'Enviar imagen',
|
||||
'image_delete' => 'Borrar imagen',
|
||||
'image_upload' => 'Enviar imagen',
|
||||
'last_name' => 'Apellidos',
|
||||
'license' => 'Licencia',
|
||||
'license_report' => 'Reporte de Licencias',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'bulk_update' => 'Massapäivitä Laitteita',
|
||||
'bulk_update_help' => 'Tämän lomakkeen avulla voit päivittää useita laitteita kerralla. Täytä vain ne kentät joita haluat muuttaa. Tyhjäksi jätetyt kenttyihin kenttiä ei päivitetä. ',
|
||||
'bulk_update_warn' => 'Olet päivittämässä :asset_count laitteen ominaisuuksia.',
|
||||
'checkedout_to' => 'Jotka Luovutettuna Käyttäjälle',
|
||||
'checkout_to' => 'Luovuta Käyttäjälle',
|
||||
'cost' => 'Ostohinta',
|
||||
@@ -15,7 +18,7 @@ return array(
|
||||
'expires' => 'Vanhenee',
|
||||
'fully_depreciated' => 'Kokonaan Poistettu',
|
||||
'help_checkout' => 'Jos haluat määrittää laitteen käyttöön jollekulle samantien, sinun tulee valita laitteen tilaksi "luovutusvalmis" tai järjestelmä saattaa toimia odottamattomasti. ',
|
||||
'mac_address' => 'MAC Address',
|
||||
'mac_address' => 'MAC-osoite',
|
||||
'manufacturer' => 'Valmistaja',
|
||||
'model' => 'Malli',
|
||||
'months' => 'kuukautta',
|
||||
@@ -24,7 +27,7 @@ return array(
|
||||
'order' => 'Tilausnumero',
|
||||
'qr' => 'QR-koodi',
|
||||
'requestable' => 'Käyttäjät voivat pyytää tätä laitetta',
|
||||
'select_statustype' => 'Select Status Type',
|
||||
'select_statustype' => 'Valitse Tilan Tyyppi',
|
||||
'serial' => 'Sarjanumero',
|
||||
'status' => 'Tila',
|
||||
'supplier' => 'Toimittaja',
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Arkistoitu',
|
||||
'asset' => 'Laite',
|
||||
'checkin' => 'Palauta Laite',
|
||||
'checkout' => 'Luovuta Laite Käyttäjälle',
|
||||
'clone' => 'Monista Laite',
|
||||
'deployable' => 'Deployable',
|
||||
'deleted' => 'This asset has been deleted. <a href="/hardware/:asset_id/restore">Click here to restore it</a>.',
|
||||
'deployable' => 'Käyttööotettavissa',
|
||||
'deleted' => 'Tämä laite on poistettu. <a href="/hardware/:asset_id/restore">Klikkaa tästä palauttaaksesi sen</a>.',
|
||||
'edit' => 'Muokkaa Laitetta',
|
||||
'requestable' => 'Requestable',
|
||||
'restore' => 'Restore Asset',
|
||||
'pending' => 'Pending',
|
||||
'undeployable' => 'Undeployable',
|
||||
'requestable' => 'Pyydettävissä',
|
||||
'restore' => 'Palauta Laite',
|
||||
'pending' => 'Odottaa',
|
||||
'undeployable' => 'Käyttökelvoton',
|
||||
'view' => 'Näytä Laite',
|
||||
);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
|
||||
'undeployable' => '<strong>Warning: </strong> This asset has been marked as currently undeployable.
|
||||
If this status has changed, please update the asset status.',
|
||||
'undeployable' => '<strong>Varoitus: </strong> Tämä laite on määritetty käyttökunnottomaksi.
|
||||
Jos laitteen tila on muuttunut, päivitä laitteen tila sen asetuksista.',
|
||||
'does_not_exist' => 'Laitetta ei löydy.',
|
||||
'assoc_users' => 'Tämä laite on luovutettu käyttäjälle joten sitä ei voida poistaa. Palauta laite ensin käyttäjältä ja yritä uudelleen. ',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Laitetta ei päivitetty, yritä uudelleen',
|
||||
'success' => 'Laite päivitetty onnistuneesti.'
|
||||
'error' => 'Laitetta ei päivitetty, yritä uudelleen',
|
||||
'success' => 'Laite päivitetty onnistuneesti.',
|
||||
'nothing_updated' => 'Mitään kenttiä ei valittu, joten mitään ei päivitetty.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
'error' => 'Laitetta ei palautettu, ole hyvä ja yritä uudelleen',
|
||||
'success' => 'Laite palautettiin onnistuneesti.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'Tiedostoa ei poistettu. Ole hyvä ja yritä uudelleen.',
|
||||
'success' => 'Tiedosto poistettiin onnistuneesti.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'Tiedostoja ei lähetetty. Ole hyvä ja yritä uudelleen.',
|
||||
'success' => 'Tiedostot lähetettiin onnistuneesti.',
|
||||
'nofiles' => 'Et valinnut yhtään tiedostoa lähetettäväksi',
|
||||
'invalidfiles' => 'Yksi tai useampia tiedostoja on liian iso tai sen tiedostotyyppi ei ole sallittu. Sallitut tiedostotyypit ovat png, gif, jpg, doc, docx, pdf, ja txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Oletko varma että haluat poistaa tämän laitteen?',
|
||||
|
||||
@@ -9,7 +9,7 @@ return array(
|
||||
'date' => 'Ostopäivämäärä',
|
||||
'depreciation' => 'Poistoluokka',
|
||||
'expiration' => 'Viimeinen Käyttöpäivä',
|
||||
'maintained' => 'Maintained',
|
||||
'maintained' => 'Ylläpidossa',
|
||||
'name' => 'Ohjelmiston Nimi',
|
||||
'no_depreciation' => 'Ei Poistoluokkaa',
|
||||
'notes' => 'Muistiinpanot',
|
||||
@@ -19,7 +19,7 @@ return array(
|
||||
'seats' => 'Käyttäjien lkm',
|
||||
'serial' => 'Sarjanumero',
|
||||
'supplier' => 'Toimittaja',
|
||||
'termination_date' => 'Termination Date',
|
||||
'termination_date' => 'Päättymispäivä',
|
||||
'to_email' => 'Lisenssille Määritetty Email',
|
||||
'to_name' => 'Lisenssille Määritetty Nimi',
|
||||
'update' => 'Päivitä Lisenssi',
|
||||
|
||||
@@ -15,15 +15,15 @@ return array(
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
'error' => 'Tiedostoa ei poistettu. Ole hyvä ja yritä uudelleen.',
|
||||
'success' => 'Tiedosto poistettiin onnistuneesti.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
'error' => 'Tiedostoja ei lähetetty. Ole hyvä ja yritä uudelleen.',
|
||||
'success' => 'Tiedostot lähetettiin onnistuneesti.',
|
||||
'nofiles' => 'Et valinnut yhtään tiedostoa lähetettäväksi',
|
||||
'invalidfiles' => 'Yksi tai useampia tiedostoja on liian iso tai sen tiedostotyyppi ei ole sallittu. Sallitut tiedostotyypit ovat png, gif, jpg, doc, docx, pdf, ja txt.',
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
return array(
|
||||
|
||||
'show_mac_address' => 'Show MAC address field in assets in this model',
|
||||
'show_mac_address' => 'Näytä MAC-osoitekenttä tämän mallin laitteille',
|
||||
|
||||
);
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'auto_increment_assets' => 'Generate auto-incrementing asset IDs',
|
||||
'auto_increment_prefix' => 'Prefix (optional)',
|
||||
'auti_incrementing_help' => 'Enable auto-incrementing asset IDs first to set this',
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Luo automaattisesti kasvavat laite-ID:t',
|
||||
'auto_increment_prefix' => 'Etuliite (valinnainen)',
|
||||
'auti_incrementing_help' => 'Ota ensin käyttöön automaattisesti kasvavat laite ID:t valitaksesi tämän',
|
||||
'display_asset_name' => 'Näytä laitteen nimi listauksessa',
|
||||
'display_checkout_date' => 'Näytä luovutuspäivämäärä listauksessa',
|
||||
'display_eol' => 'Näytä elinaika listauksessa',
|
||||
'display_qr' => 'Näytä QR-koodit laitteen tiedoissa',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'Näiden asetusten avulla voit mukauttaa tiettyjä toimintoja.',
|
||||
'laravel' => 'Versio Laravel',
|
||||
'load_remote' => 'Tämä Snipe-IT asennus voi ladata scriptejä ulkopuolisesta maailmasta.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Tuloksia Per Sivu',
|
||||
'php' => 'Versio PHP',
|
||||
'php_gd_info' => 'Sinun tulee asentaa php-gd paketti näyttääksesi QR-koodit, katso lisätietoja asennusohjeista.',
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
return array(
|
||||
'about' => 'Lisätietoja Tilamerkinnöistä',
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Arkistoitu',
|
||||
'create' => 'Uusi Tilamerkintä',
|
||||
'deployable' => 'Deployable',
|
||||
'info' => 'Status labels are used to describe the various states your assets could be in. They may be out for repair, lost/stolen, etc. You can create new status labels for deployable, pending and archived assets.',
|
||||
'deployable' => 'Käyttööotettavissa',
|
||||
'info' => 'Tilamerkintöjä käytetään kuvailemaan laitteidesi eri tiloja. Ne voivat olla korjauksessa, hävinneitä/varastettuja jne. Voit luoa uusia tilamerkintöjä käyttöönotettaville, odottaville sekä arkistoiduille laitteille.',
|
||||
'name' => 'Tilan Nimi',
|
||||
'pending' => 'Pending',
|
||||
'status_type' => 'Status Type',
|
||||
'pending' => 'Odottaa',
|
||||
'status_type' => 'Tilatyyppi',
|
||||
'title' => 'Tilamerkinnät',
|
||||
'undeployable' => 'Undeployable',
|
||||
'undeployable' => 'Käyttökelvoton',
|
||||
'update' => 'Päivitä Tilamerkinnät',
|
||||
);
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Viimeisin kirjautuminen',
|
||||
'software_user' => 'Käyttäjälle :name luovutetut ohjelmistot',
|
||||
'view_user' => 'Näytä Käyttäjä :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
@@ -18,14 +18,16 @@ return array(
|
||||
'unban' => 'Käyttäjän esto poistettiin onnistuneesti.',
|
||||
'suspend' => 'Käyttäjä jäädytettiin onnistuneesti.',
|
||||
'unsuspend' => 'Käyttäjän jäädytys poistettiin onnistuneesti.',
|
||||
'restored' => 'Käyttäjä palautettiin onnistuneesti.'
|
||||
'restored' => 'Käyttäjä palautettiin onnistuneesti.',
|
||||
+ 'import' => 'Users imported successfully.',
|
||||
),
|
||||
|
||||
'error' => array(
|
||||
'create' => 'Käyttäjä luonnissa tapahtui virhe. Yritä uudelleen.',
|
||||
'update' => 'Käyttäjän päivityksessä tapahtui virhe. Yritä uudelleen.',
|
||||
'delete' => 'Käyttäjän poistamisessa tapahtui virhe. Yritä uudelleen.',
|
||||
'unsuspend' => 'Käyttäjän jäädytyksen poistossa tapahtui virhe. Yritä uudelleen.'
|
||||
'unsuspend' => 'Käyttäjän jäädytyksen poistossa tapahtui virhe. Yritä uudelleen.',
|
||||
'import' => 'There was an issue importing users. Please try again.',
|
||||
),
|
||||
|
||||
);
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
return array(
|
||||
|
||||
'actions' => 'Toiminnot',
|
||||
'add' => 'Add New',
|
||||
'cancel' => 'Cancel',
|
||||
'add' => 'Lisää uusi',
|
||||
'cancel' => 'Peruuta',
|
||||
'delete' => 'Poista',
|
||||
'edit' => 'Muokkaa',
|
||||
'restore' => 'Palauta',
|
||||
'submit' => 'Lähetä',
|
||||
'upload' => 'Upload',
|
||||
'upload' => 'Lähetä',
|
||||
|
||||
);
|
||||
|
||||
@@ -7,7 +7,7 @@ return array(
|
||||
'admin' => 'Ylläpitäjä',
|
||||
'all_assets' => 'Kaikki Laitteet',
|
||||
'all' => 'Kaikki',
|
||||
'archived' => 'Archived',
|
||||
'archived' => 'Arkistoitu',
|
||||
'asset_models' => 'Laitemallit',
|
||||
'asset' => 'Laite',
|
||||
'asset_report' => 'Laiteraportti',
|
||||
@@ -37,19 +37,20 @@ return array(
|
||||
'deleted' => 'Poistettu',
|
||||
'deployed' => 'Käyttöönotettu',
|
||||
'depreciation_report' => 'Poistoraportti',
|
||||
'download' => 'Lataa',
|
||||
'depreciation' => 'Poistoluokka',
|
||||
'editprofile' => 'Muokkaa Profiilia',
|
||||
'eol' => 'Elinikä',
|
||||
'first_name' => 'Etunimi',
|
||||
'file_name' => 'File',
|
||||
'file_uploads' => 'File Uploads',
|
||||
'file_name' => 'Tiedosto',
|
||||
'file_uploads' => 'Tiedostolataus',
|
||||
'generate' => 'Luo',
|
||||
'groups' => 'Ryhmät',
|
||||
'gravatar_email' => 'Gravatarin Email-osoite',
|
||||
'history_for' => 'Laitehistoria käyttäjälle',
|
||||
'id' => 'Tunnus',
|
||||
'image_delete' => 'Poista Kuva',
|
||||
'image_upload' => 'Lähetä Kuva',
|
||||
'image_delete' => 'Poista Kuva',
|
||||
'image_upload' => 'Lähetä Kuva',
|
||||
'last_name' => 'Sukunimi',
|
||||
'license' => 'Lisenssi',
|
||||
'license_report' => 'Lisenssiraportti',
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
|
||||
return array(
|
||||
|
||||
'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.',
|
||||
'checkedout_to' => 'Extrait vers',
|
||||
'checkout_to' => 'Caisse à',
|
||||
'cost' => 'Coût d\'achat',
|
||||
|
||||
@@ -13,14 +13,28 @@ return array(
|
||||
),
|
||||
|
||||
'update' => array(
|
||||
'error' => 'Ce bien n\'a pas été actualisé, veuillez réessayer',
|
||||
'success' => 'Bien actualisé correctement.'
|
||||
'error' => 'Ce bien n\'a pas été actualisé, veuillez réessayer',
|
||||
'success' => 'Bien actualisé correctement.',
|
||||
'nothing_updated' => 'No fields were selected, so nothing was updated.',
|
||||
),
|
||||
|
||||
'restore' => array(
|
||||
'error' => 'Asset was not restored, please try again',
|
||||
'success' => 'Asset restored successfully.'
|
||||
),
|
||||
|
||||
'deletefile' => array(
|
||||
'error' => 'File not deleted. Please try again.',
|
||||
'success' => 'File successfully deleted.',
|
||||
),
|
||||
|
||||
'upload' => array(
|
||||
'error' => 'File(s) not uploaded. Please try again.',
|
||||
'success' => 'File(s) successfully uploaded.',
|
||||
'nofiles' => 'You did not select any files for upload',
|
||||
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
|
||||
),
|
||||
|
||||
|
||||
'delete' => array(
|
||||
'confirm' => 'Etes-vous sûr de vouloir supprimer ce bien?',
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'alert_email' => 'Send alerts to',
|
||||
'alerts_enabled' => 'Alerts enabled',
|
||||
'auto_increment_assets' => 'Générer des identifiants d\'actifs auto-incrémentés',
|
||||
'auto_increment_prefix' => 'Préfixe (optionnel)',
|
||||
'auti_incrementing_help' => 'Activez les identifiants d\'actifs auto-incrémentés avant d\'activer ceci',
|
||||
@@ -8,8 +10,11 @@ return array(
|
||||
'display_checkout_date' => 'Afficher la date d\'association',
|
||||
'display_eol' => 'Afficher la fin de vie dans les tables',
|
||||
'display_qr' => 'Afficher les QR codes',
|
||||
'header_color' => 'Header Color',
|
||||
'info' => 'Ces paramètres vous permettent de personnaliser certains aspects de votre installation.',
|
||||
'laravel' => 'Version de Laravel',
|
||||
'load_remote' => 'This Snipe-IT install can load scripts from the outside world.',
|
||||
'logo' => 'Logo',
|
||||
'per_page' => 'Résultats par page',
|
||||
'php' => 'Version de PHP',
|
||||
'php_gd_info' => 'Vous devez installer php-gd afin d\'afficher les QR codes (voir les instructions d\'installation).',
|
||||
|
||||
@@ -11,4 +11,5 @@ return array(
|
||||
'last_login' => 'Dernière connexion',
|
||||
'software_user' => 'Logiciels associés avec :name',
|
||||
'view_user' => 'Voir l\'utilisateur :name',
|
||||
'usercsv' => 'CSV file',
|
||||
);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user