From ae567c08db7720b516028a37eaddc33979aac28a Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 03:44:01 -0700 Subject: [PATCH 1/8] =?UTF-8?q?Fixes=20incorrect=20language=20reference=20?= =?UTF-8?q?for=20consumables=20on=20checkout=20if=20consumable=20doesn?= =?UTF-8?q?=E2=80=99t=20exist?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/ConsumablesController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/ConsumablesController.php b/app/Http/Controllers/ConsumablesController.php index ccc8a2e97..eb6143125 100644 --- a/app/Http/Controllers/ConsumablesController.php +++ b/app/Http/Controllers/ConsumablesController.php @@ -209,7 +209,7 @@ class ConsumablesController extends Controller public function getCheckout($consumableId) { if (is_null($consumable = Consumable::find($consumableId))) { - return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.not_found')); + return redirect()->route('consumables.index')->with('error', trans('admin/consumables/message.does_not_exist')); } $this->authorize('checkout', $consumable); return view('consumables/checkout', compact('consumable'))->with('users_list', Helper::usersList()); From 1e65c7bf9ad1b4bd6a9dc5e58b720d954001cf4b Mon Sep 17 00:00:00 2001 From: Nicolai Essig Date: Thu, 19 Oct 2017 15:01:42 +0200 Subject: [PATCH 2/8] load custom css also on login page (#4260) --- resources/views/layouts/basic.blade.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/views/layouts/basic.blade.php b/resources/views/layouts/basic.blade.php index a8d3ec66f..ca37fadad 100644 --- a/resources/views/layouts/basic.blade.php +++ b/resources/views/layouts/basic.blade.php @@ -32,6 +32,10 @@ background-color: {{ $snipeSettings->header_color }}; border-color: {{ $snipeSettings->header_color }}; } + + @if ($snipeSettings->custom_css) + {{ $snipeSettings->show_custom_css() }} + @endif @endif From 068308ef56d59fd1ff7e045743a64b11fc576ba5 Mon Sep 17 00:00:00 2001 From: Robin Temme Date: Thu, 19 Oct 2017 15:04:02 +0200 Subject: [PATCH 3/8] Change changepassword menu icon to fixed width (#4262) --- resources/views/layouts/default.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 7d327edb5..d30dd16c8 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -303,7 +303,7 @@
  • - @lang('general.changepassword') + @lang('general.changepassword')
  • From 471d665408769b82f689b3c71328930ab0772358 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 06:07:42 -0700 Subject: [PATCH 4/8] Add @thakilla as a contributor --- .all-contributorsrc | 9 +++++++++ README.md | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 60e3c89e8..5a0a63117 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -791,6 +791,15 @@ "contributions": [ "code" ] + }, + { + "login": "thakilla", + "name": "Nicolai Essig", + "avatar_url": "https://avatars0.githubusercontent.com/u/449411?v=4", + "profile": "http://www.nicolai-essig.de", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index f4840f508..4a5172016 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ [![Build Status](https://travis-ci.org/snipe/snipe-it.svg?branch=develop)](https://travis-ci.org/snipe/snipe-it) [![Stories in Ready](https://badge.waffle.io/snipe/snipe-it.png?label=ready+for+dev&title=Ready+for+development)](http://waffle.io/snipe/snipe-it) [![Maintenance](https://img.shields.io/maintenance/yes/2017.svg)]() [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeyhead.svg?style=social)](https://twitter.com/snipeyhead) [![Zenhub](https://img.shields.io/badge/Shipping_faster_with-ZenHub-5e60ba.svg)](https://zenhub.io) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade) -[![All Contributors](https://img.shields.io/badge/all_contributors-85-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-86-orange.svg?style=flat-square)](#contributors) ## Snipe-IT - Open Source Asset Management System @@ -68,7 +68,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
    Gil Rutkowski](http://FlashingCursor.com)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=flashingcursor "Code") | [
    Desmond Morris](http://www.desmondmorris.com)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=desmondmorris "Code") | [
    Nick Peelman](http://peelman.us)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=peelman "Code") | [
    Abraham Vegh](https://abrahamvegh.com)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=abrahamvegh "Code") | [
    Mohamed Rashid](https://github.com/rashivkp)
    [πŸ“–](https://github.com/snipe/snipe-it/commits?author=rashivkp "Documentation") | [
    Kasey](http://hinchk.github.io)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=HinchK "Code") | [
    Brett](https://github.com/BrettFagerlund)
    [⚠️](https://github.com/snipe/snipe-it/commits?author=BrettFagerlund "Tests") | | [
    Jason Spriggs](http://jasonspriggs.com)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=jasonspriggs "Code") | [
    Nate Felton](http://n8felton.wordpress.com)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=n8felton "Code") | [
    Manasses Ferreira](http://homepages.dcc.ufmg.br/~manassesferreira)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=manassesferreira "Code") | [
    Steve](https://github.com/steveelwood)
    [⚠️](https://github.com/snipe/snipe-it/commits?author=steveelwood "Tests") | [
    matc](http://twitter.com/matc)
    [⚠️](https://github.com/snipe/snipe-it/commits?author=matc "Tests") | [
    Cole R. Davis](http://www.davisracingteam.com)
    [⚠️](https://github.com/snipe/snipe-it/commits?author=VanillaNinjaD "Tests") | [
    gibsonjoshua55](https://github.com/gibsonjoshua55)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=gibsonjoshua55 "Code") | | [
    Robin Temme](https://github.com/zwerch)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=zwerch "Code") | [
    Iman](https://github.com/imanghafoori1)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=imanghafoori1 "Code") | [
    Richard Hofman](https://github.com/richardhofman6)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=richardhofman6 "Code") | [
    gizzmojr](https://github.com/gizzmojr)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=gizzmojr "Code") | [
    Jenny Li](https://github.com/imjennyli)
    [πŸ“–](https://github.com/snipe/snipe-it/commits?author=imjennyli "Documentation") | [
    Geoff Young](https://github.com/GeoffYoung)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=GeoffYoung "Code") | [
    Elliot Blackburn](http://www.elliotblackburn.com)
    [πŸ“–](https://github.com/snipe/snipe-it/commits?author=BlueHatbRit "Documentation") | -| [
    TΓ΅nis Ormisson](http://andmemasin.eu)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=TonisOrmisson "Code") | +| [
    TΓ΅nis Ormisson](http://andmemasin.eu)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=TonisOrmisson "Code") | [
    Nicolai Essig](http://www.nicolai-essig.de)
    [πŸ’»](https://github.com/snipe/snipe-it/commits?author=thakilla "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! From 4bc551db82d481b3190ea3d9629f34cc0510ef68 Mon Sep 17 00:00:00 2001 From: Nicolai Essig Date: Thu, 19 Oct 2017 15:08:01 +0200 Subject: [PATCH 5/8] ref #4042 scale barcode with label size (#4258) --- app/Http/Controllers/AssetsController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/AssetsController.php b/app/Http/Controllers/AssetsController.php index 5003ae924..0e91949fb 100755 --- a/app/Http/Controllers/AssetsController.php +++ b/app/Http/Controllers/AssetsController.php @@ -675,8 +675,11 @@ class AssetsController extends Controller $header = ['Content-type' => 'image/png']; return response()->file($barcode_file, $header); } else { + // Calculate barcode width in pixel based on label width (inch) + $barcode_width = ($settings->labels_width - $settings->labels_display_sgutter) * 96.000000000001; + $barcode = new \Com\Tecnick\Barcode\Barcode(); - $barcode_obj = $barcode->getBarcodeObj($settings->alt_barcode,$asset->asset_tag,300,50); + $barcode_obj = $barcode->getBarcodeObj($settings->alt_barcode,$asset->asset_tag,($barcode_width < 300 ? $barcode_width : 300),50); file_put_contents($barcode_file, $barcode_obj->getPngData()); return response($barcode_obj->getPngData())->header('Content-type', 'image/png'); From 81aaed92cea12366593f750929411fca374ae9f1 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 06:08:58 -0700 Subject: [PATCH 6/8] Change default session name --- config/session.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/session.php b/config/session.php index d4dc3fedd..7e907834b 100644 --- a/config/session.php +++ b/config/session.php @@ -109,7 +109,7 @@ return [ | */ - 'cookie' => env('COOKIE_NAME', 'sl53_session'), + 'cookie' => env('COOKIE_NAME', 'snipeitv4_session'), /* |-------------------------------------------------------------------------- From cb50142ba35a79b6925c202764ac0ff7dc2127b3 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 06:16:03 -0700 Subject: [PATCH 7/8] Update @thakilla as a contributor --- app/Http/Controllers/SettingsController.php | 46 +++++++------- resources/views/settings/general.blade.php | 68 ++++++++++++++++++++- 2 files changed, 91 insertions(+), 23 deletions(-) diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index dcd85d535..a65dd3270 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -136,28 +136,6 @@ class SettingsController extends Controller ->with('section', 'Pre-Flight Check'); } - /** - * Test the email configuration - * - * @author [A. Gianotto] [] - * @since [v3.0] - * @return Redirect - */ - public function ajaxTestEmail() - { - - try { - Mail::send('emails.test', [], function ($m) { - $m->to(config('mail.from.address'), config('mail.from.name')); - $m->replyTo(config('mail.reply_to.address'), config('mail.reply_to.name')); - $m->subject(trans('mail.test_email')); - }); - return 'success'; - } catch (Exception $e) { - return 'error'; - } - - } /** * Save the first admin user from Setup. @@ -1024,4 +1002,28 @@ class SettingsController extends Controller public function api() { return view('settings.api'); } + + + + /** + * Test the email configuration + * + * @author [A. Gianotto] [] + * @since [v3.0] + * @return Redirect + */ + public function ajaxTestEmail() + { + try { + Mail::send('emails.test', [], function ($m) { + $m->to(config('mail.from.address'), config('mail.from.name')); + $m->replyTo(config('mail.reply_to.address'), config('mail.reply_to.name')); + $m->subject(trans('mail.test_email')); + }); + return response()->json(['message' => 'Mail sent! '], 200); + } catch (Exception $e) { + return response()->json(['message' => $e->getMessage()], 500); + } + + } } diff --git a/resources/views/settings/general.blade.php b/resources/views/settings/general.blade.php index bd5584109..d33691b84 100644 --- a/resources/views/settings/general.blade.php +++ b/resources/views/settings/general.blade.php @@ -178,6 +178,27 @@ + +
    +
    + {{ Form::label('login_note', 'Test Mail') }} +
    +
    + + Send Test + + + +
    +
    +
    +
    +
    +

    This will attempt to send a test mail to {{ config('mail.reply_to.address') }}.

    +
    + +
    + - {{Form::close()}} + {{ Form::close() }} @stop @@ -208,5 +229,50 @@ }).on('ifUnchecked', function(){ $('#auto_increment_prefix').prop('disabled', true); }); + + + // Test Mail + $("#mailtest").click(function(){ + $("#mailtestrow").removeClass('text-success'); + $("#mailtestrow").removeClass('text-danger'); + $("#mailteststatus").html(''); + $("#mailtesticon").html(' Sending Test Email...'); + $.ajax({ + url: '{{ route('settings.mailtest') }}', + type: 'POST', + headers: { + "X-Requested-With": 'XMLHttpRequest', + "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content') + }, + data: {}, + dataType: 'json', + + success: function (data) { + $("#mailtesticon").html(''); + $("#mailteststatus").html(''); + $('#mailteststatus-error').html(''); + $("#mailteststatus").removeClass('text-danger'); + $("#mailteststatus").addClass('text-success'); + $("#mailteststatus").html(' Mail sent!'); + }, + + error: function (data) { + + $("#mailtesticon").html(''); + $("#mailteststatus").html(''); + $('#mailteststatus-error').html(''); + $("#mailteststatus").removeClass('text-success'); + $("#mailteststatus").addClass('text-danger'); + $("#mailtesticon").html(''); + $('#mailteststatus').html('Mail could not be sent.'); + $('#mailteststatus-error').html('Error: ' + data.responseJSON.messages); + + } + + + }); + }); + + @stop From cd193ce8bba01e9587d8c278aee3026f2467ce11 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 19 Oct 2017 08:18:56 -0700 Subject: [PATCH 8/8] Fixes #4036 - adds test email button to general settings --- .../Controllers/Api/SettingsController.php | 25 ++++++ app/Http/Controllers/SettingsController.php | 5 +- resources/views/settings/general.blade.php | 12 ++- resources/views/setup/index.blade.php | 86 +++++++++++++------ routes/api.php | 10 ++- 5 files changed, 107 insertions(+), 31 deletions(-) diff --git a/app/Http/Controllers/Api/SettingsController.php b/app/Http/Controllers/Api/SettingsController.php index 6cc6724e0..f8ba5942b 100644 --- a/app/Http/Controllers/Api/SettingsController.php +++ b/app/Http/Controllers/Api/SettingsController.php @@ -7,6 +7,7 @@ use App\Http\Controllers\Controller; use App\Models\Ldap; use Validator; use App\Models\Setting; +use Mail; class SettingsController extends Controller { @@ -160,4 +161,28 @@ class SettingsController extends Controller } + /** + * Test the email configuration + * + * @author [A. Gianotto] [] + * @since [v3.0] + * @return Redirect + */ + public function ajaxTestEmail() + { + try { + Mail::send('emails.test', [], function ($m) { + $m->to(config('mail.from.address'), config('mail.from.name')); + $m->replyTo(config('mail.reply_to.address'), config('mail.reply_to.name')); + $m->subject(trans('mail.test_email')); + }); + return response()->json(['message' => 'Mail sent! '], 200); + } catch (Exception $e) { + return response()->json(['message' => $e->getMessage()], 500); + } + + } + + + } diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index a65dd3270..2cbf5cd28 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -21,6 +21,7 @@ use App\Models\User; use App\Http\Requests\SetupUserRequest; use App\Http\Requests\ImageUploadRequest; use App\Http\Requests\SettingsLdapRequest; +use App\Helpers\Helper; /** * This controller handles all actions related to Settings for @@ -1020,9 +1021,9 @@ class SettingsController extends Controller $m->replyTo(config('mail.reply_to.address'), config('mail.reply_to.name')); $m->subject(trans('mail.test_email')); }); - return response()->json(['message' => 'Mail sent! '], 200); + return response()->json(Helper::formatStandardApiResponse('success', null, 'Maiol sent!')); } catch (Exception $e) { - return response()->json(['message' => $e->getMessage()], 500); + return response()->json(Helper::formatStandardApiResponse('success', null, $e->getMessage())); } } diff --git a/resources/views/settings/general.blade.php b/resources/views/settings/general.blade.php index d33691b84..ffa7ad954 100644 --- a/resources/views/settings/general.blade.php +++ b/resources/views/settings/general.blade.php @@ -194,7 +194,7 @@
    -

    This will attempt to send a test mail to {{ config('mail.reply_to.address') }}.

    +

    This will attempt to send a test mail to {{ config('mail.from.address') }}.

    @@ -235,10 +235,12 @@ $("#mailtest").click(function(){ $("#mailtestrow").removeClass('text-success'); $("#mailtestrow").removeClass('text-danger'); + $("#mailtesticon").html(''); $("#mailteststatus").html(''); + $('#mailteststatus-error').html(''); $("#mailtesticon").html(' Sending Test Email...'); $.ajax({ - url: '{{ route('settings.mailtest') }}', + url: '{{ route('api.settings.mailtest') }}', type: 'POST', headers: { "X-Requested-With": 'XMLHttpRequest', @@ -265,7 +267,11 @@ $("#mailteststatus").addClass('text-danger'); $("#mailtesticon").html(''); $('#mailteststatus').html('Mail could not be sent.'); - $('#mailteststatus-error').html('Error: ' + data.responseJSON.messages); + if (data.responseJSON) { + $('#mailteststatus-error').html('Error: ' + data.responseJSON.messages); + } else { + console.dir(data); + } } diff --git a/resources/views/setup/index.blade.php b/resources/views/setup/index.blade.php index 602b27275..033d2da05 100644 --- a/resources/views/setup/index.blade.php +++ b/resources/views/setup/index.blade.php @@ -165,13 +165,22 @@ Create a User :: - + Email - + + + Send Test - - - + + + + +
    +
    +
    +
    +

    This will attempt to send a test mail to {{ config('mail.from.address') }}.

    +
    @@ -190,34 +199,61 @@ Create a User :: @stop diff --git a/routes/api.php b/routes/api.php index fe0f5f325..db1222977 100644 --- a/routes/api.php +++ b/routes/api.php @@ -428,7 +428,15 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () { 'as' => 'api.settings.ldaptestlogin', 'uses' => 'SettingsController@ldaptestlogin' ]); - + + Route::post( + 'settings/mailtest', + [ + 'as' => 'api.settings.mailtest', + 'uses' => 'SettingsController@ajaxTestEmail' ] + ); + + Route::resource('settings', 'SettingsController', [ 'names' =>