From d970daa666c088e064fff5d37455a04841896477 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:50:43 -0700 Subject: [PATCH 01/17] Add new fields to custom fields table --- ...143353_add_new_fields_to_custom_fields.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 database/migrations/2016_08_23_143353_add_new_fields_to_custom_fields.php diff --git a/database/migrations/2016_08_23_143353_add_new_fields_to_custom_fields.php b/database/migrations/2016_08_23_143353_add_new_fields_to_custom_fields.php new file mode 100644 index 0000000000..ae32779a19 --- /dev/null +++ b/database/migrations/2016_08_23_143353_add_new_fields_to_custom_fields.php @@ -0,0 +1,34 @@ +string('field_values')->nullable()->default(null); + $table->boolean('field_encrypted')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('custom_fields', function (Blueprint $table) { + // + $table->dropColumn('field_values', 'field_encrypted'); + }); + } +} From f04cfb3e7f010cece74d9d30ff24dad47d2a2f35 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:50:52 -0700 Subject: [PATCH 02/17] Allow admins to show status labels in nav --- ...45619_add_show_in_nav_to_status_labels.php | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 database/migrations/2016_08_23_145619_add_show_in_nav_to_status_labels.php diff --git a/database/migrations/2016_08_23_145619_add_show_in_nav_to_status_labels.php b/database/migrations/2016_08_23_145619_add_show_in_nav_to_status_labels.php new file mode 100644 index 0000000000..a67f34db59 --- /dev/null +++ b/database/migrations/2016_08_23_145619_add_show_in_nav_to_status_labels.php @@ -0,0 +1,31 @@ +boolean('show_in_nav')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('status_labels', function (Blueprint $table) { + $table->dropColumn('show_in_nav', 'field_encrypted'); + }); + } +} From 5cf1c8dfa31075fdd5c7f05690101e7794d84e84 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:51:05 -0700 Subject: [PATCH 03/17] Added DB DUMP PATH to docker.env --- docker/docker.env | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/docker.env b/docker/docker.env index 405ec02079..74228420e1 100644 --- a/docker/docker.env +++ b/docker/docker.env @@ -18,6 +18,7 @@ DB_DATABASE=${MYSQL_DATABASE} DB_USERNAME=${MYSQL_USER} DB_PASSWORD=${MYSQL_PASSWORD} DB_PREFIX=null +DB_DUMP_PATH='/usr/bin' # -------------------------------------------- From 14fa7ed96599dc69c199a8dcef8e7e818033f6de Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:51:14 -0700 Subject: [PATCH 04/17] Fixed indenting --- app/Models/CustomField.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/Models/CustomField.php b/app/Models/CustomField.php index f8c0b52b03..fb3f824668 100644 --- a/app/Models/CustomField.php +++ b/app/Models/CustomField.php @@ -11,14 +11,14 @@ class CustomField extends Model */ public static $PredefinedFormats=[ - "ANY" => "", - "ALPHA" => "alpha", - "EMAIL" => "email", - "DATE" => "date", - "URL" => "url", - "NUMERIC" => "numeric", - "MAC" => "regex:/^[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}$/", - "IP" => "ip" + "ANY" => "", + "ALPHA" => "alpha", + "EMAIL" => "email", + "DATE" => "date", + "URL" => "url", + "NUMERIC" => "numeric", + "MAC" => "regex:/^[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}:[a-fA-F0-9]{2}$/", + "IP" => "ip", ]; public $rules=[ From 11dc20de61da20b9a25f10fc0119b08189f7dd63 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:51:45 -0700 Subject: [PATCH 05/17] Show in nav language option --- resources/lang/en/admin/statuslabels/table.php | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/lang/en/admin/statuslabels/table.php b/resources/lang/en/admin/statuslabels/table.php index bd5d544fa5..b9b5b7ec4e 100644 --- a/resources/lang/en/admin/statuslabels/table.php +++ b/resources/lang/en/admin/statuslabels/table.php @@ -10,6 +10,7 @@ return array( 'name' => 'Status Name', 'pending' => 'Pending', 'status_type' => 'Status Type', + 'show_in_nav' => 'Show in side nav', 'title' => 'Status Labels', 'undeployable' => 'Undeployable', 'update' => 'Update Status Label', From 85f3e7e3d43940135315125bf0c530cd1c0853f1 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:51:59 -0700 Subject: [PATCH 06/17] Added filter by status type --- app/Http/Controllers/AssetsController.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/AssetsController.php b/app/Http/Controllers/AssetsController.php index 99468dcb3e..8d99d7dbec 100755 --- a/app/Http/Controllers/AssetsController.php +++ b/app/Http/Controllers/AssetsController.php @@ -1588,7 +1588,7 @@ class AssetsController extends Controller * @since [v2.0] * @return String JSON */ - public function getDatatable($status = null) + public function getDatatable(Request $request, $status = null, $status_id = null) { @@ -1640,6 +1640,12 @@ class AssetsController extends Controller } + if ($request->has('status_id')) { + $assets->where('status_id','=', e($request->get('status_id'))); + } + + + $allowed_columns = [ 'id', 'name', From 7b8403cdb9c5dc6a44b0e61d464d066d3b0b640d Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:52:10 -0700 Subject: [PATCH 07/17] Pass status ID to ajax --- resources/views/hardware/index.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/hardware/index.blade.php b/resources/views/hardware/index.blade.php index 314c40aba6..12b8d52e32 100755 --- a/resources/views/hardware/index.blade.php +++ b/resources/views/hardware/index.blade.php @@ -65,7 +65,7 @@ data-toolbar="#toolbar" class="table table-striped" id="table" - data-url="{{route('api.hardware.list', array(''=>e(Input::get('status')),'order_number'=>e(Input::get('order_number'))))}}" + data-url="{{route('api.hardware.list', array(''=>e(Input::get('status')),'order_number'=>e(Input::get('order_number')), 'status_id'=>e(Input::get('status_id'))))}}" data-cookie="true" data-click-to-select="true" data-cookie-id-table="{{ e(Input::get('status')) }}assetTable-{{ config('version.hash_version') }}"> From ec19924bea69f955898093b5cad9449f10cfc6ea Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:52:34 -0700 Subject: [PATCH 08/17] Custom field types --- resources/macros/macros.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/resources/macros/macros.php b/resources/macros/macros.php index 2ad17c618f..5c7f5cdb9e 100644 --- a/resources/macros/macros.php +++ b/resources/macros/macros.php @@ -472,3 +472,24 @@ Form::macro('username_format', function ($name = "username_format", $selected = return $select; }); + + +Form::macro('customfield_elements', function ($name = "customfield_elements", $selected = null, $class = null) { + + $formats = array( + 'text' => 'Text Box', + 'listbox' => 'List Box', + 'checkbox' => 'Checkbox', + 'radio' => 'Radio Buttons', + ); + + $select = ''; + + return $select; + +}); From 9407b4e28c27a9e3a8ad67ce828d16bacdc939ab Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 15:53:18 -0700 Subject: [PATCH 09/17] Removed console warning --- resources/views/users/edit.blade.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 022288e66a..8eae09e113 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -406,8 +406,6 @@ $(document).ready(function(){ } }); - console.dir($('.superuser')); - $('#genPassword').pGenerator({ 'bind': 'click', 'passwordElement': '#password', From 9d730af50f7317e9a2141c0b0ac9fed33cc96ef3 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 16:03:57 -0700 Subject: [PATCH 10/17] Added single quotes to env for mail sender --- .env.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index c67ba1d5e5..3dbe69bffb 100644 --- a/.env.example +++ b/.env.example @@ -30,7 +30,7 @@ MAIL_USERNAME=YOURUSERNAME MAIL_PASSWORD=YOURPASSWORD MAIL_ENCRYPTION=null MAIL_FROM_ADDR=you@example.com -MAIL_FROM_NAME=Snipe-IT +MAIL_FROM_NAME='Snipe-IT' # -------------------------------------------- @@ -74,4 +74,4 @@ AWS_BUCKET=null APP_LOG=single APP_LOCKED=false FILESYSTEM_DISK=local -APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1 \ No newline at end of file +APP_TRUSTED_PROXIES=192.168.1.1,10.0.0.1 From 90d2d0c7e1d498c8ab65ae3d510b5d3736d078d4 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 16:04:22 -0700 Subject: [PATCH 11/17] Fixes #2469 - corrected config app.url --- resources/views/hardware/view.blade.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 7cfdab9935..66baef4485 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -269,13 +269,13 @@
@if ($asset->image) - + @elseif ($asset->model->image!='') - + @endif @if (App\Models\Setting::getSettings()->qr_code=='1') - + @endif @if (($asset->assigneduser) && ($asset->assigned_to > 0) && ($asset->deleted_at=='')) From fb402e138dde8f42c6e93dd440e7a8e59de3454e Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 18:52:12 -0700 Subject: [PATCH 12/17] Smaller dashboard number --- app/Http/Controllers/DashboardController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/DashboardController.php b/app/Http/Controllers/DashboardController.php index b0f0eac286..60204367a0 100755 --- a/app/Http/Controllers/DashboardController.php +++ b/app/Http/Controllers/DashboardController.php @@ -32,7 +32,7 @@ class DashboardController extends Controller $recent_activity = Actionlog::orderBy('created_at', 'DESC') ->with('accessorylog', 'consumablelog', 'licenselog', 'assetlog', 'adminlog', 'userlog', 'componentlog') - ->take(30) + ->take(20) ->get(); From ad22293f4b7a22cd323b2e020f8d8ae95368a087 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 18:52:42 -0700 Subject: [PATCH 13/17] Added show in nav for status label views and controller --- .../Controllers/StatuslabelsController.php | 5 ++++- resources/views/layouts/default.blade.php | 13 ++++++++++-- resources/views/statuslabels/edit.blade.php | 21 ++++++++++++------- resources/views/statuslabels/index.blade.php | 1 + 4 files changed, 29 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/StatuslabelsController.php b/app/Http/Controllers/StatuslabelsController.php index fb4cab69ef..f680ec5696 100755 --- a/app/Http/Controllers/StatuslabelsController.php +++ b/app/Http/Controllers/StatuslabelsController.php @@ -120,6 +120,7 @@ class StatuslabelsController extends Controller $statuslabel->pending = $statustype['pending']; $statuslabel->archived = $statustype['archived']; $statuslabel->color = e(Input::get('color')); + $statuslabel->show_in_nav = e(Input::get('show_in_nav'),0); // Was the asset created? @@ -208,6 +209,7 @@ class StatuslabelsController extends Controller $statuslabel->pending = $statustype['pending']; $statuslabel->archived = $statustype['archived']; $statuslabel->color = e(Input::get('color')); + $statuslabel->show_in_nav = e(Input::get('show_in_nav'),0); // Was the asset created? @@ -258,7 +260,7 @@ class StatuslabelsController extends Controller public function getDatatable() { - $statuslabels = Statuslabel::select(array('id','name','deployable','pending','archived','color')) + $statuslabels = Statuslabel::select(array('id','name','deployable','pending','archived','color','show_in_nav')) ->whereNull('deleted_at'); if (Input::has('search')) { @@ -314,6 +316,7 @@ class StatuslabelsController extends Controller 'type' => e($label_type), 'name' => e($statuslabel->name), 'color' => $color, + 'show_in_nav' => ($statuslabel->show_in_nav=='1') ? trans('general.yes') : trans('general.no'), 'actions' => $actions ); } diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index 9b119d9374..66af2f7779 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -405,6 +405,16 @@
  • @lang('general.list_all')
  • + + get(); ?> + @if (count($status_navs) > 0) +
  •  
  • + @foreach ($status_navs as $status_nav) +
  • {{ $status_nav->name }}
  • + @endforeach + @endif + + @lang('general.deployed') @@ -489,8 +499,7 @@
  • @lang('general.asset_report')
  • @lang('general.unaccepted_asset_report')
  • @lang('general.accessory_report')
  • -
  • @lang('general.custom_report')
  • - +
  • @lang('general.custom_report')
  • @endcan diff --git a/resources/views/statuslabels/edit.blade.php b/resources/views/statuslabels/edit.blade.php index 0cec6ac2e3..efb9e5dfb8 100755 --- a/resources/views/statuslabels/edit.blade.php +++ b/resources/views/statuslabels/edit.blade.php @@ -38,9 +38,8 @@
    -
    +
    -
    {!! $errors->first('name', ' :message') !!} @@ -48,9 +47,8 @@
    -
    - +
    +
    {{ Form::select('statuslabel_types', $statuslabel_types, $statuslabel->getStatuslabelType(), array('class'=>'select2', 'style'=>'min-width:400px')) }} {!! $errors->first('statuslabel_types', ' :message') !!} @@ -65,14 +63,12 @@ {{ Form::text('color', Input::old('color', $statuslabel->color), array('class' => 'form-control', 'style' => 'width: 100px;', 'maxlength'=>'10')) }}
    - - {!! $errors->first('header_color', ':message') !!}
    -
    +
    @@ -80,6 +76,15 @@
    + +
    + + +
    + + diff --git a/resources/views/statuslabels/index.blade.php b/resources/views/statuslabels/index.blade.php index 6541bb35da..d040596b48 100755 --- a/resources/views/statuslabels/index.blade.php +++ b/resources/views/statuslabels/index.blade.php @@ -32,6 +32,7 @@ {{ trans('admin/statuslabels/table.name') }} {{ trans('admin/statuslabels/table.status_type') }} {{ trans('admin/statuslabels/table.color') }} + {{ trans('admin/statuslabels/table.show_in_nav') }} {{ trans('table.actions') }} From f38912a5cf53ba01b54eab9322722ef4ddf8923c Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 23 Aug 2016 18:52:54 -0700 Subject: [PATCH 14/17] Custom fields additions --- app/Helpers/Helper.php | 2 +- .../custom_fields/create_field.blade.php | 40 +++++++++++++------ 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index b0fc905511..4db2a4a634 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -237,7 +237,7 @@ class Helper { $keys=array_keys(CustomField::$PredefinedFormats); $stuff=array_combine($keys, $keys); - return $stuff+["" => "Custom Format..."]; + return $stuff+["custom" => "Custom Format..."]; } public static function barcodeDimensions($barcode_type = 'QRCODE') diff --git a/resources/views/custom_fields/create_field.blade.php b/resources/views/custom_fields/create_field.blade.php index 99e97d4762..57146d5088 100644 --- a/resources/views/custom_fields/create_field.blade.php +++ b/resources/views/custom_fields/create_field.blade.php @@ -28,10 +28,9 @@
    - + -
    +
    {!! $errors->first('name', ' :message') !!}
    @@ -39,12 +38,11 @@
    - + -
    +
    - {{ Form::select("element",["text" => "Text Box"],"text", array('class'=>'select2 form-control')) }} + {!! Form::customfield_elements('customfield_element', Input::old('customfield_element'), 'select2 form-control') !!} {!! $errors->first('element', ' :message') !!}
    @@ -52,17 +50,16 @@
    - + -
    - {{ Form::select("format",\App\Helpers\Helper::predefined_formats(),"ANY", array('class'=>'select2 form-control')) }} +
    + {{ Form::select("format",\App\Helpers\Helper::predefined_formats(),"ANY", array('class'=>'format select2 form-control')) }} {!! $errors->first('format', ' :message') !!}
    -
    + +@section('moar_scripts') + +@stop + + @stop From d72443c3359985ef25e683386a6105fcec22c20c Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 25 Aug 2016 16:35:31 -0700 Subject: [PATCH 15/17] Use trans() for custom format text --- app/Helpers/Helper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 4db2a4a634..de1cae1ca2 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -237,7 +237,7 @@ class Helper { $keys=array_keys(CustomField::$PredefinedFormats); $stuff=array_combine($keys, $keys); - return $stuff+["custom" => "Custom Format..."]; + return $stuff+["" => trans('admin/custom_fields/general.custom_format')]; } public static function barcodeDimensions($barcode_type = 'QRCODE') From e89fd9b3a211141c52e5675feb4ff6514fb2f699 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 25 Aug 2016 16:35:45 -0700 Subject: [PATCH 16/17] Additional strings --- resources/lang/en/admin/custom_fields/general.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/resources/lang/en/admin/custom_fields/general.php b/resources/lang/en/admin/custom_fields/general.php index 7182fecfdc..7753295880 100644 --- a/resources/lang/en/admin/custom_fields/general.php +++ b/resources/lang/en/admin/custom_fields/general.php @@ -5,11 +5,17 @@ return array( 'field' => 'Field', 'about_fieldsets_title' => 'About Fieldsets', 'about_fieldsets_text' => 'Fieldsets allow you to create groups of custom fields that are frequently re-used used for specific asset model types.', + 'custom_format' => 'Custom format...', + 'encrypt_field' => 'Encrypt field in database', + 'encrypt_field_help' => 'WARNING: Encrypting a field makes it unsearchable.', + 'fieldset' => 'Fieldset', 'qty_fields' => 'Qty Fields', 'fieldsets' => 'Fieldsets', 'fieldset_name' => 'Fieldset Name', 'field_name' => 'Field Name', + 'field_values' => 'Field Values', + 'field_values_help' => 'Add selectable options, one per line. Blank lines other than the first line will be ignored.', 'field_element' => 'Form Element', 'field_element_short' => 'Element', 'field_format' => 'Format', From 61aa9beddba249419094cda88b41486ad226cdf7 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 25 Aug 2016 16:36:00 -0700 Subject: [PATCH 17/17] Added new fields to custom fields views --- .../custom_fields/create_field.blade.php | 84 +++++++++++++++---- 1 file changed, 67 insertions(+), 17 deletions(-) diff --git a/resources/views/custom_fields/create_field.blade.php b/resources/views/custom_fields/create_field.blade.php index 57146d5088..13208e136a 100644 --- a/resources/views/custom_fields/create_field.blade.php +++ b/resources/views/custom_fields/create_field.blade.php @@ -36,18 +36,33 @@
    - +
    - {!! Form::customfield_elements('customfield_element', Input::old('customfield_element'), 'select2 form-control') !!} + {!! Form::customfield_elements('customfield_element', Input::old('customfield_element'), 'field_element select2 form-control') !!} + {!! $errors->first('customfield_element', ' :message') !!} - {!! $errors->first('element', ' :message') !!}
    + + +
    @@ -62,27 +77,37 @@ + + +
    +
    + {{ Form::close() }}

    About Custom Fields

    Custom fields allow you to add arbitrary attributes to assets.

    @@ -91,18 +116,43 @@ @section('moar_scripts') @stop