Compare commits
93 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| de6f3f866f | |||
| 8444a60bc9 | |||
| 3237411b5d | |||
| 5ba1659563 | |||
| 6e068ec339 | |||
| 4fd666716f | |||
| 6eb860ca24 | |||
| 903698a7b0 | |||
| 513faf2db5 | |||
| 9e46bc6c28 | |||
| 402fecd408 | |||
| a97b15ec96 | |||
| 8504c9e8b9 | |||
| 4ebfd6624c | |||
| fbaf6e2494 | |||
| 612d3f9b2a | |||
| 6e4ab5cd96 | |||
| 849966d2c5 | |||
| 1f5bcf2475 | |||
| 58c476195b | |||
| dcd98a7bf1 | |||
| 686ab681e5 | |||
| 052f8e2c42 | |||
| e9578ba8a1 | |||
| 0c0de5e351 | |||
| 10cadecd14 | |||
| 644084658a | |||
| 07936ea901 | |||
| 08784f9cc5 | |||
| a87e615e7f | |||
| df5cc7525e | |||
| 75b8c3455c | |||
| 81d38a0ded | |||
| b2a8af2fa9 | |||
| 9d2363741e | |||
| fc6a33ad38 | |||
| 896ce3456e | |||
| 9db191f0b2 | |||
| c7d752fb65 | |||
| 5026177161 | |||
| d2805442ad | |||
| 7765c87387 | |||
| 6dccf399a5 | |||
| 7432e3fb2d | |||
| caeea9f530 | |||
| 0fdfd013e7 | |||
| d537fc5c32 | |||
| 9164dda64f | |||
| 5ea9c31eab | |||
| c8572deb5c | |||
| 57d25ebb20 | |||
| be114176a2 | |||
| 1f9b04405c | |||
| 4ef11c463c | |||
| 5fb31a5a3f | |||
| f0e04ab9e4 | |||
| 8a65081768 | |||
| c451fde466 | |||
| 5098d69c05 | |||
| b12de13041 | |||
| 72126f7d44 | |||
| df000ce32f | |||
| 6a2e21f502 | |||
| 5ad6234584 | |||
| cc79bb1449 | |||
| c8d588871c | |||
| 8890372a69 | |||
| 80f2d749a2 | |||
| 7f7064c835 | |||
| 31d0b4a46c | |||
| 5759d4819e | |||
| c49788dd9f | |||
| 3641a6d451 | |||
| 8c79070cd9 | |||
| f8563bec94 | |||
| fd7c0bc5fb | |||
| 7d708572fc | |||
| ea68ff1284 | |||
| 66ccf4da03 | |||
| 0b4a13156f | |||
| a8a3962008 | |||
| e110a7b15e | |||
| 30d68309a9 | |||
| 547d1a5a93 | |||
| adf64361e8 | |||
| a43fb060f4 | |||
| c607d89817 | |||
| 8c19b11e73 | |||
| 178ed82dc4 | |||
| 6757df5a2d | |||
| 044dfe2620 | |||
| 9e319e91d6 | |||
| 895a544d4c |
@@ -1938,6 +1938,24 @@
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "dampfklon",
|
||||
"name": "Dampfklon",
|
||||
"avatar_url": "https://avatars1.githubusercontent.com/u/1733625?v=4",
|
||||
"profile": "https://github.com/dampfklon",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
},
|
||||
{
|
||||
"login": "chamilton-ccn",
|
||||
"name": "Charles Hamilton",
|
||||
"avatar_url": "https://avatars2.githubusercontent.com/u/52973156?v=4",
|
||||
"profile": "https://communityclosing.com",
|
||||
"contributions": [
|
||||
"code"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
-80
@@ -1,80 +0,0 @@
|
||||
addons:
|
||||
code_climate:
|
||||
repo_token:
|
||||
secure: "C/bUAEpwfZB82dkzI2Nxx3PW5w/BzbKkSyCkp6YjT046jD2/QKvz6ngCFlt3tAWV11TXWFI6D8DzkMmdWOrQl3SGlPZXRD8QOvCiz0HiGMDvlxjAaPaQecGaQZdx/H4m6xTUXRNUVaYmxlMgkkFCWhAp+HZDs0iyOEVamp0Jszg="
|
||||
hosts:
|
||||
- localhost
|
||||
sudo: false
|
||||
|
||||
# see http://about.travis-ci.org/docs/user/languages/php/ for more hints
|
||||
language: php
|
||||
|
||||
services:
|
||||
- mysql
|
||||
|
||||
# list any PHP version you want to test against
|
||||
php:
|
||||
- 7.2
|
||||
- 7.3.0
|
||||
- 7.4
|
||||
|
||||
|
||||
# execute any number of scripts before the test run, custom env's are available as variables
|
||||
before_script:
|
||||
- phpenv config-add .github/travis-memory.ini
|
||||
- phantomjs --webdriver=4444 &
|
||||
- sleep 4
|
||||
- mysql -e 'CREATE DATABASE snipeit_unit;'
|
||||
- mysql -e 'CREATE USER "travis'@'localhost";'
|
||||
- mysql -e 'GRANT ALL PRIVILEGES ON * . * TO "travis'@'localhost";'
|
||||
- mysql -e 'FLUSH PRIVILEGES;'
|
||||
- cp .env.testing-ci .env
|
||||
- composer self-update
|
||||
- composer install -n --prefer-source
|
||||
- chmod -R 777 storage
|
||||
- php artisan migrate --env=testing-ci --database=mysql --force
|
||||
- ./vendor/bin/codecept build
|
||||
- php artisan --env=testing-ci key:generate
|
||||
- php artisan --env=testing-ci snipeit:travisci-install
|
||||
- php artisan --env=testing-ci db:seed --database=mysql --force
|
||||
- php artisan --env=testing-ci snipeit:create-admin --first_name=Alison --last_name=Foobar --email=me@example.com --username=snipe --password=password
|
||||
- php artisan --env=testing-ci passport:install
|
||||
- php artisan serve --env=testing-ci --port=8000 --host=localhost &
|
||||
- sleep 5
|
||||
- pip install --user codecov
|
||||
- sleep 5
|
||||
|
||||
|
||||
|
||||
# omitting "script:" will default to phpunit
|
||||
# use the $DB env variable to determine the phpunit.xml to use
|
||||
# script: ./vendor/bin/codecept run --env testing-ci
|
||||
script:
|
||||
- ./vendor/bin/codecept run unit
|
||||
# - ./vendor/bin/codecept run acceptance --env=testing-ci
|
||||
- ./vendor/bin/codecept run functional --env=functional-travis -g func1
|
||||
- ./vendor/bin/codecept run functional --env=functional-travis -g func2
|
||||
- ./vendor/bin/codecept run api --env=functional-travis
|
||||
|
||||
after_script:
|
||||
- vendor/bin/test-reporter
|
||||
|
||||
after_success:
|
||||
- codecov
|
||||
|
||||
after_failure:
|
||||
- cat tests/_output/*.fail.html
|
||||
- curl http://localhost:8000/login
|
||||
- cat storage/logs/laravel.log
|
||||
|
||||
# configure notifications (email, IRC, campfire etc)
|
||||
notifications:
|
||||
email: false
|
||||
slack:
|
||||
secure: vv9we1RxB9RsrMbomSdq6D7vz/okobw87pEkgIZjB+hj1QpQ2by90gsPsOa+NgsJEFaEP7e4KlT6SH8kK+zhbmuKaUd3d1//XdcancE22LZXi6tkiB5yuR/Jhhb1LLDqyGJTB4D92hMnnCPiUjpxNA3r437ttNeYRdYIEEP3drA=
|
||||
webhooks:
|
||||
urls:
|
||||
- https://webhooks.gitter.im/e/5e136eb0c1965f3918d0
|
||||
on_success: change # options: [always|never|change] default: always
|
||||
on_failure: change # options: [always|never|change] default: always
|
||||
on_start: false # default: false
|
||||
@@ -1,13 +1,11 @@
|
||||
[](https://travis-ci.org/snipe/snipe-it) [](https://crowdin.com/project/snipe-it) [](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://hub.docker.com/r/snipe/snipe-it/) [](https://twitter.com/snipeitapp) [](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade)
|
||||
[](#contributors) [](https://www.codetriage.com/snipe/snipe-it)
|
||||
[](#contributors) [](https://www.codetriage.com/snipe/snipe-it)
|
||||
|
||||
 [](https://crowdin.com/project/snipe-it) [](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://hub.docker.com/r/snipe/snipe-it/) [](https://twitter.com/snipeitapp) [](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade)
|
||||
[](#contributors)
|
||||
|
||||
## Snipe-IT - Open Source Asset Management System
|
||||
|
||||
This is a FOSS project for asset management in IT Operations. Knowing who has which laptop, when it was purchased in order to depreciate it correctly, handling software licenses, etc.
|
||||
|
||||
It is built on [Laravel 5.5](http://laravel.com).
|
||||
It is built on [Laravel 6](http://laravel.com).
|
||||
|
||||
Snipe-IT is actively developed and we [release quite frequently](https://github.com/snipe/snipe-it/releases). ([Check out the live demo here](https://snipeitapp.com/demo/).)
|
||||
|
||||
@@ -64,7 +62,8 @@ Since the release of the JSON REST API, several third-party developers have been
|
||||
- [Snipe-IT plugin for Jira Service Desk (beta)](https://marketplace.atlassian.com/apps/1220379/snipe-it-for-jira-service-desk-beta?hosting=cloud&tab=overview) - for the upcoming Snipe-IT v5 only
|
||||
- [Python 3 CSV importer](https://github.com/gastamper/snipeit-csvimporter) - allows importing assets into Snipe-IT based on Item Name rather than Asset Tag.
|
||||
- [Snipe-IT Kubernetes Helm Chart](https://github.com/t3n/helm-charts/tree/master/snipeit) - For more information, [click here](https://hub.helm.sh/charts/t3n/snipeit).
|
||||
|
||||
- [Snipe-IT Bulk Edit](https://github.com/bricelabelle/snipe-it-bulkedit) - Google Script files to use Google Sheets as a bulk checkout/checkin/edit tool for Snipe-it.
|
||||
|
||||
As these were created by third-parties, Snipe-IT cannot provide support for these project, and you should contact the developers directly if you need assistance. Additionally, Snipe-IT makes no guarantees as to the reliability, accuracy or maintainability of these libraries. Use at your own risk. :)
|
||||
|
||||
-----
|
||||
@@ -115,14 +114,12 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
|
||||
| [<img src="https://avatars2.githubusercontent.com/u/982885?v=4" width="110px;"/><br /><sub>Martin Stub</sub>](http://martinstub.dk)<br />[🌍](#translation-stubben "Translation") | [<img src="https://avatars2.githubusercontent.com/u/28959963?v=4" width="110px;"/><br /><sub>Meyer Flavio</sub>](https://github.com/meyerf99)<br />[🌍](#translation-meyerf99 "Translation") | [<img src="https://avatars3.githubusercontent.com/u/796443?v=4" width="110px;"/><br /><sub>Micael Rodrigues</sub>](https://github.com/MicaelRodrigues)<br />[🌍](#translation-MicaelRodrigues "Translation") | [<img src="https://avatars0.githubusercontent.com/u/10481331?v=4" width="110px;"/><br /><sub>Mikael Rasmussen</sub>](http://rubixy.com/)<br />[🌍](#translation-mikaelssen "Translation") | [<img src="https://avatars1.githubusercontent.com/u/1544552?v=4" width="110px;"/><br /><sub>IxFail</sub>](https://github.com/IxFail)<br />[🌍](#translation-IxFail "Translation") | [<img src="https://avatars3.githubusercontent.com/u/18483118?v=4" width="110px;"/><br /><sub>Mohammed Fota</sub>](http://www.mohammedfota.com)<br />[🌍](#translation-MohammedFota "Translation") | [<img src="https://avatars0.githubusercontent.com/u/227080?v=4" width="110px;"/><br /><sub>Moayad Alserihi</sub>](https://github.com/omego)<br />[🌍](#translation-omego "Translation") |
|
||||
| [<img src="https://avatars0.githubusercontent.com/u/1680266?v=4" width="110px;"/><br /><sub>saymd</sub>](https://github.com/saymd)<br />[🌍](#translation-saymd "Translation") | [<img src="https://avatars0.githubusercontent.com/u/1826808?v=4" width="110px;"/><br /><sub>Patrik Larsson</sub>](https://nordsken.se)<br />[🌍](#translation-pooot "Translation") | [<img src="https://avatars1.githubusercontent.com/u/20584746?v=4" width="110px;"/><br /><sub>drcryo</sub>](https://github.com/drcryo)<br />[🌍](#translation-drcryo "Translation") | [<img src="https://avatars1.githubusercontent.com/u/19408004?v=4" width="110px;"/><br /><sub>pawel1615</sub>](https://github.com/pawel1615)<br />[🌍](#translation-pawel1615 "Translation") | [<img src="https://avatars2.githubusercontent.com/u/23340468?v=4" width="110px;"/><br /><sub>bodrovics</sub>](https://github.com/bodrovics)<br />[🌍](#translation-bodrovics "Translation") | [<img src="https://avatars0.githubusercontent.com/u/3257654?v=4" width="110px;"/><br /><sub>priatna</sub>](https://github.com/priatna)<br />[🌍](#translation-priatna "Translation") | [<img src="https://avatars1.githubusercontent.com/u/5358374?v=4" width="110px;"/><br /><sub>Fan Jiang</sub>](https://amayume.net)<br />[🌍](#translation-ProfFan "Translation") |
|
||||
| [<img src="https://avatars1.githubusercontent.com/u/22555451?v=4" width="110px;"/><br /><sub>ragnarcx</sub>](https://github.com/ragnarcx)<br />[🌍](#translation-ragnarcx "Translation") | [<img src="https://avatars2.githubusercontent.com/u/18654582?v=4" width="110px;"/><br /><sub>Rein van Haaren</sub>](http://www.reinvanhaaren.nl/)<br />[🌍](#translation-reinvanhaaren "Translation") | [<img src="https://avatars1.githubusercontent.com/u/386672?v=4" width="110px;"/><br /><sub>Teguh Dwicaksana</sub>](http://dheche.songolimo.net)<br />[🌍](#translation-dheche "Translation") | [<img src="https://avatars2.githubusercontent.com/u/2572552?v=4" width="110px;"/><br /><sub>fraccie</sub>](https://github.com/FRaccie)<br />[🌍](#translation-FRaccie "Translation") | [<img src="https://avatars0.githubusercontent.com/u/35182720?v=4" width="110px;"/><br /><sub>vinzruzell</sub>](https://github.com/vinzruzell)<br />[🌍](#translation-vinzruzell "Translation") | [<img src="https://avatars1.githubusercontent.com/u/7883603?v=4" width="110px;"/><br /><sub>Kevin Austin</sub>](http://kevinaustin.com)<br />[🌍](#translation-vipsystem "Translation") | [<img src="https://avatars3.githubusercontent.com/u/3861828?v=4" width="110px;"/><br /><sub>Wira Sandy</sub>](http://azuraweb.xyz)<br />[🌍](#translation-wira-sandy "Translation") |
|
||||
| [<img src="https://avatars2.githubusercontent.com/u/8663789?v=4" width="110px;"/><br /><sub>Илья</sub>](https://github.com/GrayHoax)<br />[🌍](#translation-GrayHoax "Translation") | [<img src="https://avatars3.githubusercontent.com/u/30119111?v=4" width="110px;"/><br /><sub>GodUseVPN</sub>](https://github.com/godusevpn)<br />[🌍](#translation-godusevpn "Translation") | [<img src="https://avatars1.githubusercontent.com/u/745576?v=4" width="110px;"/><br /><sub>周周</sub>](https://github.com/EngrZhou)<br />[🌍](#translation-EngrZhou "Translation") | [<img src="https://avatars3.githubusercontent.com/u/1631095?v=4" width="110px;"/><br /><sub>Sam</sub>](https://github.com/takuy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=takuy "Code") | [<img src="https://avatars1.githubusercontent.com/u/264022?v=4" width="110px;"/><br /><sub>Azerothian</sub>](https://www.illisian.com.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Azerothian "Code") | [<img src="https://avatars1.githubusercontent.com/u/7632599?v=4" width="110px;"/><br /><sub>Tim Farmer</sub>](https://github.com/timothyfarmer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=timothyfarmer "Code") | [<img src="https://avatars0.githubusercontent.com/u/17459600?v=4" width="110px;"/><br /><sub>Marián Skrip</sub>](https://github.com/mskrip)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mskrip "Code") |
|
||||
| [<img src="https://avatars2.githubusercontent.com/u/47435081?v=4" width="110px;"/><br /><sub>Godfrey Martinez</sub>](https://github.com/Godmartinz)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Godmartinz "Code") | [<img src="https://avatars1.githubusercontent.com/u/2075128?v=4" width="110px;"/><br /><sub>bigtreeEdo</sub>](https://github.com/bigtreeEdo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bigtreeEdo "Code") | [<img src="https://avatars0.githubusercontent.com/u/5000430?v=4" width="110px;"/><br /><sub>Colin McNeil</sub>](https://colinmcneil.me/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ColinMcNeil "Code") | [<img src="https://avatars0.githubusercontent.com/u/421625?v=4" width="110px;"/><br /><sub>JoKneeMo</sub>](https://github.com/JoKneeMo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=JoKneeMo "Code") | [<img src="https://avatars0.githubusercontent.com/u/54849013?v=4" width="110px;"/><br /><sub>Joshi</sub>](http://www.redbridge.se)<br />[💻](https://github.com/snipe/snipe-it/commits?author=joshi-redbridge "Code") | [<img src="https://avatars2.githubusercontent.com/u/15731458?v=4" width="110px;"/><br /><sub>Anthony Burns</sub>](https://github.com/anthonypburns)<br />[💻](https://github.com/snipe/snipe-it/commits?author=anthonypburns "Code") | [<img src="https://avatars2.githubusercontent.com/u/1972329?v=4" width="110px;"/><br /><sub>Alexander Chibrikin</sub>](http://phpprofi.ru/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=alek13 "Code") |
|
||||
| [<img src="https://avatars2.githubusercontent.com/u/8663789?v=4" width="110px;"/><br /><sub>Илья</sub>](https://github.com/GrayHoax)<br />[🌍](#translation-GrayHoax "Translation") | [<img src="https://avatars3.githubusercontent.com/u/30119111?v=4" width="110px;"/><br /><sub>GodUseVPN</sub>](https://github.com/godusevpn)<br />[🌍](#translation-godusevpn "Translation") | [<img src="https://avatars1.githubusercontent.com/u/745576?v=4" width="110px;"/><br /><sub>周周</sub>](https://github.com/EngrZhou)<br />[🌍](#translation-EngrZhou "Translation") | [<img src="https://avatars3.githubusercontent.com/u/1631095?v=4" width="110px;"/><br /><sub>Sam</sub>](https://github.com/takuy)<br />[💻](https://github.com/snipe/snipe-it/commits?author=takuy "Code") | [<img src="https://avatars1.githubusercontent.com/u/264022?v=4" width="110px;"/><br /><sub>Azerothian</sub>](https://www.illisian.com.au)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Azerothian "Code") | [<img src="https://avatars1.githubusercontent.com/u/4930051?v=4" width="110px;"/><br /><sub>Wes Hulette</sub>](http://macfoo.wordpress.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jwhulette "Code") | [<img src="https://avatars0.githubusercontent.com/u/8134591?v=4" width="110px;"/><br /><sub>patrict</sub>](https://github.com/patrict)<br />[💻](https://github.com/snipe/snipe-it/commits?author=patrict "Code") |
|
||||
| [<img src="https://avatars3.githubusercontent.com/u/2611616?v=4" width="110px;"/><br /><sub>Dmitriy Minaev</sub>](https://github.com/VELIKII-DIVAN)<br />[💻](https://github.com/snipe/snipe-it/commits?author=VELIKII-DIVAN "Code") | [<img src="https://avatars0.githubusercontent.com/u/5132245?v=4" width="110px;"/><br /><sub>liquidhorse</sub>](https://github.com/liquidhorse)<br />[💻](https://github.com/snipe/snipe-it/commits?author=liquidhorse "Code") | [<img src="https://avatars1.githubusercontent.com/u/183678?v=4" width="110px;"/><br /><sub>Jordi Boggiano</sub>](https://seld.be/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Seldaek "Code") | [<img src="https://avatars0.githubusercontent.com/u/653557?v=4" width="110px;"/><br /><sub>Ivan Nieto</sub>](https://github.com/inietov)<br />[💻](https://github.com/snipe/snipe-it/commits?author=inietov "Code") | [<img src="https://avatars2.githubusercontent.com/u/6764151?v=4" width="110px;"/><br /><sub>Ben RUBSON</sub>](https://github.com/benrubson)<br />[💻](https://github.com/snipe/snipe-it/commits?author=benrubson "Code") | [<img src="https://avatars2.githubusercontent.com/u/8554558?v=4" width="110px;"/><br /><sub>NMathar</sub>](https://github.com/NMathar)<br />[💻](https://github.com/snipe/snipe-it/commits?author=NMathar "Code") | [<img src="https://avatars1.githubusercontent.com/u/139566?v=4" width="110px;"/><br /><sub>Steffen</sub>](https://github.com/smb)<br />[💻](https://github.com/snipe/snipe-it/commits?author=smb "Code") |
|
||||
| [<img src="https://avatars0.githubusercontent.com/u/6609453?v=4" width="110px;"/><br /><sub>Sxderp</sub>](https://github.com/Sxderp)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Sxderp "Code") | [<img src="https://avatars1.githubusercontent.com/u/4807843?v=4" width="110px;"/><br /><sub>fanta8897</sub>](https://github.com/fanta8897)<br />[💻](https://github.com/snipe/snipe-it/commits?author=fanta8897 "Code") | [<img src="https://avatars2.githubusercontent.com/u/2576509?v=4" width="110px;"/><br /><sub>Andrey Bolonin</sub>](https://andreybolonin.com/phpconsulting/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=andreybolonin "Code") | [<img src="https://avatars3.githubusercontent.com/u/2173307?v=4" width="110px;"/><br /><sub>shinayoshi</sub>](http://www.shinayoshi.net/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=shinayoshi "Code") | [<img src="https://avatars3.githubusercontent.com/u/2130159?v=4" width="110px;"/><br /><sub>Hubert</sub>](https://github.com/reuser)<br />[💻](https://github.com/snipe/snipe-it/commits?author=reuser "Code") | [<img src="https://avatars0.githubusercontent.com/u/6865789?v=4" width="110px;"/><br /><sub>KeenRivals</sub>](https://brashear.me)<br />[💻](https://github.com/snipe/snipe-it/commits?author=KeenRivals "Code") | [<img src="https://avatars3.githubusercontent.com/u/2902513?v=4" width="110px;"/><br /><sub>omyno</sub>](https://github.com/omyno)<br />[💻](https://github.com/snipe/snipe-it/commits?author=omyno "Code") |
|
||||
| [<img src="https://avatars1.githubusercontent.com/u/6271335?v=4" width="110px;"/><br /><sub>Evgeny</sub>](https://github.com/jackka)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jackka "Code") | [<img src="https://avatars2.githubusercontent.com/u/1169963?v=4" width="110px;"/><br /><sub>Colin Campbell</sub>](https://digitalist.se)<br />[💻](https://github.com/snipe/snipe-it/commits?author=colin-campbell "Code") | [<img src="https://avatars3.githubusercontent.com/u/2872098?v=4" width="110px;"/><br /><sub>Ľubomír Kučera</sub>](https://github.com/lubo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=lubo "Code") | [<img src="https://avatars3.githubusercontent.com/u/570639?v=4" width="110px;"/><br /><sub>Martin Meredith</sub>](https://www.sourceguru.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Mezzle "Code") | [<img src="https://avatars1.githubusercontent.com/u/7632599?v=4" width="110px;"/><br /><sub>Tim Farmer</sub>](https://github.com/timothyfarmer)<br />[💻](https://github.com/snipe/snipe-it/commits?author=timothyfarmer "Code") | [<img src="https://avatars0.githubusercontent.com/u/17459600?v=4" width="110px;"/><br /><sub>Marián Skrip</sub>](https://github.com/mskrip)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mskrip "Code") | [<img src="https://avatars2.githubusercontent.com/u/47435081?v=4" width="110px;"/><br /><sub>Godfrey Martinez</sub>](https://github.com/Godmartinz)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Godmartinz "Code") |
|
||||
| [<img src="https://avatars1.githubusercontent.com/u/2075128?v=4" width="110px;"/><br /><sub>bigtreeEdo</sub>](https://github.com/bigtreeEdo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bigtreeEdo "Code") | [<img src="https://avatars0.githubusercontent.com/u/5000430?v=4" width="110px;"/><br /><sub>Colin McNeil</sub>](https://colinmcneil.me/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=ColinMcNeil "Code") | [<img src="https://avatars0.githubusercontent.com/u/421625?v=4" width="110px;"/><br /><sub>JoKneeMo</sub>](https://github.com/JoKneeMo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=JoKneeMo "Code") | [<img src="https://avatars0.githubusercontent.com/u/54849013?v=4" width="110px;"/><br /><sub>Joshi</sub>](http://www.redbridge.se)<br />[💻](https://github.com/snipe/snipe-it/commits?author=joshi-redbridge "Code") | [<img src="https://avatars2.githubusercontent.com/u/15731458?v=4" width="110px;"/><br /><sub>Anthony Burns</sub>](https://github.com/anthonypburns)<br />[💻](https://github.com/snipe/snipe-it/commits?author=anthonypburns "Code") | [<img src="https://avatars1.githubusercontent.com/u/63399474?v=4" width="110px;"/><br /><sub>johnson-yi</sub>](https://github.com/johnson-yi)<br />[💻](https://github.com/snipe/snipe-it/commits?author=johnson-yi "Code") | [<img src="https://avatars1.githubusercontent.com/u/1862720?v=4" width="110px;"/><br /><sub>Sanjay Govind</sub>](https://tangentmc.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=sanjay900 "Code") |
|
||||
| [<img src="https://avatars0.githubusercontent.com/u/1255375?v=4" width="110px;"/><br /><sub>Peter Upfold</sub>](https://peter.upfold.org.uk/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterUpfold "Code") | [<img src="https://avatars2.githubusercontent.com/u/961717?v=4" width="110px;"/><br /><sub>Jared Biel</sub>](https://github.com/jbiel)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jbiel "Code") |
|
||||
| [<img src="https://avatars0.githubusercontent.com/u/1255375?v=4" width="110px;"/><br /><sub>Peter Upfold</sub>](https://peter.upfold.org.uk/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PeterUpfold "Code") | [<img src="https://avatars2.githubusercontent.com/u/961717?v=4" width="110px;"/><br /><sub>Jared Biel</sub>](https://github.com/jbiel)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jbiel "Code") | [<img src="https://avatars1.githubusercontent.com/u/1733625?v=4" width="110px;"/><br /><sub>Dampfklon</sub>](https://github.com/dampfklon)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dampfklon "Code") | [<img src="https://avatars2.githubusercontent.com/u/52973156?v=4" width="110px;"/><br /><sub>Charles Hamilton</sub>](https://communityclosing.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chamilton-ccn "Code") |
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Models\Actionlog;
|
||||
use App\Models\Asset;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class FixMismatchedAssetsAndLogs extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'snipeit:fix-assets-and-logs {--dryrun : Run the sync process but don\'t update the database}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'This script attempts to check the log table and check that the assets.assigned_to matches the last checkout.';
|
||||
|
||||
/**
|
||||
* Is dry-run?
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $dryrun = false;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
|
||||
if ($this->option('dryrun')) {
|
||||
$this->dryrun = true;
|
||||
}
|
||||
|
||||
if ($this->dryrun) {
|
||||
$this->info('This is a DRY RUN - no changes will be saved.' );
|
||||
}
|
||||
|
||||
$mismatch_count = 0;
|
||||
$assets = Asset::whereNotNull('assigned_to')
|
||||
->where('assigned_type', '=', 'App\\Models\\User')
|
||||
->orderBy('id', 'ASC')->get();
|
||||
foreach ($assets as $asset) {
|
||||
|
||||
// get the last checkout of the asset
|
||||
if ($checkout_log = Actionlog::where('target_type', '=', 'App\\Models\\User')
|
||||
->where('action_type', '=', 'checkout')
|
||||
->where('item_id', '=', $asset->id)
|
||||
->orderBy('created_at', 'DESC')
|
||||
->first()) {
|
||||
|
||||
// Now check for a subsequent checkin log - we want to ignore those
|
||||
if (!$checkin_log = Actionlog::where('target_type', '=', 'App\\Models\\User')
|
||||
->where('action_type', '=', 'checkin from')
|
||||
->where('item_id', '=', $asset->id)
|
||||
->whereDate('created_at', '>', $checkout_log->created_at)
|
||||
->orderBy('created_at', 'DESC')
|
||||
->first()) {
|
||||
|
||||
//print_r($asset);
|
||||
if ($checkout_log->target_id != $asset->assigned_to) {
|
||||
$this->error('Log ID: '.$checkout_log->id.' -- Asset ID '. $checkout_log->item_id.' SHOULD BE checked out to User '.$checkout_log->target_id.' but its assigned_to is '.$asset->assigned_to );
|
||||
|
||||
if (!$this->dryrun) {
|
||||
$asset->assigned_to = $checkout_log->target_id;
|
||||
if ($asset->save()) {
|
||||
$this->info('Asset record updated.');
|
||||
} else {
|
||||
$this->error('Error updating asset: '.$asset->getErrors());
|
||||
}
|
||||
}
|
||||
$mismatch_count++;
|
||||
}
|
||||
} else {
|
||||
//$this->info('Asset ID '.$asset->id.': There is a checkin '.$checkin_log->created_at.' after this checkout '.$checkout_log->created_at);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
$this->info($mismatch_count.' mismatched assets.');
|
||||
|
||||
}
|
||||
}
|
||||
@@ -54,7 +54,10 @@ class MergeUsersByUsername extends Command
|
||||
foreach ($bad_user->assets as $asset) {
|
||||
$this->info( 'Updating asset '.$asset->asset_tag.' '.$asset->id.' to user '.$user->id);
|
||||
$asset->assigned_to = $user->id;
|
||||
$asset->save();
|
||||
if (!$asset->save()) {
|
||||
$this->error( 'Could not update assigned_to field on asset '.$asset->asset_tag.' '.$asset->id.' to user '.$user->id);
|
||||
$this->error( 'Error saving: '.$asset->getErrors());
|
||||
}
|
||||
}
|
||||
|
||||
// Walk the list of licenses
|
||||
|
||||
@@ -47,33 +47,33 @@ class MoveUploadsToNewDisk extends Command
|
||||
}
|
||||
$delete_local = $this->argument('delete_local');
|
||||
|
||||
$public_uploads['accessories'] = glob('storage/app/public/accessories'."/*.*");
|
||||
$public_uploads['assets'] = glob('storage/app/public/assets'."/*.*");
|
||||
$public_uploads['avatars'] = glob('storage/app/public/avatars'."/*.*");
|
||||
$public_uploads['categories'] = glob('storage/app/public/categories'."/*.*");
|
||||
$public_uploads['companies'] = glob('storage/app/public/companies'."/*.*");
|
||||
$public_uploads['components'] = glob('storage/app/public/components'."/*.*");
|
||||
$public_uploads['consumables'] = glob('storage/app/public/consumables'."/*.*");
|
||||
$public_uploads['departments'] = glob('storage/app/public/departments'."/*.*");
|
||||
$public_uploads['locations'] = glob('storage/app/public/locations'."/*.*");
|
||||
$public_uploads['manufacturers'] = glob('storage/app/public/manufacturers'."/*.*");
|
||||
$public_uploads['suppliers'] = glob('storage/app/public/suppliers'."/*.*");
|
||||
$public_uploads['assetmodels'] = glob('storage/app/public/models'."/*.*");
|
||||
$public_uploads['accessories'] = glob('public/accessories'."/*.*");
|
||||
$public_uploads['assets'] = glob('public/assets'."/*.*");
|
||||
$public_uploads['avatars'] = glob('public/avatars'."/*.*");
|
||||
$public_uploads['categories'] = glob('public/categories'."/*.*");
|
||||
$public_uploads['companies'] = glob('public/companies'."/*.*");
|
||||
$public_uploads['components'] = glob('public/components'."/*.*");
|
||||
$public_uploads['consumables'] = glob('public/consumables'."/*.*");
|
||||
$public_uploads['departments'] = glob('public/departments'."/*.*");
|
||||
$public_uploads['locations'] = glob('public/locations'."/*.*");
|
||||
$public_uploads['manufacturers'] = glob('public/manufacturers'."/*.*");
|
||||
$public_uploads['suppliers'] = glob('public/suppliers'."/*.*");
|
||||
$public_uploads['assetmodels'] = glob('public/models'."/*.*");
|
||||
|
||||
|
||||
// iterate files
|
||||
foreach($public_uploads as $public_type => $public_upload)
|
||||
{
|
||||
$type_count = 0;
|
||||
$this->info("\nThere are ".count($public_upload).' PUBLIC '.$public_type.' files.');
|
||||
$this->info("- There are ".count($public_upload).' PUBLIC '.$public_type.' files.');
|
||||
|
||||
for ($i = 0; $i < count($public_upload); $i++) {
|
||||
$type_count++;
|
||||
$filename = basename($public_upload[$i]);
|
||||
|
||||
try {
|
||||
Storage::disk('public')->put($public_type.'/'.$filename, file_get_contents($public_upload[$i]));
|
||||
$new_url = Storage::disk('public')->url($public_type.'/'.$filename, $filename);
|
||||
Storage::disk('public')->put('uploads/'.public_type.'/'.$filename, file_get_contents($public_upload[$i]));
|
||||
$new_url = Storage::disk('public')->url('uploads/'.$public_type.'/'.$filename, $filename);
|
||||
$this->info($type_count.'. PUBLIC: '.$filename.' was copied to '.$new_url);
|
||||
} catch (\Exception $e) {
|
||||
\Log::debug($e);
|
||||
@@ -84,15 +84,16 @@ class MoveUploadsToNewDisk extends Command
|
||||
|
||||
}
|
||||
|
||||
$logos = glob('public/uploads'."/setting*.*");
|
||||
$this->info("\nThere are ".count($logos).' files that might be logos.');
|
||||
$logos = glob("public/uploads/setting*.*");
|
||||
$this->info("- There are ".count($logos).' files that might be logos.');
|
||||
$type_count = 0;
|
||||
|
||||
for ($l = 0; $l < count($logos); $l++) {
|
||||
foreach ($logos as $logo) {
|
||||
$this->info($logo);
|
||||
$type_count++;
|
||||
$filename = basename($logos[$l]);
|
||||
$new_url = Storage::disk('public')->url($logos[$l], file_get_contents($public_upload[$i]));
|
||||
$this->info($type_count.'. LOGO: '.$filename.' was copied to '.$new_url);
|
||||
$filename = basename($logo);
|
||||
Storage::disk('public')->put('uploads/'.$filename, file_get_contents($logo));
|
||||
$this->info($type_count.'. LOGO: '.$filename.' was copied to '.env('PUBLIC_AWS_URL').'/uploads/'.$filename);
|
||||
}
|
||||
|
||||
$private_uploads['assets'] = glob('storage/private_uploads/assets'."/*.*");
|
||||
@@ -107,8 +108,7 @@ class MoveUploadsToNewDisk extends Command
|
||||
|
||||
foreach($private_uploads as $private_type => $private_upload)
|
||||
{
|
||||
$this->info("\nThere are ".count($private_upload).' PRIVATE '.$private_type.' files.');
|
||||
// $this->info(print_r($private_upload, true));
|
||||
$this->info("- There are ".count($private_upload).' PRIVATE '.$private_type.' files.');
|
||||
|
||||
$type_count = 0;
|
||||
for ($x = 0; $x < count($private_upload); $x++) {
|
||||
@@ -116,7 +116,7 @@ class MoveUploadsToNewDisk extends Command
|
||||
$filename = basename($private_upload[$x]);
|
||||
|
||||
try {
|
||||
Storage::disk('private_uploads')->put($private_type.'/'.$filename, file_get_contents($public_upload[$i]));
|
||||
Storage::put($private_type.'/'.$filename, file_get_contents($private_upload[$i]));
|
||||
$new_url = Storage::url($private_type.'/'.$filename, $filename);
|
||||
$this->info($type_count.'. PRIVATE: '.$filename.' was copied to '.$new_url);
|
||||
|
||||
|
||||
@@ -55,8 +55,10 @@ class ObjectImportCommand extends Command
|
||||
->setShouldNotify($this->option('send-welcome'))
|
||||
->setUsernameFormat($this->option('username_format'));
|
||||
|
||||
$logFile = $this->option('logfile');
|
||||
\Log::useFiles($logFile);
|
||||
|
||||
// This $logFile/useFiles() bit is currently broken, so commenting it out for now
|
||||
// $logFile = $this->option('logfile');
|
||||
// \Log::useFiles($logFile);
|
||||
$this->comment('======= Importing Items from '.$filename.' =========');
|
||||
$importer->import();
|
||||
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class PurgeLoginAttempts extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'snipeit:purge-logins';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Clears the login_attempts table';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
if ($this->confirm("\n****************************************************\nTHIS WILL DELETE ALL OF THE YOUR LOGIN ATTEMPT RECORDS. \nThere is NO undo! \n****************************************************\n\nDo you wish to continue? No backsies! [y|N]")) {
|
||||
\DB::statement('delete from login_attempts');
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Support\Facades\Notification;
|
||||
use GuzzleHttp\Client;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
@@ -93,6 +94,51 @@ class SettingsController extends Controller
|
||||
return response()->json($message, 200);
|
||||
}
|
||||
|
||||
public function ldaptestlogin(Request $request, LdapAd $ldap)
|
||||
{
|
||||
|
||||
if (Setting::getSettings()->ldap_enabled!='1') {
|
||||
\Log::debug('LDAP is not enabled. Cannot test.');
|
||||
return response()->json(['message' => 'LDAP is not enabled, cannot test.'], 400);
|
||||
}
|
||||
|
||||
|
||||
$rules = array(
|
||||
'ldaptest_user' => 'required',
|
||||
'ldaptest_password' => 'required'
|
||||
);
|
||||
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
if ($validator->fails()) {
|
||||
\Log::debug('LDAP Validation test failed.');
|
||||
$validation_errors = implode(' ',$validator->errors()->all());
|
||||
return response()->json(['message' => $validator->errors()->all()], 400);
|
||||
}
|
||||
|
||||
|
||||
\Log::debug('Preparing to test LDAP login');
|
||||
try {
|
||||
DB::beginTransaction(); //this was the easiest way to invoke a full test of an LDAP login without adding new users to the DB (which may not be desired)
|
||||
|
||||
// $results = $ldap->ldap->auth()->attempt($request->input('ldaptest_username'), $request->input('ldaptest_password'), true);
|
||||
// can't do this because that's a protected property.
|
||||
|
||||
$results = $ldap->ldapLogin($request->input('ldaptest_user'), $request->input('ldaptest_password')); // this would normally create a user on success (if they didn't already exist), but for the transaction
|
||||
if($results) {
|
||||
return response()->json(['message' => 'It worked! '. $request->input('ldaptest_user').' successfully binded to LDAP.'], 200);
|
||||
} else {
|
||||
return response()->json(['message' => 'Login Failed. '. $request->input('ldaptest_user').' did not successfully bind to LDAP.'], 400);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
\Log::debug('Connection failed');
|
||||
return response()->json(['message' => $e->getMessage()], 400);
|
||||
} finally {
|
||||
DB::rollBack(); // ALWAYS rollback, whether success or failure
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function slacktest(Request $request)
|
||||
{
|
||||
|
||||
@@ -137,7 +183,7 @@ class SettingsController extends Controller
|
||||
try {
|
||||
Notification::send(Setting::first(), new MailTest());
|
||||
return response()->json(['message' => 'Mail sent to '.config('mail.reply_to.address')], 200);
|
||||
} catch (Exception $e) {
|
||||
} catch (\Exception $e) {
|
||||
return response()->json(['message' => $e->getMessage()], 500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,20 +171,26 @@ class StatuslabelsController extends Controller
|
||||
|
||||
$labels=[];
|
||||
$points=[];
|
||||
$colors=[];
|
||||
$default_color = Helper::chartColors();
|
||||
$default_color_count = 0;
|
||||
|
||||
foreach ($statuslabels as $statuslabel) {
|
||||
if ($statuslabel->assets_count > 0) {
|
||||
|
||||
$labels[]=$statuslabel->name. ' ('.number_format($statuslabel->assets_count).')';
|
||||
$points[]=$statuslabel->assets_count;
|
||||
|
||||
if ($statuslabel->color!='') {
|
||||
$colors[]=$statuslabel->color;
|
||||
$colors_array[] = $statuslabel->color;
|
||||
} else {
|
||||
$colors_array[] = $default_color[$default_color_count];
|
||||
$default_color_count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$colors_array = array_merge($colors, Helper::chartColors());
|
||||
$colors_array = array_merge($colors_array, Helper::chartColors());
|
||||
|
||||
$result= [
|
||||
"labels" => $labels,
|
||||
|
||||
@@ -100,9 +100,9 @@ class AssetMaintenancesController extends Controller
|
||||
$assetMaintenance = new AssetMaintenance();
|
||||
$assetMaintenance->supplier_id = $request->input('supplier_id');
|
||||
$assetMaintenance->is_warranty = $request->input('is_warranty');
|
||||
$assetMaintenance->cost = e($request->input('cost'));
|
||||
$assetMaintenance->notes = e($request->input('notes'));
|
||||
$asset = Asset::find(e($request->input('asset_id')));
|
||||
$assetMaintenance->cost = $request->input('cost');
|
||||
$assetMaintenance->notes = $request->input('notes');
|
||||
$asset = Asset::find($request->input('asset_id'));
|
||||
|
||||
if ((!Company::isCurrentUserHasAccess($asset)) && ($asset!=null)) {
|
||||
return static::getInsufficientPermissionsRedirect();
|
||||
|
||||
@@ -234,6 +234,7 @@ class LoginController extends Controller
|
||||
|
||||
if ($user = Auth::user()) {
|
||||
$user->last_login = \Carbon::now();
|
||||
$user->activated = 1;
|
||||
$user->save();
|
||||
}
|
||||
// Redirect to the users page
|
||||
|
||||
@@ -124,7 +124,7 @@ class ComponentsController extends Controller
|
||||
}
|
||||
$min = $component->numCHeckedOut();
|
||||
$validator = Validator::make($request->all(), [
|
||||
"qty" => "required|numeric|gt:$min"
|
||||
"qty" => "required|numeric|min:$min"
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
|
||||
@@ -39,7 +39,8 @@ class LicenseFilesController extends Controller
|
||||
$upload_success = false;
|
||||
foreach ($request->file('file') as $file) {
|
||||
|
||||
$file_name = 'license-'.date('Y-m-d-His').'-'.$file->getBasename().'.'.$file->getClientOriginalExtension();
|
||||
|
||||
$file_name = 'license-'.$license->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$file->getClientOriginalExtension())).'.'.$file->getClientOriginalExtension();
|
||||
|
||||
|
||||
$upload_success = $file->storeAs('private_uploads/licenses', $file_name);
|
||||
|
||||
@@ -217,6 +217,99 @@ class ReportsController extends Controller
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Exports the activity report to CSV
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v5.0.7]
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function postActivityReport(Request $request)
|
||||
{
|
||||
ini_set('max_execution_time', 12000);
|
||||
$this->authorize('reports.view');
|
||||
|
||||
\Debugbar::disable();
|
||||
$response = new StreamedResponse(function () {
|
||||
|
||||
\Log::debug('Starting streamed response');
|
||||
|
||||
// Open output stream
|
||||
$handle = fopen('php://output', 'w');
|
||||
stream_set_timeout($handle, 2000);
|
||||
|
||||
$header = [
|
||||
trans('general.date'),
|
||||
trans('general.admin'),
|
||||
trans('general.action'),
|
||||
trans('general.type'),
|
||||
trans('general.item'),
|
||||
'To',
|
||||
trans('general.notes'),
|
||||
'Changed',
|
||||
|
||||
];
|
||||
$executionTime = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
|
||||
\Log::debug('Starting headers: '.$executionTime);
|
||||
fputcsv($handle, $header);
|
||||
$executionTime = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
|
||||
\Log::debug('Added headers: '.$executionTime);
|
||||
|
||||
$actionlogs = Actionlog::with('item', 'user', 'target','location')
|
||||
->orderBy('created_at', 'DESC')
|
||||
->chunk(20, function($actionlogs) use($handle) {
|
||||
|
||||
$executionTime = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
|
||||
\Log::debug('Walking results: '.$executionTime);
|
||||
$count = 0;
|
||||
|
||||
foreach ($actionlogs as $actionlog) {
|
||||
|
||||
$count++;
|
||||
$target_name = '';
|
||||
|
||||
if ($actionlog->target) {
|
||||
if ($actionlog->targetType()=='user') {
|
||||
$target_name = $actionlog->target->getFullNameAttribute();
|
||||
} else {
|
||||
$target_name = $actionlog->target->getDisplayNameAttribute();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$row = [
|
||||
$actionlog->created_at,
|
||||
($actionlog->user) ? e($actionlog->user->getFullNameAttribute()) : '',
|
||||
$actionlog->present()->actionType(),
|
||||
e($actionlog->itemType()),
|
||||
($actionlog->itemType()=='user') ? $actionlog->filename : e($actionlog->item->getDisplayNameAttribute()),
|
||||
$target_name,
|
||||
($actionlog->note) ? e($actionlog->note): '',
|
||||
$actionlog->log_meta,
|
||||
];
|
||||
fputcsv($handle, $row);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
// Close the output stream
|
||||
fclose($handle);
|
||||
$executionTime = microtime(true) - $_SERVER["REQUEST_TIME_FLOAT"];
|
||||
\Log::debug('-- SCRIPT COMPLETED IN '. $executionTime);
|
||||
|
||||
}, 200, [
|
||||
'Content-Type' => 'text/csv',
|
||||
'Content-Disposition'
|
||||
=> 'attachment; filename="activity-report-'.date('Y-m-d-his').'.csv"',
|
||||
]);
|
||||
|
||||
|
||||
return $response;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Displays license report
|
||||
*
|
||||
|
||||
@@ -106,7 +106,7 @@ class SecurityHeaders
|
||||
$csp_policy[] = "connect-src 'self'";
|
||||
$csp_policy[] = "object-src 'none'";
|
||||
$csp_policy[] = "font-src 'self' data:";
|
||||
$csp_policy[] = "img-src 'self' data: ".config('app.url')." https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com";
|
||||
$csp_policy[] = "img-src 'self' data: ".config('app.url')." ".env('PUBLIC_AWS_URL')." https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com";
|
||||
$csp_policy = join(';', $csp_policy);
|
||||
$response->headers->set('Content-Security-Policy', $csp_policy);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class AssetFileRequest extends Request
|
||||
{
|
||||
$max_file_size = \App\Helpers\Helper::file_upload_max_size();
|
||||
return [
|
||||
'file.*' => 'required|mimes:png,gif,jpg,svg,jpeg,doc,docx,pdf,txt,zip,rar,xls,lic,xml,rtf|max:'.$max_file_size,
|
||||
'file.*' => 'required|mimes:png,gif,jpg,svg,jpeg,doc,docx,pdf,txt,zip,rar,xls,xlsx,lic,xml,rtf|max:'.$max_file_size,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
+10
-4
@@ -130,6 +130,8 @@ class Asset extends Depreciable
|
||||
'supplier_id',
|
||||
'warranty_months',
|
||||
'requestable',
|
||||
'last_checkout',
|
||||
'expected_checkin',
|
||||
];
|
||||
|
||||
use Searchable;
|
||||
@@ -232,7 +234,10 @@ class Asset extends Depreciable
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if an asset is available for checkout
|
||||
* Determines if an asset is available for checkout.
|
||||
* This checks to see if the it's checked out to an invalid (deleted) user
|
||||
* OR if the assigned_to and deleted_at fields on the asset are empty AND
|
||||
* that the status is deployable
|
||||
*
|
||||
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||
* @since [v3.0]
|
||||
@@ -241,9 +246,10 @@ class Asset extends Depreciable
|
||||
public function availableForCheckout()
|
||||
{
|
||||
if (
|
||||
(empty($this->assigned_to)) &&
|
||||
((!$this->assignedTo) && ($this->assetstatus->archived == 0)) ||
|
||||
((empty($this->assigned_to)) &&
|
||||
(empty($this->deleted_at)) &&
|
||||
(($this->assetstatus) && ($this->assetstatus->deployable == 1)))
|
||||
(($this->assetstatus) && ($this->assetstatus->deployable == 1))))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -424,7 +430,7 @@ class Asset extends Depreciable
|
||||
*/
|
||||
public function assignedTo()
|
||||
{
|
||||
return $this->morphTo('assigned', 'assigned_type', 'assigned_to');
|
||||
return $this->morphTo('assigned', 'assigned_type', 'assigned_to')->withTrashed();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -111,7 +111,7 @@ class CheckinAccessoryNotification extends Notification
|
||||
];
|
||||
|
||||
return (new SlackMessage)
|
||||
->content(':arrow_down: :keyboard: Accessory Checked In')
|
||||
->content(':arrow_down: :keyboard: '.trans('mail.Accessory_Checkin_Notification'))
|
||||
->from($botname)
|
||||
->attachment(function ($attachment) use ($item, $note, $admin, $fields) {
|
||||
$attachment->title(htmlspecialchars_decode($item->present()->name), $item->present()->viewUrl())
|
||||
@@ -135,7 +135,7 @@ class CheckinAccessoryNotification extends Notification
|
||||
'note' => $this->note,
|
||||
'target' => $this->target,
|
||||
])
|
||||
->subject('Accessory checked in');
|
||||
->subject(trans('mail.Accessory_Checkin_Notification'));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ class CheckinAssetNotification extends Notification
|
||||
];
|
||||
|
||||
return (new SlackMessage)
|
||||
->content(':arrow_down: :computer: Asset Checked In')
|
||||
->content(':arrow_down: :computer: '.trans('mail.Asset_Checkin_Notification'))
|
||||
->from($botname)
|
||||
->attachment(function ($attachment) use ($item, $note, $admin, $fields) {
|
||||
$attachment->title(htmlspecialchars_decode($item->present()->name), $item->present()->viewUrl())
|
||||
@@ -113,7 +113,7 @@ class CheckinAssetNotification extends Notification
|
||||
'fields' => $fields,
|
||||
'expected_checkin' => $this->expected_checkin,
|
||||
])
|
||||
->subject('Asset checked in');
|
||||
->subject(trans('mail.Asset_Checkin_Notification'));
|
||||
|
||||
|
||||
return $message;
|
||||
|
||||
@@ -83,7 +83,7 @@ class CheckinLicenseSeatNotification extends Notification
|
||||
|
||||
|
||||
return (new SlackMessage)
|
||||
->content(':arrow_down: :floppy_disk: License Checked In')
|
||||
->content(':arrow_down: :floppy_disk: '.trans('mail.License_Checkin_Notification'))
|
||||
->from($botname)
|
||||
->attachment(function ($attachment) use ($item, $note, $admin, $fields) {
|
||||
$attachment->title(htmlspecialchars_decode($item->present()->name), $item->present()->viewUrl())
|
||||
@@ -106,7 +106,7 @@ class CheckinLicenseSeatNotification extends Notification
|
||||
'note' => $this->note,
|
||||
'target' => $this->target,
|
||||
])
|
||||
->subject('License checked in');
|
||||
->subject(trans('mail.License_Checkin_Notification'));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ class ExpectedCheckinAdminNotification extends Notification
|
||||
[
|
||||
'assets' => $this->assets,
|
||||
])
|
||||
->subject('Expected asset checkin report');
|
||||
->subject(trans('mail.Expected_Checkin_Report'));
|
||||
|
||||
return $message;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
namespace App\Notifications;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Helpers\Helper;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Notifications\Messages\MailMessage;
|
||||
use Illuminate\Notifications\Notification;
|
||||
@@ -46,16 +46,18 @@ class ExpectedCheckinNotification extends Notification
|
||||
*/
|
||||
public function toMail()
|
||||
{
|
||||
$formatted_due = Carbon::parse($this->params->expected_checkin)->format('D, M j, Y');
|
||||
return (new MailMessage)
|
||||
->error()
|
||||
->subject('Reminder: '.$this->params->present()->name().' checkin deadline approaching')
|
||||
->line('Hi, '.$this->params->assignedto->first_name.' '.$this->params->assignedto->last_name)
|
||||
->greeting('An asset checked out to you is due to be checked back in on '.$formatted_due.'.')
|
||||
->line('Asset: '.$this->params->present()->name())
|
||||
->line('Serial: '.$this->params->serial)
|
||||
->line('Asset Tag: '.$this->params->asset_tag)
|
||||
->action('View Your Assets', route('view-assets'));
|
||||
|
||||
$message = (new MailMessage)->markdown('notifications.markdown.expected-checkin',
|
||||
[
|
||||
'date' => Helper::getFormattedDateObject($this->params->expected_checkin, 'date', false),
|
||||
'asset' => $this->params->present()->name(),
|
||||
'serial' => $this->params->serial,
|
||||
'asset_tag' => $this->params->asset_tag
|
||||
])
|
||||
->subject(trans('mail.Expected_Checkin_Notification', ['name' => $this->params->present()->name()]));
|
||||
|
||||
return $message;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+50
-14
@@ -165,7 +165,7 @@ class LdapAd extends LdapAdConfiguration
|
||||
*/
|
||||
public function processUser(AdldapUser $user, ?Collection $defaultLocation=null, ?Collection $mappedLocations=null): ?User
|
||||
{
|
||||
// Only sync active users
|
||||
// Only sync active users <- I think this actually means 'existing', not 'activated/deactivated'
|
||||
if(!$user) {
|
||||
return null;
|
||||
}
|
||||
@@ -177,8 +177,26 @@ class LdapAd extends LdapAdConfiguration
|
||||
$snipeUser['email'] = $user->{$this->ldapSettings['ldap_email']}[0] ?? '';
|
||||
$snipeUser['title'] = $user->getTitle() ?? '';
|
||||
$snipeUser['telephonenumber'] = $user->getTelephoneNumber() ?? '';
|
||||
$snipeUser['location_id'] = $this->getLocationId($user, $defaultLocation, $mappedLocations);
|
||||
$snipeUser['activated'] = $this->getActiveStatus($user);
|
||||
|
||||
/*
|
||||
* $locationId being 'null' means we have no per-OU location information,
|
||||
* but instead of explicitly setting it to null - which would override any admin-generated
|
||||
* location assignments - we just don't set it at all. For a brand new User, the 'default null'
|
||||
* on the column will cover us. For an already existing user, this will not override any
|
||||
* locations that were explicitly chosen by the administrators.
|
||||
*
|
||||
* When syncing with a particular 'default location' in mind, those should still be respected
|
||||
* and it *will* override the administrators previous choices. I think this is a fair compromise.
|
||||
*/
|
||||
$locationId = $this->getLocationId($user, $defaultLocation, $mappedLocations);
|
||||
if ($locationId !== null ) {
|
||||
$snipeUser['location_id'] = $locationId;
|
||||
}
|
||||
|
||||
$activeStatus = $this->getActiveStatus($user);
|
||||
if ($activeStatus !== null) {
|
||||
$snipeUser['activated'] = $activeStatus;
|
||||
}
|
||||
|
||||
return $this->setUserModel($snipeUser);
|
||||
}
|
||||
@@ -208,8 +226,12 @@ class LdapAd extends LdapAdConfiguration
|
||||
$user->employee_num = trim($userInfo['employee_number']);
|
||||
$user->jobtitle = trim($userInfo['title']);
|
||||
$user->phone = trim($userInfo['telephonenumber']);
|
||||
$user->activated = $userInfo['activated'];
|
||||
$user->location_id = $userInfo['location_id'];
|
||||
if(array_key_exists('activated',$userInfo)) {
|
||||
$user->activated = $userInfo['activated'];
|
||||
}
|
||||
if(array_key_exists('location_id',$userInfo)) {
|
||||
$user->location_id = $userInfo['location_id'];
|
||||
}
|
||||
$user->notes = 'Imported from LDAP';
|
||||
$user->ldap_import = 1;
|
||||
|
||||
@@ -275,6 +297,8 @@ class LdapAd extends LdapAdConfiguration
|
||||
|
||||
/**
|
||||
* Set the active status of the user.
|
||||
* Returns 0 or 1 if the user is deactivated or activated
|
||||
* or returns null if we just don't know
|
||||
*
|
||||
* @author Wes Hulette <jwhulette@gmail.com>
|
||||
*
|
||||
@@ -282,22 +306,34 @@ class LdapAd extends LdapAdConfiguration
|
||||
*
|
||||
* @param \Adldap\Models\User $user
|
||||
*
|
||||
* @return int
|
||||
* @return int (or null)
|
||||
*/
|
||||
private function getActiveStatus(AdldapUser $user): int
|
||||
private function getActiveStatus(AdldapUser $user): ?int
|
||||
{
|
||||
$activeStatus = 0;
|
||||
/*
|
||||
* Check to see if we are connected to an AD server
|
||||
* if so, check the Active Directory User Account Control Flags
|
||||
* If the admin has set their own 'active flag' - respect that instead
|
||||
* (this may work to allow AD users to ignore the built-in UAC stuff that AD does)
|
||||
*/
|
||||
if ($user->hasAttribute($user->getSchema()->userAccountControl())) {
|
||||
if ($user->hasAttribute($user->getSchema()->userAccountControl()) && !$this->ldapSettings['ldap_active_flag']) {
|
||||
\Log::debug('This is AD - userAccountControl is'. $user->getSchema()->userAccountControl());
|
||||
$activeStatus = (in_array($user->getUserAccountControl(), self::AD_USER_ACCOUNT_CONTROL_FLAGS)) ? 1 : 0;
|
||||
} else {
|
||||
// If there is no activated flag, assume this is handled via the OU and activate the users
|
||||
|
||||
\Log::debug('This looks like LDAP (or an AD where the UAC is disabled)');
|
||||
// If there is no activated flag, then we can't make any determination about activated/deactivated
|
||||
if (false == $this->ldapSettings['ldap_active_flag']) {
|
||||
$activeStatus = 1;
|
||||
\Log::debug('ldap_active_flag is false - no ldap_active_flag is set');
|
||||
return null;
|
||||
}
|
||||
|
||||
// If there *is* an activated flag, then respect it *only* if it is actually present. If it's not there, ignore it. <-- NOT SURE IF RIGHT?
|
||||
if (!$user->hasAttribute($this->ldapSettings['ldap_active_flag'])) {
|
||||
return null; // 'active' flag is defined, but does not exist on returned user record. So we don't know if they're active or not.
|
||||
}
|
||||
|
||||
$activeStatus = $user->{$this->ldapSettings['ldap_active_flag']} ? 1 : 0 ;
|
||||
}
|
||||
|
||||
return $activeStatus;
|
||||
@@ -398,7 +434,7 @@ class LdapAd extends LdapAdConfiguration
|
||||
{
|
||||
/** @var Schema $schema */
|
||||
$schema = new $this->ldapConfig['schema'];
|
||||
return [
|
||||
return array_values(array_filter([
|
||||
$this->ldapSettings['ldap_username_field'],
|
||||
$this->ldapSettings['ldap_fname_field'],
|
||||
$this->ldapSettings['ldap_lname_field'],
|
||||
@@ -409,7 +445,7 @@ class LdapAd extends LdapAdConfiguration
|
||||
$schema->userAccountControl(),
|
||||
$schema->title(),
|
||||
$schema->telephone(),
|
||||
];
|
||||
]));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -439,7 +475,7 @@ class LdapAd extends LdapAdConfiguration
|
||||
public function testLdapAdUserConnection(): void
|
||||
{
|
||||
try {
|
||||
$this->ldap->connect(); //uh, this doesn't seem to exist :/
|
||||
$this->ldap->connect();
|
||||
} catch (\Adldap\Auth\BindException $e) {
|
||||
Log::error($e);
|
||||
throw new Exception('Unable to connect to LDAP directory!');
|
||||
|
||||
@@ -65,6 +65,7 @@
|
||||
"codeception/module-rest": "^1.2",
|
||||
"codeception/module-webdriver": "^1.0",
|
||||
"fzaninotto/faker": "^1.9",
|
||||
"overtrue/phplint": "^2.2",
|
||||
"phpunit/php-token-stream": "^3.1",
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"squizlabs/php_codesniffer": "^3.5",
|
||||
|
||||
Generated
+112
-2
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "3fe8a441e49d1299687346810b350e00",
|
||||
"content-hash": "68cf0fb2c06b12c9f8b58efbca2cd72b",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adldap2/adldap2",
|
||||
@@ -8476,6 +8476,116 @@
|
||||
],
|
||||
"time": "2020-01-17T21:11:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "n98/junit-xml",
|
||||
"version": "1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/cmuench/junit-xml.git",
|
||||
"reference": "7df0dbaf413fcaa1a63ffbcef18654e7a4cceb46"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/cmuench/junit-xml/zipball/7df0dbaf413fcaa1a63ffbcef18654e7a4cceb46",
|
||||
"reference": "7df0dbaf413fcaa1a63ffbcef18654e7a4cceb46",
|
||||
"shasum": ""
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "3.7.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"N98\\JUnitXml": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Christian Münch",
|
||||
"email": "c.muench@netz98.de"
|
||||
}
|
||||
],
|
||||
"description": "JUnit XML Document generation library",
|
||||
"support": {
|
||||
"issues": "https://github.com/cmuench/junit-xml/issues",
|
||||
"source": "https://github.com/cmuench/junit-xml/tree/master"
|
||||
},
|
||||
"time": "2013-11-23T13:11:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "overtrue/phplint",
|
||||
"version": "2.2.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/overtrue/phplint.git",
|
||||
"reference": "dcbb1b9c728de2f05ce6208db7dacb8b3df1c446"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/overtrue/phplint/zipball/dcbb1b9c728de2f05ce6208db7dacb8b3df1c446",
|
||||
"reference": "dcbb1b9c728de2f05ce6208db7dacb8b3df1c446",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"n98/junit-xml": "1.0.0",
|
||||
"php": ">=5.5.9",
|
||||
"symfony/console": "^3.2|^4.0|^5.0",
|
||||
"symfony/finder": "^3.0|^4.0|^5.0",
|
||||
"symfony/process": "^3.3|^4.0|^5.0",
|
||||
"symfony/yaml": "^3.0|^4.0|^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"brainmaestro/composer-git-hooks": "^2.7",
|
||||
"friendsofphp/php-cs-fixer": "^2.16",
|
||||
"jakub-onderka/php-console-highlighter": "^0.3.2 || ^0.4"
|
||||
},
|
||||
"bin": [
|
||||
"bin/phplint"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"hooks": {
|
||||
"pre-commit": [
|
||||
"composer fix-style"
|
||||
],
|
||||
"pre-push": [
|
||||
"composer check-style"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Overtrue\\PHPLint\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "overtrue",
|
||||
"email": "anzhengchao@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "`phplint` is a tool that can speed up linting of php files by running several lint processes at once.",
|
||||
"keywords": [
|
||||
"check",
|
||||
"lint",
|
||||
"phplint",
|
||||
"syntax"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/overtrue/phplint/issues",
|
||||
"source": "https://github.com/overtrue/phplint/tree/2.2.0"
|
||||
},
|
||||
"time": "2020-11-04T23:50:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
"version": "1.0.3",
|
||||
@@ -9618,5 +9728,5 @@
|
||||
"platform-overrides": {
|
||||
"php": "7.2"
|
||||
},
|
||||
"plugin-api-version": "1.1.0"
|
||||
"plugin-api-version": "2.0.0"
|
||||
}
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v5.0.6',
|
||||
'full_app_version' => 'v5.0.6-5526-g8a7cd8764',
|
||||
'build_version' => '5526',
|
||||
'app_version' => 'v5.0.7',
|
||||
'full_app_version' => 'v5.0.7 - build 5615-g6eb860ca2',
|
||||
'build_version' => '5615',
|
||||
'prerelease_version' => '',
|
||||
'hash_version' => 'g8a7cd8764',
|
||||
'full_hash' => 'v5.0.6-5526-g8a7cd8764',
|
||||
'branch' => 'master',
|
||||
'hash_version' => 'g6eb860ca2',
|
||||
'full_hash' => 'v5.0.7-87-g6eb860ca2',
|
||||
'branch' => 'develop',
|
||||
);
|
||||
Vendored
+5
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+20
-12
File diff suppressed because one or more lines are too long
Vendored
+34
-26
File diff suppressed because one or more lines are too long
+16
-16
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"/js/build/app.js": "/js/build/app.js?id=df0e9d334d5c0b0eb048",
|
||||
"/js/build/app.js": "/js/build/app.js?id=648e026d19aa24504e0f",
|
||||
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=59413334823616b81341",
|
||||
"/css/build/app.css": "/css/build/app.css?id=032fd8c3fce99c7fd862",
|
||||
"/css/build/overrides.css": "/css/build/overrides.css?id=0b4aefd7ef0c117ef23a",
|
||||
@@ -7,32 +7,32 @@
|
||||
"/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=747948e5f269f64047f7",
|
||||
"/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=d7996d850e8bcdc4e167",
|
||||
"/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=eb25d2ec49f730d09431",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=8dfcf59850a3f5775b8c",
|
||||
"/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=eb4404a7b646ea42e025",
|
||||
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=35602987835e5d50d162",
|
||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=6bd9c2420a41eaf96f0b",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=60de5bc2660c35544c4d",
|
||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=5789dd8af07b08034581",
|
||||
"/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=2e9f90ff200d4e9f45a8",
|
||||
"/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=b6dcb6d5c666fc5c8cc0",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=9dd1dc817a71431e5904",
|
||||
"/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=8150adf2e5f70ec3eb00",
|
||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=cb85a4e40e784319e878",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=4a19f5ae861f98f40bab",
|
||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=5fc4a3cf9407c6a9d398",
|
||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=2f665cf40d7348b3f94c",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=71c178700d68294e3413",
|
||||
"/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=5267e92a8df9ba833e01",
|
||||
"/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=b4fc4a74e1f6367dc3e2",
|
||||
"/css/dist/all.css": "/css/dist/all.css?id=6e3b75006f2b19d69f37",
|
||||
"/css/dist/all.css": "/css/dist/all.css?id=199fdf677ce0dce6cef8",
|
||||
"/css/blue.png": "/css/blue.png?id=4c85d6a97173123bd14a",
|
||||
"/css/blue@2x.png": "/css/blue@2x.png?id=62c67c6a822439e8a4ac",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=8dfcf59850a3f5775b8c",
|
||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=6bd9c2420a41eaf96f0b",
|
||||
"/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=eb4404a7b646ea42e025",
|
||||
"/css/dist/skins/skin-black-dark.min.css": "/css/dist/skins/skin-black-dark.min.css?id=5789dd8af07b08034581",
|
||||
"/css/dist/skins/skin-blue-dark.min.css": "/css/dist/skins/skin-blue-dark.min.css?id=2f665cf40d7348b3f94c",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=4a19f5ae861f98f40bab",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=60de5bc2660c35544c4d",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=9dd1dc817a71431e5904",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=71c178700d68294e3413",
|
||||
"/css/dist/skins/skin-yellow-dark.min.css": "/css/dist/skins/skin-yellow-dark.min.css?id=5fc4a3cf9407c6a9d398",
|
||||
"/css/dist/skins/skin-red-dark.min.css": "/css/dist/skins/skin-red-dark.min.css?id=2e9f90ff200d4e9f45a8",
|
||||
"/css/dist/skins/skin-purple-dark.min.css": "/css/dist/skins/skin-purple-dark.min.css?id=8150adf2e5f70ec3eb00",
|
||||
"/css/dist/skins/skin-orange-dark.min.css": "/css/dist/skins/skin-orange-dark.min.css?id=5267e92a8df9ba833e01",
|
||||
"/css/dist/skins/skin-contrast.min.css": "/css/dist/skins/skin-contrast.min.css?id=d7996d850e8bcdc4e167",
|
||||
"/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced",
|
||||
"/css/build/signature-pad.min.css": "/css/build/signature-pad.min.css?id=d41d8cd98f00b204e980",
|
||||
"/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=1e77fde04b3f42432581",
|
||||
"/js/build/vendor.js": "/js/build/vendor.js?id=aff75d5aad5e7b429723",
|
||||
"/js/build/vendor.js": "/js/build/vendor.js?id=b93877b4a88a76e1b18b",
|
||||
"/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=58d95c93430f2ae33392",
|
||||
"/js/dist/all.js": "/js/dist/all.js?id=5dc677546cc6d86e605d"
|
||||
"/js/dist/all.js": "/js/dist/all.js?id=b4627a6533d841cd8fdf"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
|
||||
<div v-show="processDetail" class="col-md-6 col-md-offset-3">
|
||||
<div v-show="processDetail" class="col-md-12">
|
||||
|
||||
<div class="row">
|
||||
<div class="dynamic-form-row">
|
||||
@@ -50,8 +50,7 @@
|
||||
</div> <!-- /div row -->
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2"></div>
|
||||
<div class="col-md-8" style="padding-top: 30px;">
|
||||
<div class="col-md-12" style="padding-top: 30px;">
|
||||
<div class="col-md-4 text-right"><h4>Header Field</h4></div>
|
||||
<div class="col-md-4"><h4>Import Field</h4></div>
|
||||
<div class="col-md-4"><h4>Sample Value</h4></div>
|
||||
@@ -60,8 +59,7 @@
|
||||
|
||||
<template v-for="(header, index) in file.header_row">
|
||||
<div class="row">
|
||||
<div class="col-md-2"></div>
|
||||
<div class="col-md-8">
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-4 text-right">
|
||||
<label :for="header" class="control-label">{{ header }}</label>
|
||||
</div>
|
||||
|
||||
@@ -131,6 +131,12 @@ a {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
a, a:link, a:visited, .btn-primary.hover {
|
||||
color: var(--header);
|
||||
|
||||
@@ -131,6 +131,12 @@ a {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #00a65a;
|
||||
}
|
||||
|
||||
a, a:link, a:visited, .btn-primary.hover {
|
||||
color: var(--header);
|
||||
|
||||
@@ -131,6 +131,12 @@ a {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #ff8c00;
|
||||
}
|
||||
|
||||
a, a:link, a:visited, .btn-primary.hover {
|
||||
color: var(--header);
|
||||
|
||||
@@ -131,6 +131,12 @@ a {
|
||||
background-color: var(--back-main);
|
||||
color: var(--text-main);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #605ca8;
|
||||
}
|
||||
|
||||
a, a:link, a:visited, .btn-primary.hover {
|
||||
color: var(--header);
|
||||
|
||||
@@ -258,6 +258,12 @@ input[type=text], input[type=search] {
|
||||
background-color: var(--back-main);
|
||||
color: var(--header);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #dd4b39;
|
||||
}
|
||||
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[aria-selected=true]:hover {
|
||||
background-color: var(--back-sub);
|
||||
color: var(--header);
|
||||
|
||||
@@ -258,6 +258,12 @@ input[type=text], input[type=search] {
|
||||
background-color: var(--back-main);
|
||||
color: var(--header);
|
||||
}
|
||||
.popover {
|
||||
background-color:var(--back-main);
|
||||
}
|
||||
.popover-title {
|
||||
background-color: #f39c12;
|
||||
}
|
||||
.select2-container--default .select2-results__option[aria-selected=true], .select2-container--default .select2-results__option[aria-selected=true]:hover {
|
||||
background-color: var(--back-sub);
|
||||
color: var(--header);
|
||||
|
||||
@@ -20,6 +20,6 @@ return array(
|
||||
'title' => 'Asset ',
|
||||
'image' => 'Geräte-Bild',
|
||||
'days_without_acceptance' => 'Tage ohne Akzeptierung',
|
||||
'monthly_depreciation' => 'Monthly Depreciation'
|
||||
'monthly_depreciation' => 'Monatliche Abschreibung'
|
||||
|
||||
);
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'about_kits_title' => 'About Predefined Kits',
|
||||
'about_kits_text' => 'Predefined Kits let you quickly check out a collection of items (assets, licenses, etc) to a user. This can be helpful when your onboarding process is consistent across many users and all users receive the same items.',
|
||||
'checkout' => 'Checkout Kit ',
|
||||
'create_success' => 'Kit was successfully created.',
|
||||
'create' => 'Create Predefined Kit',
|
||||
'update' => 'Update Predefined Kit',
|
||||
'delete_success' => 'Kit was successfully deleted.',
|
||||
'update_success' => 'Kit was successfully updated.',
|
||||
'none_models' => 'There are not enough available assets for :model to checkout. :qty are required. ',
|
||||
'none_licenses' => 'There are not enough available seats for :license to checkout. :qty are required. ',
|
||||
'none_consumables' => 'There are not enough available units of :consumable to checkout. :qty are required. ',
|
||||
'none_accessory' => 'There are not enough available units of :accessory to checkout. :qty are required. ',
|
||||
'about_kits_title' => 'Über vordefinierte Kits',
|
||||
'about_kits_text' => 'Mit vordefinierten Kits können Sie schnell eine Sammlung von Elementen (Assets, Lizenzen, etc.) an einen Benutzer ausgeben. Dies kann hilfreich sein, wenn Ihr Onboarding-Prozess über viele Nutzer hinweg einheitlich ist und alle Nutzer die gleichen Artikel erhalten.',
|
||||
'checkout' => 'Kit herausgeben ',
|
||||
'create_success' => 'Kit wurde erfolgreich erstellt.',
|
||||
'create' => 'Vordefiniertes Kit erstellen',
|
||||
'update' => 'Vordefiniertes Kit aktualisieren',
|
||||
'delete_success' => 'Kit wurde erfolgreich gelöscht.',
|
||||
'update_success' => 'Kit wurde erfolgreich aktualisiert.',
|
||||
'none_models' => 'Es gibt nicht genügend verfügbare Assets für :model zum Herausgeben. :qty sind erforderlich. ',
|
||||
'none_licenses' => 'Es gibt nicht genügend Lizenzen für :license zum Herausgeben. :qty sind erforderlich. ',
|
||||
'none_consumables' => 'Es gibt nicht genügend verfügbare Einheiten von :consumable zum Herausgeben. :qty sind erforderlich. ',
|
||||
'none_accessory' => 'Es gibt nicht genügend verfügbare Einheiten von :accessory zum Herausgeben. :qty werden benötigt. ',
|
||||
|
||||
);
|
||||
|
||||
@@ -8,7 +8,7 @@ return array(
|
||||
'owner_doesnt_match_asset' => 'Der Gegenstand, den Sie mit dieser Lizenz verknüpfen möchten, gehört jemand anderem als der im Dropdown-Feld ausgewählten Person.',
|
||||
'assoc_users' => 'Diese Lizenz ist derzeit mindestens einem Benutzer zugeordnet und kann nicht gelöscht werden. Bitte nehmen Sie die Lizenz zurück und versuchen Sie anschließend erneut diese zu löschen. ',
|
||||
'select_asset_or_person' => 'Sie müssen ein Asset oder einen Benutzer auswählen, aber nicht beides.',
|
||||
'not_found' => 'License not found',
|
||||
'not_found' => 'Lizenz nicht gefunden',
|
||||
|
||||
|
||||
'create' => array(
|
||||
|
||||
@@ -4,9 +4,9 @@ return array(
|
||||
'ad' => 'Active Directory',
|
||||
'ad_domain' => 'Active Directory Domäne',
|
||||
'ad_domain_help' => 'Meistens dieselbe wie die E-Mail Domäne.',
|
||||
'ad_append_domain_label' => 'Append domain name',
|
||||
'ad_append_domain' => 'Append domain name to username field',
|
||||
'ad_append_domain_help' => 'User isn\'t required to write "username@domain.local", they can just type "username".' ,
|
||||
'ad_append_domain_label' => 'Domänenname anhängen',
|
||||
'ad_append_domain' => 'Domänenname an das Feld Benutzername anhängen',
|
||||
'ad_append_domain_help' => 'Benutzer muss nicht "username@domain.local" eingeben, "username" ist ausreichend.' ,
|
||||
'admin_cc_email' => 'CC Email',
|
||||
'admin_cc_email_help' => 'Wenn Sie eine Kopie der Rücknahme- / Herausgabe-E-Mails, die an Benutzer gehen auch an zusätzliche E-Mail-Empfänger versenden möchten, geben Sie sie hier ein. Ansonsten lassen Sie dieses Feld leer.',
|
||||
'is_ad' => 'Dies ist ein Active Directory Server',
|
||||
@@ -25,7 +25,7 @@ return array(
|
||||
'backups' => 'Sicherungen',
|
||||
'barcode_settings' => 'Barcode Einstellungen',
|
||||
'confirm_purge' => 'Bereinigung bestätigen',
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone and will PERMANENTLY delete all soft-deleted items and users. (You should make a backup first, just to be safe.)',
|
||||
'confirm_purge_help' => 'Geben Sie den Text "LÖSCHEN" in das Feld unten ein, um die gelöschten Datensätze zu löschen. Diese Aktion kann nicht rückgängig gemacht werden. Alle Einträge und Benutzer werden DAUERHAFT gelöscht. (Um sicher zu gehen, sollten Sie zuerst ein Backup erstellen)',
|
||||
'custom_css' => 'Eigenes CSS',
|
||||
'custom_css_help' => 'Füge eigenes CSS hinzu. Benutze keine <style></style> tags.',
|
||||
'custom_forgot_pass_url' => 'Benutzerdefinierte Passwort Reset URL',
|
||||
@@ -41,23 +41,23 @@ return array(
|
||||
'display_eol' => 'Zeige EOL in der Tabellenansicht',
|
||||
'display_qr' => 'Zeige quadratische Codes',
|
||||
'display_alt_barcode' => 'Zeige 1D Barcode an',
|
||||
'email_logo' => 'Email Logo',
|
||||
'email_logo' => 'E-Mail-Logo',
|
||||
'barcode_type' => '2D Barcode Typ',
|
||||
'alt_barcode_type' => '1D Barcode Typ',
|
||||
'email_logo_size' => 'Square logos in email look best. ',
|
||||
'email_logo_size' => 'Quadratische Logos in E-Mails sehen am besten aus. ',
|
||||
'eula_settings' => 'EULA Einstellungen',
|
||||
'eula_markdown' => 'Diese EULA <a href="https://help.github.com/articles/github-flavored-markdown/"> erlaubt Github Flavored Markdown</a>.',
|
||||
'favicon' => 'Favicon',
|
||||
'favicon_format' => 'Accepted filetypes are ico, png, and gif. Other image formats may not work in all browsers.',
|
||||
'favicon_size' => 'Favicons should be square images, 16x16 pixels.',
|
||||
'favicon_format' => 'Zulässige Dateitypen sind ico, png und gif. Andere Bildformate funktionieren möglicherweise nicht in allen Browsern.',
|
||||
'favicon_size' => 'Favicons sollten quadratische Bilder mit 16x16 Pixel sein.',
|
||||
'footer_text' => 'Zusätzlicher Fußzeilentext ',
|
||||
'footer_text_help' => 'Dieser Text wird in der rechten Fußzeile angezeigt. Links sind erlaubt mit <a href="https://help.github.com/articles/github-flavored-markdown/">Github Flavored Markdown</a>. Zeilenumbrüche, Kopfzeilen, Bilder usw. können zu unvorhersehbaren Verhalten führen.',
|
||||
'general_settings' => 'Allgemeine Einstellungen',
|
||||
'generate_backup' => 'Backup erstellen',
|
||||
'header_color' => 'Farbe der Kopfzeile',
|
||||
'info' => 'Mit diesen Einstellungen können Sie verschiedene Bereiche Ihrer Installation anpassen.',
|
||||
'label_logo' => 'Label Logo',
|
||||
'label_logo_size' => 'Square logos look best - will be displayed in the top right of each asset label. ',
|
||||
'label_logo' => 'Label-Logo',
|
||||
'label_logo_size' => 'Quadratische Logos sehen am besten aus und werden rechts oben auf jedem Asset-Label angezeigt. ',
|
||||
'laravel' => 'Laravel Version',
|
||||
'ldap_enabled' => 'LDAP aktiviert',
|
||||
'ldap_integration' => 'LDAP Integration',
|
||||
@@ -113,35 +113,35 @@ return array(
|
||||
'pwd_secure_complexity' => 'Passwortkomplexität',
|
||||
'pwd_secure_complexity_help' => 'Wählen Sie aus, welche Komplexitätsregeln Sie für Passwörter erzwingen möchten.',
|
||||
'pwd_secure_min' => 'Minimale Passwortlänge',
|
||||
'pwd_secure_min_help' => 'Minimum permitted value is 8',
|
||||
'pwd_secure_min_help' => 'Minimal zulässiger Wert ist 8',
|
||||
'pwd_secure_uncommon' => 'Gebräuchliche Passwörter verhindern',
|
||||
'pwd_secure_uncommon_help' => 'Verhindert die Verwendung der 10.000 häufigsten Passwörter aus im Internet geleakten Quellen.',
|
||||
'qr_help' => 'Schalte zuerst QR Codes an um dies zu setzen',
|
||||
'qr_text' => 'QR Code Text',
|
||||
'saml_enabled' => 'SAML enabled',
|
||||
'saml_integration' => 'SAML Integration',
|
||||
'saml_enabled' => 'SAML aktiviert',
|
||||
'saml_integration' => 'SAML-Integration',
|
||||
'saml_sp_entityid' => 'Entity ID',
|
||||
'saml_sp_acs_url' => 'Assertion Consumer Service (ACS) URL',
|
||||
'saml_sp_sls_url' => 'Single Logout Service (SLS) URL',
|
||||
'saml_sp_x509cert' => 'Public Certificate',
|
||||
'saml_sp_x509cert' => 'Öffentliches Zertifikat',
|
||||
'saml_idp_metadata' => 'SAML IdP Metadata',
|
||||
'saml_idp_metadata_help' => 'You can specify the IdP metadata using a URL or XML file.',
|
||||
'saml_attr_mapping_username' => 'Attribute Mapping - Username',
|
||||
'saml_attr_mapping_username_help' => 'NameID will be used if attribute mapping is unspecified or invalid.',
|
||||
'saml_forcelogin_label' => 'SAML Force Login',
|
||||
'saml_forcelogin' => 'Make SAML the primary login',
|
||||
'saml_attr_mapping_username' => 'Zuordnung - Benutzername',
|
||||
'saml_attr_mapping_username_help' => 'NamensID wird verwendet, wenn Attribute nicht angegeben oder ungültig sind.',
|
||||
'saml_forcelogin_label' => 'SAML Login erzwingen',
|
||||
'saml_forcelogin' => 'SAML zum primären Login machen',
|
||||
'saml_forcelogin_help' => 'You can use \'/login?nosaml\' to get to the normal login page.',
|
||||
'saml_slo_label' => 'SAML Single Log Out',
|
||||
'saml_slo_label' => 'SAML Abmeldung',
|
||||
'saml_slo' => 'Send a LogoutRequest to IdP on Logout',
|
||||
'saml_slo_help' => 'This will cause the user to be first redirected to the IdP on logout. Leave unchecked if the IdP doesn\'t correctly support SP-initiated SAML SLO.',
|
||||
'saml_custom_settings' => 'SAML Custom Settings',
|
||||
'saml_custom_settings' => 'SAML Einstellungen',
|
||||
'saml_custom_settings_help' => 'You can specify additional settings to the onelogin/php-saml library. Use at your own risk.',
|
||||
'setting' => 'Einstellung',
|
||||
'settings' => 'Einstellungen',
|
||||
'show_alerts_in_menu' => 'Warnungen im oberen Menü anzeigen',
|
||||
'show_archived_in_list' => 'Archivierte Assets',
|
||||
'show_archived_in_list_text' => 'Zeige archivierte Assets in der "Alle auflisten" Liste',
|
||||
'show_assigned_assets' => 'Show assets assigned to assets',
|
||||
'show_assigned_assets' => 'Assets anzeigen, die anderen Assets zugeordnet sind',
|
||||
'show_assigned_assets_help' => 'Display assets which were assigned to the other assets in View User -> Assets, View User -> Info -> Print All Assigned and in Account -> View Assigned Assets.',
|
||||
'show_images_in_email' => 'Verwende Bilder in E-Mals',
|
||||
'show_images_in_email_help' => 'Deaktivieren Sie dieses Kontrollkästchen, wenn sich Ihre Snipe-IT-Installation hinter einem VPN oder einem geschlossenen Netzwerk befindet und Benutzer außerhalb des Netzwerks keine Bilder von dieser Installation in ihre E-Mails laden können.',
|
||||
|
||||
@@ -19,7 +19,7 @@ return array(
|
||||
'ldap_config_text' => 'Die LDAP Konfigurations Einstellungen finden Sie hier Admin -> Einstellungen. Der (optional) wählbare Standort wird für alle importierten Benutzer gesetzt.',
|
||||
'print_assigned' => 'Alles zugewiesene drucken',
|
||||
'software_user' => 'Software herausgegeben an :name',
|
||||
'send_email_help' => 'You must provide an email address for this user to send them credentials. Emailing credentials can only be done on user creation. Passwords are stored in a one-way hash and cannot be retrieved once saved.',
|
||||
'send_email_help' => 'Sie müssen eine E-Mail-Adresse angeben, um dem Benutzer Zugangsdaten zu zusenden. Das Versenden von Zugangsdaten ist nur bei der Erstellung eines Benutzers möglich. Passwörter werden in einem Einweg-Hash gespeichert und können danach nicht mehr ausgelesen werden.',
|
||||
'view_user' => 'Benutzer :name ansehen',
|
||||
'usercsv' => 'CSV Datei',
|
||||
'two_factor_admin_optin_help' => 'Ihre aktuellen Administrator-Einstellungen erlauben die selektive Durchführung der zwei-Faktor-Authentifizierung. ',
|
||||
|
||||
@@ -12,7 +12,7 @@ return array(
|
||||
'insufficient_permissions' => 'Unzureichende Berechtigungen.',
|
||||
'user_deleted_warning' => 'Dieser Benutzer wurde gelöscht. Sie müssen ihn wiederherstellen, um ihn zu bearbeiten oder neue Assets zuzuweisen.',
|
||||
'ldap_not_configured' => 'LDAP Integration wurde für diese Installation nicht konfiguriert.',
|
||||
'password_resets_sent' => 'The selected users who are activated and have a valid email addresses have been sent a password reset link.',
|
||||
'password_resets_sent' => 'Den ausgewählten Benutzern, die aktiviert sind und eine gültige E-Mail-Adresse haben, wurde ein Link zum Zurücksetzen des Passworts gesendet.',
|
||||
|
||||
|
||||
'success' => array(
|
||||
|
||||
@@ -4,7 +4,7 @@ return [
|
||||
'send_password_link' => 'E-Mail zum Zurücksetzen des Passworts senden',
|
||||
'email_reset_password' => 'Passwort zurücksetzen',
|
||||
'reset_password' => 'Passwort zurücksetzen',
|
||||
'saml_login' => 'Login via SAML',
|
||||
'saml_login' => 'Anmelden über SAML',
|
||||
'login' => 'Login',
|
||||
'login_prompt' => 'Melden Sie sich bitte an',
|
||||
'forgot_password' => 'Ich habe mein Passwort vergessen',
|
||||
|
||||
@@ -7,13 +7,13 @@ return array(
|
||||
'account_not_activated' => 'Das Benutzerkonto ist nicht aktiviert.',
|
||||
'account_suspended' => 'Dieses Benutzerkonto ist gesperrt.',
|
||||
'account_banned' => 'Dieses Benutzerkonto wurde ausgeschlossen.',
|
||||
'throttle' => 'Too many failed login attempts. Please try again in :minutes minutes.',
|
||||
'throttle' => 'Zu viele fehlgeschlagene Anmeldeversuche. Bitte versuchen Sie es in :minutes Minuten erneut.',
|
||||
|
||||
'two_factor' => array(
|
||||
'already_enrolled' => 'Your device is already enrolled.',
|
||||
'success' => 'You have successfully logged in.',
|
||||
'code_required' => 'Two-factor code is required.',
|
||||
'invalid_code' => 'Two-factor code is invalid.',
|
||||
'already_enrolled' => 'Ihr Gerät ist bereits eingeschrieben.',
|
||||
'success' => 'Sie haben sich erfolgreich eingeloggt.',
|
||||
'code_required' => 'Zwei-Faktor-Code ist erforderlich.',
|
||||
'invalid_code' => 'Zwei-Faktor-Code ist ungültig.',
|
||||
),
|
||||
|
||||
'signin' => array(
|
||||
@@ -22,8 +22,8 @@ return array(
|
||||
),
|
||||
|
||||
'logout' => array(
|
||||
'error' => 'There was a problem while trying to log you out, please try again.',
|
||||
'success' => 'You have successfully logged out.',
|
||||
'error' => 'Beim Ausloggen ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
|
||||
'success' => 'Sie haben sich erfolgreich abgemeldet.',
|
||||
),
|
||||
|
||||
'signup' => array(
|
||||
@@ -33,7 +33,7 @@ return array(
|
||||
|
||||
'forgot-password' => array(
|
||||
'error' => 'Beim abrufen des Codes zur Passwortzurücksetzung ist ein Fehler aufgetreten, bitte versuchen sie es erneut.',
|
||||
'success' => 'If that email address exists in our system, a password recovery email has been sent.',
|
||||
'success' => 'Wenn diese E-Mail-Adresse in unserem System existiert, wurde eine E-Mail zum Wiederherstellen des Passworts gesendet.',
|
||||
),
|
||||
|
||||
'forgot-password-confirm' => array(
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
'bulkaudit' => 'Massenprüfung',
|
||||
'bulkaudit_status' => 'Audit-Status',
|
||||
'bulk_checkout' => 'Massen-Herausgeben',
|
||||
'bystatus' => 'by Status',
|
||||
'bystatus' => 'nach Status',
|
||||
'cancel' => 'Abbrechen',
|
||||
'categories' => 'Kategorien',
|
||||
'category' => 'Kategorie',
|
||||
@@ -58,7 +58,7 @@
|
||||
'created' => 'Eintrag erstellt',
|
||||
'created_asset' => 'Asset angelegt',
|
||||
'created_at' => 'Erstellt am',
|
||||
'record_created' => 'Record Created',
|
||||
'record_created' => 'Eintrag erstellt',
|
||||
'updated_at' => 'Aktualisiert am',
|
||||
'currency' => '€', // this is deprecated
|
||||
'current' => 'Aktuell',
|
||||
@@ -92,11 +92,11 @@
|
||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'first' => 'Erste',
|
||||
'firstnamelastname' => 'First Name Last Name (janesmith@example.com)',
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
'lastname_firstinitial' => 'Nachname und Initial des Vornamens (mustermann_e@beispiel.de)',
|
||||
'firstinitial.lastname' => 'Initial des Vornamens und Nachname (e.mustermann@beispiel.de)',
|
||||
'firstnamelastinitial' => 'Vorname und Initial des Nachnamen (erika_m@beispiel.de)',
|
||||
'first' => 'First',
|
||||
'firstnamelastname' => 'First Name Last Name (janesmith@example.com)',
|
||||
'firstnamelastname' => 'Vorname Nachname (Erika.Mustermann@beispiel.de)',
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
@@ -125,7 +125,7 @@
|
||||
'asset_maintenances' => 'Asset Wartungen',
|
||||
'item' => 'Gegenstand',
|
||||
'insufficient_permissions' => 'Unzureichende Berechtigungen!',
|
||||
'kits' => 'Predefined Kits',
|
||||
'kits' => 'Vordefinierte Kits',
|
||||
'language' => 'Sprache',
|
||||
'last' => 'Letzte',
|
||||
'last_login' => 'Letzte Anmeldung',
|
||||
@@ -202,7 +202,7 @@
|
||||
'sign_in' => 'Anmelden',
|
||||
'signature' => 'Unterschrift',
|
||||
'skin' => 'Skin',
|
||||
'slack_test_msg' => 'Oh hai! Looks like your Slack integration with Snipe-IT is working!',
|
||||
'slack_test_msg' => 'Oh hai! Sieht so aus, als ob deine Slack Integration mit Snipe-IT funktioniert!',
|
||||
'some_features_disabled' => 'Einige Funktionen sind für den DEMO-Modus deaktiviert.',
|
||||
'site_name' => 'Seitenname',
|
||||
'state' => 'Bundesland',
|
||||
@@ -230,7 +230,7 @@
|
||||
'declined' => 'abgelehnt',
|
||||
'unaccepted_asset_report' => 'Nicht akzeptierte Assets',
|
||||
'users' => 'Benutzer',
|
||||
'viewall' => 'View All',
|
||||
'viewall' => 'Alle anzeigen',
|
||||
'viewassets' => 'Zugeordnete Assets anzeigen',
|
||||
'website' => 'Webseite',
|
||||
'welcome' => 'Willkommen, :name',
|
||||
@@ -239,7 +239,7 @@
|
||||
'zip' => 'Postleitzahl',
|
||||
'noimage' => 'Kein Bild hochgeladen oder kein Bild gefunden.',
|
||||
'token_expired' => 'Ihre Sitzung ist abgelaufen. Bitte versuchen Sie es erneut.',
|
||||
'login_enabled' => 'Login Enabled',
|
||||
'audit_due' => 'Due for Audit',
|
||||
'audit_overdue' => 'Overdue for Audit',
|
||||
'login_enabled' => 'Login aktiviert',
|
||||
'audit_due' => 'Audit fällig',
|
||||
'audit_overdue' => 'Audit überfällig',
|
||||
];
|
||||
|
||||
@@ -18,7 +18,7 @@ return array(
|
||||
'click_to_confirm' => 'Bitte klicken Sie zum Bestätigen Ihres :web Kontos auf den folgenden Link:',
|
||||
'click_on_the_link_accessory' => 'Bitte klicken Sie auf den Link weiter unten, um den Erhalt des Zubehörs zu bestätigen.',
|
||||
'click_on_the_link_asset' => 'Bitte klicken Sie auf den Link weiter unten, um den Erhalt des Gegenstands zu bestätigen.',
|
||||
'Confirm_Asset_Checkin' => 'Asset checkin confirmation',
|
||||
'Confirm_Asset_Checkin' => 'Asset-Check-in-Bestätigung',
|
||||
'Confirm_Accessory_Checkin' => 'Accessory checkin confirmation',
|
||||
'Confirm_accessory_delivery' => 'Accessory delivery confirmation',
|
||||
'Confirm_license_delivery' => 'License delivery confirmation',
|
||||
|
||||
@@ -83,6 +83,7 @@ return array(
|
||||
'ldap_auth_filter_query' => 'LDAP Authentication query',
|
||||
'ldap_version' => 'LDAP Version',
|
||||
'ldap_active_flag' => 'LDAP Active Flag',
|
||||
'ldap_activated_flag_help' => 'This flag is used to determine whether a user can login to Snipe-IT and does not affect the ability to check items in or out to them.',
|
||||
'ldap_emp_num' => 'LDAP Employee Number',
|
||||
'ldap_email' => 'LDAP Email',
|
||||
'license' => 'Software License',
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
'depreciation_report' => 'Depreciation Report',
|
||||
'details' => 'Details',
|
||||
'download' => 'Download',
|
||||
'download_all' => 'Download All',
|
||||
'depreciation' => 'Depreciation',
|
||||
'editprofile' => 'Edit Your Profile',
|
||||
'eol' => 'EOL',
|
||||
@@ -95,12 +96,6 @@
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
'first' => 'First',
|
||||
'firstnamelastname' => 'First Name Last Name (janesmith@example.com)',
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
'first' => 'First',
|
||||
'first_name' => 'First Name',
|
||||
'first_name_format' => 'First Name (jane@example.com)',
|
||||
'files' => 'Files',
|
||||
@@ -119,6 +114,8 @@
|
||||
'image_upload' => 'Upload Image',
|
||||
'image_filetypes_help' => 'Accepted filetypes are jpg, png, gif, and svg. Max upload size allowed is :size.',
|
||||
'import' => 'Import',
|
||||
'importing' => 'Importing',
|
||||
'importing_help' => 'You can import assets, accessories, licenses, components, consumables, and users via CSV file. <br><br>The CSV should be comma-delimited and formatted with headers that match the ones in the <a href="https://snipe-it.readme.io/docs/importing" target="_new">sample CSVs in the documentation</a>.',
|
||||
'import-history' => 'Import History',
|
||||
'asset_maintenance' => 'Asset Maintenance',
|
||||
'asset_maintenance_report' => 'Asset Maintenance Report',
|
||||
@@ -242,4 +239,9 @@
|
||||
'login_enabled' => 'Login Enabled',
|
||||
'audit_due' => 'Due for Audit',
|
||||
'audit_overdue' => 'Overdue for Audit',
|
||||
'accept' => 'Accept :asset',
|
||||
'i_accept' => 'I accept',
|
||||
'i_decline' => 'I decline',
|
||||
'sign_tos' => 'Sign below to indicate that you agree to the terms of service:',
|
||||
'clear_signature' => 'Clear Signature'
|
||||
];
|
||||
|
||||
@@ -70,5 +70,11 @@ return array(
|
||||
'welcome' => 'Welcome :name',
|
||||
'welcome_to' => 'Welcome to :web!',
|
||||
'your_credentials' => 'Your Snipe-IT credentials',
|
||||
|
||||
'Accessory_Checkin_Notification' => 'Accessory checked in',
|
||||
'Asset_Checkin_Notification' => 'Asset checked in',
|
||||
'License_Checkin_Notification' => 'License checked in',
|
||||
'Expected_Checkin_Report' => 'Expected asset checkin report',
|
||||
'Expected_Checkin_Notification' => 'Reminder: :name checkin deadline approaching',
|
||||
'Expected_Checkin_Date' => 'An asset checked out to you is due to be checked back in on :date',
|
||||
'your_assets' => 'View Your Assets'
|
||||
);
|
||||
|
||||
@@ -30,7 +30,7 @@ return array(
|
||||
'title' => 'Puesto',
|
||||
'to_restore_them' => 'para restaurarlos.',
|
||||
'updateuser' => 'Actualizar Usuario',
|
||||
'username' => 'UsuarioUsuario',
|
||||
'username' => 'Usuario',
|
||||
'user_deleted_text' => 'Este usuario ha sido marcado como eliminado.',
|
||||
'username_note' => '(Esto se usa solo para la conexión con Active Directory, no para el inicio de sesión.)',
|
||||
'cloneuser' => 'Clonar Usuario',
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
return array(
|
||||
'about_kits_title' => 'Acerca de kits predefinidos',
|
||||
'about_kits_text' => 'Predefined Kits let you quickly check out a collection of items (assets, licenses, etc) to a user. This can be helpful when your onboarding process is consistent across many users and all users receive the same items.',
|
||||
'about_kits_text' => 'Kits predefinidos le permiten revisar rápidamente un conjunto de elementos (activos, licencias, etc.) a un usuario. Esto puede ser útil cuando su proceso de incorporación es consistente entre muchos usuarios y todos los usuarios reciben los mismos artículos.',
|
||||
'checkout' => 'Asignar kit ',
|
||||
'create_success' => 'El kit se ha creado correctamente.',
|
||||
'create' => 'Crear kit predefinido',
|
||||
'update' => 'Actualizar kit predefinido',
|
||||
'delete_success' => 'Kit eliminado correctamente.',
|
||||
'update_success' => 'El kit se ha actualizado correctamente.',
|
||||
'none_models' => 'No hay suficientes recursos disponibles para :model para asignar. :qty son requeridos. ',
|
||||
'none_licenses' => 'There are not enough available seats for :license to checkout. :qty are required. ',
|
||||
'none_consumables' => 'There are not enough available units of :consumable to checkout. :qty are required. ',
|
||||
'none_accessory' => 'There are not enough available units of :accessory to checkout. :qty are required. ',
|
||||
'none_models' => 'No hay suficientes activos disponibles para :model para asignar. :qty son requeridos. ',
|
||||
'none_licenses' => 'No hay suficientes licencias disponibles para :license para asignar. :qty son requeridos. ',
|
||||
'none_consumables' => 'No hay suficientes unidades disponibles de :consumable para asignar. :qty son requeridas. ',
|
||||
'none_accessory' => 'No hay suficientes unidades disponibles de :accesory para asignar. :qty son requeridas. ',
|
||||
|
||||
);
|
||||
|
||||
@@ -30,7 +30,7 @@ return array(
|
||||
'title' => 'Puesto',
|
||||
'to_restore_them' => 'para restaurarlos.',
|
||||
'updateuser' => 'Actualizar Usuario',
|
||||
'username' => 'UsuarioUsuario',
|
||||
'username' => 'Usuario',
|
||||
'user_deleted_text' => 'Este usuario ha sido marcado como eliminado.',
|
||||
'username_note' => '(Esto se usa solo para la conexión con Active Directory, no para el inicio de sesión.)',
|
||||
'cloneuser' => 'Clonar Usuario',
|
||||
|
||||
@@ -20,6 +20,6 @@ return array(
|
||||
'title' => 'Actif ',
|
||||
'image' => 'Image',
|
||||
'days_without_acceptance' => 'Jours sans acceptation',
|
||||
'monthly_depreciation' => 'Monthly Depreciation'
|
||||
'monthly_depreciation' => 'Dépréciation mensuelle'
|
||||
|
||||
);
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'about_kits_title' => 'About Predefined Kits',
|
||||
'about_kits_text' => 'Predefined Kits let you quickly check out a collection of items (assets, licenses, etc) to a user. This can be helpful when your onboarding process is consistent across many users and all users receive the same items.',
|
||||
'checkout' => 'Checkout Kit ',
|
||||
'create_success' => 'Kit was successfully created.',
|
||||
'create' => 'Create Predefined Kit',
|
||||
'update' => 'Update Predefined Kit',
|
||||
'delete_success' => 'Kit was successfully deleted.',
|
||||
'update_success' => 'Kit was successfully updated.',
|
||||
'none_models' => 'There are not enough available assets for :model to checkout. :qty are required. ',
|
||||
'none_licenses' => 'There are not enough available seats for :license to checkout. :qty are required. ',
|
||||
'none_consumables' => 'There are not enough available units of :consumable to checkout. :qty are required. ',
|
||||
'none_accessory' => 'There are not enough available units of :accessory to checkout. :qty are required. ',
|
||||
'about_kits_title' => 'À propos des kits prédéfinis',
|
||||
'about_kits_text' => 'Les kits prédéfinis vous permettent d\'associer rapidement une collection d\'éléments (matériels, licences, etc.) à un utilisateur. Cela peut être utile lorsque votre processus d\'intégration est cohérent entre plusieurs utilisateurs et que tous les utilisateurs reçoivent les mêmes éléments.',
|
||||
'checkout' => 'Associer le kit ',
|
||||
'create_success' => 'Le kit a été créé avec succès.',
|
||||
'create' => 'Créer un kit prédéfini',
|
||||
'update' => 'Mettre à jour le kit prédéfini',
|
||||
'delete_success' => 'Le kit a été supprimé avec succès.',
|
||||
'update_success' => 'Le kit a été mis à jour avec succès.',
|
||||
'none_models' => 'Il n\'y a pas assez de matériels disponibles pour :model à associer. :qty sont nécessaires. ',
|
||||
'none_licenses' => 'Il n\'y a pas assez de licences disponibles pour :license pour associer. :qty sont nécessaires. ',
|
||||
'none_consumables' => 'Il n\'y a pas assez d\'unités disponibles de :consumable pour associer. :qty sont nécessaires. ',
|
||||
'none_accessory' => 'Il n\'y a pas assez d\'unités disponibles de :accessory pour associer. :qty sont nécessaires. ',
|
||||
|
||||
);
|
||||
|
||||
@@ -8,7 +8,7 @@ return array(
|
||||
'owner_doesnt_match_asset' => 'L\'actif que vous essayez d\'associer avec cette licence est détenu par une autre personne que celle sélectionnée dans la liste déroulante.',
|
||||
'assoc_users' => 'Cette catégorie est associée au moins à un modèle et ne peut être supprimée. Veuillez actualiser vos modèles pour ne plus référencer cette catégorie et réessayer.',
|
||||
'select_asset_or_person' => 'Vous devez sélectionner un actif ou un utilisateur, mais pas les deux.',
|
||||
'not_found' => 'License not found',
|
||||
'not_found' => 'Licence introuvable',
|
||||
|
||||
|
||||
'create' => array(
|
||||
|
||||
@@ -4,9 +4,9 @@ return array(
|
||||
'ad' => 'Service d\'annuaire',
|
||||
'ad_domain' => 'Domaine du service d\'annuaire',
|
||||
'ad_domain_help' => 'C\'est parfois le même que votre domaine d\'e-mail, mais pas toujours.',
|
||||
'ad_append_domain_label' => 'Append domain name',
|
||||
'ad_append_domain' => 'Append domain name to username field',
|
||||
'ad_append_domain_help' => 'User isn\'t required to write "username@domain.local", they can just type "username".' ,
|
||||
'ad_append_domain_label' => 'Ajouter un nom de domaine',
|
||||
'ad_append_domain' => 'Ajouter le nom de domaine au champ nom d\'utilisateur',
|
||||
'ad_append_domain_help' => 'L\'utilisateur n\'est pas obligé d\'écrire "username@domain.local", il peut juste taper "username".' ,
|
||||
'admin_cc_email' => 'CC Email',
|
||||
'admin_cc_email_help' => 'Si vous souhaitez envoyer une copie des courriels d\'association/dissociation qui sont envoyés aux utilisateurs à un compte de messagerie supplémentaire, entrez-le ici. Sinon, laissez ce champ vide.',
|
||||
'is_ad' => 'C\'est un serveur Active Directory',
|
||||
@@ -25,7 +25,7 @@ return array(
|
||||
'backups' => 'Sauvegardes',
|
||||
'barcode_settings' => 'Configuration des codes à barres',
|
||||
'confirm_purge' => 'Confirmer la purge',
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone and will PERMANENTLY delete all soft-deleted items and users. (You should make a backup first, just to be safe.)',
|
||||
'confirm_purge_help' => 'Entrez le texte « SUPPRIMER » dans la case ci-dessous pour purger vos enregistrements supprimés. Cette action ne peut pas être annulée et supprimera DEFINITIVEMENT tous les éléments et utilisateurs supprimés par le logiciel. (Avant de débuter, faites une sauvegarde juste au cas où.)',
|
||||
'custom_css' => 'CSS personnalisé',
|
||||
'custom_css_help' => 'Entrez les codes CSS personnalisé que vous souhaitez utiliser . Ne pas inclure les balises <style></style>.',
|
||||
'custom_forgot_pass_url' => 'URL personnalisé de réinitialisation du mot de passe',
|
||||
@@ -41,23 +41,23 @@ return array(
|
||||
'display_eol' => 'Afficher la fin de vie dans les tables',
|
||||
'display_qr' => 'Affiche les QR codes',
|
||||
'display_alt_barcode' => 'Affiche le code-barres 1D',
|
||||
'email_logo' => 'Email Logo',
|
||||
'email_logo' => 'Logo de l\'e-mail',
|
||||
'barcode_type' => 'Type du code-barres 2D',
|
||||
'alt_barcode_type' => 'Type du code-barres 1D',
|
||||
'email_logo_size' => 'Square logos in email look best. ',
|
||||
'email_logo_size' => 'Les logos carrés dans l\'e-mail rendent mieux. ',
|
||||
'eula_settings' => 'Configuration pour les licences d\'utilisation',
|
||||
'eula_markdown' => 'Cette licence d\'utilisation permet l\'utilisation des <a href="https://help.github.com/articles/github-flavored-markdown/">"Github flavored markdown"</a>.',
|
||||
'favicon' => 'Favicon',
|
||||
'favicon_format' => 'Accepted filetypes are ico, png, and gif. Other image formats may not work in all browsers.',
|
||||
'favicon_size' => 'Favicons should be square images, 16x16 pixels.',
|
||||
'favicon_format' => 'Les types de fichiers acceptés sont ico, png et gif. Les autres formats d\'image peuvent ne pas fonctionner dans tous les navigateurs.',
|
||||
'favicon_size' => 'Les Favicons doivent être des images carrées de 16x16 pixels.',
|
||||
'footer_text' => 'Texte supplémentaire en pied de page ',
|
||||
'footer_text_help' => 'Ce texte apparaîtra dans le pied de page de droitre. Les liens sont autorisés en utilisant <a href="https://help.github.com/articles/github-flavored-markdown/">Github flavored markdown</a>. Les sauts de ligne, les en-têtes, les images, etc. peuvent entraîner des résultats imprévisibles.',
|
||||
'general_settings' => 'Configuration générale',
|
||||
'generate_backup' => 'Générer une sauvegarde',
|
||||
'header_color' => 'Couleur de l\'en-tête',
|
||||
'info' => 'Ces paramètres vous permettent de personnaliser certains aspects de votre installation.',
|
||||
'label_logo' => 'Label Logo',
|
||||
'label_logo_size' => 'Square logos look best - will be displayed in the top right of each asset label. ',
|
||||
'label_logo' => 'Logo du label',
|
||||
'label_logo_size' => 'Les logos, de préférence carrés, sont affichés en haut à droite de chaque étiquette. ',
|
||||
'laravel' => 'Version de Laravel',
|
||||
'ldap_enabled' => 'LDAP activé',
|
||||
'ldap_integration' => 'Intégration LDAP',
|
||||
@@ -97,8 +97,8 @@ return array(
|
||||
'login_common_disabled_help' => 'Cette option désactive les autres mécanismes d\'authentification. N\'activez cette option que si vous êtes sûr que votre login REMOTE_USER fonctionne déjà',
|
||||
'login_remote_user_custom_logout_url_text' => 'URL personnalisé de déconnexion',
|
||||
'login_remote_user_custom_logout_url_help' => 'Si une URL est spécifiée ici, les utilisateurs seront redirigés vers cette URL après la déconnexion de Snipe-IT. Ceci est utile pour fermer correctement les sessions utilisateur de votre fournisseur d\'authentification.',
|
||||
'login_remote_user_header_name_text' => 'Custom user name header',
|
||||
'login_remote_user_header_name_help' => 'Use the specified header instead of REMOTE_USER',
|
||||
'login_remote_user_header_name_text' => 'En-tête du nom d\'utilisateur personnalisé',
|
||||
'login_remote_user_header_name_help' => 'Utiliser l\'en-tête spécifié au lieu de REMOTE_USER',
|
||||
'logo' => 'Logo',
|
||||
'logo_print_assets' => 'Utiliser dans les impressions',
|
||||
'logo_print_assets_help' => 'Utiliser la marque dans les listes imprimables des actifs ',
|
||||
@@ -113,36 +113,36 @@ return array(
|
||||
'pwd_secure_complexity' => 'Complexité du mot de passe',
|
||||
'pwd_secure_complexity_help' => 'Sélectionnez les règles de complexité de mot de passe que vous souhaitez appliquer.',
|
||||
'pwd_secure_min' => 'Mot de passe minimum',
|
||||
'pwd_secure_min_help' => 'Minimum permitted value is 8',
|
||||
'pwd_secure_min_help' => 'La valeur minimale autorisée est de 8',
|
||||
'pwd_secure_uncommon' => 'Empêcher les mots de passe communs',
|
||||
'pwd_secure_uncommon_help' => 'Cela empêchera les utilisateurs d\'utiliser des mots de passe communs parmi les 10 000 premiers mots de passe signalés dans les violations.',
|
||||
'qr_help' => 'Activer les QR Codes avant de définir ceci',
|
||||
'qr_text' => 'Texte du QR Code',
|
||||
'saml_enabled' => 'SAML enabled',
|
||||
'saml_integration' => 'SAML Integration',
|
||||
'saml_sp_entityid' => 'Entity ID',
|
||||
'saml_sp_acs_url' => 'Assertion Consumer Service (ACS) URL',
|
||||
'saml_sp_sls_url' => 'Single Logout Service (SLS) URL',
|
||||
'saml_sp_x509cert' => 'Public Certificate',
|
||||
'saml_idp_metadata' => 'SAML IdP Metadata',
|
||||
'saml_idp_metadata_help' => 'You can specify the IdP metadata using a URL or XML file.',
|
||||
'saml_attr_mapping_username' => 'Attribute Mapping - Username',
|
||||
'saml_attr_mapping_username_help' => 'NameID will be used if attribute mapping is unspecified or invalid.',
|
||||
'saml_forcelogin_label' => 'SAML Force Login',
|
||||
'saml_forcelogin' => 'Make SAML the primary login',
|
||||
'saml_forcelogin_help' => 'You can use \'/login?nosaml\' to get to the normal login page.',
|
||||
'saml_slo_label' => 'SAML Single Log Out',
|
||||
'saml_slo' => 'Send a LogoutRequest to IdP on Logout',
|
||||
'saml_slo_help' => 'This will cause the user to be first redirected to the IdP on logout. Leave unchecked if the IdP doesn\'t correctly support SP-initiated SAML SLO.',
|
||||
'saml_custom_settings' => 'SAML Custom Settings',
|
||||
'saml_custom_settings_help' => 'You can specify additional settings to the onelogin/php-saml library. Use at your own risk.',
|
||||
'saml_enabled' => 'SAML activé',
|
||||
'saml_integration' => 'Intégration SAML',
|
||||
'saml_sp_entityid' => 'ID de l\'entité',
|
||||
'saml_sp_acs_url' => 'URL du service ACS (Assertion Consumer Service)',
|
||||
'saml_sp_sls_url' => 'URL du service de déconnexion unique (SLS)',
|
||||
'saml_sp_x509cert' => 'Certificat public',
|
||||
'saml_idp_metadata' => 'Métadonnées SAML IdP',
|
||||
'saml_idp_metadata_help' => 'Vous pouvez spécifier les métadonnées IdP en utilisant une URL ou un fichier XML.',
|
||||
'saml_attr_mapping_username' => 'Mapping d\'attributs - Nom d\'utilisateur',
|
||||
'saml_attr_mapping_username_help' => 'NameID sera utilisé si le mapping des attributs n\'est pas spécifié ou est invalide.',
|
||||
'saml_forcelogin_label' => 'Connexion SAML forcée',
|
||||
'saml_forcelogin' => 'Faire de SAML la connexion principale',
|
||||
'saml_forcelogin_help' => 'Vous pouvez utiliser \'/login?nosaml\' pour accéder à la page de connexion normale.',
|
||||
'saml_slo_label' => 'Déconnexion unique SAML',
|
||||
'saml_slo' => 'Envoyer une requête LogoutRequest à IdP lors de la déconnexion',
|
||||
'saml_slo_help' => 'Cela fera que l\'utilisateur sera d\'abord redirigé vers l\'IdP lors de la déconnexion. Laissez décoché si l\'IdP ne supporte pas correctement SAML SLO.',
|
||||
'saml_custom_settings' => 'Paramètres personnalisés SAML',
|
||||
'saml_custom_settings_help' => 'Vous pouvez spécifier des paramètres supplémentaires à la bibliothèque onelogin/php-saml. Utilisez à vos risques et périls.',
|
||||
'setting' => 'Paramètre',
|
||||
'settings' => 'Paramètres',
|
||||
'show_alerts_in_menu' => 'Afficher les alertes dans le menu du haut',
|
||||
'show_archived_in_list' => 'Actifs archivés',
|
||||
'show_archived_in_list_text' => 'Afficher les actifs archivés dans la liste "Tous les actifs"',
|
||||
'show_assigned_assets' => 'Show assets assigned to assets',
|
||||
'show_assigned_assets_help' => 'Display assets which were assigned to the other assets in View User -> Assets, View User -> Info -> Print All Assigned and in Account -> View Assigned Assets.',
|
||||
'show_assigned_assets' => 'Afficher les matériels assignés aux matériels',
|
||||
'show_assigned_assets_help' => 'Afficher les actifs qui ont été assignés aux autres actifs dans Voir utilisateurs -> Matériels, Voir Utilisateur -> Info -> Imprimer Tous les matériels assignés et présent dans le compte -> Voir les matériels assignés.',
|
||||
'show_images_in_email' => 'Afficher les images dans les courriels',
|
||||
'show_images_in_email_help' => 'Décocher cette case si votre installation de Snipe-IT est derrière un VPN ou un réseau fermé et que les utilisateurs en dehors du réseau ne peuvent pas charger les images servies depuis cette installation dans leurs courriels.',
|
||||
'site_name' => 'Nom du site',
|
||||
@@ -150,7 +150,7 @@ return array(
|
||||
'slack_channel' => 'Slack Channel',
|
||||
'slack_endpoint' => 'Slack Endpoint',
|
||||
'slack_integration' => 'Configuration "Slack"',
|
||||
'slack_integration_help' => 'Slack integration is optional, however the endpoint and channel are required if you wish to use it. To configure Slack integration, you must first <a href=":slack_link" target="_new" rel="noopener">create an incoming webhook</a> on your Slack account. Click on the <strong>Test Slack Integration</strong> button to confirm your settings are correct before saving. ',
|
||||
'slack_integration_help' => 'L\'intégration de Slack est optionnelle, cependant le point de terminaison et le canal sont requis si vous souhaitez l\'utiliser. Pour configurer l\'intégration de Slack, vous devez d\'abord <a href=":slack_link" target="_new" rel="noopener">créer un webhook entrant</a> sur votre compte Slack. Cliquez sur le bouton <strong>Tester l\'intégration Slack</strong> pour confirmer que vos paramètres sont corrects avant d\'enregistrer. ',
|
||||
'slack_integration_help_button' => 'Une fois que vous avez enregistré vos informations Slack, un bouton de test apparaîtra.',
|
||||
'slack_test_help' => 'Testez si votre intégration Slack est correctement configurée. VOUS DEVEZ D\'ABORD ENREGISTRER LES PARAMÈTRES DE SLACK MIS À JOUR.',
|
||||
'snipe_version' => 'Version de Snipe-IT',
|
||||
@@ -162,7 +162,7 @@ return array(
|
||||
'update' => 'Mettre à jour les paramètres',
|
||||
'value' => 'Valeur',
|
||||
'brand' => 'Marque',
|
||||
'web_brand' => 'Web Branding Type',
|
||||
'web_brand' => 'Type de Web Branding',
|
||||
'about_settings_title' => 'A propos des réglages',
|
||||
'about_settings_text' => 'Ces réglages vous permettent de personnaliser certains aspects de votre installation.',
|
||||
'labels_per_page' => 'Etiquettes par page',
|
||||
@@ -217,5 +217,5 @@ return array(
|
||||
'unique_serial' => 'Numéros de série uniques',
|
||||
'unique_serial_help_text' => 'Cocher cette case forcera une contrainte d\'unicité sur les identifiants d\'actif',
|
||||
'zerofill_count' => 'Longueur des étiquettes de bien, incluant le remplissage de zéros',
|
||||
'username_format_help' => 'This setting will only be used by the import process if a username is not provided and we have to generate a username for you.',
|
||||
'username_format_help' => 'Ce paramètre ne sera utilisé par le processus d\'importation que si un nom d\'utilisateur n\'est pas fourni et que nous devons générer un nom d\'utilisateur pour vous.',
|
||||
);
|
||||
|
||||
@@ -19,7 +19,7 @@ return array(
|
||||
'ldap_config_text' => 'Les paramètres de configuration LDAP se trouvent sous Admin > Réglages. La localisation sélectionnée (optionnelle) sera définie pour tous les utilisateurs importés.',
|
||||
'print_assigned' => 'Imprimer tout ceux assignés',
|
||||
'software_user' => 'Logiciels associés avec :name',
|
||||
'send_email_help' => 'You must provide an email address for this user to send them credentials. Emailing credentials can only be done on user creation. Passwords are stored in a one-way hash and cannot be retrieved once saved.',
|
||||
'send_email_help' => 'Vous devez fournir une adresse e-mail pour que cet utilisateur puisse recevoir ses identifiants. Les envois d\'identifiants par email ne peuvent être faits que lors de la création de l\'utilisateur. Les mots de passe sont stockés dans un hachage à sens unique et ne peuvent pas être récupérés une fois enregistrés.',
|
||||
'view_user' => 'Voir l\'utilisateur :name',
|
||||
'usercsv' => 'Fichier CSV',
|
||||
'two_factor_admin_optin_help' => 'Vos paramètres administratifs actuels permettent une application sélective de l\'authentification à deux facteurs. ',
|
||||
|
||||
@@ -12,7 +12,7 @@ return array(
|
||||
'insufficient_permissions' => 'Droits insuffisants.',
|
||||
'user_deleted_warning' => 'Cet utilisateur a été supprimé. Vous devez le restaurer pour pouvoir l\'éditer ou lui assigner de nouveaux actifs.',
|
||||
'ldap_not_configured' => 'L\'intégration LDAP n\'a pas été configuré pour cette installation .',
|
||||
'password_resets_sent' => 'The selected users who are activated and have a valid email addresses have been sent a password reset link.',
|
||||
'password_resets_sent' => 'Les utilisateurs sélectionnés qui sont activés et ont une adresse e-mail valide ont reçu un lien de réinitialisation du mot de passe.',
|
||||
|
||||
|
||||
'success' => array(
|
||||
|
||||
@@ -4,7 +4,7 @@ return [
|
||||
'send_password_link' => 'Envoyer un lien pour réinitialiser un mot de passe',
|
||||
'email_reset_password' => 'E-mail pour réinitialiser le mot de passe',
|
||||
'reset_password' => 'Réinitialiser le mot de passe',
|
||||
'saml_login' => 'Login via SAML',
|
||||
'saml_login' => 'Se connecter via SAML',
|
||||
'login' => 'Connexion',
|
||||
'login_prompt' => 'Veuillez vous connecter',
|
||||
'forgot_password' => 'J\'ai oublié mon mot de passe',
|
||||
|
||||
@@ -7,13 +7,13 @@ return array(
|
||||
'account_not_activated' => 'Ce compte n\'est pas activé.',
|
||||
'account_suspended' => 'Ce compte est suspendu.',
|
||||
'account_banned' => 'Ce compte est banni.',
|
||||
'throttle' => 'Too many failed login attempts. Please try again in :minutes minutes.',
|
||||
'throttle' => 'Trop de tentatives de connexion échouées. Veuillez réessayer dans :minutes minutes.',
|
||||
|
||||
'two_factor' => array(
|
||||
'already_enrolled' => 'Your device is already enrolled.',
|
||||
'success' => 'You have successfully logged in.',
|
||||
'code_required' => 'Two-factor code is required.',
|
||||
'invalid_code' => 'Two-factor code is invalid.',
|
||||
'already_enrolled' => 'Votre appareil est déjà inscrit.',
|
||||
'success' => 'Vous êtes bien connecté.',
|
||||
'code_required' => 'Le code à deux facteurs est requis.',
|
||||
'invalid_code' => 'Le code à deux facteurs est invalide.',
|
||||
),
|
||||
|
||||
'signin' => array(
|
||||
@@ -22,8 +22,8 @@ return array(
|
||||
),
|
||||
|
||||
'logout' => array(
|
||||
'error' => 'There was a problem while trying to log you out, please try again.',
|
||||
'success' => 'You have successfully logged out.',
|
||||
'error' => 'Il y a eu un problème en essayant de vous déconnecter, veuillez réessayer.',
|
||||
'success' => 'Vous êtes déconnecté avec succès.',
|
||||
),
|
||||
|
||||
'signup' => array(
|
||||
@@ -33,7 +33,7 @@ return array(
|
||||
|
||||
'forgot-password' => array(
|
||||
'error' => 'Un problème a eu lieu pendant la récupération du code de réinitialisation de mot de passe, veuillez essayer à nouveau.',
|
||||
'success' => 'If that email address exists in our system, a password recovery email has been sent.',
|
||||
'success' => 'Si cette adresse email existe dans notre système, un e-mail de récupération de mot de passe a été envoyé.',
|
||||
),
|
||||
|
||||
'forgot-password-confirm' => array(
|
||||
|
||||
@@ -13,5 +13,5 @@ return array(
|
||||
'upload' => 'Uploader',
|
||||
'select_file' => 'Sélectionner un fichier...',
|
||||
'select_files' => 'Sélectionnez les fichiers ...',
|
||||
'generate_labels' => '{1} Generate Label|[2,*] Generate Labels',
|
||||
'generate_labels' => '{1} Générer une étiquette|[2,*] Générer des étiquettes',
|
||||
);
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
'bulkaudit' => 'Vérification en bloc',
|
||||
'bulkaudit_status' => 'État de la vérification',
|
||||
'bulk_checkout' => 'Attribution par lot',
|
||||
'bystatus' => 'by Status',
|
||||
'bystatus' => 'par statut',
|
||||
'cancel' => 'Annuler',
|
||||
'categories' => 'Catégories',
|
||||
'category' => 'Сatégorie',
|
||||
@@ -58,7 +58,7 @@
|
||||
'created' => 'Élément créé',
|
||||
'created_asset' => 'Actif créé',
|
||||
'created_at' => 'Créé le',
|
||||
'record_created' => 'Record Created',
|
||||
'record_created' => 'Enregistrement créé',
|
||||
'updated_at' => 'Mise à jour à',
|
||||
'currency' => '€', // this is deprecated
|
||||
'current' => 'Actuels',
|
||||
@@ -89,23 +89,23 @@
|
||||
'firstname_lastname_format' => 'Prénom Nom de famille (jane.smith@example.com)',
|
||||
'firstname_lastname_underscore_format' => 'Prénom Nom (jane_smith@example.com)',
|
||||
'lastnamefirstinitial_format' => 'Nom de famille Première lettre du prénom (smithj@example.com)',
|
||||
'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstintial_dot_lastname_format' => 'Première lettre du prénom et nom de famille (j.smith@example.com)',
|
||||
'first' => 'Premier',
|
||||
'firstnamelastname' => 'Prénom et nom de famille (jane.smith@example.com)',
|
||||
'lastname_firstinitial' => 'Nom de famille et première lettre du prénom (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'Première lettre du prénom et nom de famille (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'Prénom (janes@example.com)',
|
||||
'first' => 'Premier',
|
||||
'firstnamelastname' => 'Prénom et nom de famille (janesmith@example.com)',
|
||||
'lastname_firstinitial' => 'Nom de famille et première lettre du prénom (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'Première lettre du prénom et nom de famille (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'Prénom (janes@example.com)',
|
||||
'first' => 'Premier',
|
||||
'firstnamelastname' => 'First Name Last Name (janesmith@example.com)',
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
'first' => 'First',
|
||||
'firstnamelastname' => 'First Name Last Name (janesmith@example.com)',
|
||||
'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)',
|
||||
'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)',
|
||||
'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)',
|
||||
'first' => 'First',
|
||||
'first_name' => 'Prénom',
|
||||
'first_name_format' => 'Prénom (jane@example.com)',
|
||||
'files' => 'Fichiers',
|
||||
'file_name' => 'Fichier',
|
||||
'file_type' => 'File Type',
|
||||
'file_type' => 'Type de fichier',
|
||||
'file_uploads' => 'Uploads de fichiers',
|
||||
'generate' => 'Générer',
|
||||
'github_markdown' => 'Ce champ accepte <a href="https://help.github.com/articles/github-flavored-markdown/">Github flavored markdown</a>.',
|
||||
@@ -125,7 +125,7 @@
|
||||
'asset_maintenances' => 'Entretien d\'actifs',
|
||||
'item' => 'Item',
|
||||
'insufficient_permissions' => 'Autorisations insuffisantes !',
|
||||
'kits' => 'Predefined Kits',
|
||||
'kits' => 'Kits prédéfinis',
|
||||
'language' => 'Langue',
|
||||
'last' => 'Dernier',
|
||||
'last_login' => 'Dernière connexion',
|
||||
@@ -136,11 +136,11 @@
|
||||
'licenses' => 'Licences',
|
||||
'list_all' => 'Lister tout',
|
||||
'loading' => 'Chargement',
|
||||
'lock_passwords' => 'This field value will not be saved in a demo installation.',
|
||||
'lock_passwords' => 'Ce champ ne sera pas sauvegardé dans une installation de démonstration.',
|
||||
'feature_disabled' => 'Cette fonctionnalité a été désactivée pour l\'installation de démonstration.',
|
||||
'location' => 'Lieu',
|
||||
'locations' => 'Lieux',
|
||||
'logo_size' => 'Square logos look best with Logo + Text. Logo maximum display size is 50px high x 500px wide. ',
|
||||
'logo_size' => 'Les logos carrés sont mieux affichés avec l\'option Logo + Texte. La taille maximale d\'affichage du logo est de 50px de haut x 500px de large. ',
|
||||
'logout' => 'Se déconnecter',
|
||||
'lookup_by_tag' => 'Recherche par étiquette de bien',
|
||||
'maintenances' => 'Maintenances',
|
||||
@@ -202,7 +202,7 @@
|
||||
'sign_in' => 'Connexion',
|
||||
'signature' => 'Signature',
|
||||
'skin' => 'Habillage',
|
||||
'slack_test_msg' => 'Oh hai! Looks like your Slack integration with Snipe-IT is working!',
|
||||
'slack_test_msg' => 'Woohoo ! On dirait que votre intégration Slack -> Snipe-IT fonctionne !',
|
||||
'some_features_disabled' => 'MODE DEMO: Certaines fonctionnalités sont désactivées pour cette installation.',
|
||||
'site_name' => 'Nom du Site',
|
||||
'state' => 'État',
|
||||
@@ -223,14 +223,14 @@
|
||||
'unknown_admin' => 'Admin inconnu',
|
||||
'username_format' => 'Format du nom d\'utilisateur',
|
||||
'update' => 'Actualiser',
|
||||
'upload_filetypes_help' => 'Allowed filetypes are png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf and rar. Max upload size allowed is :size.',
|
||||
'upload_filetypes_help' => 'Les types de fichiers autorisés sont png, gif, jpg, jpeg, doc, docx, pdf, xls, xlsx, txt, lic, xml, zip, rtf et rar. La taille maximale autorisée est :size.',
|
||||
'uploaded' => 'Téléversement réussi',
|
||||
'user' => 'Utilisateur',
|
||||
'accepted' => 'validé',
|
||||
'declined' => 'refusé',
|
||||
'unaccepted_asset_report' => 'Actifs refusés',
|
||||
'users' => 'Utilisateurs',
|
||||
'viewall' => 'View All',
|
||||
'viewall' => 'Afficher tout',
|
||||
'viewassets' => 'Voir les actifs associés',
|
||||
'website' => 'Site web',
|
||||
'welcome' => 'Bienvenue, :name',
|
||||
@@ -239,7 +239,7 @@
|
||||
'zip' => 'Code postal',
|
||||
'noimage' => 'Aucune image envoyée ou aucune image trouvée.',
|
||||
'token_expired' => 'La session de votre formulaire a expiré. Merci d\'essayer à nouveau.',
|
||||
'login_enabled' => 'Login Enabled',
|
||||
'audit_due' => 'Due for Audit',
|
||||
'audit_overdue' => 'Overdue for Audit',
|
||||
'login_enabled' => 'Connexion activée',
|
||||
'audit_due' => 'Dû pour l\'audit',
|
||||
'audit_overdue' => 'En retard pour l\'audit',
|
||||
];
|
||||
|
||||
@@ -13,15 +13,15 @@ return array(
|
||||
|
|
||||
*/
|
||||
|
||||
"more_info_title" => "More Info",
|
||||
"more_info_title" => "Plus d'info",
|
||||
|
||||
"audit_help" => "Checking this box will edit the asset record to reflect this new location. Leaving it unchecked will simply note the location in the audit log.<br><br>Note that is this asset is checked out, it will not change the location of the person, asset or location it is checked out to.",
|
||||
"audit_help" => "Cocher cette case va modifier l'enregistrement de la ressource pour refléter ce nouvel emplacement. Laisser décoché notera simplement l'emplacement dans le journal d'audit.<br><br>Notez que cette ressource est vérifiée, elle ne changera pas l'emplacement de la personne, de la ressource ou de l'emplacement où elle est vérifiée.",
|
||||
|
||||
'assets' => 'Assets are items tracked by serial number or asset tag. They tend to be higher value items where identifying a specific item matters.',
|
||||
'assets' => 'Les actifs sont des éléments suivis par le numéro de série ou la balise d\'actif. Ils ont tendance à être des éléments de valeur plus élevée lorsque l\'identification d\'un élément spécifique importe.',
|
||||
|
||||
'categories' => 'Categories help you organize your items. Some example categories might be "Desktops", "Laptops", "Mobile Phones", "Tablets", and so on, but you can use categories any way that makes sense for you.',
|
||||
'categories' => 'Les catégories vous aident à organiser vos articles. Des catégories d\'exemples peuvent être "des ordinateurs de bureau", "des ordinateurs portables", "des téléphones mobiles", "des tablettes", et ainsi de suite, mais vous pouvez librement utiliser des catégories qui ont du sens pour vous.',
|
||||
|
||||
'accessories' => '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.',
|
||||
'accessories' => 'Les accessoires sont tout ce que vous envoyez aux utilisateurs, mais qui n\'ont pas de numéro de série (ou vous n\'avez pas à les suivre de façon unique). Par exemple, souris ou claviers.',
|
||||
|
||||
'companies' => 'Companies can be used as a simple identifier field, or can be used to limit visibility of assets, users, etc if full company support is enabled in your Admin settings.',
|
||||
|
||||
|
||||
@@ -18,12 +18,12 @@ return array(
|
||||
'click_to_confirm' => 'Veuillez cliquer sur le lien suivant pour confirmer votre :web account:',
|
||||
'click_on_the_link_accessory' => 'Merci de cliquer sur le lien ci-dessous pour confirmer la bonne réception de l\'accessoire.',
|
||||
'click_on_the_link_asset' => 'Cliquez sur le lien ci-dessous pour confirmer que vous avez reçu l\'actif.',
|
||||
'Confirm_Asset_Checkin' => 'Asset checkin confirmation',
|
||||
'Confirm_Accessory_Checkin' => 'Accessory checkin confirmation',
|
||||
'Confirm_accessory_delivery' => 'Accessory delivery confirmation',
|
||||
'Confirm_license_delivery' => 'License delivery confirmation',
|
||||
'Confirm_asset_delivery' => 'Asset delivery confirmation',
|
||||
'Confirm_consumable_delivery' => 'Consumable delivery confirmation',
|
||||
'Confirm_Asset_Checkin' => 'Confirmation de l\'association du matériel',
|
||||
'Confirm_Accessory_Checkin' => 'Confirmation de l\'association de l\'accessoire',
|
||||
'Confirm_accessory_delivery' => 'Confirmation de la livraison de l\'accessoire',
|
||||
'Confirm_license_delivery' => 'Confirmation de la livraison de licence',
|
||||
'Confirm_asset_delivery' => 'Confirmation de la livraison du matériel',
|
||||
'Confirm_consumable_delivery' => 'Confirmation de la livraison du consommable',
|
||||
'current_QTY' => 'Quantité actuelle',
|
||||
'Days' => 'Jours',
|
||||
'days' => 'jours',
|
||||
@@ -63,7 +63,7 @@ return array(
|
||||
'license_expiring_alert' => 'Il y a :count licence expirant dans les prochains :threshold jours.|Il y a :count licences expirant dans les prochains :threshold jours.',
|
||||
'to_reset' => 'Pour réinitialiser votre mot de passe :web, complétez ce formulaire:',
|
||||
'type' => 'Type ',
|
||||
'upcoming-audits' => 'There is :count asset that is coming up for audit within :threshold days.|There are :count assets that are coming up for audit within :threshold days.',
|
||||
'upcoming-audits' => 'Il y a :count matériel à venir pour un audit dans les :threshold jours.|Il y a :count matériels à venir pour un audit dans les :threshold jours.',
|
||||
'user' => 'Utilisateur',
|
||||
'username' => 'Nom d\'utilisateur',
|
||||
'welcome' => 'Bienvenue, :name',
|
||||
|
||||
@@ -28,7 +28,7 @@ return array(
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone and will PERMANENTLY delete all soft-deleted items and users. (You should make a backup first, just to be safe.)',
|
||||
'custom_css' => 'CSS מותאם אישית',
|
||||
'custom_css_help' => 'הזן כל דריסת CSS מותאמת אישית שבה תרצה להשתמש. אל תכלול את התגים <style></style>.',
|
||||
'custom_forgot_pass_url' => 'Custom Password Reset URL',
|
||||
'custom_forgot_pass_url' => 'כתובת איפוס ססמה בהתאמה אישית',
|
||||
'custom_forgot_pass_url_help' => 'This replaces the built-in forgotten password URL on the login screen, useful to direct people to internal or hosted LDAP password reset functionality. It will effectively disable local user forgotten password functionality.',
|
||||
'dashboard_message' => 'Dashboard Message',
|
||||
'dashboard_message_help' => 'This text will appear on the dashboard for anyone with permission to view the dashboard.',
|
||||
|
||||
@@ -5,7 +5,7 @@ return array(
|
||||
'archived' => 'בארכיון',
|
||||
'create' => 'צור תווית סטטוס',
|
||||
'color' => 'צבע תרשים',
|
||||
'default_label' => 'Default Label',
|
||||
'default_label' => 'תווית ברירת מחדל',
|
||||
'default_label_help' => 'This is used to ensure your most commonly used status labels appear at the top of the select box when creating/editing assets.',
|
||||
'deployable' => 'ניתן לפריסה',
|
||||
'info' => 'תוויות סטטוס משמשות לתיאור המצבים השונים שהנכסים שלך יכולים להיות בהם. הם עשויים להיות מחוץ לתיקונים, לאיבוד / לגניבה וכו \'. ניתן ליצור תוויות סטטוס חדשות עבור נכסים הניתנים לפריסה, ממתינים ועומדים בארכיון.',
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
|
||||
return array(
|
||||
'activated_help_text' => 'This user can login',
|
||||
'activated_help_text' => 'משתמש זה יכול להיכנס',
|
||||
'activated_disabled_help_text' => 'You cannot edit activation status for your own account.',
|
||||
'assets_user' => 'נכסים שהוקצו ל: שם',
|
||||
'bulk_update_warn' => 'אתה עומד לערוך את המאפיינים של: user_count משתמשים. שים לב שאינך יכול לשנות את תכונות המשתמש שלך באמצעות טופס זה, ועליך לבצע עריכה למשתמש שלך בנפרד.',
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
'first_name_format' => 'שם פרטי (jane@example.com)',
|
||||
'files' => 'קבצים',
|
||||
'file_name' => 'קוֹבֶץ',
|
||||
'file_type' => 'File Type',
|
||||
'file_type' => 'סוג קובץ',
|
||||
'file_uploads' => 'העלאות קבצים',
|
||||
'generate' => 'לִיצוֹר',
|
||||
'github_markdown' => 'This field accepts <a href="https://help.github.com/articles/github-flavored-markdown/">Github flavored markdown</a>.',
|
||||
@@ -125,7 +125,7 @@
|
||||
'asset_maintenances' => 'אחזקת נכסים',
|
||||
'item' => 'פריט',
|
||||
'insufficient_permissions' => 'הרשאות לא מספיקות!',
|
||||
'kits' => 'Predefined Kits',
|
||||
'kits' => 'ערכות מוגדרות מראש',
|
||||
'language' => 'שפה',
|
||||
'last' => 'אחרון',
|
||||
'last_login' => 'כניסה אחרונה',
|
||||
@@ -143,7 +143,7 @@
|
||||
'logo_size' => 'Square logos look best with Logo + Text. Logo maximum display size is 50px high x 500px wide. ',
|
||||
'logout' => 'להתנתק',
|
||||
'lookup_by_tag' => 'בדיקה על ידי תג הנכס',
|
||||
'maintenances' => 'Maintenances',
|
||||
'maintenances' => 'אירועי תחזוקה',
|
||||
'manufacturer' => 'יַצרָן',
|
||||
'manufacturers' => 'היצרנים',
|
||||
'markdown' => 'שדה זה מאפשר <a href="https://help.github.com/articles/github-flavored-markdown/">Github בטעם מרקדון </a>.',
|
||||
@@ -201,8 +201,8 @@
|
||||
'show_current' => 'Show Current',
|
||||
'sign_in' => 'היכנס',
|
||||
'signature' => 'חֲתִימָה',
|
||||
'skin' => 'Skin',
|
||||
'slack_test_msg' => 'Oh hai! Looks like your Slack integration with Snipe-IT is working!',
|
||||
'skin' => 'ערכת עיצוב',
|
||||
'slack_test_msg' => 'יאי! נראה שהשילוב של Slack עם Snipe-IT עובד!',
|
||||
'some_features_disabled' => 'DEMO MODE: תכונות מסוימות מושבתות עבור התקנה זו.',
|
||||
'site_name' => 'שם אתר',
|
||||
'state' => 'מדינה',
|
||||
|
||||
@@ -20,6 +20,6 @@ return array(
|
||||
'title' => '資産 ',
|
||||
'image' => '写真',
|
||||
'days_without_acceptance' => '未受理期間',
|
||||
'monthly_depreciation' => 'Monthly Depreciation'
|
||||
'monthly_depreciation' => '毎月の減価償却費(減価償却費)'
|
||||
|
||||
);
|
||||
|
||||
@@ -4,9 +4,9 @@ return array(
|
||||
'ad' => 'Active Directory',
|
||||
'ad_domain' => 'Active Directory ドメイン',
|
||||
'ad_domain_help' => '通常はemailのドメイン名と同じです。ただし例外あり',
|
||||
'ad_append_domain_label' => 'Append domain name',
|
||||
'ad_append_domain' => 'Append domain name to username field',
|
||||
'ad_append_domain_help' => 'User isn\'t required to write "username@domain.local", they can just type "username".' ,
|
||||
'ad_append_domain_label' => 'ドメイン名を追加',
|
||||
'ad_append_domain' => 'ユーザー名フィールドにドメイン名を追加',
|
||||
'ad_append_domain_help' => 'ユーザーは "username@domain.local" を記述する必要はなく、"username" と入力するだけです。' ,
|
||||
'admin_cc_email' => 'CC(カーボンコピー)メール 送信先',
|
||||
'admin_cc_email_help' => 'ユーザーに送信されたチェックイン/チェックアウト メールのコピーを追加の電子メールアカウントに送信する場合は、ここにメールアドレスを入力します。必要が無ければ、このフィールドを空白にします',
|
||||
'is_ad' => 'Active Directory サーバー',
|
||||
@@ -25,7 +25,7 @@ return array(
|
||||
'backups' => 'バックアップ',
|
||||
'barcode_settings' => 'バーコード設定',
|
||||
'confirm_purge' => 'パージを確定',
|
||||
'confirm_purge_help' => 'Enter the text "DELETE" in the box below to purge your deleted records. This action cannot be undone and will PERMANENTLY delete all soft-deleted items and users. (You should make a backup first, just to be safe.)',
|
||||
'confirm_purge_help' => '削除したレコードを削除するには、下のボックスに「DELETE」というテキストを入力します。 この操作は元に戻すことができず、ソフトで削除されたすべてのアイテムとユーザーは完全に削除されます。(安全のために最初にバックアップを行う必要があります。)',
|
||||
'custom_css' => 'カスタム CSS:',
|
||||
'custom_css_help' => '使用したいカスタムCSSを入力してください。<style></style> タグは含めないでください',
|
||||
'custom_forgot_pass_url' => 'パスワードリセットURLを変更する',
|
||||
@@ -41,7 +41,7 @@ return array(
|
||||
'display_eol' => '表形式でEOLを表示',
|
||||
'display_qr' => 'QRコードを表示',
|
||||
'display_alt_barcode' => 'バーコードを表示',
|
||||
'email_logo' => 'Email Logo',
|
||||
'email_logo' => 'メールのロゴ',
|
||||
'barcode_type' => '2次元バーコードタイプ',
|
||||
'alt_barcode_type' => 'バーコードタイプ',
|
||||
'email_logo_size' => 'Square logos in email look best. ',
|
||||
@@ -119,8 +119,8 @@ return array(
|
||||
'pwd_secure_uncommon_help' => '不正アクセス等でに報告された上位10,000個の共通パスワードを、ユーザーが使用できなくなります。',
|
||||
'qr_help' => 'QRコードを有効化',
|
||||
'qr_text' => 'QRコードテキスト',
|
||||
'saml_enabled' => 'SAML enabled',
|
||||
'saml_integration' => 'SAML Integration',
|
||||
'saml_enabled' => 'SAMLを有効にする',
|
||||
'saml_integration' => 'SAML 統合',
|
||||
'saml_sp_entityid' => 'Entity ID',
|
||||
'saml_sp_acs_url' => 'Assertion Consumer Service (ACS) URL',
|
||||
'saml_sp_sls_url' => 'Single Logout Service (SLS) URL',
|
||||
|
||||
@@ -19,7 +19,7 @@ return array(
|
||||
'ldap_config_text' => 'LDAP 構成設定 管理者 > 設定。 選択した場所は、インポートされたすべてのユーザーに対して設定されます。',
|
||||
'print_assigned' => '割り当て先をすべて印刷',
|
||||
'software_user' => 'ソフトウェアは :name にチェックアウトしました。',
|
||||
'send_email_help' => 'You must provide an email address for this user to send them credentials. Emailing credentials can only be done on user creation. Passwords are stored in a one-way hash and cannot be retrieved once saved.',
|
||||
'send_email_help' => '資格情報を送信するには、このユーザーのメールアドレスを入力する必要があります。メール送信資格情報は、ユーザー作成時にのみ行うことができます。 パスワードは一方向のハッシュに保存され、保存されると取得できません。',
|
||||
'view_user' => '利用者 :name を表示',
|
||||
'usercsv' => 'CSVファイル',
|
||||
'two_factor_admin_optin_help' => '現在の管理者設定では、2段階認証は任意です。 ',
|
||||
|
||||
@@ -12,7 +12,7 @@ return array(
|
||||
'insufficient_permissions' => '権限が不足しています。',
|
||||
'user_deleted_warning' => '利用者が削除されました。これらを編集するにはユーザーを復旧するか、新しい資産を割り当てなければなりません。',
|
||||
'ldap_not_configured' => 'LDAPの統合は、インストール時に設定されません。',
|
||||
'password_resets_sent' => 'The selected users who are activated and have a valid email addresses have been sent a password reset link.',
|
||||
'password_resets_sent' => '有効なメールアドレスを持っている選択されたユーザーにパスワードリセットのリンクが送信されました。',
|
||||
|
||||
|
||||
'success' => array(
|
||||
|
||||
@@ -8,8 +8,8 @@ return array(
|
||||
'create' => 'Accessoire aanmaken',
|
||||
'edit' => 'Accessoire aanpassen',
|
||||
'eula_text' => 'Categorie EULA',
|
||||
'eula_text_help' => 'Dit veld staat aanpassingen toe voor de gebruikersovereenkomsten van verschillende goederen. Heeft u één overeenkomst voor alle goederen, vink dan het vakje hieronder aan om de standaard gebruikersovereenkomst te gebruiken.',
|
||||
'require_acceptance' => 'Verplicht de gebruikers de overeenkomst te accepteren voor de goederen in deze catagorie.',
|
||||
'eula_text_help' => 'Dit veld laat je toe om je gebruikersovereenkomsten aan te passen voor specifieke assets. Als je maar één gebruikersovereenkomst hebt voor al je assets, vink dan het vakje hieronder aan om de primaire standaard te gebruiken.',
|
||||
'require_acceptance' => 'Verplicht gebruikers om de acceptatie van assets in deze categorie te bevestigen.',
|
||||
'no_default_eula' => 'Geen standaard gebruikersovereenkomst gevonden. Voeg er één toe in Instellingen.',
|
||||
'total' => 'Totaal',
|
||||
'remaining' => 'Beschikbaar',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
return array(
|
||||
|
||||
'does_not_exist' => 'Accessoire [:id] bestaat niet.',
|
||||
'assoc_users' => 'Deze accessoire heeft op dit moment :count artikelen uitgecheckt aan gebruikers. Check alsjeblieft de accessoire in en probeer opnieuw. ',
|
||||
'assoc_users' => 'Deze accessoire heeft op dit moment :count items uitgecheckt aan gebruikers. Check alsjeblieft de accessoire in en probeer opnieuw. ',
|
||||
|
||||
'create' => array(
|
||||
'error' => 'Accessoire is niet gecreëerd, Probeer alsjeblieft opnieuw.',
|
||||
@@ -24,13 +24,13 @@ return array(
|
||||
'checkout' => array(
|
||||
'error' => 'Accessoire is niet uitgecheckt, probeer alsjeblieft opnieuw',
|
||||
'success' => 'Accessoire is succesvol uitgecheckt.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer alsjeblieft opnieuw.'
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
'error' => 'Accessoire is niet ingecheckt. Probeer alsjeblieft opnieuw',
|
||||
'success' => 'Accessoire succesvol ingecheckt.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer alsjeblieft opnieuw.'
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'asset_maintenances' => 'Materiaal onderhoud',
|
||||
'edit' => 'Wijzig materiaal onderhoud',
|
||||
'delete' => 'Verwijder materiaal onderhoud',
|
||||
'view' => 'Toon materiaal onderhoud details',
|
||||
'asset_maintenances' => 'Asset onderhoud',
|
||||
'edit' => 'Asset onderhoud bewerken',
|
||||
'delete' => 'Verwijder asset onderhoud',
|
||||
'view' => 'Details asset onderhoud weergeven',
|
||||
'repair' => 'Reparatie',
|
||||
'maintenance' => 'Onderhoud',
|
||||
'upgrade' => 'Upgrade',
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'not_found' => 'Materiaal onderhoud waar je naar zocht is niet gevonden!',
|
||||
'not_found' => 'Asset onderhoud waar je naar op zoek bent is niet gevonden!',
|
||||
'delete' => [
|
||||
'confirm' => 'Weet je zeker dat je deze materiaal onderhoud wilt verwijderen?',
|
||||
'error' => 'Er was een probleem met het verwijderen van deze materiaal onderhoud. Probeer het opnieuw.',
|
||||
'success' => 'De materiaal onderhoud is met succes verwijderd.'
|
||||
'confirm' => 'Weet je zeker dat je dit asset onderhoud wilt verwijderen?',
|
||||
'error' => 'Er was een probleem tijdens het verwijderen van de asset onderhoud. Probeer het opnieuw.',
|
||||
'success' => 'De asset onderhoud is succesvol verwijderd.'
|
||||
],
|
||||
'create' => [
|
||||
'error' => 'Materiaal onderhoud is niet aangemaakt, probeer het opnieuw.',
|
||||
'success' => 'Materiaal onderhoud is met succes aangemaakt.'
|
||||
'error' => 'Asset onderhoud is niet aangemaakt, probeer het opnieuw.',
|
||||
'success' => 'Asset onderhoud is met succes aangemaakt.'
|
||||
],
|
||||
'edit' => [
|
||||
'error' => 'Materiaal onderhoud is niet aangepast, probeer het nogmaals.',
|
||||
'success' => 'Materiaal onderhoud is met succes aangepast.'
|
||||
'error' => 'Asset onderhoud is niet aangepast, probeer het opnieuw.',
|
||||
'success' => 'Asset onderhoud is met succes aangepast.'
|
||||
],
|
||||
'asset_maintenance_incomplete' => 'Nog niet voltooid',
|
||||
'warranty' => 'Garantie',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Materiaal onderhoud',
|
||||
'asset_name' => 'Objectnaam',
|
||||
'title' => 'Asset onderhoud',
|
||||
'asset_name' => 'Asset naam',
|
||||
'is_warranty' => 'Garantie',
|
||||
'dl_csv' => 'CSV downloaden'
|
||||
];
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'asset_categories' => 'Bezit Categorieën',
|
||||
'asset_categories' => 'Asset Categorieën',
|
||||
'category_name' => 'Categorie Naam',
|
||||
'checkin_email' => 'Stuur een E-mail naar de gebruiker bij in- of uitchecken.',
|
||||
'checkin_email_notification' => 'Deze gebruiker ontvangt een e-mail bij het in- of uitchecken.',
|
||||
@@ -9,10 +9,10 @@ return array(
|
||||
'create' => 'Categorie Aanmaken',
|
||||
'edit' => 'Categorie bewerken',
|
||||
'eula_text' => 'Categorie Gebruikersovereenkomst',
|
||||
'eula_text_help' => 'Dit veld staat aanpassingen toe voor de gebruikersovereenkomsten van verschillende goederen. Heeft u één overeenkomst voor alle goederen, vink dan het vakje hieronder aan om de standaard gebruikersovereenkomst te gebruiken.',
|
||||
'eula_text_help' => 'Dit veld staat aanpassingen toe voor de gebruikersovereenkomsten van verschillende assets. Heeft u één overeenkomst voor alle assets, vink dan het vakje hieronder aan om de standaard gebruikersovereenkomst te gebruiken.',
|
||||
'name' => 'Categorie Naam',
|
||||
'require_acceptance' => 'Verplicht de gebruikers de overeenkomst te accepteren voor de goederen in deze catagorie.',
|
||||
'required_acceptance' => 'Deze gebruiker wordt gemaild met een link om de acceptatie van het artikel te verifiëren.',
|
||||
'required_acceptance' => 'Deze gebruiker wordt gemaild met een link om de acceptatie van dit item te bevestigen.',
|
||||
'required_eula' => 'De gebruiker krijgt een kopie van de gebruikersovereenkomst gemaild',
|
||||
'no_default_eula' => 'Geen standaard gebruikersovereenkomst gevonden. Voeg er één toe in Instellingen.',
|
||||
'update' => 'Categorie Bijwerken',
|
||||
|
||||
@@ -5,6 +5,6 @@ return array(
|
||||
'id' => 'ID',
|
||||
'parent' => 'Bovenliggend',
|
||||
'require_acceptance' => 'Acceptatie',
|
||||
'title' => 'Materiaal Categorie Naam',
|
||||
'title' => 'Asset categorie naam',
|
||||
|
||||
);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
return array(
|
||||
'component_name' => 'Component Naam',
|
||||
'checkin' => 'Component binnenmelden',
|
||||
'checkout' => 'Component uitleveren',
|
||||
'checkin' => 'Checkin Component',
|
||||
'checkout' => 'Component uitchecken',
|
||||
'cost' => 'Aankoop prijs',
|
||||
'create' => 'Component aanmaken',
|
||||
'edit' => 'Component bewerken',
|
||||
|
||||
@@ -21,15 +21,15 @@ return array(
|
||||
),
|
||||
|
||||
'checkout' => array(
|
||||
'error' => 'Component is niet uitgeleverd, probeer het nogmaals.',
|
||||
'success' => 'Component succesvol uitgeleverd.',
|
||||
'user_does_not_exist' => 'De gebruiker is onbekend, probeer het nogmaals.'
|
||||
'error' => 'Component is niet uitgecheckt, probeer het nogmaals',
|
||||
'success' => 'Component succesvol uitgecheckt.',
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
'error' => 'Component is niet binnengemeld, probeer het nogmaals.',
|
||||
'success' => 'Component succesvol binnengemeld.',
|
||||
'user_does_not_exist' => 'De gebruiker is onbekend, probeer het nogmaals.'
|
||||
'error' => 'Component is niet ingecheckt, probeer het nogmaals',
|
||||
'success' => 'Component succesvol ingecheckt.',
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'checkout' => 'Verbruiksartikel uitleveren aan gebruiker',
|
||||
'checkout' => 'Verbruiksartikel uitchecken aan gebruiker',
|
||||
'consumable_name' => 'Verbruiksartikel naam',
|
||||
'create' => 'Maak verbruiksartikel aan',
|
||||
'item_no' => 'Item nr.',
|
||||
|
||||
@@ -23,13 +23,13 @@ return array(
|
||||
'checkout' => array(
|
||||
'error' => 'Verbruiksartikel is niet uitgecheckt, probeer het opnieuw',
|
||||
'success' => 'Verbruiksartikel is met succes uitgecheckt.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
),
|
||||
|
||||
'checkin' => array(
|
||||
'error' => 'Verbruiksartikel is niet ingecheckt, probeer het opnieuw',
|
||||
'success' => 'Verbruiksartikel is met succes ingecheckt.',
|
||||
'user_does_not_exist' => 'Die gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
'user_does_not_exist' => 'Deze gebruiker is ongeldig. Probeer het opnieuw.'
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ return array(
|
||||
'custom_fields' => 'Speciale velden',
|
||||
'field' => 'Veld',
|
||||
'about_fieldsets_title' => 'Over veldverzamelingen',
|
||||
'about_fieldsets_text' => 'Veldverzamelingen laat jou groepen van aangepaste velden maken die vaak worden hergebruikt voor specifieke soorten eigendoms modellen.',
|
||||
'about_fieldsets_text' => 'Veldverzamelingen stellen je in staat groepen van aangepaste velden te maken die vaak worden hergebruikt voor specifieke soorten asset modellen.',
|
||||
'custom_format' => 'Aangepaste indeling...',
|
||||
'encrypt_field' => 'Encrypt de waarde van dit veld in de database',
|
||||
'encrypt_field_help' => 'Waarschuwing: Versleutelen van dit veld maakt het onmogelijk om hierop te zoeken.',
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
|
||||
return array(
|
||||
'about_asset_depreciations' => 'Over afschrijving van materiaal',
|
||||
'about_depreciations' => 'U kan de materiaalafschrijving instellen om materiaal af te schrijven op basis van lineaire afschrijving.',
|
||||
'asset_depreciations' => 'Materiaalafschrijvingen',
|
||||
'about_asset_depreciations' => 'Over afschrijvingen van Asset',
|
||||
'about_depreciations' => 'U kan de asset-afschrijving instellen om assets af te schrijven op basis van lineaire afschrijving.',
|
||||
'asset_depreciations' => 'Asset afschrijvingen',
|
||||
'create' => 'Afschrijving aanmaken',
|
||||
'depreciation_name' => 'Afschrijvingsnaam',
|
||||
'number_of_months' => 'Aantal maanden',
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user