Merge remote-tracking branch 'origin/develop'

Conflicts:
	composer.lock
	public/assets/.siteflow
This commit is contained in:
snipe
2015-04-01 15:39:24 -07:00
183 changed files with 23071 additions and 5389 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ before_script:
- cp app/config/testing/database.example.php app/config/testing/database.php
- cp app/config/testing/mail.example.php app/config/testing/mail.php
- composer self-update
- composer install --prefer-source --no-interaction
- composer install --prefer-source
- php artisan key:generate --env=testing
- php artisan migrate:install --env=testing --no-interaction -vvv
- php artisan migrate --package cartalyst/sentry --env=testing --no-interaction -vvv
+170
View File
@@ -1,5 +1,175 @@
### v1.2.6.1 - Released Mar 12, 2015 08:25:28
* <a href="http://github.com/snipe/snipe-it/commit/7047af44f6544d2eeed0f0fcefdbdd44489f189a">view</a> &bull; Fixed layout for remember me button
* <a href="http://github.com/snipe/snipe-it/commit/4502582beb064ffeee4a1cdf892f513e58534014">view</a> &bull; Trying to fix pre-commit hook :(
* <a href="http://github.com/snipe/snipe-it/commit/61b04d6e40baa9054e1701455259d8d62fa868ff">view</a> &bull; Fixes #579 - user cannot accept more than once
* <a href="http://github.com/snipe/snipe-it/commit/2d196b1595ec87f119ad5a82f8f676918c52c896">view</a> &bull; Fixes #602 for strict_mode
* <a href="http://github.com/snipe/snipe-it/commit/2540e90c37f37515d8d0277a4152c4b8198a4222">view</a> &bull; Fixes #605 - hides user requestable view from admins
* <a href="http://github.com/snipe/snipe-it/commit/1c333e4a24a4950418175a8c354d7541637b7658">view</a> &bull; Fixes #596 - better routes for checking in multiple items from user
* <a href="http://github.com/snipe/snipe-it/commit/7d5ee9750f912d85ac0c7f42e2beaba7e026989c">view</a> &bull; Added #596 fix for accessories
* <a href="http://github.com/snipe/snipe-it/commit/3f9d9f23d5190052deb1f36be919c650e8f773b8">view</a> &bull; Fixes #280 - updated link to use config url
* <a href="http://github.com/snipe/snipe-it/commit/817384b7615a301d6d692aefe6e41cd92ecfd6e1">view</a> &bull; Fixes #597 - print-friendly view on users
* <a href="http://github.com/snipe/snipe-it/commit/2115c82587e06049245f17f9d710fbc7a61e57b9">view</a> &bull; Fixed DB format for nullable EULA
* <a href="http://github.com/snipe/snipe-it/commit/f62f22b4bf1399c3b98041dfe17f4cc8450847b2">view</a> &bull; ref #599. showing groups in user detail view. fixes a small design bug with group edit view
* <a href="http://github.com/snipe/snipe-it/commit/ad25c048c4a52a7f80a479a3b7d621aaad18b1d7">view</a> &bull; Updated Sentry version to fix #625
* <a href="http://github.com/snipe/snipe-it/commit/d31c12cfafb2ba323973964215f033bd9aeb1f9b">view</a> &bull; Merge pull request #629 from uberbrady/unicode_fix
* <a href="http://github.com/snipe/snipe-it/commit/33dd59fb814089c81886c0264b2356df2b212864">view</a> &bull; Fix #637 - Remove Deleted Models from drop down
* <a href="http://github.com/snipe/snipe-it/commit/cb171bcac5c4ccbb347f370e3d2b28783378c0b2">view</a> &bull; Fixes #645 - adds zip and rar to filetype
### v1.2.6 - Released Feb 28, 2015 08:27:45
### v1.2.6-beta - Released Feb 27, 2015 03:17:06
#### This is a pre-release
* <a href="http://github.com/snipe/snipe-it/commit/30df21c7aa2582bc3b1efbfd788c1aea2733aa7d">view</a> &bull; Fixed missing checkedout-to info on asset view
* <a href="http://github.com/snipe/snipe-it/commit/70ae59ed6260101bcfb6e3cbd6309ecb9c1c935a">view</a> &bull; Fixed a bug when no assets are in table that the autoincrement method blows up. Also optimzed the logic to get max id instead of popping top off creation date.
* <a href="http://github.com/snipe/snipe-it/commit/f8e12cabd4af8875abd759a3c9d6c2216cb88601">view</a> &bull; Fixes #476 - added logo upload and header color
* <a href="http://github.com/snipe/snipe-it/commit/f85061f988a946f1d4a284fbfc8c442636c1364c">view</a> &bull; Fix #541 - Headers not being skipped if checked
* <a href="http://github.com/snipe/snipe-it/commit/8b3e22b58e080b44e4de809b8598283fa6ba5bb0">view</a> &bull; Fixes #546 - only insert data if values exist
* <a href="http://github.com/snipe/snipe-it/commit/083cb1b5ec51aa2b6932a59b9436a1a45fad5460">view</a> &bull; Fix activate for strict db
* <a href="http://github.com/snipe/snipe-it/commit/35cf5b3d609fec2bc3613bdae42d338448413520">view</a> &bull; Fixes #423
* <a href="http://github.com/snipe/snipe-it/commit/097bb38a231795aa52ff772a38887700e828256d">view</a> &bull; Fixes #163 - accept acceptance + eula
* <a href="http://github.com/snipe/snipe-it/commit/b2af455523fcca1bb02018b38fdb6dc4861819d8">view</a> &bull; Merge conflict resolution. Added a use at the same line as remote. Fixed
* <a href="http://github.com/snipe/snipe-it/commit/8879bff16084b2cfa0280fcb1f83d3f90368797f">view</a> &bull; Fixed bug for reporting on upload in dashboard
* <a href="http://github.com/snipe/snipe-it/commit/3135869d5a3fafcf70e49dcbb99e36c2ec04ddd0">view</a> &bull; Fixed font path
* <a href="http://github.com/snipe/snipe-it/commit/a5a1c4223b357b9cc2751a28e0c4e3085e476733">view</a> &bull; Fixed chevrons
* <a href="http://github.com/snipe/snipe-it/commit/734dc49564e4f970846f786177c9d2928284fb5f">view</a> &bull; Fixed icon
* <a href="http://github.com/snipe/snipe-it/commit/a6232cbfd8050ace613259df56afae243954c625">view</a> &bull; Fix language string for create accessory
* <a href="http://github.com/snipe/snipe-it/commit/c2bbc1281ccdda65caa55665c66c78613142099f">view</a> &bull; Mobile fixes
* <a href="http://github.com/snipe/snipe-it/commit/29863004e2e622a9b3b4616abdcd92f2b950bebe">view</a> &bull; more small mobile fixes
* <a href="http://github.com/snipe/snipe-it/commit/8eaa70c39b3ace90a517387dc91f452aede18958">view</a> &bull; Fixes #567 - bug in depreciation report csv export
* <a href="http://github.com/snipe/snipe-it/commit/e41621def05994302627cd4a6a81abd8e43c86be">view</a> &bull; Fixed relation between accessory and category
* <a href="http://github.com/snipe/snipe-it/commit/9f3edd701b51a7aecf792e5736534c1bb15aca9a">view</a> &bull; Fixes #565 - Soft Delete Models and Allow Restore
* <a href="http://github.com/snipe/snipe-it/commit/528c06cf7fb4f5c35d4b90eb256c0d195b8366b7">view</a> &bull; Reverting icon fix
* <a href="http://github.com/snipe/snipe-it/commit/1ac401f0c036eca0cec1df0986d4c7e1903556fa">view</a> &bull; Fixed EULA mail
* <a href="http://github.com/snipe/snipe-it/commit/6d16c97902dadad2351b627f3157257774a075f3">view</a> &bull; Fixed back arrow
* <a href="http://github.com/snipe/snipe-it/commit/3e189d3502f8147c012b641cc366394875e9005c">view</a> &bull; Fixes #538 - sortable tables
* <a href="http://github.com/snipe/snipe-it/commit/31df29cac878deeb75d8b9b5a2efc7c84ef4b592">view</a> &bull; Fixed funky layout from datatables
* <a href="http://github.com/snipe/snipe-it/commit/efaf067b948899d0b784f47092dc3bc22fe504ca">view</a> &bull; Fixed user relationship
* <a href="http://github.com/snipe/snipe-it/commit/5010720a976019306e37b89f5aa0e917c0ffdea3">view</a> &bull; Fixed accessory relationship
* <a href="http://github.com/snipe/snipe-it/commit/a20e1f6943eab11fc937fcfeb3fe99dc0d520734">view</a> &bull; Fixed attach to relation
* <a href="http://github.com/snipe/snipe-it/commit/19ad8970d76a1676de3494b758efa65c0ed6a5c1">view</a> &bull; Fixed arrow icon
* <a href="http://github.com/snipe/snipe-it/commit/430b8233ed6f23402597fe54215b9988a3405dd7">view</a> &bull; Fixed user relationship
* <a href="http://github.com/snipe/snipe-it/commit/c0c563b1c77ff9942212af89384c8ded40b83b29">view</a> &bull; Fixes accessory relationshop for pivot
* <a href="http://github.com/snipe/snipe-it/commit/ef6eae63d86f159a170c3a322a44e08bab827080">view</a> &bull; Fixed error icon
* <a href="http://github.com/snipe/snipe-it/commit/d33dcbbcb12172527cec977f679198f594ac975b">view</a> &bull; Fixed bad method call in accessories on delete
* <a href="http://github.com/snipe/snipe-it/commit/04735f1affd2fdff9d6cf96ed583ece895cfb341">view</a> &bull; Fixed assetlog display
* <a href="http://github.com/snipe/snipe-it/commit/c484afb12b0720eaba2d28f501bf547e2ad9caa9">view</a> &bull; Fixed typo for accessories accept
### v1.2.5 - Released Feb 18, 2015 03:18:10
* <a href="http://github.com/snipe/snipe-it/commit/00f7717142e11b90764ffce2d554c566f8ad219f">view</a> &bull; Fix #475 and styling
* <a href="http://github.com/snipe/snipe-it/commit/49f25a23a99c08606d58101e039a885b89503fa7">view</a> &bull; Merge pull request #516 from splaer/fix-475
* <a href="http://github.com/snipe/snipe-it/commit/58ff929d7193b054073ef46ae2fafdef51d51919">view</a> &bull; Fixes error when no model present because new asset
* <a href="http://github.com/snipe/snipe-it/commit/f57c61dd4d789635cee6f62899807b1a7928800e">view</a> &bull; Possible fix for #518 - license count issue
* <a href="http://github.com/snipe/snipe-it/commit/064c0211dbb310d1dfdb126e3ce2cee72a80f628">view</a> &bull; Fix #517 - User Requestable Assets
* <a href="http://github.com/snipe/snipe-it/commit/4a5007264e1712250726047162df91041d12d28c">view</a> &bull; Fixed mac address not showing
* <a href="http://github.com/snipe/snipe-it/commit/17258b73a1c09918960d894702a0ae341a18f0b8">view</a> &bull; Fixes #520 - state no longer required
* <a href="http://github.com/snipe/snipe-it/commit/f40bb7b8b3a17ff772c797a3f91a845b068be3d2">view</a> &bull; Fixes #520 postal code requirement
* <a href="http://github.com/snipe/snipe-it/commit/08ee02d0cd4d1ff9ed2b0600b75390c1e34c1f53">view</a> &bull; Fixes #525 - added serial to asset model UI
* <a href="http://github.com/snipe/snipe-it/commit/24f5cdc743acd55ead02282e13e07f3cbd3551b0">view</a> &bull; Fixes #523 - added file uploads to assets
* <a href="http://github.com/snipe/snipe-it/commit/e02bea4275306fb3d2696e3018066b4b1486fa8d">view</a> &bull; Fixes #457 - added bulk options to hardware
* <a href="http://github.com/snipe/snipe-it/commit/4e4144ea749974332f645fa77eb74fbbfef51b90">view</a> &bull; Fixed blade reference
* <a href="http://github.com/snipe/snipe-it/commit/b32d74de57a3a26326a220236838f57550549ca5">view</a> &bull; Fixed seeder with duplicate ID
* <a href="http://github.com/snipe/snipe-it/commit/ea6a6d098ad1795fc5463c61b72240cdcd8a43e7">view</a> &bull; Fixes #440 - removed unique constraint on serial
* <a href="http://github.com/snipe/snipe-it/commit/38961298ed6efe3649fdbf4b1e9b3278ab85567a">view</a> &bull; Fixes #439 - loads javascript and CSS locally
* <a href="http://github.com/snipe/snipe-it/commit/063e5c407c8f817c16026887be16eeb42598417f">view</a> &bull; Fixed the depreciation report, fixes to calculate current depreciated value (which were only used there). Additional fixes and refactoring around Depreciable, in terms of how assets get depreciation via models, and licenses get depreciation directly.
### v1.2.4 - Released Feb 12, 2015 06:57:47
* <a href="http://github.com/snipe/snipe-it/commit/2277b6ee699a78108523eee11695a280e76b1bb4">view</a> &bull; Fixed checkout logic for new assigned_to
* <a href="http://github.com/snipe/snipe-it/commit/dbc93de6b3966470f83254547f8029c60f489490">view</a> &bull; Fixes checkin button on view
* <a href="http://github.com/snipe/snipe-it/commit/c06a4d4118039d112b69e48f9d4efc2be796f2e0">view</a> &bull; Fixed wonky checkin/checkout buttons
* <a href="http://github.com/snipe/snipe-it/commit/31f4ba88f655e1386f2f4f0efae84399f7aa6d52">view</a> &bull; Fix RTD query to not display checked out asset
* <a href="http://github.com/snipe/snipe-it/commit/5867c604104781c351f870ff3e0fd4b4d6eeb35a">view</a> &bull; Fixed scope chaining on assigned_to
* <a href="http://github.com/snipe/snipe-it/commit/a2178392e65bcc35594d516a20f67eea8466e5c1">view</a> &bull; Fixed seeder
* <a href="http://github.com/snipe/snipe-it/commit/7715731c4a2e423afb94873227eb728ad4877221">view</a> &bull; Fix count in header
* <a href="http://github.com/snipe/snipe-it/commit/c2e532e32e4943e251dcb5fdd005e9b65d9798a5">view</a> &bull; Fixed language file for status label messages
* <a href="http://github.com/snipe/snipe-it/commit/f36029a34a696d89b1058c9abdca7953d51e2bc4">view</a> &bull; Fixed migration for to set assigned_to to null per #506
* <a href="http://github.com/snipe/snipe-it/commit/f72b38579037d76b5b188c5d85e24ca567e2480b">view</a> &bull; Fix licenses so null instead of 0
* <a href="http://github.com/snipe/snipe-it/commit/34032c73ceee7a9666680f21bf7490fdc32dbdb6">view</a> &bull; Fixed licenses so null instead of 0
* <a href="http://github.com/snipe/snipe-it/commit/7b165a12e05396b72381fc2789124acd2b98a2b8">view</a> &bull; Fixes #508 - compacted UI for licenses overview
* <a href="http://github.com/snipe/snipe-it/commit/c89be345033bfbed326ffd4207a63438ea09378f">view</a> &bull; Fixes #329 and #454 - added category asset view
* <a href="http://github.com/snipe/snipe-it/commit/35a133bbf9f7330a038dda2e79995b9825ca7633">view</a> &bull; Fixes #382 - allow admins to restore deleted assets
* <a href="http://github.com/snipe/snipe-it/commit/80e10c4c9838ae4acea8847ed907c6ad05bfac1a">view</a> &bull; Fixes #387 - sortable asset view by manufacturer
* <a href="http://github.com/snipe/snipe-it/commit/e343c157c5998d6f30a4e25da23ad1092d50c103">view</a> &bull; Fixed naming conflict for requestable
* <a href="http://github.com/snipe/snipe-it/commit/cd5a352961a1e1e8d90368abf81fedee5ce94bef">view</a> &bull; Fix for wrong math on remaining licenses when assigned to an asset
* <a href="http://github.com/snipe/snipe-it/commit/342a8b81afb2060a128d0667acc15fa5caafc2ea">view</a> &bull; Fix for error when asset has null status
* <a href="http://github.com/snipe/snipe-it/commit/8cdd2156143864974423bea70521d45db6d0cb9c">view</a> &bull; Fixed intenting
* <a href="http://github.com/snipe/snipe-it/commit/fbf03b225d732e12821bfc83b9bae7fb7b4b8be8">view</a> &bull; Fixes #509 - added MAC address as model option
### v1.2.4-beta - Released Feb 11, 2015 01:11:40
#### This is a pre-release
* <a href="http://github.com/snipe/snipe-it/commit/389c27b2e691743eb361cc1fbe4ece4259ae6046">view</a> &bull; Fixes #477 - wrong sidebar on asset view
* <a href="http://github.com/snipe/snipe-it/commit/7009b24748edab02921c609c26bc549fa96dcd2f">view</a> &bull; Merge pull request #498 from snipe/fixes/477
* <a href="http://github.com/snipe/snipe-it/commit/c1600a33db6d4463d27f74f87389489210de700e">view</a> &bull; Fixes #499 - timestamps in asset logs
* <a href="http://github.com/snipe/snipe-it/commit/b360736b7728d2ac872193bbe8888037c9794494">view</a> &bull; Fixes #484
* <a href="http://github.com/snipe/snipe-it/commit/addfcd4bc5417784f95145394940f90f1302376f">view</a> &bull; Fix RTD bug
* <a href="http://github.com/snipe/snipe-it/commit/d2438f9fdb9b281025c17e22ac2bfaa07ce04a2d">view</a> &bull; Fixes #502 - normalized statuses
* <a href="http://github.com/snipe/snipe-it/commit/aef3a734a3530f109b82fc0897e25727293f9862">view</a> &bull; Small fix for pending status
* <a href="http://github.com/snipe/snipe-it/commit/f175f52530e58bd5ab80139c526fc7838750cb11">view</a> &bull; Fixed spacer in sidenav for list all
### v1.2.3 - Released Feb 09, 2015 12:22:12
### v1.2.3-beta - Released Feb 07, 2015 06:02:52
#### This is a pre-release
* <a href="http://github.com/snipe/snipe-it/commit/950567e9d66a6836cbca1383d24fc8548d3cbadf">view</a> &bull; Fixes issue related to #471 - assigning to user ID 0 causes erro
* <a href="http://github.com/snipe/snipe-it/commit/2b86f14e30c155f72b903428fd05a896ee9adfcc">view</a> &bull; Possible fix for #484 - fullname issue
* <a href="http://github.com/snipe/snipe-it/commit/b3af102d22a2f4f147b863e0ba8c2e4064aad01a">view</a> &bull; Fixed safe mode issue with license seeder
* <a href="http://github.com/snipe/snipe-it/commit/1db806f8b283e13dd04f20335d7087d12a04fa23">view</a> &bull; Fixes #488 - longer user jobtitle
* <a href="http://github.com/snipe/snipe-it/commit/f5efc368a58e1b26689dadb285918b090b66eb59">view</a> &bull; Fixes #487 - maintained and purchase order in strict mode
* <a href="http://github.com/snipe/snipe-it/commit/4dc81ce65fddced3282a9255a5a31ba8aa6a1458">view</a> &bull; Resolves #478 - redirects non-reporting users to view assets page
* <a href="http://github.com/snipe/snipe-it/commit/cd338d2a70e1bd4dca3bc651813e51095d7155f0">view</a> &bull; Fixes #483 - line breaks in notes on view
* <a href="http://github.com/snipe/snipe-it/commit/e67ba8a7437d4f27ae869072898e65749602f2dd">view</a> &bull; Fix reporting error on depreciation
* <a href="http://github.com/snipe/snipe-it/commit/1aeb4de0fae723801f0cdb555c77b5ee17ae1919">view</a> &bull; Possible fix for #491 - solving for giticide on package dep
* <a href="http://github.com/snipe/snipe-it/commit/c255edaf617872ac4a896106e56cc816209c2d5b">view</a> &bull; More travis fixes
* <a href="http://github.com/snipe/snipe-it/commit/feeef4b66c1b6049a1f18c67e034907ea26c7da9">view</a> &bull; Fix for asset log incorrectly using soft deletes
* <a href="http://github.com/snipe/snipe-it/commit/140bd137a48c199269d635aef57d14b1f0a4330a">view</a> &bull; Minor display fixes
* <a href="http://github.com/snipe/snipe-it/commit/29f5b7c5e3adc994b727842730c0157429520197">view</a> &bull; Fixed datetime
### v1.2.2 - Released Jan 22, 2015 11:41:36
* <a href="http://github.com/snipe/snipe-it/commit/4a77dee79c18f0e2ab155c7024234150ce98b808">view</a> &bull; Fixes #447 - added asset log entry on save
* <a href="http://github.com/snipe/snipe-it/commit/d85e5246807e597c1efac85c368a642a6fdcf944">view</a> &bull; Fixes #451 - allows spaces in state name
* <a href="http://github.com/snipe/snipe-it/commit/95141d49ba3c4f2b17ed6a26c20e7ad2a8aac9cb">view</a> &bull; Fixes #432 - add model name to checkout
* <a href="http://github.com/snipe/snipe-it/commit/3787a3f4bab9908f4903abdc2951cc254c8dc911">view</a> &bull; Fixed language strings for incrementing IDs
### v1.2.1 - Released Jan 22, 2015 09:24:01
### v1.2.0 - Released Jan 22, 2015 09:24:01
* <a href="http://github.com/snipe/snipe-it/commit/8699a90093bd27c0502dcc25f6e7d55344d54a3b">view</a> &bull; Fixed changelog
* <a href="http://github.com/snipe/snipe-it/commit/cff24309a1514f9ea991881ca72898c7a6358562">view</a> &bull; Possibly fixes #343
* <a href="http://github.com/snipe/snipe-it/commit/b2d5dc9ec5460ff1f02db6c1a31ea87d224de4c9">view</a> &bull; Fix #342
* <a href="http://github.com/snipe/snipe-it/commit/74ae2fceea68d18514e87edc008cb3016361beee">view</a> &bull; Fix class on th
* <a href="http://github.com/snipe/snipe-it/commit/fc2d472ed350d7d63fb97942d00a97b62d4bed55">view</a> &bull; Fixed english language string
* <a href="http://github.com/snipe/snipe-it/commit/89c7159c56f88bcf8459a5eb02d79d636335cb28">view</a> &bull; Fix array check for empty rows
* <a href="http://github.com/snipe/snipe-it/commit/7ddc6d497af13e7894031ac763939be9863889a4">view</a> &bull; Fix Report Langs
* <a href="http://github.com/snipe/snipe-it/commit/13b173409fcd5b5ce8e79566b5110eadcf51c233">view</a> &bull; Fix License form langs
* <a href="http://github.com/snipe/snipe-it/commit/b73ae3147a60b29ac455063ecf419a609cce2cac">view</a> &bull; Fixes #362, reduced asset name to 2 char min
* <a href="http://github.com/snipe/snipe-it/commit/637009054cc74b17e2dd226c6f8c467eed5b0962">view</a> &bull; Fixed typo in english
* <a href="http://github.com/snipe/snipe-it/commit/6905d82fc48998f9c95c454c8bf37a34e30c002e">view</a> &bull; Fixes #374 to keep the requirement to PHP 5.4
* <a href="http://github.com/snipe/snipe-it/commit/102481631330fbed894bf72510845bff6c88e59e">view</a> &bull; Fix #377 - Checkout users last_name, first_name
* <a href="http://github.com/snipe/snipe-it/commit/d6a0249c60cbb026b2e3190285d50723a76f22ee">view</a> &bull; Fixed #373 - added ability to auto-increment asset tags
* <a href="http://github.com/snipe/snipe-it/commit/1b41c974cf67c550b2cae39eeec8f90cb2da79e0">view</a> &bull; Fixes #348 - remove constraints on license keys
* <a href="http://github.com/snipe/snipe-it/commit/89a2b87e42c18b308835ef71d196b91002b451ef">view</a> &bull; Fixes #367 - added model number to dropdown
* <a href="http://github.com/snipe/snipe-it/commit/64c16a0bacfcde7c4d92971f2129f1b1aeac2c0e">view</a> &bull; Fixes #386 and #273 - altered column type to text
* <a href="http://github.com/snipe/snipe-it/commit/daefc86e5878a21f9909806599f22198360c1f9b">view</a> &bull; Formattig fixes for #386
* <a href="http://github.com/snipe/snipe-it/commit/73dd339772fcc35e50603ded115f67714620da69">view</a> &bull; Fix #388 - License not showing checked out in view
* <a href="http://github.com/snipe/snipe-it/commit/0663ccb99fa926ff944dded330ba1f0cd95abbb3">view</a> &bull; Check if ->adminuser->id isset before trying to print the fullName so we can catch when a user that created an asset has been deleted. Fixes #349
* <a href="http://github.com/snipe/snipe-it/commit/533be7f942cb6dfccd1e8a79c043d61791e4c54b">view</a> &bull; fixed #435. using namespace with route groups to increase the readability
* <a href="http://github.com/snipe/snipe-it/commit/e434616db83a8d693af63b4705e1b24476fc3c17">view</a> &bull; Merge pull request #436 from rashivkp/fix-435
* <a href="http://github.com/snipe/snipe-it/commit/5e496672c66428a1bbd37772aabd44f8bb1cb0fa">view</a> &bull; Fixes #469
* <a href="http://github.com/snipe/snipe-it/commit/3c141e8f5017e8f161b6fd1fb82b288283b8450c">view</a> &bull; Fixes #467
* <a href="http://github.com/snipe/snipe-it/commit/548de1a1a217e6b5c6fcbbf6cd4918f078e64542">view</a> &bull; Fixes #468 - updated ordering on license checkout
### v1.1 - Released Nov 06, 2014 02:16:26
* <a href="http://github.com/snipe/snipe-it/commit/fafd03f00f49cb9ffe81d50aa9ca3d1f1fa1d043">view</a> &bull; Added DB Prefix to Migrations
* <a href="http://github.com/snipe/snipe-it/commit/309772e67d62989f1f60141a4a10d724a44c6baa">view</a> &bull; Fixed operator for setting bool display
+13
View File
@@ -0,0 +1,13 @@
## Contributor Code of Conduct
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
+11 -1
View File
@@ -1,6 +1,10 @@
# Contribution Guidelines
Please submit all issues and pull requests to the [snipe/snipe-it](http://github.com/snipe/snipe-it) repository in the `develop` branch!
**Before opening an issue to report a bug or request help, make sure you've checked the [Common Issues](http://snipeitapp.com/documentation/common-issues/) and [Getting Help](http://snipeitapp.com/documentation/getting-help/) pages.**
## Developing on Snipe-IT
Please submit all pull requests to the [snipe/snipe-it](http://github.com/snipe/snipe-it) repository in the `develop` branch!
**As you're working on bug-fixes or features, please break them out into their own feature branches and open the pull request against your feature branch**. It makes it _much_ easier to decipher down the road, as you open multiple pull requests over time, and makes it much easier for me to approve pull requests quickly.
@@ -19,3 +23,9 @@ The labels we use in GitHub Issues and Waffle.io indicate whether we've confirme
If you're not a coder but want to give back to the project and you're fluent in other languages, that's okay too. We use [CrowdIn](https://crowdin.com) to manage translations, and it makes it super-simple for you to add translations (or validate proposed translations) to the project without messing with code. __Check out [the Snipe-IT CrowdIn translation project here](https://crowdin.com/project/snipe-it/)__.
Thanks!
-----
## Contributor Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
+6 -1
View File
@@ -9,7 +9,7 @@ This is a FOSS project for asset management in IT Operations. Knowing who has wh
It is built on [Laravel 4.2](http://laravel.com) and uses the [Sentry 2](https://github.com/cartalyst/sentry) package.
This project is being actively developed and we're [releasing quite frequently](https://github.com/snipe/snipe-it/releases). ([Check out the live demo here](http://snipeitapp.com/demo.php).)
This project is being actively developed and we're [releasing quite frequently](https://github.com/snipe/snipe-it/releases). ([Check out the live demo here](http://snipeitapp.com/demo/).)
__This is web-based software__. This means there there is no executable file (aka no .exe files), and it must be run on a web server and accessed through a web browser. It runs on any Mac OSX, flavor of Linux, as well as Windows.
@@ -65,3 +65,8 @@ Whenever you pull down a new version from master or develop, when you grab the [
php artisan migrate
Forgetting to do this can mean your DB might end up out of sync with the new files you just pulled, or you may have some funky cached autoloader values. It's a good idea to get into the habit of running these every time you pull anything new down. If there are no database changes to migrate, it won't hurt anything to run migrations anyway.
## Contributor Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
|
*/
'host' => 'smtp.mailgun.org',
'host' => 'smtp.mandrillapp.com',
/*
|--------------------------------------------------------------------------
@@ -0,0 +1,208 @@
<?php
return array(
/*
|--------------------------------------------------------------------------
| Table specific configuration options.
|--------------------------------------------------------------------------
|
*/
'table' => array(
/*
|--------------------------------------------------------------------------
| Table class
|--------------------------------------------------------------------------
|
| Class(es) added to the table
| Supported: string
|
*/
'class' => 'table table-bordered',
/*
|--------------------------------------------------------------------------
| Table ID
|--------------------------------------------------------------------------
|
| ID given to the table. Used for connecting the table and the Datatables
| jQuery plugin. If left empty a random ID will be generated.
| Supported: string
|
*/
'id' => '',
/*
|--------------------------------------------------------------------------
| DataTable options
|--------------------------------------------------------------------------
|
| jQuery dataTable plugin options. The array will be json_encoded and
| passed through to the plugin. See https://datatables.net/usage/options
| for more information.
| Supported: array
|
*/
'options' => array(
"pagingType" => "full_numbers",
'processing'=>true,
'language'=>array(
'processing'=>'<i class="fa fa-spinner fa-spin"></i> Loading...'
),
'deferRender'=> true,
'stateSave'=> true,
'paging'=>true,
'tableTools' => array(
'sSwfPath'=> Config::get('app.url').'/assets/swf/copy_csv_xls_pdf.swf',
'aButtons'=>array(
array(
'sExtends'=>'copy',
'sButtonText'=>'Copy',
'mColumns'=>'visible',
'bFooter'=>false,
),
array(
'sExtends'=>'print',
'sButtonText'=>'Print',
'mColumns'=>'visible',
'bShowAll'=>true,
),
array(
'sExtends'=>'collection',
'sButtonText'=>'Export',
'aButtons'=>array(
array(
'sExtends'=>'csv',
'sButtonText'=>'csv',
'mColumns'=>'visible',
'bFooter'=>false,
),
array(
'sExtends'=>'xls',
'sButtonText'=>'XLS',
'mColumns'=>'visible',
'bFooter'=>false,
),
array(
'sExtends'=>'pdf',
'sButtonText'=>'PDF',
'mColumns'=>'visible',
'bFooter'=>false,
)
)
)
)
),
),
/*
|--------------------------------------------------------------------------
| DataTable callbacks
|--------------------------------------------------------------------------
|
| jQuery dataTable plugin callbacks. The array will be json_encoded and
| passed through to the plugin. See https://datatables.net/usage/callbacks
| for more information.
| Supported: array
|
*/
'callbacks' => array(
"stateSaveCallback"=>"function (oSettings, oData) {
localStorage.setItem('DataTables_'+window.location.pathname, JSON.stringify(oData));
}",
"stateLoadCallback"=>"function (oSettings) {
return JSON.parse(localStorage.getItem('DataTables_'+window.location.pathname));
}",
),
/*
|--------------------------------------------------------------------------
| Skip javascript in table template
|--------------------------------------------------------------------------
|
| Determines if the template should echo the javascript
| Supported: boolean
|
*/
'noScript' => false,
/*
|--------------------------------------------------------------------------
| Table view
|--------------------------------------------------------------------------
|
| Template used to render the table
| Supported: string
|
*/
'table_view' => 'datatable::template',
/*
|--------------------------------------------------------------------------
| Script view
|--------------------------------------------------------------------------
|
| Template used to render the javascript
| Supported: string
|
*/
'script_view' => 'datatable::javascript',
),
/*
|--------------------------------------------------------------------------
| Engine specific configuration options.
|--------------------------------------------------------------------------
|
*/
'engine' => array(
/*
|--------------------------------------------------------------------------
| Search for exact words
|--------------------------------------------------------------------------
|
| If the search should be done with exact matching
| Supported: boolean
|
*/
'exactWordSearch' => false,
/*
|--------------------------------------------------------------------------
| Enable to display all records.
|--------------------------------------------------------------------------
|
| Be careful! It may be overloaded with large record.
| Supported: boolean
|
*/
'enableDisplayAll' => false,
/*
|--------------------------------------------------------------------------
| Limit display when iDisplayLength invaild
|--------------------------------------------------------------------------
*/
'defaultDisplayLength' => 10,
)
);
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
|
*/
'host' => 'smtp.mailgun.org',
'host' => 'smtp.mandrillapp.com',
/*
|--------------------------------------------------------------------------
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
|
*/
'host' => 'smtp.mailgun.org',
'host' => 'smtp.mandrillapp.com',
/*
|--------------------------------------------------------------------------
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
|
*/
'host' => 'smtp.mailgun.org',
'host' => 'smtp.mandrillapp.com',
/*
|--------------------------------------------------------------------------
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
return array (
'app_version' => 'v1.2.6-26',
'hash_version' => 'v1.2.6-26-gbb33e3c',
'app_version' => 'v1.2.6.1-166',
'hash_version' => 'v1.2.6.1-166-g51148f1',
);
@@ -32,16 +32,18 @@ class ChangeEmailController extends AuthorizedController
*/
public function postIndex()
{
// Declare the rules for the form validation
$rules = array(
'current_password' => 'required|between:3,32',
'email' => 'required|email|unique:users,email,'.Sentry::getUser()->email.',email',
'email_confirm' => 'required|same:email',
);
if (Config::get('app.lock_passwords')) {
return Redirect::route('change-password')->with('error', Lang::get('admin/users/table.lock_passwords'));
} else {
// Declare the rules for the form validation
$rules = array(
'current_password' => 'required|between:3,32',
'email' => 'required|email|unique:users,email,'.Sentry::getUser()->email.',email',
'email_confirm' => 'required|same:email',
);
// Create a new validator instance from our validation rules
$validator = Validator::make(Input::all(), $rules);
@@ -32,16 +32,19 @@ class ChangePasswordController extends AuthorizedController
*/
protected function postIndex()
{
// Declare the rules for the form validation
if (Config::get('app.lock_passwords')) {
return Redirect::route('change-password')->with('error', Lang::get('admin/users/table.lock_passwords'));
} else {
// Declare the rules for the form validation
$rules = array(
'old_password' => 'required|min:6',
'password' => 'required|min:6',
'password_confirm' => 'required|same:password',
);
if (Config::get('app.lock_passwords')) {
return Redirect::route('change-password')->with('error', Lang::get('admin/users/table.lock_passwords'));
} else {
// Create a new validator instance from our validation rules
$validator = Validator::make(Input::all(), $rules);
@@ -14,6 +14,7 @@ use View;
use User;
use Actionlog;
use Mail;
use Datatable;
class AccessoriesController extends AdminController
{
@@ -25,11 +26,7 @@ class AccessoriesController extends AdminController
public function getIndex()
{
// Grab all the accessories
$accessories = Accessory::orderBy('created_at', 'DESC')->get();
// Show the page
return View::make('backend/accessories/index', compact('accessories'));
return View::make('backend/accessories/index');
}
@@ -360,7 +357,54 @@ class AccessoriesController extends AdminController
return Redirect::to("admin/accessories")->with('error', Lang::get('admin/accessories/message.checkin.error'));
}
public function getDatatable()
{
$accessories = Accessory::select(array('id','name','qty'))
->whereNull('deleted_at')
->orderBy('created_at', 'DESC');
$accessories = $accessories->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions',function($accessories)
{
return '<a href="'.route('checkout/accessory', $accessories->id).'" style="margin-right:5px;" class="btn btn-info btn-sm" '.(($accessories->numRemaining() > 0 ) ? '' : ' disabled').'>'.Lang::get('general.checkout').'</a><a href="'.route('update/accessory', $accessories->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/accessory', $accessories->id).'" data-content="'.Lang::get('admin/accessories/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($accessories->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
});
return Datatable::collection($accessories)
->addColumn('name',function($accessories)
{
return link_to('admin/accessories/'.$accessories->id.'/view', $accessories->name);
})
->addColumn('qty',function($accessories)
{
return $accessories->qty;
})
->addColumn('numRemaining',function($accessories)
{
return $accessories->numRemaining();
})
->addColumn($actions)
->searchColumns('name','qty','numRemaining','actions')
->orderColumns('name','qty','numRemaining','actions')
->make();
}
public function getDataView($accessoryID)
{
$accessory = Accessory::find($accessoryID);
$accessory_users = $accessory->users;
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions',function($accessory_users){
return '<a href="'.route('checkin/accessory', $accessory_users->pivot->id).'" class="btn-flat info">Checkin</a>';
});
return Datatable::collection($accessory_users)
->addColumn('name',function($accessory_users)
{
return link_to('/admin/users/'.$accessory_users->id.'/view', $accessory_users->fullName());
})
->addColumn($actions)
->make();
}
}
+162 -44
View File
@@ -23,6 +23,8 @@ use Location;
use Log;
use DNS2D;
use Mail;
use Datatable;
use TCPDF;
class AssetsController extends AdminController
{
@@ -36,40 +38,7 @@ class AssetsController extends AdminController
public function getIndex()
{
// Grab all the assets
$assets = Asset::with('model','assigneduser','assetstatus','defaultLoc','assetlog')->Hardware();
// Filter results
if (Input::get('Pending')) {
$assets->Pending();
} elseif (Input::get('RTD')) {
$assets->RTD();
} elseif (Input::get('Undeployable')) {
$assets->Undeployable();
} elseif (Input::get('Archived')) {
$assets->Archived();
} elseif (Input::get('Requestable')) {
$assets->RequestableAssets();
} elseif (Input::get('Deployed')) {
$assets->Deployed();
} elseif (Input::get('Deleted')) {
$assets->withTrashed()->Deleted();
}
$assets = $assets->orderBy('asset_tag', 'ASC')->get();
// Paginate the users
/**$assets = $assets->paginate(Setting::getSettings()->per_page)
->appends(array(
'Pending' => Input::get('Pending'),
'RTD' => Input::get('RTD'),
'Undeployable' => Input::get('Undeployable'),
'Deployed' => Input::get('Deployed'),
));
**/
return View::make('backend/hardware/index', compact('assets'));
return View::make('backend/hardware/index');
}
@@ -187,6 +156,8 @@ class AssetsController extends AdminController
$asset->rtd_location_id = e(Input::get('rtd_location_id'));
}
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
// Save the asset data
$asset->name = e(Input::get('name'));
$asset->serial = e(Input::get('serial'));
@@ -194,7 +165,6 @@ class AssetsController extends AdminController
$asset->order_number = e(Input::get('order_number'));
$asset->notes = e(Input::get('notes'));
$asset->asset_tag = e(Input::get('asset_tag'));
$asset->mac_address = e(Input::get('mac_address'));
$asset->user_id = Sentry::getId();
$asset->archived = '0';
$asset->physical = '1';
@@ -321,6 +291,9 @@ class AssetsController extends AdminController
} else {
$asset->rtd_location_id = e(Input::get('rtd_location_id'));
}
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
// Update the asset data
$asset->name = e(Input::get('name'));
@@ -330,7 +303,6 @@ class AssetsController extends AdminController
$asset->asset_tag = e(Input::get('asset_tag'));
$asset->notes = e(Input::get('notes'));
$asset->physical = '1';
$asset->mac_address = e(Input::get('mac_address'));
// Was the asset updated?
if($asset->save()) {
@@ -465,7 +437,7 @@ class AssetsController extends AdminController
$data['log_id'] = $logaction->id;
$data['eula'] = $asset->getEula();
$data['first_name'] = $user->first_name;
$data['item_name'] = $asset->name;
$data['item_name'] = $asset->assetNameForEula();
$data['require_acceptance'] = $asset->requireAcceptance();
@@ -828,18 +800,51 @@ class AssetsController extends AdminController
**/
public function postBulkEdit($assets = null)
{
if (!Input::has('edit_asset')) {
return Redirect::back()->with('error', 'No assets selected');
} else {
$asset_raw_array = Input::get('edit_asset');
foreach ($asset_raw_array as $asset_id => $value) {
$asset_ids[] = $asset_id;
}
}
if (Input::has('bulk_actions')) {
// Create labels
if (Input::get('bulk_actions')=='labels') {
$assets = Asset::find($asset_ids);
$assetcount = count($assets);
$count = 0;
$settings = Setting::getSettings();
return View::make('backend/hardware/labels')->with('assets',$assets)->with('settings',$settings)->with('count',$count);
if (Input::has('edit_asset')) {
// Bulk edit
} elseif (Input::get('bulk_actions')=='edit') {
$assets = Input::get('edit_asset');
$supplier_list = array('' => '') + Supplier::orderBy('name', 'asc')->lists('name', 'id');
$statuslabel_list = array('' => '') + Statuslabel::lists('name', 'id');
$location_list = array('' => '') + Location::lists('name', 'id');
return View::make('backend/hardware/bulk')->with('assets',$assets)->with('supplier_list',$supplier_list)->with('statuslabel_list',$statuslabel_list)->with('location_list',$location_list);
$assets = Input::get('edit_asset');
$supplier_list = array('' => '') + Supplier::orderBy('name', 'asc')->lists('name', 'id');
$statuslabel_list = array('' => '') + Statuslabel::lists('name', 'id');
$location_list = array('' => '') + Location::lists('name', 'id');
}
} else {
return Redirect::back()->with('error', 'No action selected');
}
return View::make('backend/hardware/bulk')->with('assets',$assets)->with('supplier_list',$supplier_list)->with('statuslabel_list',$statuslabel_list)->with('location_list',$location_list);
}
@@ -910,6 +915,119 @@ class AssetsController extends AdminController
}
public function getDatatable($status = null)
{
$assets = Asset::with('model','assigneduser','assigneduser.userloc','assetstatus','defaultLoc','assetlog','model','model.category')->Hardware()->select(array('id', 'name','model_id','assigned_to','asset_tag','serial','status_id','purchase_date','deleted_at'));
switch ($status) {
case 'Pending':
$assets->Pending();
break;
case 'RTD':
$assets->RTD();
break;
case 'Undeployable':
$assets->Undeployable();
break;
case 'Archived':
$assets->Archived();
break;
case 'Requestable':
$assets->RequestableAssets();
break;
case 'Deployed':
$assets->Deployed();
break;
case 'Deleted':
$assets->withTrashed()->Deleted();
break;
}
$assets = $assets->orderBy('asset_tag', 'ASC')->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($assets)
{
if ($assets->deleted_at=='') {
return '<a href="'.route('update/hardware', $assets->id).'" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a> <a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/hardware', $assets->id).'" data-content="'.Lang::get('admin/hardware/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($assets->asset_tag).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
} elseif ($assets->model->deleted_at=='') {
return '<a href="'.route('restore/hardware', $assets->id).'" class="btn btn-warning btn-sm"><i class="fa fa-recycle icon-white"></i></a>';
}
});
$inout = new \Chumper\Datatable\Columns\FunctionColumn('inout', function ($assets)
{
if (($assets->assigned_to !='') && ($assets->assigned_to > 0)) {
return '<a href="'.route('checkin/hardware', $assets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
} else {
return '<a href="'.route('checkout/hardware', $assets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
}
});
return Datatable::collection($assets)
->addColumn('',function($assets)
{
return '<input type="checkbox" name="edit_asset['.$assets->id.']" class="one_required">';
})
->addColumn('name',function($assets)
{
return '<a title="'.$assets->name.'" href="hardware/'.$assets->id.'/view">'.$assets->name.'</a>';
})
->showColumns('asset_tag', 'serial')
->addColumn('model',function($assets)
{
return $assets->model->name;
})
->addColumn('status',function($assets)
{
if ($assets->assigned_to!='') {
return link_to('../admin/users/'.$assets->assigned_to.'/view', $assets->assigneduser->fullName());
} else {
return $assets->assetstatus->name;
}
})
->addColumn('location',function($assets)
{
if ($assets->assigned_to && $assets->assigneduser->userloc) {
return link_to('admin/location/'.$assets->assigneduser->userloc->id.'/edit', $assets->assigneduser->userloc->name);
} elseif ($assets->defaultLoc){
return link_to('admin/location/'.$assets->defaultLoc->id.'/edit', $assets->defaultLoc->name);
}
})
->addColumn('category',function($assets)
{
return $assets->model->category->name;
})
->addColumn('eol',function($assets)
{
return $assets->eol_date();
})
->addColumn('checkout_date',function($assets)
{
if (($assets->assigned_to!='') && ($assets->assetlog->first())) {
return $assets->assetlog->first()->created_at->format('Y-m-d');
}
})
->addColumn($inout)
->addColumn($actions)
->searchColumns('name', 'asset_tag', 'serial', 'model', 'status','location','eol','checkout_date', 'inout','category')
->orderColumns('name', 'asset_tag', 'serial', 'model', 'status','location','eol','checkout_date', 'inout')
->make();
}
}
+60 -4
View File
@@ -11,6 +11,7 @@ use Sentry;
use Str;
use Validator;
use View;
use Datatable;
class CategoriesController extends AdminController
{
@@ -22,11 +23,8 @@ class CategoriesController extends AdminController
public function getIndex()
{
// Grab all the categories
$categories = Category::orderBy('created_at', 'DESC')->get();
// Show the page
return View::make('backend/categories/index', compact('categories'));
return View::make('backend/categories/index');
}
@@ -215,7 +213,65 @@ class CategoriesController extends AdminController
}
public function getDatatable()
{
// Grab all the categories
$categories = Category::orderBy('created_at', 'DESC')->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function($categories) {
return '<a href="'.route('update/category', $categories->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/category', $categories->id).'" data-content="'.Lang::get('admin/categories/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($categories->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
});
return Datatable::collection($categories)
->showColumns('name')
->addColumn('category_type', function($categories) {
return ucwords($categories->category_type);
})
->addColumn('count', function($categories) {
return ($categories->category_type=='asset') ? link_to('/admin/settings/categories/'.$categories->id.'/view', $categories->assetscount()) : $categories->accessoriescount();
})
->addColumn('acceptance', function($categories) {
return ($categories->require_acceptance=='1') ? '<i class="fa fa-check" style="margin-right:50%;margin-left:50%;"></i>' : '';
})
->addColumn('eula', function($categories) {
return ($categories->getEula()) ? '<i class="fa fa-check" style="margin-right:50%;margin-left:50%;"></i></a>' : '';
})
->addColumn($actions)
->searchColumns('name','category_type','count','acceptance','eula','actions')
->orderColumns('name','category_type','count','acceptance','eula','actions')
->make();
}
public function getDataView($categoryID) {
$category = Category::find($categoryID);
$categoryassets = $category->assets;
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($categoryassets)
{
if (($categoryassets->assigned_to !='') && ($categoryassets->assigned_to > 0)) {
return '<a href="'.route('checkin/hardware', $categoryassets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
} else {
return '<a href="'.route('checkout/hardware', $categoryassets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
}
});
return Datatable::collection($categoryassets)
->addColumn('name', function ($categoryassets) {
return link_to('/hardware/'.$categoryassets->id.'/view', $categoryassets->name);
})
->addColumn('asset_tag', function ($categoryassets) {
return link_to('/hardware/'.$categoryassets->id.'/view', $categoryassets->asset_tag);
})
->addColumn('assigned_to', function ($categoryassets) {
if ($categoryassets->assigned_to) {
return link_to('/admin/users/'.$categoryassets->assigned_to.'/view', $categoryassets->assigneduser->fullName());
}
})
->addColumn($actions)
->searchColumns('name','asset_tag','assigned_to','actions')
->orderColumns('name','asset_tag','assigned_to','actions')
->make();
}
}
+31 -4
View File
@@ -19,6 +19,7 @@ use Supplier;
use Validator;
use View;
use Response;
use Datatable;
class LicensesController extends AdminController
{
@@ -33,11 +34,8 @@ class LicensesController extends AdminController
public function getIndex()
{
// Grab all the licenses
$licenses = License::orderBy('created_at', 'DESC')->get();
// Show the page
return View::make('backend/licenses/index', compact('licenses'));
return View::make('backend/licenses/index');
}
@@ -777,4 +775,33 @@ class LicensesController extends AdminController
return Redirect::route('licenses')->with('error', $error);
}
}
public function getDatatable() {
$licenses = License::orderBy('created_at', 'DESC')->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function($licenses) {
return '<a href="'.route('update/license', $licenses->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/license', $licenses->id).'" data-content="'.Lang::get('admin/licenses/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($licenses->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
});
return Datatable::collection($licenses)
->addColumn('name', function($licenses) {
return link_to('/admin/licenses/'.$licenses->id.'/view', $licenses->name);
})
->addColumn('serial', function($licenses) {
return link_to('/admin/licenses/'.$licenses->id.'/view', mb_strimwidth($licenses->serial, 0, 50, "..."));
})
->addColumn('totalSeats', function($licenses) {
return $licenses->totalSeatsByLicenseID();
})
->addColumn('remaining', function($licenses) {
return $licenses->remaincount();
})
->addColumn('purchase_date', function($licenses) {
return $licenses->purchase_date;
})
->addColumn($actions)
->searchColumns('name','serial','totalSeats','remaining','purchase_date','actions')
->orderColumns('name','serial','totalSeats','remaining','purchase_date','actions')
->make();
}
}
+72 -9
View File
@@ -14,6 +14,7 @@ use Manufacturer;
use Str;
use Validator;
use View;
use Datatable;
class ModelsController extends AdminController
{
@@ -24,16 +25,8 @@ class ModelsController extends AdminController
*/
public function getIndex()
{
// Grab all the models
$models = Model::orderBy('created_at', 'DESC');
if (Input::get('Deleted')) {
$models->withTrashed()->Deleted();
}
$models = $models->with('category','assets','depreciation')->get();
// Show the page
return View::make('backend/models/index', compact('models'));
return View::make('backend/models/index');
}
/**
@@ -315,6 +308,76 @@ class ModelsController extends AdminController
return $view;
}
public function getDatatable($status = null)
{
$models = Model::orderBy('created_at', 'DESC')->with('category','assets','depreciation');
($status != 'Deleted') ?: $models->withTrashed()->Deleted();;
$models = $models->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function($models) {
if($models->deleted_at=='') {
return '<a href="'.route('update/model', $models->id).'" class="btn btn-warning btn-sm" style="margin-right:5px;"><i class="fa fa-pencil icon-white"></i></a><a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/model', $models->id).'" data-content="'.Lang::get('admin/models/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($models->name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
} else {
return '<a href="'.route('restore/model', $models->id).'" class="btn btn-warning btn-sm"><i class="fa fa-recycle icon-white"></i></a>';
}
});
return Datatable::collection($models)
->addColumn('name', function ($models) {
return link_to('/hardware/models/'.$models->id.'/view', $models->name);
})
->showColumns('modelno')
->addColumn('asset_count', function($models) {
return $models->assets->count();
})
->addColumn('depreciation', function($models) {
return (($models->depreciation)&&($models->depreciation->id > 0)) ? $models->depreciation->name.' ('.$models->depreciation->months.')' : Lang::get('general.no_depreciation');
})
->addColumn('category', function($models) {
return ($models->category) ? $models->category->name : '';
})
->addColumn('eol', function($models) {
return ($models->eol) ? $models->eol.' '.Lang::get('general.months') : '';
})
->addColumn($actions)
->searchColumns('name','modelno','asset_count','depreciation','category','eol','actions')
->orderColumns('name','modelno','asset_count','depreciation','category','eol','actions')
->make();
}
public function getDataView($modelID)
{
$model = Model::withTrashed()->find($modelID);
$modelassets = $model->assets;
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($modelassets)
{
if (($modelassets->assigned_to !='') && ($modelassets->assigned_to > 0)) {
return '<a href="'.route('checkin/hardware', $modelassets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
} else {
return '<a href="'.route('checkout/hardware', $modelassets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
}
});
return Datatable::collection($modelassets)
->addColumn('name', function ($modelassets) {
return link_to('/hardware/'.$modelassets->id.'/view', $modelassets->name);
})
->addColumn('asset_tag', function ($modelassets) {
return link_to('/hardware/'.$modelassets->id.'/view', $modelassets->asset_tag);
})
->showColumns('serial')
->addColumn('assigned_to', function ($modelassets) {
if ($modelassets->assigned_to) {
return link_to('/admin/users/'.$modelassets->assigned_to.'/view', $modelassets->assigneduser->fullName());
}
})
->addColumn($actions)
->searchColumns('name','asset_tag','serial','assigned_to','actions')
->orderColumns('name','asset_tag','serial','assigned_to','actions')
->make();
}
}
+8 -13
View File
@@ -45,13 +45,13 @@ class ReportsController extends AdminController
Lang::get('general.model_no'),
Lang::get('general.name'),
Lang::get('admin/hardware/table.serial'),
Lang::get('general.status'),
Lang::get('admin/hardware/table.purchase_date'),
Lang::get('admin/hardware/table.purchase_cost'),
Lang::get('admin/hardware/form.order'),
Lang::get('admin/hardware/form.supplier'),
Lang::get('admin/hardware/table.checkoutto'),
Lang::get('admin/hardware/table.location'),
Lang::get('general.status')
Lang::get('admin/hardware/table.location')
);
$header = array_map('trim', $header);
$rows[] = implode($header, ',');
@@ -69,6 +69,11 @@ class ReportsController extends AdminController
$row[] = '"'.$asset->model->modelno.'"';
$row[] = $asset->name;
$row[] = $asset->serial;
if ($asset->assetstatus) {
$row[] = $asset->assetstatus->name;
} else {
$row[] = '';
}
$row[] = $asset->purchase_date;
$row[] = '"'.number_format($asset->purchase_cost).'"';
if ($asset->order_number) {
@@ -107,16 +112,6 @@ class ReportsController extends AdminController
$row[] = ''; // Empty string if location is not set
}
if (($asset->status_id == '0') && ($asset->assigned_to == '0')) {
$row[] = Lang::get('general.ready_to_deploy');
} elseif (($asset->status_id == '') && ($asset->assigned_to == '0')) {
$row[] = Lang::get('general.pending');
} elseif ($asset->assetstatus) {
$row[] = $asset->assetstatus->name;
} else {
$row[] = '';
}
$rows[] = implode($row, ',');
}
@@ -456,4 +451,4 @@ class ReportsController extends AdminController
return Redirect::to("reports/custom")->with('error', Lang::get('admin/reports/message.error'));
}
}
}
}
+17 -10
View File
@@ -11,6 +11,7 @@ use Str;
use Validator;
use View;
use Image;
use Config;
class SettingsController extends AdminController
{
@@ -63,14 +64,19 @@ class SettingsController extends AdminController
// Declare the rules for the form validation
$rules = array(
"site_name" => 'required|min:3',
"per_page" => 'required|min:1|numeric',
"qr_text" => 'min:1|max:31',
"logo" => 'mimes:jpeg,bmp,png,gif',
"alert_email" => 'email',
);
"per_page" => 'required|min:1|numeric',
"qr_text" => 'min:1|max:31',
"logo" => 'mimes:jpeg,bmp,png,gif',
"alert_email" => 'email',
);
if (Config::get('app.lock_passwords')==false) {
$rules['site_name'] = 'required|min:3';
}
// Create a new validator instance from our validation rules
$validator = Validator::make(Input::all(), $rules);
@@ -97,13 +103,14 @@ class SettingsController extends AdminController
// Update the asset data
$setting->id = '1';
$setting->site_name = e(Input::get('site_name'));
$setting->display_asset_name = e(Input::get('display_asset_name', '0'));
$setting->display_checkout_date = e(Input::get('display_checkout_date', '0'));
if (Config::get('app.lock_passwords')==false) {
$setting->site_name = e(Input::get('site_name'));
}
$setting->per_page = e(Input::get('per_page'));
$setting->qr_code = e(Input::get('qr_code', '0'));
$setting->barcode_type = e(Input::get('barcode_type'));
$setting->display_eol = e(Input::get('display_eol', '0'));
$setting->load_remote = e(Input::get('load_remote', '0'));
$setting->qr_text = e(Input::get('qr_text'));
$setting->auto_increment_prefix = e(Input::get('auto_increment_prefix'));
+109 -79
View File
@@ -20,7 +20,7 @@ use Redirect;
use Sentry;
use Validator;
use View;
use Chumper\Datatable\Facades\Datatable;
use Datatable;
use League\Csv\Reader;
use Mail;
@@ -47,41 +47,9 @@ class UsersController extends AdminController
*/
public function getIndex()
{
// Grab all the users - depending on the scope to include
$users = Sentry::getUserProvider()->createModel();
// Do we want to include the deleted users?
// the with and onlyTrashed calls currently do not work - returns an
// inconsistent array which cannot be displayed by the blade output
if (Input::get('withTrashed')) {
$users = $users->withTrashed();
//$users = Sentry::getUserProvider()->createModel()->paginate();
} elseif (Input::get('onlyTrashed')) {
// this is a tempoary 'fix' to display NO deleted users.
//$users = Sentry::getUserProvider()->createModel()->whereNotNull('deleted_at')->paginate();
//$users = Sentry::findAllUsers();
//$users = users::deletedUsers()->paginate();
$users = Sentry::getUserProvider()->createModel()->onlyTrashed();
//$users = users::whereNotNull('deleted_at')->paginate();
//$users = $users->onlyTrashed();
//$users = Users::onlyTrashed()->get();
//$users = Sentry::getUserProvider()->createModel();
}
// Paginate the users
$users = $users->paginate(100000)
->appends(array(
'withTrashed' => Input::get('withTrashed'),
'onlyTrashed' => Input::get('onlyTrashed'),
));
// Show the page
return View::make('backend/users/index', compact('users'));
return View::make('backend/users/index');
}
/**
@@ -308,12 +276,16 @@ class UsersController extends AdminController
// Ooops.. something went wrong
return Redirect::back()->withInput()->withErrors($validator);
}
// Only update the email address if locking is set to false
if (!Config::get('app.lock_passwords')) {
$user->email = Input::get('email');
}
try {
// Update the user
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
$user->email = Input::get('email');
$user->last_name = Input::get('last_name');
$user->employee_num = Input::get('employee_num');
$user->activated = Input::get('activated', $user->activated);
$user->permissions = Input::get('permissions');
@@ -321,6 +293,7 @@ class UsersController extends AdminController
$user->phone = Input::get('phone');
$user->location_id = Input::get('location_id');
$user->manager_id = Input::get('manager_id');
$user->notes = Input::get('notes');
if ($user->manager_id == "") {
$user->manager_id = NULL;
@@ -332,7 +305,7 @@ class UsersController extends AdminController
// Do we want to update the user password?
if ($password) {
if (($password) && (!Config::get('app.lock_passwords'))) {
$user->password = $password;
}
@@ -347,19 +320,22 @@ class UsersController extends AdminController
$groupsToAdd = array_diff($selectedGroups, $userGroups);
$groupsToRemove = array_diff($userGroups, $selectedGroups);
// Assign the user to groups
foreach ($groupsToAdd as $groupId) {
$group = Sentry::getGroupProvider()->findById($groupId);
if (!Config::get('app.lock_passwords')) {
$user->addGroup($group);
}
// Remove the user from groups
foreach ($groupsToRemove as $groupId) {
$group = Sentry::getGroupProvider()->findById($groupId);
$user->removeGroup($group);
}
// Assign the user to groups
foreach ($groupsToAdd as $groupId) {
$group = Sentry::getGroupProvider()->findById($groupId);
$user->addGroup($group);
}
// Remove the user from groups
foreach ($groupsToRemove as $groupId) {
$group = Sentry::getGroupProvider()->findById($groupId);
$user->removeGroup($group);
}
}
// Was the user updated?
if ($user->save()) {
@@ -403,7 +379,7 @@ class UsersController extends AdminController
// Do we have permission to delete this user?
if ($user->isSuperUser() and ! Sentry::getUser()->isSuperUser()) {
if ((!Sentry::getUser()->isSuperUser()) || (Config::get('app.lock_passwords'))) {
// Redirect to the user management page
return Redirect::route('users')->with('error', 'Insufficient permissions!');
}
@@ -490,34 +466,7 @@ class UsersController extends AdminController
}
public function getDatatable()
{
return Datatable::collection(User::all())
->addColumn('name',function ($model) {
$name = HTML::image($model->gravatar(), $model->first_name, array('class'=>'img-circle avatar hidden-phone', 'style'=>'max-width: 45px'));
$name .= HTML::link(URL::action('Controllers\Admin\UsersController@getView', $model->id), $model->first_name . ' ' . $model->last_name, array('class' => 'name'));
return $name;
}
)
->showColumns('email')
->addColumn('assets', function ($model) {
$assets = $model->assets->count();
return $assets;
}
)
->addColumn('licenses', function ($model) {
$licenses = $model->licenses->count();
return $licenses;
}
)
->addColumn('activated', function ($model) {
$activated = $model->isActivated() ? '<i class="fa fa-check"></i>' : '';
return $activated;
}
)
->make();
}
/**
* Unsuspend the given user.
*
@@ -733,6 +682,87 @@ class UsersController extends AdminController
}
public function getDatatable($status = null)
{
$users = User::with('assets','licenses','manager','sentryThrottle');
switch ($status) {
case 'deleted':
$users->GetDeleted();
break;
case '':
$users->GetNotDeleted();
break;
}
$users = $users->orderBy('created_at', 'DESC')->get();
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($users)
{
$action_buttons = '';
if ( ! is_null($users->deleted_at)) {
$action_buttons .= '<a href="'.route('restore/user', $users->id).'" class="btn btn-warning btn-sm"><i class="fa fa-share icon-white"></i></a> ';
} else {
if ($users->accountStatus()=='suspended') {
$action_buttons .= '<a href="'.route('unsuspend/user', $users->id).'" class="btn btn-warning btn-sm"><span class="fa fa-time icon-white"></span></a> ';
}
$action_buttons .= '<a href="'.route('update/user', $users->id).'" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a> ';
if ((Sentry::getId() !== $users->id) && (!Config::get('app.lock_passwords'))) {
$action_buttons .= '<a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/user', $users->id).'" data-content="Are you sure you wish to delete this user?" data-title="Delete '.htmlspecialchars($users->first_name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a> ';
} else {
$action_buttons .= ' <span class="btn delete-asset btn-danger btn-sm disabled"><i class="fa fa-trash icon-white"></i></span>';
}
}
return $action_buttons;
});
return Datatable::collection($users)
->addColumn('name',function($users)
{
return '<a title="'.$users->fullName().'" href="users/'.$users->id.'/view">'.$users->fullName().'</a>';
})
->addColumn('email',function($users)
{
return '<a title="'.$users->email.'" href="mailto:'.$users->email.'">'.$users->email.'</a>';
})
->addColumn('manager',function($users)
{
if ($users->manager) {
return '<a title="'.$users->manager->fullName().'" href="users/'.$users->manager->id.'/view">'.$users->manager->fullName().'</a>';
}
})
->addColumn('assets',function($users)
{
return $users->assets->count();
})
->addColumn('licenses',function($users)
{
return $users->licenses->count();
})
->addColumn('activated',function($users)
{
return $users->isActivated() ? '<i class="fa fa-check"></i>' : '';
})
->addColumn($actions)
->searchColumns('name','email','manager','activated', 'licenses','assets')
->orderColumns('name','email','manager','activated', 'licenses','assets')
->make();
}
@@ -0,0 +1,32 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddNoteToUser extends Migration {
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function ($table) {
$table->text('notes');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function ($table) {
$table->dropColumn('notes');
});
}
}
+2 -2
View File
@@ -244,8 +244,8 @@ class AssetsSeeder extends Seeder
$asset[] = array(
'name' => 'Drunken Shanenigans Laptop',
'asset_tag' => 'NNY6564567775',
'name' => 'Borked Laptop',
'asset_tag' => 'NNY656456778975',
'model_id' => 2,
'serial' => 'WS99689080890',
'purchase_date' => '2012-01-02',
+4 -4
View File
@@ -1,9 +1,9 @@
<?php
return array(
'eula_text' => 'EULA',
'id' => 'ID',
'require_acceptance' => 'Acceptance',
'title' => 'Accessory Name',
'eula_text' => 'اتفاقية ترخيص المستخدم',
'id' => 'رقم المعرف',
'require_acceptance' => 'القبول',
'title' => 'اسم الملحق',
);
+9 -9
View File
@@ -3,13 +3,13 @@
return array(
'assets_user' => 'Assets assigned to :name',
'clone' => 'Clone User',
'contact_user' => 'Contact :name',
'edit' => 'Edit User',
'history_user' => 'History for :name',
'last_login' => 'Last Login',
'software_user' => 'Software Checked out to :name',
'view_user' => 'View User :name',
'usercsv' => 'CSV file',
'assets_user' => 'الجهاز مسجل بعهدة :name',
'clone' => 'نسخ المستخدم',
'contact_user' => 'اتصل بـ :name',
'edit' => 'تعديل المستخدم',
'history_user' => 'الأرشيف الخاص بـ :name',
'last_login' => 'آخر دخول للمستخدم',
'software_user' => 'البرامج المسجلة لـ :name',
'view_user' => 'عرض المستخدم :name',
'usercsv' => 'ملف CSV',
);
+21 -21
View File
@@ -2,33 +2,33 @@
return array(
'user_exists' => 'User already exists!',
'user_not_found' => 'User [:id] does not exist.',
'user_login_required' => 'The login field is required',
'user_password_required' => 'The password is required.',
'insufficient_permissions' => 'Insufficient Permissions.',
'user_deleted_warning' => 'This user has been deleted. You will have to restore this user to edit them or assign them new assets.',
'user_exists' => 'المستخدم موجود مسبقاً!',
'user_not_found' => 'المستخدم [id:] غير موجود.',
'user_login_required' => 'حقل "الدخول" مطلوب',
'user_password_required' => 'كلمة السر مطلوبة.',
'insufficient_permissions' => 'صلاحيات غير كافية.',
'user_deleted_warning' => 'تم حذف المستخدم. سيكون عليك استعادة هذا المستخدم للتعديل عليه او تسليمه اجهزة جديدة.',
'success' => array(
'create' => 'User was successfully created.',
'update' => 'User was successfully updated.',
'delete' => 'User was successfully deleted.',
'ban' => 'User was successfully banned.',
'unban' => 'User was successfully unbanned.',
'suspend' => 'User was successfully suspended.',
'unsuspend' => 'User was successfully unsuspended.',
'restored' => 'User was successfully restored.',
'import' => 'Users imported successfully.',
'create' => 'تم إنشاء المستخدم بنجاح.',
'update' => 'تم تعديل المستخدم بنجاح.',
'delete' => 'تم حذف المستخدم بنجاح.',
'ban' => 'تم حظر المستخدم بنجاح.',
'unban' => 'تم إلغاء الحظر عن المستخدم بنجاح.',
'suspend' => 'تم تعليق المستخدم بنجاح.',
'unsuspend' => 'تم إلغاء التعليق عن المستخدم بنجاح.',
'restored' => 'تم استعادة المستخدم بنجاح.',
'import' => 'تم استيراد المستخدمين بنجاح.',
),
'error' => array(
'create' => 'There was an issue creating the user. Please try again.',
'update' => 'There was an issue updating the user. Please try again.',
'delete' => 'There was an issue deleting the user. Please try again.',
'unsuspend' => 'There was an issue unsuspending the user. Please try again.',
'import' => 'There was an issue importing users. Please try again.',
'asset_already_accepted' => 'This asset has already been accepted.',
'create' => 'حدث خطأ ما أثناء إنشاء هذا المستخدم. حاول مرة أخرى.',
'update' => 'حدث خطأ أثناء تحديث هذا المستخدم. حاول مرة أخرى.',
'delete' => 'حدث خطأ ما أثناء حذف هذا المستخدم. حاول مرة أخرى.',
'unsuspend' => 'حدث خطأ ما أثناء إلغاء التعليق عن المستخدم. حاول مرة أخرى.',
'import' => 'حدث خطأ أثناء استيراد المستخدمين. حاول مرة أخرى.',
'asset_already_accepted' => 'هذا الجهاز تم قبوله مسبقاً.',
),
);
+29 -26
View File
@@ -2,32 +2,35 @@
return array(
'activated' => 'Active',
'allow' => 'Allow',
'checkedout' => 'Assets',
'created_at' => 'Created',
'createuser' => 'Create User',
'deny' => 'Deny',
'email' => 'Email',
'employee_num' => 'Employee No.',
'first_name' => 'First Name',
'activated' => 'نشط',
'allow' => 'السماح',
'checkedout' => 'الأصول',
'created_at' => 'تم إنشاؤه',
'createuser' => 'أنشاء مستخدم جديد',
'deny' => 'رفض',
'email' => 'البريد الالكتروني',
'employee_num' => 'رقم الموظف',
'first_name' => 'الإسم الأول',
'groupnotes' => 'Select a group to assign to the user, remember that a user takes on the permissions of the group they are assigned.',
'id' => 'Id',
'id' => 'رقم المعرف',
'inherit' => 'Inherit',
'job' => 'Job Title',
'last_login' => 'Last Login',
'last_name' => 'Last Name',
'location' => 'Location',
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
'job' => 'العنوان الوظيفي',
'last_login' => 'اخر تسجيل دخول',
'last_name' => 'الإسم الأخير',
'location' => 'الموقع',
'lock_passwords' => 'لا يمكن تغيير تفاصيل الدخول بالنسبة لهذا التنصيب.',
'manager' => 'المدير',
'name' => 'الاسم',
'notes' => 'Notes',
'password_confirm' => 'تأكيد كلمة المرور',
'password' => 'كلمة المرور',
'phone' => 'رقم الهاتف',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'المسمى الوظيفي',
'updateuser' => 'تحديث المستخدم',
'username' => 'اسم المستخدم',
'username_note' => '(يستخدم فقط للربط مع الـ Active Directory وليس لغرض تسجيل الدخول.)',
'cloneuser' => 'نسخ المستخدم',
'viewusers' => 'عرض المستخدمين',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'غير قابلة للتوزيع',
'unknown_admin' => 'إداري غير معروف',
'user' => 'المستخدم',
'users' => 'Users',
'viewassets' => 'عرض الأصول المسجلة',
'website' => 'الموقع',
'welcome' => 'إهلاً وسهلاً، :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Ne-přiřaditelné',
'unknown_admin' => 'Neznámy správce',
'user' => 'Uživatel',
'users' => 'Users',
'viewassets' => 'Zobrazit přiřazený majetek',
'website' => 'Webová stránka',
'welcome' => 'Vítej, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'Bruger',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Hjemmeside',
'welcome' => 'Velkommen, :name',
+2 -2
View File
@@ -6,8 +6,8 @@ return array(
'bulk_update_help' => 'Diese Eingabemaske erlaubt Ihnen die Aktualisierung von mehrere Assets zugleich. Füllen Sie die Felder aus welche Sie ändern möchten. Alle leeren Felder bleiben unverändert. ',
'bulk_update_warn' => 'Sie sind dabei die Eigenschaften von :asset_count assets zu bearbeiten.',
'checkedout_to' => 'Herausgegeben an',
'checkout_date' => 'Checkout Date',
'checkin_date' => 'Checkin Date',
'checkout_date' => 'Ausgecheckt am',
'checkin_date' => 'Eingecheckt am',
'checkout_to' => 'Herausgeben an',
'cost' => 'Einkaufspreis',
'create' => 'Asset erstellen',
+2 -2
View File
@@ -6,7 +6,7 @@ return array(
'auto_increment_assets' => 'Erzeugen von fortlaufenden Asset IDs',
'auto_increment_prefix' => 'Präfix (optional)',
'auto_incrementing_help' => 'Aktiviere zuerst fortlaufende Asset IDs um dies zu setzen',
'barcode_type' => 'Barcode Type',
'barcode_type' => 'Barcode Typ',
'default_eula_text' => 'Standard EULA',
'default_eula_help_text' => 'Sie können ebenfalls eigene EULA\'s mit spezifischen Asset Kategorien verknüpfen.',
'display_asset_name' => 'Zeige Assetname an',
@@ -28,7 +28,7 @@ return array(
'setting' => 'Einstellung',
'settings' => 'Einstellungen',
'site_name' => 'Seitenname',
'snipe_version' => 'Snipe-IT version',
'snipe_version' => 'Snipe-IT Version',
'system' => 'Systeminformationen',
'update' => 'Einstellungen übernehmen',
'value' => 'Wert',
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
'delete' => 'Beim Entfernen des Benutzers ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.',
'unsuspend' => 'Es gab ein Problem beim reaktivieren des Benutzers. Bitte versuche es erneut.',
'import' => 'Es gab ein Problem beim importieren der Benutzer. Bitte noch einmal versuchen.',
'asset_already_accepted' => 'This asset has already been accepted.',
'asset_already_accepted' => 'Dieses Asset wurde bereits akzeptiert.',
),
);
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Die Login-Daten können auf dieser Installation nicht geändert werden.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Kennwort bestätigen',
'password' => 'Passwort',
'phone' => 'Telefonnummer',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Titel',
'updateuser' => 'Benutzer aktualisieren',
'username' => 'Benutzernamen',
'username_note' => '(Dies wird für den Bind an das Active Directory benutzt, nicht für die Anmeldung.)',
'cloneuser' => 'Benutzer kopieren',
'cloneuser' => 'Benutzer kopieren',
'viewusers' => 'Benutzer anzeigen',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Nicht herausgebbar',
'unknown_admin' => 'Unbekannter Administrator',
'user' => 'Nutzer',
'users' => 'Users',
'viewassets' => 'Zugeordnete Assets anzeigen',
'website' => 'Webseite',
'welcome' => 'Wilkommen, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Los detalles de acceso no pueden ser cambiados en esta instalación.',
'manager' => 'Responsable',
'name' => 'Usuario',
'notes' => 'Notes',
'password_confirm' => 'Confirmar Password',
'password' => 'Contraseña',
'phone' => 'Teléfono',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Puesto',
'updateuser' => 'Actualizar Usuario',
'username' => 'UsuarioUsuario',
'username_note' => '(Esto se usa solo para la conexión con Active Directory, no para el inicio de sesión.)',
'cloneuser' => 'Clonar Usuario',
'cloneuser' => 'Clonar Usuario',
'viewusers' => 'Ver Usuarios',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'No Instalable',
'unknown_admin' => 'Admin Desconocido',
'user' => 'Usuario',
'users' => 'Users',
'viewassets' => 'Ver Equipos Asignados',
'website' => 'Sitio web',
'welcome' => 'Bienvenido, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Esimies',
'name' => 'Nimi',
'notes' => 'Notes',
'password_confirm' => 'Vahvista Salasana',
'password' => 'Salasana',
'phone' => 'Puhelin',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Titteli',
'updateuser' => 'Päivitä Käyttäjä',
'username' => 'Käyttäjätunnus',
'username_note' => '(Tätä käytetään vain Active Directory synkronointiin, ei kirjautumista varten.)',
'cloneuser' => 'Monista Käyttäjä',
'cloneuser' => 'Monista Käyttäjä',
'viewusers' => 'Näytä Käyttäjät',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Ei-käyttöönotettavissa',
'unknown_admin' => 'Tuntematon Ylläpitäjä',
'user' => 'Käyttäjä',
'users' => 'Users',
'viewassets' => 'Näytä Käyttöönotetut Laitteet',
'website' => 'Verkkosivu',
'welcome' => 'Tervetuloa, :name',
+12 -12
View File
@@ -1,19 +1,19 @@
<?php
return array(
'about_accessories_title' => 'About Accessories',
'about_accessories_text' => 'Accessories are anything you issue to users but that do not have a serial number (or you do not care about tracking them uniquely). For example, computer mice or keyboards.',
'accessory_category' => 'Accessory Category',
'accessory_name' => 'Accessory Name',
'create' => 'Create Category',
'eula_text' => 'Category EULA',
'eula_text_help' => 'This field allows you to customize your EULAs for specific types of assets. If you only have one EULA for all of your assets, you can check the box below to use the primary default.',
'require_acceptance' => 'Require users to confirm acceptance of assets in this category.',
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
'qty' => 'QTY',
'about_accessories_title' => 'À propos des accessoires',
'about_accessories_text' => 'Les accessoires sont des items que vous assignerai à des utilisateurs mais qui n\'ont pas de numéro de série (ou que vous ne désirez pas en faire un suivi). Par exemple, une souris ou un clavier.',
'accessory_category' => 'Catégorie d\'accessoire',
'accessory_name' => 'Nom de l\'accessoire',
'create' => 'Créér une catégorie',
'eula_text' => 'License de catégorie',
'eula_text_help' => 'Ce champ vous permet de configurer vos licenses d\'utilisation pour chaque type d\'items. Si vous avez seulement une license pour tout vos items, vous pouvez cochez la case ci-dessous pour utiliser celle par défaut.',
'require_acceptance' => 'L\'utilisateur doit confirmer qu\'il accepte les items dans cette catégorie.',
'no_default_eula' => 'Aucune licence d\'utilisation par défaut trouvée. Ajoutez-en une dans la section "Réglages".',
'qty' => 'Quantité',
'total' => 'Total',
'remaining' => 'Avail',
'update' => 'Update Category',
'remaining' => 'Dispo',
'update' => 'Actualiser Catégorie',
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Responsable',
'name' => 'Nom',
'notes' => 'Notes',
'password_confirm' => 'Confirmer le mot de passe',
'password' => 'Mot de passe',
'phone' => 'Téléphone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Titre',
'updateuser' => 'Mettre à jour l\'utilisateur',
'username' => 'Nom d\'utilisateur',
'username_note' => '( Ceci est utilisé pour la liaison ne Active Directory , pas pour la connexion. )',
'cloneuser' => 'Cloner l\'utilisateur',
'cloneuser' => 'Cloner l\'utilisateur',
'viewusers' => 'Voir les utilisateurs',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Non déployable',
'unknown_admin' => 'Admin inconnu',
'user' => 'Utilisateur',
'users' => 'Users',
'viewassets' => 'Voir les actifs associés',
'website' => 'Site web',
'welcome' => 'Bienvenue, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Felettes',
'name' => 'Név',
'notes' => 'Notes',
'password_confirm' => 'Jelszó megerősítése',
'password' => 'Jelszó',
'phone' => 'Telefon',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'Felhasználó',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Pengurus',
'name' => 'Nama',
'notes' => 'Notes',
'password_confirm' => 'Sahkan kata laluan',
'password' => 'Kata Laluan',
'phone' => 'Telefon',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Tajuk',
'updateuser' => 'Kemaskini Pengguna',
'username' => 'Nama pengguna',
'username_note' => '(Ini digunakan untuk \'Active Directory\' sahaja, bukan untuk log masuk.)',
'cloneuser' => 'Pendua Pengguna',
'cloneuser' => 'Pendua Pengguna',
'viewusers' => 'Papar Pengguna',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Tidak Boleh Agih',
'unknown_admin' => 'Pentadbir Tidak Dikenali',
'user' => 'Pengguna',
'users' => 'Users',
'viewassets' => 'Paparkan Harta yang diserahkan',
'website' => 'Tapak web',
'welcome' => 'Selamat Datang :nama',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Naam',
'notes' => 'Notes',
'password_confirm' => 'Bevestig uw wachtwoord',
'password' => 'Wachtwoord',
'phone' => 'Telefoon',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Titel',
'updateuser' => 'Gebruiker bijwerken',
'username' => 'Gebruikersnaam',
'username_note' => '(Dit wordt enkel gebruikt om te koppelen met de Active Directory, niet om aan te melden.)',
'cloneuser' => 'Gebruiker klonen',
'cloneuser' => 'Gebruiker klonen',
'viewusers' => 'Bekijk gebruikers',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Niet-inzetbaar',
'unknown_admin' => 'Onbekende Beheerder',
'user' => 'Gebruiker',
'users' => 'Users',
'viewassets' => 'Bekijk toegekende materialen',
'website' => 'Website',
'welcome' => 'Welkom :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Innloggingsdetaljer kan ikke endres i denne installasjonen.',
'manager' => 'Overordnet',
'name' => 'Navn',
'notes' => 'Notes',
'password_confirm' => 'Bekreft passord',
'password' => 'Passord',
'phone' => 'Telefon',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Tittel',
'updateuser' => 'Oppdater bruker',
'username' => 'Brukernavn',
'username_note' => '(Dette brukes til binding i Active Directory, ikke for innlogging)',
'cloneuser' => 'Klon bruker',
'cloneuser' => 'Klon bruker',
'viewusers' => 'Vis brukere',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Ikke utleverbar',
'unknown_admin' => 'Ukjent admin',
'user' => 'Bruker',
'users' => 'Users',
'viewassets' => 'Vis tildelte eiendeler',
'website' => 'Nettsted',
'welcome' => 'Velkommen, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Nie przypisane',
'unknown_admin' => 'Nieznany Administrator',
'user' => 'Użytkownik',
'users' => 'Users',
'viewassets' => 'Zobacz przypisane aktywa',
'website' => 'Adres witryny',
'welcome' => 'Witaj, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Detalhes de login não podem ser alterados nesta instalação.',
'manager' => 'Gerenciador',
'name' => 'Nome',
'notes' => 'Notes',
'password_confirm' => 'Confirmar Senha',
'password' => 'Senha',
'phone' => 'Telefone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Título',
'updateuser' => 'Atualizar Usuário',
'username' => 'Usuário',
'username_note' => '(Istó é usado somente para conexão do Active Directory, não para login.)',
'cloneuser' => 'Clonar Usuário',
'cloneuser' => 'Clonar Usuário',
'viewusers' => 'Ver Usuários',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Não implantável',
'unknown_admin' => 'Administrador Desconhecido',
'user' => 'Usuário',
'users' => 'Users',
'viewassets' => 'Ver Bens Atribuídos',
'website' => 'Site',
'welcome' => 'Bem-vindo, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Nume',
'notes' => 'Notes',
'password_confirm' => 'Confirma parola',
'password' => 'Parola',
'phone' => 'Telefon',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Titlu',
'updateuser' => 'Actualizeaza utilizator',
'username' => 'Utilizator',
'username_note' => '(Folosit numai pentru legatura cu Active Directory, nu pentru logare.)',
'cloneuser' => 'Cloneaza utilizator',
'cloneuser' => 'Cloneaza utilizator',
'viewusers' => 'Vezi utilizatori',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Nelansabil',
'unknown_admin' => 'Admin necunoscut',
'user' => 'Utilizator',
'users' => 'Users',
'viewassets' => 'Vezi active desemnate',
'website' => 'Website',
'welcome' => 'Bine ati venit, :name',
+2 -2
View File
@@ -6,8 +6,8 @@ return array(
'bulk_update_help' => 'Эта форма позволяет Вам обновить несколько объектов за раз. Заполняйте только те поля, которые нужно изменить. Пустые поля останутся без изменений. ',
'bulk_update_warn' => 'Редактирование свойств :asset_count assets.',
'checkedout_to' => 'Привязан к',
'checkout_date' => 'Checkout Date',
'checkin_date' => 'Checkin Date',
'checkout_date' => 'Дата выдачи',
'checkin_date' => 'Дата возврата',
'checkout_to' => 'Привязать к',
'cost' => 'Цена',
'create' => 'Создать актив',
+2 -2
View File
@@ -6,7 +6,7 @@ return array(
'auto_increment_assets' => 'Генерировать автоматическое возрастание идентификационных номеров активов',
'auto_increment_prefix' => 'Префикс ( не обязательно )',
'auto_incrementing_help' => 'Включить автоматические возрастание ID активов начиная с',
'barcode_type' => 'Barcode Type',
'barcode_type' => 'Тип штрихкода',
'default_eula_text' => 'Пользовательское соглашение по умолчанию',
'default_eula_help_text' => 'Вы так же можете привязать собственные пользовательские соглашения к определенным категориям активов.',
'display_asset_name' => 'Отображаемое имя актива',
@@ -28,7 +28,7 @@ return array(
'setting' => 'Настройка',
'settings' => 'Настройки',
'site_name' => 'Название сайта',
'snipe_version' => 'Snipe-IT version',
'snipe_version' => 'Версия Snipe-IT',
'system' => 'Информация о системе',
'update' => 'Обновить настройки',
'value' => 'Значение',
+1 -1
View File
@@ -28,7 +28,7 @@ return array(
'delete' => 'При удалении пользователя возникла проблема. Пожалуйста попробуйте снова.',
'unsuspend' => 'При разморозке пользователя возникла проблема. Пожалуйста попробуйте снова.',
'import' => 'При импорте пользователей произошла ошибка. Попробуйте еще раз.',
'asset_already_accepted' => 'This asset has already been accepted.',
'asset_already_accepted' => 'Этот актив уже был принят.',
),
);
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Подробности логина не могут быть изменены на этой конфигурации.',
'manager' => 'Руководитель',
'name' => 'Имя',
'notes' => 'Notes',
'password_confirm' => 'Подтверждение пароля',
'password' => 'Пароль',
'phone' => 'Телефон',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Название',
'updateuser' => 'Обновить пользователя',
'username' => 'Имя Пользователя',
'username_note' => '(Это используется для связи с Active Directory, а не для входа.)',
'cloneuser' => 'Дублировать пользователя',
'cloneuser' => 'Дублировать пользователя',
'viewusers' => 'Просмотр пользователей',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Не развертываемый',
'unknown_admin' => 'Неизвестный администратор',
'user' => 'Пользователь',
'users' => 'Users',
'viewassets' => 'Показать присвоенные активы',
'website' => 'Сайт',
'welcome' => 'Добро пожаловать, :name',
+4 -1
View File
@@ -21,13 +21,16 @@ return array(
'lock_passwords' => 'Login details cannot be changed on this installation.',
'manager' => 'Manager',
'name' => 'Name',
'notes' => 'Notes',
'password_confirm' => 'Confirm Password',
'password' => 'Password',
'phone' => 'Phone',
'show_current' => 'Show Current Users',
'show_deleted' => 'Show Deleted Users',
'title' => 'Title',
'updateuser' => 'Update User',
'username' => 'Username',
'username_note' => '(This is used for Active Directory binding only, not for login.)',
'cloneuser' => 'Clone User',
'cloneuser' => 'Clone User',
'viewusers' => 'View Users',
);
+1
View File
@@ -93,6 +93,7 @@ return array(
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'user' => 'User',
'users' => 'Users',
'viewassets' => 'View Assigned Assets',
'website' => 'Website',
'welcome' => 'Welcome, :name',
+20
View File
@@ -0,0 +1,20 @@
<?php
return array(
'about_accessories_title' => 'About Accessories',
'about_accessories_text' => 'Accessories are anything you issue to users but that do not have a serial number (or you do not care about tracking them uniquely). For example, computer mice or keyboards.',
'accessory_category' => 'Accessory Category',
'accessory_name' => 'Accessory Name',
'create' => 'Create Category',
'eula_text' => 'Category EULA',
'eula_text_help' => 'This field allows you to customize your EULAs for specific types of assets. If you only have one EULA for all of your assets, you can check the box below to use the primary default.',
'require_acceptance' => 'Require users to confirm acceptance of assets in this category.',
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
'qty' => 'QTY',
'total' => 'Total',
'remaining' => 'Avail',
'update' => 'Update Category',
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
);
+37
View File
@@ -0,0 +1,37 @@
<?php
return array(
'does_not_exist' => 'Category does not exist.',
'assoc_users' => 'This accessory currently has :count items checked out to users. Please check in the accessories and and try again. ',
'create' => array(
'error' => 'Category was not created, please try again.',
'success' => 'Category created successfully.'
),
'update' => array(
'error' => 'Category was not updated, please try again',
'success' => 'Category updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this category?',
'error' => 'There was an issue deleting the category. Please try again.',
'success' => 'The category was deleted successfully.'
),
'checkout' => array(
'error' => 'Accessory was not checked out, please try again',
'success' => 'Accessory checked out successfully.',
'user_does_not_exist' => 'That user is invalid. Please try again.'
),
'checkin' => array(
'error' => 'Accessory was not checked in, please try again',
'success' => 'Accessory checked in successfully.',
'user_does_not_exist' => 'That user is invalid. Please try again.'
)
);
+9
View File
@@ -0,0 +1,9 @@
<?php
return array(
'eula_text' => 'EULA',
'id' => 'ID',
'require_acceptance' => 'Acceptance',
'title' => 'Accessory Name',
);
+21
View File
@@ -0,0 +1,21 @@
<?php
return array(
'about_asset_categories' => 'About Asset Categories',
'about_categories' => 'Asset categories help you organize your assets. Some example categories might be &quot;Desktops&quot;, &quot;Laptops&quot;, &quot;Mobile Phones&quot;, &quot;Tablets&quot;, and so on, but you can use asset categories any way that makes sense for you.',
'asset_categories' => 'Asset Categories',
'category_name' => 'Category Name',
'clone' => 'Clone Category',
'create' => 'Create Category',
'edit' => 'Edit Category',
'eula_text' => 'Category EULA',
'eula_text_help' => 'This field allows you to customize your EULAs for specific types of assets. If you only have one EULA for all of your assets, you can check the box below to use the primary default.',
'require_acceptance' => 'Require users to confirm acceptance of assets in this category.',
'required_acceptance' => 'This user will be emailed with a link to confirm acceptance of this item.',
'required_eula' => 'This user will be emailed a copy of the EULA',
'no_default_eula' => 'No primary default EULA found. Add one in Settings.',
'update' => 'Update Category',
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
);
+24
View File
@@ -0,0 +1,24 @@
<?php
return array(
'does_not_exist' => 'Category does not exist.',
'assoc_users' => 'This category is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this category and try again. ',
'create' => array(
'error' => 'Category was not created, please try again.',
'success' => 'Category created successfully.'
),
'update' => array(
'error' => 'Category was not updated, please try again',
'success' => 'Category updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this category?',
'error' => 'There was an issue deleting the category. Please try again.',
'success' => 'The category was deleted successfully.'
)
);
+10
View File
@@ -0,0 +1,10 @@
<?php
return array(
'eula_text' => 'EULA',
'id' => 'ID',
'parent' => 'Parent',
'require_acceptance' => 'Acceptance',
'title' => 'Asset Category Name',
);
+12
View File
@@ -0,0 +1,12 @@
<?php
return array(
'about_asset_depreciations' => 'About Asset Depreciations',
'about_depreciations' => 'You can set up asset depreciations to depreciate assets based on straight-line depreciation.',
'asset_depreciations' => 'Asset Depreciations',
'create_depreciation' => 'Create Depreciation',
'depreciation_name' => 'Depreciation Name',
'number_of_months' => 'Number of Months',
'update_depreciation' => 'Update Depreciation',
);
+25
View File
@@ -0,0 +1,25 @@
<?php
return array(
'does_not_exist' => 'Depreciation class does not exist.',
'assoc_users' => 'This depreciation is currently associated with one or more models and cannot be deleted. Please delete the models, and then try deleting again. ',
'create' => array(
'error' => 'Depreciation class was not created, please try again. :(',
'success' => 'Depreciation class created successfully. :)'
),
'update' => array(
'error' => 'Depreciation class was not updated, please try again',
'success' => 'Depreciation class updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this depreciation class?',
'error' => 'There was an issue deleting the depreciation class. Please try again.',
'success' => 'The depreciation class was deleted successfully.'
)
);
+10
View File
@@ -0,0 +1,10 @@
<?php
return array(
'id' => 'ID',
'months' => 'Months',
'term' => 'Term',
'title' => 'Name ',
);
+22
View File
@@ -0,0 +1,22 @@
<?php
return array(
'group_exists' => 'Group already exists!',
'group_not_found' => 'Group [:id] does not exist.',
'group_name_required' => 'The name field is required',
'success' => array(
'create' => 'Group was successfully created.',
'update' => 'Group was successfully updated.',
'delete' => 'Group was successfully deleted.',
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this group?',
'create' => 'There was an issue creating the group. Please try again.',
'update' => 'There was an issue updating the group. Please try again.',
'delete' => 'There was an issue deleting the group. Please try again.',
),
);
+9
View File
@@ -0,0 +1,9 @@
<?php
return array(
'id' => 'Id',
'name' => 'Name',
'users' => '# of Users',
);
+13
View File
@@ -0,0 +1,13 @@
<?php
return array(
'group_management' => 'Group Management',
'create_group' => 'Create New Group',
'edit_group' => 'Edit Group',
'group_name' => 'Group Name',
'group_admin' => 'Group Admin',
'allow' => 'Allow',
'deny' => 'Deny',
);
+41
View File
@@ -0,0 +1,41 @@
<?php
return array(
'bulk_update' => 'Bulk Update Assets',
'bulk_update_help' => 'This form allows you to update multiple assets at once. Only fill in the fields you need to change. Any fields left blank will remain unchanged. ',
'bulk_update_warn' => 'You are about to edit the properties of :asset_count assets.',
'checkedout_to' => 'Checked Out To',
'checkout_date' => 'Checkout Date',
'checkin_date' => 'Checkin Date',
'checkout_to' => 'Checkout to',
'cost' => 'Purchase Cost',
'create' => 'Create Asset',
'date' => 'Purchase Date',
'depreciates_on' => 'Depreciates On',
'depreciation' => 'Depreciation',
'default_location' => 'Default Location',
'eol_date' => 'EOL Date',
'eol_rate' => 'EOL Rate',
'expires' => 'Expires',
'fully_depreciated' => 'Fully Depreciated',
'help_checkout' => 'If you wish to assign this asset immediately, you should select "Ready to Deploy" from the status list above, or unexpected things may happen. ',
'mac_address' => 'MAC Address',
'manufacturer' => 'Manufacturer',
'model' => 'Model',
'months' => 'months',
'name' => 'Asset Name',
'notes' => 'Notes',
'order' => 'Order Number',
'qr' => 'QR Code',
'requestable' => 'Users may request this asset',
'select_statustype' => 'Select Status Type',
'serial' => 'Serial',
'status' => 'Status',
'supplier' => 'Supplier',
'tag' => 'Asset Tag',
'update' => 'Asset Update',
'warranty' => 'Warranty',
'years' => 'years',
)
;
+18
View File
@@ -0,0 +1,18 @@
<?php
return array(
'archived' => 'Archived',
'asset' => 'Asset',
'checkin' => 'Checkin Asset',
'checkout' => 'Checkout Asset to User',
'clone' => 'Clone Asset',
'deployable' => 'Deployable',
'deleted' => 'This asset has been deleted. <a href="/hardware/:asset_id/restore">Click here to restore it</a>.',
'edit' => 'Edit Asset',
'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.<br/> <a href="/hardware/models/:model_id/restore">Click here to restore the model</a>.',
'requestable' => 'Requestable',
'restore' => 'Restore Asset',
'pending' => 'Pending',
'undeployable' => 'Undeployable',
'view' => 'View Asset',
);
+57
View File
@@ -0,0 +1,57 @@
<?php
return array(
'undeployable' => '<strong>Warning: </strong> This asset has been marked as currently undeployable.
If this status has changed, please update the asset status.',
'does_not_exist' => 'Asset does not exist.',
'assoc_users' => 'This asset is currently checked out to a user and cannot be deleted. Please check the asset in first, and then try deleting again. ',
'create' => array(
'error' => 'Asset was not created, please try again. :(',
'success' => 'Asset created successfully. :)'
),
'update' => array(
'error' => 'Asset was not updated, please try again',
'success' => 'Asset updated successfully.',
'nothing_updated' => 'No fields were selected, so nothing was updated.',
),
'restore' => array(
'error' => 'Asset was not restored, please try again',
'success' => 'Asset restored successfully.'
),
'deletefile' => array(
'error' => 'File not deleted. Please try again.',
'success' => 'File successfully deleted.',
),
'upload' => array(
'error' => 'File(s) not uploaded. Please try again.',
'success' => 'File(s) successfully uploaded.',
'nofiles' => 'You did not select any files for upload',
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this asset?',
'error' => 'There was an issue deleting the asset. Please try again.',
'success' => 'The asset was deleted successfully.'
),
'checkout' => array(
'error' => 'Asset was not checked out, please try again',
'success' => 'Asset checked out successfully.',
'user_does_not_exist' => 'That user is invalid. Please try again.'
),
'checkin' => array(
'error' => 'Asset was not checked in, please try again',
'success' => 'Asset checked in successfully.',
'user_does_not_exist' => 'That user is invalid. Please try again.'
)
);
+22
View File
@@ -0,0 +1,22 @@
<?php
return array(
'asset_tag' => 'Asset Tag',
'asset_model' => 'Model',
'book_value' => 'Value',
'change' => 'In/Out',
'checkout_date' => 'Checkout Date',
'checkoutto' => 'Checked Out',
'diff' => 'Diff',
'dl_csv' => 'Download CSV',
'eol' => 'EOL',
'id' => 'ID',
'location' => 'Location',
'purchase_cost' => 'Cost',
'purchase_date' => 'Purchased',
'serial' => 'Serial',
'status' => 'Status',
'title' => 'Asset ',
);
+27
View File
@@ -0,0 +1,27 @@
<?php
return array(
'asset' => 'Asset',
'checkin' => 'Checkin',
'cost' => 'Purchase Cost',
'create' => 'Create License',
'date' => 'Purchase Date',
'depreciation' => 'Depreciation',
'expiration' => 'Expiration Date',
'maintained' => 'Maintained',
'name' => 'Software Name',
'no_depreciation' => 'Do Not Depreciate',
'notes' => 'Notes',
'order' => 'Order No.',
'purchase_order' => 'Purchase Order Number',
'remaining_seats' => 'Remaining Seats',
'seats' => 'Seats',
'serial' => 'Serial',
'supplier' => 'Supplier',
'termination_date' => 'Termination Date',
'to_email' => 'Licensed to Email',
'to_name' => 'Licensed to Name',
'update' => 'Update License',
'checkout_help' => 'You must check a license out to a hardware asset or a person. You can select both, but the owner of the asset must match the person you\'re checking the asset out to.'
);
+19
View File
@@ -0,0 +1,19 @@
<?php
return array(
'checkin' => 'Checkin License Seat',
'checkout_history' => 'Checkout History',
'checkout' => 'Checkout License Seat',
'edit' => 'Edit License',
'clone' => 'Clone License',
'history_for' => 'History for ',
'in_out' => 'In/Out',
'info' => 'License Info',
'license_seats' => 'License Seats',
'seat' => 'Seat',
'seats' => 'Seats',
'software_licenses' => 'Software Licenses',
'user' => 'User',
'view' => 'View License',
);
+50
View File
@@ -0,0 +1,50 @@
<?php
return array(
'does_not_exist' => 'License does not exist.',
'user_does_not_exist' => 'User does not exist.',
'asset_does_not_exist' => 'The asset you are trying to associate with this license does not exist.',
'owner_doesnt_match_asset' => 'The asset you are trying to associate with this license is owned by somene other than the person selected in the assigned to dropdown.',
'assoc_users' => 'This license is currently checked out to a user and cannot be deleted. Please check the license in first, and then try deleting again. ',
'create' => array(
'error' => 'License was not created, please try again.',
'success' => 'License created successfully.'
),
'deletefile' => array(
'error' => 'File not deleted. Please try again.',
'success' => 'File successfully deleted.',
),
'upload' => array(
'error' => 'File(s) not uploaded. Please try again.',
'success' => 'File(s) successfully uploaded.',
'nofiles' => 'You did not select any files for upload',
'invalidfiles' => 'One or more of your files is too large or is a filetype that is not allowed. Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.',
),
'update' => array(
'error' => 'License was not updated, please try again',
'success' => 'License updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this license?',
'error' => 'There was an issue deleting the license. Please try again.',
'success' => 'The license was deleted successfully.'
),
'checkout' => array(
'error' => 'There was an issue checking out the license. Please try again.',
'success' => 'The license was checked out successfully'
),
'checkin' => array(
'error' => 'There was an issue checking in the license. Please try again.',
'success' => 'The license was checked in successfully'
),
);
+17
View File
@@ -0,0 +1,17 @@
<?php
return array(
'assigned_to' => 'Assigned To',
'checkout' => 'In/Out',
'id' => 'ID',
'license_email' => 'License Email',
'license_name' => 'Licensed To',
'purchase_date' => 'Purchase Date',
'purchased' => 'Purchased',
'seats' => 'Seats',
'hardware' => 'Hardware',
'serial' => 'Serial',
'title' => 'License',
);
+25
View File
@@ -0,0 +1,25 @@
<?php
return array(
'does_not_exist' => 'Location does not exist.',
'assoc_users' => 'This location is currently associated with at least one user and cannot be deleted. Please update your users to no longer reference this location and try again. ',
'create' => array(
'error' => 'Location was not created, please try again.',
'success' => 'Location created successfully.'
),
'update' => array(
'error' => 'Location was not updated, please try again',
'success' => 'Location updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this location?',
'error' => 'There was an issue deleting the location. Please try again.',
'success' => 'The location was deleted successfully.'
)
);
+15
View File
@@ -0,0 +1,15 @@
<?php
return array(
'id' => 'ID',
'city' => 'City',
'state' => 'State',
'country' => 'Country',
'create' => 'Create Location',
'update' => 'Update Location',
'name' => 'Location Name',
'address' => 'Address',
'zip' => 'Postal Code',
'locations' => 'Locations',
);
+24
View File
@@ -0,0 +1,24 @@
<?php
return array(
'does_not_exist' => 'Manufacturer does not exist.',
'assoc_users' => 'This manufacturer is currently associated with at least one model and cannot be deleted. Please update your models to no longer reference this manufacturer and try again. ',
'create' => array(
'error' => 'Manufacturer was not created, please try again.',
'success' => 'Manufacturer created successfully.'
),
'update' => array(
'error' => 'Manufacturer was not updated, please try again',
'success' => 'Manufacturer updated successfully.'
),
'delete' => array(
'confirm' => 'Are you sure you wish to delete this manufacturer?',
'error' => 'There was an issue deleting the manufacturer. Please try again.',
'success' => 'The Manufacturer was deleted successfully.'
)
);
+11
View File
@@ -0,0 +1,11 @@
<?php
return array(
'asset_manufacturers' => 'Asset Manufacturers',
'create' => 'Create Manufacturer',
'id' => 'ID',
'name' => 'Manufacturer Name',
'update' => 'Update Manufacturer',
);

Some files were not shown because too many files have changed in this diff Show More