diff --git a/.all-contributorsrc b/.all-contributorsrc index a8452eb83c..db64759ede 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -874,6 +874,15 @@ "contributions": [ "code" ] + }, + { + "login": "seanmcilvenna", + "name": "Sean McIlvenna", + "avatar_url": "https://avatars2.githubusercontent.com/u/5384694?v=4", + "profile": "https://www.seanmcilvenna.com", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index 339f265261..3eb819c40a 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
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") | [
Nicolai Essig](http://www.nicolai-essig.de)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=thakilla "Code") | [
Danielle](https://github.com/techincolor)
[πŸ“–](https://github.com/snipe/snipe-it/commits?author=techincolor "Documentation") | [
Lawrence](https://github.com/TheVakman)
[⚠️](https://github.com/snipe/snipe-it/commits?author=TheVakman "Tests") [πŸ›](https://github.com/snipe/snipe-it/issues?q=author%3ATheVakman "Bug reports") | [
uknzaeinozpas](https://github.com/uknzaeinozpas)
[⚠️](https://github.com/snipe/snipe-it/commits?author=uknzaeinozpas "Tests") [πŸ’»](https://github.com/snipe/snipe-it/commits?author=uknzaeinozpas "Code") | [
Ryan](https://github.com/Gelob)
[πŸ“–](https://github.com/snipe/snipe-it/commits?author=Gelob "Documentation") | [
vcordes79](https://github.com/vcordes79)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=vcordes79 "Code") | -| [
fordster78](https://github.com/fordster78)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=fordster78 "Code") | [
CronKz](https://github.com/CronKz)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=CronKz "Code") | [
Tim Bishop](https://github.com/tdb)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=tdb "Code") | +| [
fordster78](https://github.com/fordster78)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=fordster78 "Code") | [
CronKz](https://github.com/CronKz)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=CronKz "Code") | [
Tim Bishop](https://github.com/tdb)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=tdb "Code") | [
Sean McIlvenna](https://www.seanmcilvenna.com)
[πŸ’»](https://github.com/snipe/snipe-it/commits?author=seanmcilvenna "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! diff --git a/app/Console/Commands/LdapSync.php b/app/Console/Commands/LdapSync.php index aca8921deb..e0e001a997 100755 --- a/app/Console/Commands/LdapSync.php +++ b/app/Console/Commands/LdapSync.php @@ -85,6 +85,8 @@ class LdapSync extends Command } /* Determine which location to assign users to by default. */ + $location = NULL; + if ($this->option('location')!='') { $location = Location::where('name', '=', $this->option('location'))->first(); LOG::debug('Location name '.$this->option('location').' passed'); @@ -93,9 +95,8 @@ class LdapSync extends Command $location = Location::where('id', '=', $this->option('location_id'))->first(); LOG::debug('Location ID '.$this->option('location_id').' passed'); LOG::debug('Importing to '.$location->name.' ('.$location->id.')'); - } else { - $location = NULL; } + if (!isset($location)) { LOG::debug('That location is invalid or a location was not provided, so no location will be assigned by default.'); } @@ -188,7 +189,7 @@ class LdapSync extends Command if ($item['ldap_location_override'] == true) { $user->location_id = $item['location_id']; - } else if ($location) { + } elseif ((isset($location)) && (!empty($location))) { $user->location_id = e($location->id); } diff --git a/app/Http/Controllers/Api/AssetMaintenancesController.php b/app/Http/Controllers/Api/AssetMaintenancesController.php index b9f1ac864c..2bf5b290c8 100644 --- a/app/Http/Controllers/Api/AssetMaintenancesController.php +++ b/app/Http/Controllers/Api/AssetMaintenancesController.php @@ -40,10 +40,24 @@ class AssetMaintenancesController extends Controller $maintenances = $maintenances->TextSearch(e($request->input('search'))); } + if ($request->has('asset_id')) { + $maintenances->where('asset_id', '=', $request->input('asset_id')); + } + $offset = request('offset', 0); $limit = request('limit', 50); - $allowed_columns = ['id','title','asset_maintenance_time','asset_maintenance_type','cost','start_date','completion_date','notes','user_id']; + $allowed_columns = [ + 'id', + 'title', + 'asset_maintenance_time', + 'asset_maintenance_type', + 'cost', + 'start_date', + 'completion_date', + 'notes', + 'user_id' + ]; $order = Input::get('order') === 'asc' ? 'asc' : 'desc'; $sort = in_array(Input::get('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at'; diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index ef89f948ae..6d8c52d728 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -557,7 +557,7 @@ class AssetsController extends Controller $error_payload['target_type'] = 'location'; } elseif (request('checkout_to_type')=='asset') { - $target = Asset::where('id','!=',$assetId)->find(request('assigned_asset')); + $target = Asset::where('id','!=',$asset_id)->find(request('assigned_asset')); $asset->location_id = $target->rtd_location_id; // Override with the asset's location_id if it has one if ($target->location_id!='') { diff --git a/app/Http/Controllers/Api/GroupsController.php b/app/Http/Controllers/Api/GroupsController.php index dc19f17502..6a5f194ab8 100644 --- a/app/Http/Controllers/Api/GroupsController.php +++ b/app/Http/Controllers/Api/GroupsController.php @@ -20,7 +20,7 @@ class GroupsController extends Controller public function index(Request $request) { $this->authorize('view', Group::class); - $allowed_columns = ['id','name','created_at']; + $allowed_columns = ['id','name','created_at', 'users_count']; $groups = Group::select('id','name','permissions','created_at','updated_at')->withCount('users'); diff --git a/app/Http/Controllers/Api/LocationsController.php b/app/Http/Controllers/Api/LocationsController.php index 6bc2491221..5ff8fe5cc3 100644 --- a/app/Http/Controllers/Api/LocationsController.php +++ b/app/Http/Controllers/Api/LocationsController.php @@ -24,7 +24,7 @@ class LocationsController extends Controller $allowed_columns = [ 'id','name','address','address2','city','state','country','zip','created_at', 'updated_at','parent_id', 'manager_id','image', - 'assigned_assets_count','users_count','assets_count']; + 'assigned_assets_count','users_count','assets_count','currency']; $locations = Location::with('parent', 'manager', 'childLocations')->select([ 'locations.id', diff --git a/app/Http/Controllers/Api/ReportsController.php b/app/Http/Controllers/Api/ReportsController.php index 881bc5da51..ca461398e8 100644 --- a/app/Http/Controllers/Api/ReportsController.php +++ b/app/Http/Controllers/Api/ReportsController.php @@ -42,7 +42,11 @@ class ReportsController extends Controller $allowed_columns = [ 'id', - 'created_at' + 'created_at', + 'target_id', + 'user_id', + 'action_type', + 'note' ]; $sort = in_array($request->input('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at'; diff --git a/app/Http/Controllers/AssetMaintenancesController.php b/app/Http/Controllers/AssetMaintenancesController.php index 3b9840b4fa..975399f275 100644 --- a/app/Http/Controllers/AssetMaintenancesController.php +++ b/app/Http/Controllers/AssetMaintenancesController.php @@ -63,85 +63,6 @@ class AssetMaintenancesController extends Controller } - /** - * Generates the JSON response for asset maintenances listing view. - * - * @see AssetMaintenancesController::getIndex() method that generates view - * @author Vincent Sposato - * @version v1.0 - * @since [v1.8] - * @return String JSON - */ - public function getDatatable(Request $request) - { - $maintenances = AssetMaintenance::with('asset', 'supplier', 'asset.company', 'admin'); - - if (Input::has('search')) { - $maintenances = $maintenances->TextSearch(e($request->input('search'))); - } - - $offset = request('offset', 0); - $limit = request('limit', 50); - - $allowed_columns = ['id','title','asset_maintenance_time','asset_maintenance_type','cost','start_date','completion_date','notes','user_id']; - $order = Input::get('order') === 'asc' ? 'asc' : 'desc'; - $sort = in_array(Input::get('sort'), $allowed_columns) ? e($request->input('sort')) : 'created_at'; - - switch ($sort) { - case 'user_id': - $maintenances = $maintenances->OrderAdmin($order); - break; - default: - $maintenances = $maintenances->orderBy($sort, $order); - break; - } - - $maintenancesCount = $maintenances->count(); - $maintenances = $maintenances->skip($offset)->take($limit)->get(); - - $rows = array(); - $settings = Setting::getSettings(); - - foreach ($maintenances as $maintenance) { - $actions = ''; - if (Gate::allows('update', Asset::class)) { - $actions .= Helper::generateDatatableButton('edit', route('maintenances.edit', $maintenance->id)); - $actions .= Helper::generateDatatableButton( - 'delete', - route('maintenances.destroy', $maintenance->id), - $enabled = true, - trans('admin/asset_maintenances/message.delete.confirm'), - $maintenance->title - ); - } - - if (($maintenance->cost) && (isset($maintenance->asset)) && ($maintenance->asset->location) && ($maintenance->asset->location->currency!='')) { - $maintenance_cost = $maintenance->asset->location->currency.$maintenance->cost; - } else { - $maintenance_cost = $settings->default_currency.$maintenance->cost; - } - - $rows[] = array( - 'id' => $maintenance->id, - 'asset_name' => ($maintenance->asset) ? (string)link_to_route('maintenances.show', $maintenance->asset->present()->Name(), ['maintenance' => $maintenance->asset->id]) : 'Deleted Asset' , - 'title' => $maintenance->title, - 'notes' => $maintenance->notes, - 'supplier' => ($maintenance->supplier) ? (string)link_to_route('suppliers.show', $maintenance->supplier->name, ['maintenance'=>$maintenance->supplier->id]) : 'Deleted Supplier', - 'cost' => $maintenance_cost, - 'asset_maintenance_type' => e($maintenance->asset_maintenance_type), - 'start_date' => $maintenance->start_date, - 'asset_maintenance_time' => $maintenance->asset_maintenance_time, - 'completion_date' => $maintenance->completion_date, - 'user_id' => ($maintenance->admin) ? (string)link_to_route('users.show', $maintenance->admin->present()->fullName(), ['user'=>$maintenance->admin->id]) : '', - 'actions' => $actions, - 'company' => ($maintenance->asset->company) ? $maintenance->asset->company->name : '' - ); - } - - $data = array('total' => $maintenancesCount, 'rows' => $rows); - return $data; - - } /** * Returns a form view to create a new asset maintenance. @@ -265,9 +186,7 @@ class AssetMaintenancesController extends Controller // Get Supplier List // Render the view return view('asset_maintenances/edit') - ->with('asset_list', Helper::detailedAssetList()) ->with('selectedAsset', null) - ->with('supplier_list', Helper::suppliersList()) ->with('assetMaintenanceType', $assetMaintenanceType) ->with('item', $assetMaintenance); diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index d9caa63bc8..63b1c1638e 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -316,7 +316,7 @@ class SettingsController extends Controller $setting->modellist_displays = ''; - if (($request->has('show_in_model_list')) && (count($request->has('show_in_model_list')) > 0)) + if (($request->has('show_in_model_list')) && (count($request->input('show_in_model_list')) > 0)) { $setting->modellist_displays = implode(',', $request->input('show_in_model_list')); } diff --git a/app/Http/Transformers/LocationsTransformer.php b/app/Http/Transformers/LocationsTransformer.php index 11b9186f17..5d93db4def 100644 --- a/app/Http/Transformers/LocationsTransformer.php +++ b/app/Http/Transformers/LocationsTransformer.php @@ -34,15 +34,16 @@ class LocationsTransformer 'id' => (int) $location->id, 'name' => e($location->name), 'image' => ($location->image) ? app('locations_upload_url').e($location->image) : null, - 'address' => e($location->address), - 'city' => e($location->city), - 'state' => e($location->state), - 'country' => e($location->country), - 'zip' => e($location->zip), + 'address' => ($location->address) ? e($location->address) : null, + 'address2' => ($location->address2) ? e($location->address2) : null, + 'city' => ($location->city) ? e($location->city) : null, + 'state' => ($location->state) ? e($location->state) : null, + 'country' => ($location->country) ? e($location->country) : null, + 'zip' => ($location->zip) ? e($location->zip) : null, 'assigned_assets_count' => (int) $location->assigned_assets_count, 'assets_count' => (int) $location->assets_count, 'users_count' => (int) $location->users_count, - + 'currency' => ($location->currency) ? e($location->currency) : null, 'created_at' => Helper::getFormattedDateObject($location->created_at, 'datetime'), 'updated_at' => Helper::getFormattedDateObject($location->updated_at, 'datetime'), 'parent' => ($location->parent) ? [ diff --git a/app/Models/User.php b/app/Models/User.php index 8fbbac9cfa..60d24e9d2a 100755 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -330,44 +330,24 @@ class User extends SnipeModel implements AuthenticatableContract, CanResetPasswo public static function generateFormattedNameFromFullName($format = 'filastname', $users_name) { - $name = explode(" ", $users_name); - $name = str_replace("'", '', $name); - $first_name = $name[0]; - $email_last_name = ''; - $email_prefix = $first_name; + list($first_name, $last_name) = explode(" ", $users_name, 2); - // If there is no last name given - if (!array_key_exists(1, $name)) { - $last_name=''; - $email_last_name = $last_name; - $user_username = $first_name; - - // There is a last name given - } else { - - $last_name = str_replace($first_name . ' ', '', $users_name); - - if ($format=='filastname') { - $email_last_name.=str_replace(' ', '', $last_name); - $email_prefix = $first_name[0].$email_last_name; - - } elseif ($format=='firstname.lastname') { - $email_last_name.=str_replace(' ', '', $last_name); - $email_prefix = $first_name.'.'.$email_last_name; - - } elseif ($format=='firstname') { - $email_last_name.=str_replace(' ', '', $last_name); - $email_prefix = $first_name; - } + // Assume filastname by default + $username = str_slug(substr($first_name, 0, 1).$last_name); + + if ($format=='firstname.lastname') { + $username = str_slug($first_name).'.'.str_slug($last_name); + } elseif ($format=='firstname_lastname') { + $username = str_slug($first_name).'_'.str_slug($last_name); + } elseif ($format=='firstname') { + $username = str_slug($first_name); } - $user_username = $email_prefix; $user['first_name'] = $first_name; $user['last_name'] = $last_name; - $user['username'] = strtolower($user_username); - + $user['username'] = strtolower($username); return $user; diff --git a/app/Presenters/LicensePresenter.php b/app/Presenters/LicensePresenter.php index 3d793c33e7..0cdff34f92 100644 --- a/app/Presenters/LicensePresenter.php +++ b/app/Presenters/LicensePresenter.php @@ -144,6 +144,59 @@ class LicensePresenter extends Presenter } + /** + * Json Column Layout for bootstrap table + * @return string + */ + public static function dataTableLayoutSeats() + { + $layout = [ + [ + "field" => "name", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('admin/licenses/general.seat'), + "visible" => true, + ], [ + "field" => "assigned_user", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('admin/licenses/general.user'), + "visible" => true, + "formatter" => "usersLinkObjFormatter" + ], [ + "field" => "assigned_asset", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('admin/licenses/form.asset'), + "visible" => true, + "formatter" => "hardwareLinkObjFormatter" + ], [ + "field" => "location", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('general.location'), + "visible" => true, + "formatter" => "locationsLinkObjFormatter" + ], [ + "field" => "checkincheckout", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('general.checkin').'/'.trans('general.checkout'), + "visible" => true, + "formatter" => "licenseSeatInOutFormatter" + ] + ]; + + return json_encode($layout); + } + + /** * Link to this licenses Name * @return string diff --git a/app/Presenters/LocationPresenter.php b/app/Presenters/LocationPresenter.php index 6189f7b328..8d3d27f501 100644 --- a/app/Presenters/LocationPresenter.php +++ b/app/Presenters/LocationPresenter.php @@ -11,6 +11,156 @@ use App\Helpers\Helper; class LocationPresenter extends Presenter { + /** + * Json Column Layout for bootstrap table + * @return string + */ + public static function dataTableLayout() + { + $layout = [ + + [ + "field" => "id", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('general.id'), + "visible" => false + ], + [ + "field" => "name", + "searchable" => true, + "sortable" => true, + "title" => trans('admin/locations/table.name'), + "visible" => true, + "formatter" => "locationsLinkFormatter" + ], + [ + "field" => "image", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('general.image'), + "visible" => true, + "formatter" => "imageFormatter" + ], + [ + "field" => "parent", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.parent'), + "visible" => true, + "formatter" => "locationsLinkObjFormatter" + ], + + [ + "field" => "assets_count", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.assets_rtd'), + "visible" => true, + ], + [ + "field" => "assigned_assets_count", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.assets_checkedout'), + "visible" => true, + ], + [ + "field" => "users_count", + "searchable" => false, + "sortable" => true, + "switchable" => true, + "title" => trans('general.people'), + "visible" => true, + ], + [ + "field" => "currency", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('general.currency'), + "visible" => true, + ], + [ + "field" => "address", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.address'), + "visible" => true, + ], + [ + "field" => "city", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.city'), + "visible" => true, + ], + [ + "field" => "state", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.state'), + "visible" => true, + ], + [ + "field" => "zip", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.zip'), + "visible" => false, + ], + [ + "field" => "country", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('admin/locations/table.country'), + "visible" => false, + ],[ + "field" => "manager", + "searchable" => false, + "sortable" => false, + "switchable" => true, + "title" => trans('admin/users/table.manager'), + "visible" => false, + "formatter" => 'usersLinkObjFormatter' + ], + + [ + "field" => "created_at", + "searchable" => true, + "sortable" => true, + "switchable" => true, + "title" => trans('general.created_at'), + "visible" => false, + 'formatter' => 'dateDisplayFormatter' + ], + + [ + "field" => "actions", + "searchable" => false, + "sortable" => false, + "switchable" => false, + "title" => trans('table.actions'), + "visible" => true, + "formatter" => "locationsActionsFormatter", + ] + ]; + + return json_encode($layout); + } + + + /** * Link to this locations name * @return string diff --git a/composer.json b/composer.json index f11d0f30a8..96767d6b35 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "predis/predis": "^1.1", "rollbar/rollbar-laravel": "^2.2", "schuppo/password-strength": "~1.5", - "spatie/laravel-backup": "^3.0.0", + "spatie/laravel-backup": "3.11.0", "tecnickcom/tc-lib-barcode": "^1.15", "tightenco/ziggy": "^0.4.1", "unicodeveloper/laravel-password": "^1.0", diff --git a/composer.lock b/composer.lock index f57630e6d9..ed5448ef9e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "e3f536da3e0e79b045040cb29d50d851", + "content-hash": "65f58262b045761a0f36791e81edf898", "packages": [ { "name": "barryvdh/laravel-debugbar", @@ -1373,16 +1373,16 @@ }, { "name": "laravel/passport", - "version": "v3.0.1", + "version": "v3.0.2", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "d19a6b60503cb416fe55507684699de35239681f" + "reference": "c6a23ff4f05543767b2828b582dd9e74cdb9b014" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/d19a6b60503cb416fe55507684699de35239681f", - "reference": "d19a6b60503cb416fe55507684699de35239681f", + "url": "https://api.github.com/repos/laravel/passport/zipball/c6a23ff4f05543767b2828b582dd9e74cdb9b014", + "reference": "c6a23ff4f05543767b2828b582dd9e74cdb9b014", "shasum": "" }, "require": { @@ -1438,20 +1438,20 @@ "oauth", "passport" ], - "time": "2017-08-04T14:03:52+00:00" + "time": "2017-08-16T13:10:52+00:00" }, { "name": "laravel/tinker", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "203978fd67f118902acff95925847e70b72e3daf" + "reference": "852c2abe0b0991555a403f1c0583e64de6acb4a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/203978fd67f118902acff95925847e70b72e3daf", - "reference": "203978fd67f118902acff95925847e70b72e3daf", + "url": "https://api.github.com/repos/laravel/tinker/zipball/852c2abe0b0991555a403f1c0583e64de6acb4a6", + "reference": "852c2abe0b0991555a403f1c0583e64de6acb4a6", "shasum": "" }, "require": { @@ -1460,7 +1460,7 @@ "illuminate/support": "~5.1", "php": ">=5.5.9", "psy/psysh": "0.7.*|0.8.*", - "symfony/var-dumper": "~3.0" + "symfony/var-dumper": "~3.0|~4.0" }, "require-dev": { "phpunit/phpunit": "~4.0|~5.0" @@ -1501,7 +1501,7 @@ "laravel", "psysh" ], - "time": "2017-07-13T13:11:05+00:00" + "time": "2017-12-18T16:25:11+00:00" }, { "name": "laravelcollective/html", @@ -1724,16 +1724,16 @@ }, { "name": "league/flysystem", - "version": "1.0.41", + "version": "1.0.42", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f400aa98912c561ba625ea4065031b7a41e5a155" + "reference": "09eabc54e199950041aef258a85847676496fe8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f400aa98912c561ba625ea4065031b7a41e5a155", - "reference": "f400aa98912c561ba625ea4065031b7a41e5a155", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/09eabc54e199950041aef258a85847676496fe8e", + "reference": "09eabc54e199950041aef258a85847676496fe8e", "shasum": "" }, "require": { @@ -1744,12 +1744,13 @@ }, "require-dev": { "ext-fileinfo": "*", - "mockery/mockery": "~0.9", - "phpspec/phpspec": "^2.2", - "phpunit/phpunit": "~4.8" + "phpspec/phpspec": "^3.4", + "phpunit/phpunit": "^5.7" }, "suggest": { "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", @@ -1803,20 +1804,20 @@ "sftp", "storage" ], - "time": "2017-08-06T17:41:04+00:00" + "time": "2018-01-27T16:03:56+00:00" }, { "name": "league/oauth2-server", - "version": "6.0.2", + "version": "6.1.1", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "925776958fc3f5278e74363663c20147af32b668" + "reference": "a0cabb573c7cd5ee01803daec992d6ee3677c4ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/925776958fc3f5278e74363663c20147af32b668", - "reference": "925776958fc3f5278e74363663c20147af32b668", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/a0cabb573c7cd5ee01803daec992d6ee3677c4ae", + "reference": "a0cabb573c7cd5ee01803daec992d6ee3677c4ae", "shasum": "" }, "require": { @@ -1833,7 +1834,7 @@ "lncd/oauth2": "*" }, "require-dev": { - "phpunit/phpunit": "^4.8 || ^5.0", + "phpunit/phpunit": "^4.8.38 || ^5.7.21", "zendframework/zend-diactoros": "^1.0" }, "type": "library", @@ -1871,7 +1872,7 @@ "secure", "server" ], - "time": "2017-08-03T15:09:23+00:00" + "time": "2017-12-23T23:33:42+00:00" }, { "name": "maknz/slack", @@ -2194,16 +2195,16 @@ }, { "name": "nikic/php-parser", - "version": "v3.1.2", + "version": "v3.1.4", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89" + "reference": "e57b3a09784f846411aa7ed664eedb73e3399078" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08131e7ff29de6bb9f12275c7d35df71f25f4d89", - "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/e57b3a09784f846411aa7ed664eedb73e3399078", + "reference": "e57b3a09784f846411aa7ed664eedb73e3399078", "shasum": "" }, "require": { @@ -2241,7 +2242,7 @@ "parser", "php" ], - "time": "2017-11-04T11:48:34+00:00" + "time": "2018-01-25T21:31:33+00:00" }, { "name": "paragonie/random_compat", @@ -2861,16 +2862,16 @@ }, { "name": "psy/psysh", - "version": "v0.8.16", + "version": "v0.8.17", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "d4c8eab0683dc056f2ca54ca67f5388527c068b1" + "reference": "5069b70e8c4ea492c2b5939b6eddc78bfe41cfec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d4c8eab0683dc056f2ca54ca67f5388527c068b1", - "reference": "d4c8eab0683dc056f2ca54ca67f5388527c068b1", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/5069b70e8c4ea492c2b5939b6eddc78bfe41cfec", + "reference": "5069b70e8c4ea492c2b5939b6eddc78bfe41cfec", "shasum": "" }, "require": { @@ -2929,20 +2930,20 @@ "interactive", "shell" ], - "time": "2017-12-10T21:49:27+00:00" + "time": "2017-12-28T16:14:16+00:00" }, { "name": "ramsey/uuid", - "version": "3.7.1", + "version": "3.7.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "45cffe822057a09e05f7bd09ec5fb88eeecd2334" + "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/45cffe822057a09e05f7bd09ec5fb88eeecd2334", - "reference": "45cffe822057a09e05f7bd09ec5fb88eeecd2334", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/44abcdad877d9a46685a3a4d221e3b2c4b87cb76", + "reference": "44abcdad877d9a46685a3a4d221e3b2c4b87cb76", "shasum": "" }, "require": { @@ -2953,17 +2954,15 @@ "rhumsaa/uuid": "self.version" }, "require-dev": { - "apigen/apigen": "^4.1", - "codeception/aspect-mock": "^1.0 | ^2.0", + "codeception/aspect-mock": "^1.0 | ~2.0.0", "doctrine/annotations": "~1.2.0", "goaop/framework": "1.0.0-alpha.2 | ^1.0 | ^2.1", "ircmaxell/random-lib": "^1.1", "jakub-onderka/php-parallel-lint": "^0.9.0", - "mockery/mockery": "^0.9.4", + "mockery/mockery": "^0.9.9", "moontoast/math": "^1.1", "php-mock/php-mock-phpunit": "^0.3|^1.1", - "phpunit/phpunit": "^4.7|>=5.0 <5.4", - "satooshi/php-coveralls": "^0.6.1", + "phpunit/phpunit": "^4.7|^5.0", "squizlabs/php_codesniffer": "^2.3" }, "suggest": { @@ -3011,7 +3010,7 @@ "identifier", "uuid" ], - "time": "2017-09-22T20:46:04+00:00" + "time": "2018-01-20T00:28:24+00:00" }, { "name": "rollbar/rollbar", @@ -3548,16 +3547,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v5.4.8", + "version": "v5.4.9", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517" + "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/9a06dc570a0367850280eefd3f1dc2da45aef517", - "reference": "9a06dc570a0367850280eefd3f1dc2da45aef517", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91", + "reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91", "shasum": "" }, "require": { @@ -3592,26 +3591,26 @@ } ], "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "http://swiftmailer.org", + "homepage": "https://swiftmailer.symfony.com", "keywords": [ "email", "mail", "mailer" ], - "time": "2017-05-01T15:54:03+00:00" + "time": "2018-01-23T07:37:21+00:00" }, { "name": "symfony/console", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "2cdef78de8f54f68ff16a857e710e7302b47d4c7" + "reference": "26b6f419edda16c19775211987651cb27baea7f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/2cdef78de8f54f68ff16a857e710e7302b47d4c7", - "reference": "2cdef78de8f54f68ff16a857e710e7302b47d4c7", + "url": "https://api.github.com/repos/symfony/console/zipball/26b6f419edda16c19775211987651cb27baea7f1", + "reference": "26b6f419edda16c19775211987651cb27baea7f1", "shasum": "" }, "require": { @@ -3667,7 +3666,7 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-12-02T18:20:11+00:00" + "time": "2018-01-29T09:03:43+00:00" }, { "name": "symfony/css-selector", @@ -3724,16 +3723,16 @@ }, { "name": "symfony/debug", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "fb2001e5d85f95d8b6ab94ae3be5d2672df128fd" + "reference": "53f6af2805daf52a43b393b93d2f24925d35c937" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/fb2001e5d85f95d8b6ab94ae3be5d2672df128fd", - "reference": "fb2001e5d85f95d8b6ab94ae3be5d2672df128fd", + "url": "https://api.github.com/repos/symfony/debug/zipball/53f6af2805daf52a43b393b93d2f24925d35c937", + "reference": "53f6af2805daf52a43b393b93d2f24925d35c937", "shasum": "" }, "require": { @@ -3776,20 +3775,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2017-11-21T09:01:46+00:00" + "time": "2018-01-18T22:16:57+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "ca20b8f9ef149f40ff656d52965f240d85f7a8e4" + "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ca20b8f9ef149f40ff656d52965f240d85f7a8e4", - "reference": "ca20b8f9ef149f40ff656d52965f240d85f7a8e4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26b87b6bca8f8f797331a30b76fdae5342dc26ca", + "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca", "shasum": "" }, "require": { @@ -3839,20 +3838,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-11-09T14:14:31+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/finder", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "dac8d7db537bac7ad8143eb11360a8c2231f251a" + "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/dac8d7db537bac7ad8143eb11360a8c2231f251a", - "reference": "dac8d7db537bac7ad8143eb11360a8c2231f251a", + "url": "https://api.github.com/repos/symfony/finder/zipball/613e26310776f49a1773b6737c6bd554b8bc8c6f", + "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f", "shasum": "" }, "require": { @@ -3888,20 +3887,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-11-05T16:10:10+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/http-foundation", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d9625c8abb907e0ca2d7506afd7a719a572c766f" + "reference": "8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d9625c8abb907e0ca2d7506afd7a719a572c766f", - "reference": "d9625c8abb907e0ca2d7506afd7a719a572c766f", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30", + "reference": "8c39071ac9cc7e6d8dab1d556c990dc0d2cc3d30", "shasum": "" }, "require": { @@ -3942,20 +3941,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2017-11-30T14:56:21+00:00" + "time": "2018-01-29T09:03:43+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b101bb29071163563d4c8b537b35845eaf909235" + "reference": "911d2e5dd4beb63caad9a72e43857de984301907" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b101bb29071163563d4c8b537b35845eaf909235", - "reference": "b101bb29071163563d4c8b537b35845eaf909235", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/911d2e5dd4beb63caad9a72e43857de984301907", + "reference": "911d2e5dd4beb63caad9a72e43857de984301907", "shasum": "" }, "require": { @@ -3963,7 +3962,7 @@ "psr/log": "~1.0", "symfony/debug": "~2.8|~3.0|~4.0", "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "^3.3.11|~4.0" + "symfony/http-foundation": "^3.4.4|^4.0.4" }, "conflict": { "symfony/config": "<2.8", @@ -4030,20 +4029,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2017-12-04T23:05:00+00:00" + "time": "2018-01-29T12:29:46+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", - "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", "shasum": "" }, "require": { @@ -4055,7 +4054,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -4089,20 +4088,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-php56", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "265fc96795492430762c29be291a371494ba3a5b" + "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/265fc96795492430762c29be291a371494ba3a5b", - "reference": "265fc96795492430762c29be291a371494ba3a5b", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/ebc999ce5f14204c5150b9bd15f8f04e621409d8", + "reference": "ebc999ce5f14204c5150b9bd15f8f04e621409d8", "shasum": "" }, "require": { @@ -4112,7 +4111,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -4145,20 +4144,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-php70", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff" + "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", - "reference": "0442b9c0596610bd24ae7b5f0a6cdbbc16d9fcff", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3532bfcd8f933a7816f3a0a59682fc404776600f", + "reference": "3532bfcd8f933a7816f3a0a59682fc404776600f", "shasum": "" }, "require": { @@ -4168,7 +4167,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -4204,20 +4203,20 @@ "portable", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-30T19:27:44+00:00" }, { "name": "symfony/polyfill-util", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-util.git", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176" + "reference": "e17c808ec4228026d4f5a8832afa19be85979563" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/6e719200c8e540e0c0effeb31f96bdb344b94176", - "reference": "6e719200c8e540e0c0effeb31f96bdb344b94176", + "url": "https://api.github.com/repos/symfony/polyfill-util/zipball/e17c808ec4228026d4f5a8832afa19be85979563", + "reference": "e17c808ec4228026d4f5a8832afa19be85979563", "shasum": "" }, "require": { @@ -4226,7 +4225,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev" + "dev-master": "1.7-dev" } }, "autoload": { @@ -4256,20 +4255,20 @@ "polyfill", "shim" ], - "time": "2017-10-11T12:05:26+00:00" + "time": "2018-01-31T18:08:44+00:00" }, { "name": "symfony/process", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "db25e810fd5e124085e3777257d0cf4ae533d0ea" + "reference": "09a5172057be8fc677840e591b17f385e58c7c0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/db25e810fd5e124085e3777257d0cf4ae533d0ea", - "reference": "db25e810fd5e124085e3777257d0cf4ae533d0ea", + "url": "https://api.github.com/repos/symfony/process/zipball/09a5172057be8fc677840e591b17f385e58c7c0d", + "reference": "09a5172057be8fc677840e591b17f385e58c7c0d", "shasum": "" }, "require": { @@ -4305,20 +4304,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2017-11-22T12:18:49+00:00" + "time": "2018-01-29T09:03:43+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v1.0.1", + "version": "v1.0.2", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "b2098405d8644f6dc4c36febcee6a77c0fdecdff" + "reference": "c2b757934f2d9681a287e662efbc27c41fe8ef86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/b2098405d8644f6dc4c36febcee6a77c0fdecdff", - "reference": "b2098405d8644f6dc4c36febcee6a77c0fdecdff", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c2b757934f2d9681a287e662efbc27c41fe8ef86", + "reference": "c2b757934f2d9681a287e662efbc27c41fe8ef86", "shasum": "" }, "require": { @@ -4365,20 +4364,20 @@ "http-message", "psr-7" ], - "time": "2017-07-23T09:13:43+00:00" + "time": "2017-12-19T00:31:44+00:00" }, { "name": "symfony/routing", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "d768aa5b25d98188bae3fe4ce3eb2924c97aafac" + "reference": "235d01730d553a97732990588407eaf6779bb4b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/d768aa5b25d98188bae3fe4ce3eb2924c97aafac", - "reference": "d768aa5b25d98188bae3fe4ce3eb2924c97aafac", + "url": "https://api.github.com/repos/symfony/routing/zipball/235d01730d553a97732990588407eaf6779bb4b2", + "reference": "235d01730d553a97732990588407eaf6779bb4b2", "shasum": "" }, "require": { @@ -4443,20 +4442,20 @@ "uri", "url" ], - "time": "2017-11-24T14:13:49+00:00" + "time": "2018-01-16T18:03:57+00:00" }, { "name": "symfony/translation", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e05b0a5996ad7a35ba3a19ffad8b72c9daa64dfa" + "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e05b0a5996ad7a35ba3a19ffad8b72c9daa64dfa", - "reference": "e05b0a5996ad7a35ba3a19ffad8b72c9daa64dfa", + "url": "https://api.github.com/repos/symfony/translation/zipball/10b32cf0eae28b9b39fe26c456c42b19854c4b84", + "reference": "10b32cf0eae28b9b39fe26c456c42b19854c4b84", "shasum": "" }, "require": { @@ -4511,20 +4510,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2017-11-27T14:23:00+00:00" + "time": "2018-01-18T22:16:57+00:00" }, { "name": "symfony/var-dumper", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ec650a975a8e04e0c114d35eab732981243db3a2" + "reference": "472a9849930cf21f73abdb02240f17cf5b5bd1a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ec650a975a8e04e0c114d35eab732981243db3a2", - "reference": "ec650a975a8e04e0c114d35eab732981243db3a2", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/472a9849930cf21f73abdb02240f17cf5b5bd1a7", + "reference": "472a9849930cf21f73abdb02240f17cf5b5bd1a7", "shasum": "" }, "require": { @@ -4580,20 +4579,20 @@ "debug", "dump" ], - "time": "2017-11-30T14:59:23+00:00" + "time": "2018-01-29T09:03:43+00:00" }, { "name": "tecnickcom/tc-lib-barcode", - "version": "1.15.6", + "version": "1.15.7", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-barcode.git", - "reference": "18b8b9224c995cd9d7518e8551be833cbc31b323" + "reference": "96ad2aae7ff7f755e1a35d421377058e8e75afc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/18b8b9224c995cd9d7518e8551be833cbc31b323", - "reference": "18b8b9224c995cd9d7518e8551be833cbc31b323", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/96ad2aae7ff7f755e1a35d421377058e8e75afc1", + "reference": "96ad2aae7ff7f755e1a35d421377058e8e75afc1", "shasum": "" }, "require": { @@ -4602,7 +4601,7 @@ "ext-gd": "*", "ext-pcre": "*", "php": ">=5.4", - "tecnickcom/tc-lib-color": "^1.12.6" + "tecnickcom/tc-lib-color": "^1.12.7" }, "require-dev": { "apigen/apigen": "^4.1.2", @@ -4670,20 +4669,20 @@ "tc-lib-barcode", "upc" ], - "time": "2017-02-12T13:51:39+00:00" + "time": "2017-12-30T16:31:24+00:00" }, { "name": "tecnickcom/tc-lib-color", - "version": "1.12.6", + "version": "1.12.8", "source": { "type": "git", "url": "https://github.com/tecnickcom/tc-lib-color.git", - "reference": "8921acc8e9c26bdc32c9b08989d42e428af6c660" + "reference": "1d1f9fbb03b6441501326b0ebc41b15dfd058e7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/8921acc8e9c26bdc32c9b08989d42e428af6c660", - "reference": "8921acc8e9c26bdc32c9b08989d42e428af6c660", + "url": "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/1d1f9fbb03b6441501326b0ebc41b15dfd058e7b", + "reference": "1d1f9fbb03b6441501326b0ebc41b15dfd058e7b", "shasum": "" }, "require": { @@ -4733,7 +4732,7 @@ "tc-lib-color", "web" ], - "time": "2017-02-12T12:07:38+00:00" + "time": "2017-12-30T16:17:53+00:00" }, { "name": "tightenco/ziggy", @@ -4787,29 +4786,29 @@ }, { "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b" + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b", - "reference": "ab03919dfd85a74ae0372f8baf9f3c7d5c03b04b", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", + "reference": "0ed4a2ea4e0902dac0489e6436ebcd5bbcae9757", "shasum": "" }, "require": { - "php": "^5.5 || ^7", - "symfony/css-selector": "^2.7|~3.0" + "php": "^5.5 || ^7.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0" }, "require-dev": { - "phpunit/phpunit": "~4.8|5.1.*" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { @@ -4830,20 +4829,20 @@ ], "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2016-09-20T12:50:39+00:00" + "time": "2017-11-27T11:13:29+00:00" }, { "name": "unicodeveloper/laravel-password", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/unicodeveloper/laravel-password.git", - "reference": "5c3bdc977c4b8065350caf2e57371b069ef6f5b4" + "reference": "c2e532cbbb0c579f5a9fabd105edb4185b192cf2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/unicodeveloper/laravel-password/zipball/5c3bdc977c4b8065350caf2e57371b069ef6f5b4", - "reference": "5c3bdc977c4b8065350caf2e57371b069ef6f5b4", + "url": "https://api.github.com/repos/unicodeveloper/laravel-password/zipball/c2e532cbbb0c579f5a9fabd105edb4185b192cf2", + "reference": "c2e532cbbb0c579f5a9fabd105edb4185b192cf2", "shasum": "" }, "require": { @@ -4858,6 +4857,11 @@ "extra": { "branch-alias": { "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Unicodeveloper\\DumbPassword\\DumbPasswordServiceProvider" + ] } }, "autoload": { @@ -4885,7 +4889,7 @@ "security", "unicodeveloper" ], - "time": "2017-04-27T07:35:00+00:00" + "time": "2018-01-25T18:03:37+00:00" }, { "name": "vlucas/phpdotenv", @@ -4989,16 +4993,16 @@ }, { "name": "webmozart/assert", - "version": "1.2.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f" + "reference": "0df1908962e7a3071564e857d86874dad1ef204a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f", - "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f", + "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a", + "reference": "0df1908962e7a3071564e857d86874dad1ef204a", "shasum": "" }, "require": { @@ -5035,20 +5039,20 @@ "check", "validate" ], - "time": "2016-11-23T20:04:58+00:00" + "time": "2018-01-29T19:49:41+00:00" }, { "name": "zendframework/zend-diactoros", - "version": "1.6.1", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "c8664b92a6d5bc229e48b0923486c097e45a7877" + "reference": "ed6ce7e2105c400ca10277643a8327957c0384b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/c8664b92a6d5bc229e48b0923486c097e45a7877", - "reference": "c8664b92a6d5bc229e48b0923486c097e45a7877", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/ed6ce7e2105c400ca10277643a8327957c0384b7", + "reference": "ed6ce7e2105c400ca10277643a8327957c0384b7", "shasum": "" }, "require": { @@ -5067,8 +5071,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.6-dev", - "dev-develop": "1.7-dev" + "dev-master": "1.7.x-dev", + "dev-develop": "1.8.x-dev" } }, "autoload": { @@ -5087,7 +5091,7 @@ "psr", "psr-7" ], - "time": "2017-10-12T15:24:51+00:00" + "time": "2018-01-04T18:21:48+00:00" } ], "packages-dev": [ @@ -5645,16 +5649,16 @@ }, { "name": "phpunit/phpunit", - "version": "5.7.25", + "version": "5.7.27", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "4b1c822a68ae6577df38a59eb49b046712ec0f6a" + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b1c822a68ae6577df38a59eb49b046712ec0f6a", - "reference": "4b1c822a68ae6577df38a59eb49b046712ec0f6a", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", + "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c", "shasum": "" }, "require": { @@ -5678,7 +5682,7 @@ "sebastian/global-state": "^1.1", "sebastian/object-enumerator": "~2.0", "sebastian/resource-operations": "~1.0", - "sebastian/version": "~1.0.3|~2.0", + "sebastian/version": "^1.0.6|^2.0.1", "symfony/yaml": "~2.1|~3.0|~4.0" }, "conflict": { @@ -5723,7 +5727,7 @@ "testing", "xunit" ], - "time": "2017-11-14T14:50:51+00:00" + "time": "2018-02-01T05:50:59+00:00" }, { "name": "phpunit/phpunit-mock-objects", @@ -6063,16 +6067,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.2.0", + "version": "3.2.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "ba816f2e1bacc16278792c78b67c730dfff064a6" + "reference": "d7c00c3000ac0ce79c96fcbfef86b49a71158cd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ba816f2e1bacc16278792c78b67c730dfff064a6", - "reference": "ba816f2e1bacc16278792c78b67c730dfff064a6", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/d7c00c3000ac0ce79c96fcbfef86b49a71158cd1", + "reference": "d7c00c3000ac0ce79c96fcbfef86b49a71158cd1", "shasum": "" }, "require": { @@ -6110,7 +6114,7 @@ "phpcs", "standards" ], - "time": "2017-12-12T21:36:10+00:00" + "time": "2017-12-19T21:44:46+00:00" }, { "name": "stecman/symfony-console-completion", @@ -6159,16 +6163,16 @@ }, { "name": "symfony/browser-kit", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "179522b5f0b5e6d00bb60f38a4d6b29962e4b61b" + "reference": "490f27762705c8489bd042fe3e9377a191dba9b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/179522b5f0b5e6d00bb60f38a4d6b29962e4b61b", - "reference": "179522b5f0b5e6d00bb60f38a4d6b29962e4b61b", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/490f27762705c8489bd042fe3e9377a191dba9b4", + "reference": "490f27762705c8489bd042fe3e9377a191dba9b4", "shasum": "" }, "require": { @@ -6212,7 +6216,7 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2017-11-07T14:20:24+00:00" + "time": "2018-01-03T07:37:34+00:00" }, { "name": "symfony/dom-crawler", @@ -6272,16 +6276,16 @@ }, { "name": "symfony/yaml", - "version": "v3.4.1", + "version": "v3.4.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "f6a99b95b338799645fe9f7880d7d4ca1bf79cc1" + "reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/f6a99b95b338799645fe9f7880d7d4ca1bf79cc1", - "reference": "f6a99b95b338799645fe9f7880d7d4ca1bf79cc1", + "url": "https://api.github.com/repos/symfony/yaml/zipball/eab73b6c21d27ae4cd037c417618dfd4befb0bfe", + "reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe", "shasum": "" }, "require": { @@ -6326,7 +6330,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2017-12-04T18:15:22+00:00" + "time": "2018-01-21T19:05:02+00:00" } ], "aliases": [], diff --git a/config/version.php b/config/version.php index 5cb0bc392e..25fc6acf4d 100644 --- a/config/version.php +++ b/config/version.php @@ -1,10 +1,10 @@ 'v4.1.11-pre', - 'full_app_version' => 'v4.1.11-pre - build 3307-gf06852f', - 'build_version' => '3307', + 'full_app_version' => 'v4.1.11-pre - build 3319-g1359a4f', + 'build_version' => '3319', 'prerelease_version' => '', - 'hash_version' => 'gf06852f', - 'full_hash' => 'v4.1.11-pre-55-gf06852f', - 'branch' => 'master', + 'hash_version' => 'g1359a4f', + 'full_hash' => 'v4.1.10-67-g1359a4f', + 'branch' => 'develop', ); diff --git a/public/css/build/all.css b/public/css/build/all.css index a99d85233d..eeea15c3a4 100644 Binary files a/public/css/build/all.css and b/public/css/build/all.css differ diff --git a/public/css/dist/all.css b/public/css/dist/all.css index a99d85233d..eeea15c3a4 100644 Binary files a/public/css/dist/all.css and b/public/css/dist/all.css differ diff --git a/public/css/overrides.css b/public/css/overrides.css index 15a7cc60ce..50197fbc97 100644 Binary files a/public/css/overrides.css and b/public/css/overrides.css differ diff --git a/public/js/build/all.js b/public/js/build/all.js index da70454623..c17503e09c 100644 Binary files a/public/js/build/all.js and b/public/js/build/all.js differ diff --git a/public/js/dist/all.js b/public/js/dist/all.js index da70454623..c17503e09c 100644 Binary files a/public/js/dist/all.js and b/public/js/dist/all.js differ diff --git a/public/js/extensions/cookie/bootstrap-table-cookie.js b/public/js/extensions/cookie/bootstrap-table-cookie.js index c3a746a4b7..1cc5c56070 100755 Binary files a/public/js/extensions/cookie/bootstrap-table-cookie.js and b/public/js/extensions/cookie/bootstrap-table-cookie.js differ diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 390cf88518..90225c7884 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -2,13 +2,13 @@ "/js/build/vue.js": "/js/build/vue.js?id=25049a0c0eb736e1c883", "/css/AdminLTE.css": "/css/AdminLTE.css?id=b8be19a285eaf44eec37", "/css/app.css": "/css/app.css?id=407edb63cc6b6dc62405", - "/css/overrides.css": "/css/overrides.css?id=1bdafb06a8609780f546", + "/css/overrides.css": "/css/overrides.css?id=33d8f8fea649acea5f9c", "/js/build/vue.js.map": "/js/build/vue.js.map?id=6b79d08f1decca72957c", "/css/AdminLTE.css.map": "/css/AdminLTE.css.map?id=99f5a5a03c4155cf69f6", "/css/app.css.map": "/css/app.css.map?id=bdbe05e6ecd70ccfac72", "/css/overrides.css.map": "/css/overrides.css.map?id=898c91d4a425b01b589b", - "/css/dist/all.css": "/css/dist/all.css?id=3a8aa974e7b09b52b18c", - "/js/dist/all.js": "/js/dist/all.js?id=722d1692756a30dc1ece", - "/css/build/all.css": "/css/build/all.css?id=3a8aa974e7b09b52b18c", - "/js/build/all.js": "/js/build/all.js?id=722d1692756a30dc1ece" + "/css/dist/all.css": "/css/dist/all.css?id=dc1449877e0f8abedc47", + "/js/dist/all.js": "/js/dist/all.js?id=4e5e7295e9a59e718567", + "/css/build/all.css": "/css/build/all.css?id=dc1449877e0f8abedc47", + "/js/build/all.js": "/js/build/all.js?id=4e5e7295e9a59e718567" } \ No newline at end of file diff --git a/resources/assets/js/snipeit.js b/resources/assets/js/snipeit.js index f826be9827..9d70e6bfe4 100755 --- a/resources/assets/js/snipeit.js +++ b/resources/assets/js/snipeit.js @@ -288,7 +288,41 @@ $(document).ready(function () { } }); }); - + + + // ------------------------------------------------ + // Deep linking for Bootstrap tabs + // ------------------------------------------------ + var taburl = document.location.toString(); + + // Allow full page URL to activate a tab's ID + // ------------------------------------------------ + // This allows linking to a tab on page load via the address bar. + // So a URL such as, http://snipe-it.local/hardware/2/#my_tab will + // cause the tab on that page with an ID of β€œmy_tab” to be active. + if (taburl.match('#') ) { + $('.nav-tabs a[href="#'+taburl.split('#')[1]+'"]').tab('show'); + } + + // Allow internal page links to activate a tab's ID. + // ------------------------------------------------ + // This allows you to link to a tab from anywhere on the page + // including from within another tab. Also note that internal page + // links either inside or out of the tabs need to include data-toggle="tab" + // Ex: Click me + $('a[data-toggle="tab"]').click(function (e) { + var href = $(this).attr("href"); + history.pushState(null, null, href); + e.preventDefault(); + $('a[href="' + $(this).attr('href') + '"]').tab('show'); + }); + + // ------------------------------------------------ + // End Deep Linking for Bootstrap tabs + // ------------------------------------------------ + + + }); diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index 710144f998..7a7a2aa23b 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -326,3 +326,7 @@ img.navbar-brand-img, .navbar-brand>img { [hidden] { display: none !important; } + +#toolbar { + margin-top: 10px; +} diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index 1ed5a4cd9b..378bcf9e3a 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -80,6 +80,7 @@ 'email_domain_help' => 'This is used to generate email addresses when importing', 'filastname_format' => 'First Initial Last Name (jsmith@example.com)', 'firstname_lastname_format' => 'First Name Last Name (jane.smith@example.com)', + 'firstname_lastname_underscore_format' => 'First Name Last Name (jane_smith@example.com)', 'first' => 'First', 'first_name' => 'First Name', 'first_name_format' => 'First Name (jane@example.com)', diff --git a/resources/macros/macros.php b/resources/macros/macros.php index 7a45fa297f..faeb4de1ff 100644 --- a/resources/macros/macros.php +++ b/resources/macros/macros.php @@ -456,6 +456,7 @@ Form::macro('username_format', function ($name = "username_format", $selected = 'firstname.lastname' => trans('general.firstname_lastname_format'), 'firstname' => trans('general.first_name_format'), 'filastname' => trans('general.filastname_format'), + 'firstname_lastname' => trans('general.firstname_lastname_underscore_format'), ); diff --git a/resources/views/accessories/index.blade.php b/resources/views/accessories/index.blade.php index c8d6cee05a..80259a13bc 100755 --- a/resources/views/accessories/index.blade.php +++ b/resources/views/accessories/index.blade.php @@ -21,14 +21,25 @@
- + +
@@ -39,10 +50,5 @@ @stop @section('moar_scripts') -@include ('partials.bootstrap-table', [ - 'search' => true, - 'showFooter' => true, - 'columns' => \App\Presenters\AccessoryPresenter::dataTableLayout(), - 'exportFile' => 'accessories-export', - ]) +@include ('partials.bootstrap-table') @stop diff --git a/resources/views/accessories/view.blade.php b/resources/views/accessories/view.blade.php index 974c8ae1c1..646a7f4483 100644 --- a/resources/views/accessories/view.blade.php +++ b/resources/views/accessories/view.blade.php @@ -53,21 +53,32 @@
- - - - - - - -
{{ trans('general.user') }}{{ trans('table.actions') }}
+ + + + + + + + + +
{{ trans('general.user') }}{{ trans('table.actions') }}
@@ -90,9 +101,5 @@ @stop @section('moar_scripts') -@include ('partials.bootstrap-table', [ - 'exportFile' => 'accessory' . - $accessory->name . '-export', - 'search' => 'false' - ]) +@include ('partials.bootstrap-table') @stop diff --git a/resources/views/account/view-assets.blade.php b/resources/views/account/view-assets.blade.php index 28fa23dc24..53c28678fc 100755 --- a/resources/views/account/view-assets.blade.php +++ b/resources/views/account/view-assets.blade.php @@ -23,29 +23,48 @@ View Assets for {{ $user->present()->fullName() }}
- @if (count($user->assets) > 0)
- + +
- - - - - - - + + + + + + + + + @foreach ($user->assets as $asset) + + + - -
{{ trans('admin/hardware/table.asset_model') }}{{ trans('admin/hardware/table.asset_tag') }}{{ trans('admin/hardware/table.serial') }}{{ trans('general.name') }}
{{ trans('general.category') }}{{ trans('admin/hardware/table.asset_tag') }}{{ trans('general.name') }}{{ trans('admin/hardware/table.asset_model') }}{{ trans('admin/hardware/table.serial') }}{{ trans('general.image') }}
{{ $asset->model->category->name }}{{ $asset->asset_tag }}{{ $asset->name }} @if ($asset->physical=='1') - {{ $asset->model->name }} + {{ $asset->model->name }} @endif {{ $asset->asset_tag }} {{ $asset->serial }}{{ $asset->name }} @if (($asset->image) && ($asset->image!='')) @@ -59,15 +78,6 @@ View Assets for {{ $user->present()->fullName() }}
- @else - -
-
- - {{ trans('general.no_results') }} -
-
- @endif
@@ -86,9 +96,24 @@ View Assets for {{ $user->present()->fullName() }}
- @if (count($user->licenses) > 0) +
- +
@@ -111,14 +136,6 @@ View Assets for {{ $user->present()->fullName() }}
{{ trans('general.name') }}
- @else -
-
- - {{ trans('general.no_results') }} -
-
- @endif
@@ -137,9 +154,23 @@ View Assets for {{ $user->present()->fullName() }}
- @if (count($user->consumables) > 0)
- +
@@ -154,14 +185,7 @@ View Assets for {{ $user->present()->fullName() }}
{{ trans('general.name') }}
- @else -
-
- - {{ trans('general.no_results') }} -
-
- @endif +
@@ -182,9 +206,24 @@ View Assets for {{ $user->present()->fullName() }}
- @if (count($user->accessories) > 0) +
- +
@@ -199,14 +238,7 @@ View Assets for {{ $user->present()->fullName() }}
Name
- @else -
-
- - {{ trans('general.no_results') }} -
-
- @endif +
@@ -224,37 +256,36 @@ View Assets for {{ $user->present()->fullName() }} @endif
- @if (count($userlog) > 0)
+ data-cookie-id-table="userActivityReport" + data-pagination="true" + data-id-table="userActivityReport" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-refresh="true" + data-sort-order="asc" + id="userActivityReport" + class="table table-striped snipe-table" + data-url="{{route('api.activity.index', ['target_id' => $user->id, 'target_type' => 'User', 'order' => 'desc']) }}" + data-export-options='{ + "fileName": "my-history-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> - - - - - + + + + + - -
{{ trans('general.date') }}{{ trans('general.admin') }}{{ trans('general.action') }}{{ trans('general.item') }}{{ trans('general.date') }}{{ trans('general.admin') }}{{ trans('general.action') }}{{ trans('general.item') }}
- @else -
-
- - {{ trans('general.no_results') }} -
-
- @endif
diff --git a/resources/views/asset_maintenances/index.blade.php b/resources/views/asset_maintenances/index.blade.php index 966aced35d..2b926cef58 100644 --- a/resources/views/asset_maintenances/index.blade.php +++ b/resources/views/asset_maintenances/index.blade.php @@ -20,29 +20,38 @@
- + +
+ - - - - - - - - - - - - + + + + + + + + + + + + @can('update', \App\Models\Asset::class) @endcan diff --git a/resources/views/categories/index.blade.php b/resources/views/categories/index.blade.php index 9302cf172f..08f995f65b 100755 --- a/resources/views/categories/index.blade.php +++ b/resources/views/categories/index.blade.php @@ -20,15 +20,26 @@
-
{{ trans('admin/companies/table.title') }}{{ trans('general.id') }}{{ trans('admin/asset_maintenances/table.asset_name') }}{{ trans('general.supplier') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_type') }}{{ trans('admin/asset_maintenances/form.title') }}{{ trans('admin/asset_maintenances/form.start_date') }}{{ trans('admin/asset_maintenances/form.completion_date') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_time') }}{{ trans('admin/asset_maintenances/form.cost') }}{{ trans('general.admin') }}{{ trans('admin/asset_maintenances/form.notes') }}{{ trans('general.id') }}{{ trans('admin/companies/table.title') }}{{ trans('admin/asset_maintenances/table.asset_name') }}{{ trans('general.supplier') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_type') }}{{ trans('admin/asset_maintenances/form.title') }}{{ trans('admin/asset_maintenances/form.start_date') }}{{ trans('admin/asset_maintenances/form.completion_date') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_time') }}{{ trans('admin/asset_maintenances/form.cost') }}{{ trans('general.admin') }}{{ trans('admin/asset_maintenances/form.notes') }}{{ trans('table.actions') }}
+
diff --git a/resources/views/categories/view.blade.php b/resources/views/categories/view.blade.php index 9763b0ab8e..0316266150 100644 --- a/resources/views/categories/view.blade.php +++ b/resources/views/categories/view.blade.php @@ -28,14 +28,59 @@
+ + + @if ($category->category_type=='asset') + + data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}" + data-cookie-id-table="categoryAssetsTable" + id="categoryAssetsTable" + data-id-table="categoryAssetsTable" + data-export-options='{ + "fileName": "export-{{ str_slug($category->name) }}-assets-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }' + @elseif ($category->category_type=='accessory') + data-columns="{{ \App\Presenters\AccessoryPresenter::dataTableLayout() }}" + data-cookie-id-table="categoryAccessoryTable" + id="categoryAccessoryTable" + data-id-table="categoryAccessoryTable" + data-export-options='{ + "fileName": "export-{{ str_slug($category->name) }}-accessories-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }' + @elseif ($category->category_type=='consumable') + data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}" + data-cookie-id-table="categoryConsumableTable" + id="categoryConsumableTable" + data-id-table="categoryConsumableTable" + data-export-options='{ + "fileName": "export-{{ str_slug($category->name) }}-consumables-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }' + @elseif ($category->category_type=='component') + data-columns="{{ \App\Presenters\ComponentPresenter::dataTableLayout() }}" + data-cookie-id-table="categoryCompomnentTable" + id="categoryCompomnentTable" + data-id-table="categoryCompomnentTable" + data-export-options='{ + "fileName": "export-{{ str_slug($category->name) }}-components-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }' + @endif + + data-pagination="true" + data-search="true" + data-show-footer="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-refresh="true" + data-sort-order="asc" + class="table table-striped snipe-table" + data-url="{{ route('api.'.$category_type_route.'.index',['category_id'=> $category->id]) }}"> +
@@ -45,32 +90,5 @@ @stop @section('moar_scripts') - - @if ($category->category_type=='asset') - @include ('partials.bootstrap-table', - [ - 'exportFile' => 'category-' . $category->name . '-export', - 'search' => true, - 'columns' => \App\Presenters\AssetPresenter::dataTableLayout()]) - @elseif ($category->category_type=='accessory') - @include ('partials.bootstrap-table', - [ - 'exportFile' => 'category-' . $category->name . '-export', - 'search' => true, - 'columns' => \App\Presenters\AccessoryPresenter::dataTableLayout()]) - @elseif ($category->category_type=='consumable') - @include ('partials.bootstrap-table', - [ - 'exportFile' => 'category-' . $category->name . '-export', - 'search' => true, - 'columns' => \App\Presenters\ConsumablePresenter::dataTableLayout()]) - @elseif ($category->category_type=='component') - @include ('partials.bootstrap-table', - [ - 'exportFile' => 'category-' . $category->name . '-export', - 'search' => true, - 'columns' => \App\Presenters\ComponentPresenter::dataTableLayout()]) - @endif - - +@include ('partials.bootstrap-table') @stop diff --git a/resources/views/companies/index.blade.php b/resources/views/companies/index.blade.php index 37f0653f3e..dbe6caa5ab 100644 --- a/resources/views/companies/index.blade.php +++ b/resources/views/companies/index.blade.php @@ -17,14 +17,26 @@
+ + data-columns="{{ \App\Presenters\CompanyPresenter::dataTableLayout() }}" + data-cookie-id-table="companiesTable" + data-pagination="true" + data-id-table="companiesTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-refresh="true" + data-sort-order="asc" + id="companiesTable" + class="table table-striped snipe-table" + data-url="{{ route('api.companies.index') }}" + data-export-options='{ + "fileName": "export-companies-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> +
@@ -41,10 +53,5 @@ @stop @section('moar_scripts') - @include ('partials.bootstrap-table', [ - 'exportFile' => 'companies-export', - 'search' => true, - 'columns' => \App\Presenters\CompanyPresenter::dataTableLayout() - ]) - + @include ('partials.bootstrap-table') @stop diff --git a/resources/views/companies/view.blade.php b/resources/views/companies/view.blade.php index 81ddec6965..b9d2545ef2 100644 --- a/resources/views/companies/view.blade.php +++ b/resources/views/companies/view.blade.php @@ -75,95 +75,153 @@
- + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-assets-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+ + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-licenses-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+
+ - + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-accessories-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+
+ + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-consumables-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+
+ + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-components-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> +
+ + data-export-options='{ + "fileName": "export-companies-{{ str_slug($company->name) }}-users-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> +
diff --git a/resources/views/components/index.blade.php b/resources/views/components/index.blade.php index c49599d018..69dbe40dcf 100644 --- a/resources/views/components/index.blade.php +++ b/resources/views/components/index.blade.php @@ -23,8 +23,28 @@ 'route' => ['component/bulk-form'], 'class' => 'form-inline' ]) }} -
-
+ + +
+
+ data-cookie-id-table="componentsCheckedoutTable" + data-pagination="true" + data-id-table="componentsCheckedoutTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-footer="true" + data-show-refresh="true" + data-sort-order="asc" + data-sort-name="name" + id="componentsCheckedoutTable" + class="table table-striped snipe-table" + data-url="{{ route('api.components.assets', $component->id)}}" + data-export-options='{ + "fileName": "export-components-{{ str_slug($component->name) }}-checkedout-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> - - - - - - + + + + + +
{{ trans('general.asset') }}{{ trans('general.qty') }}{{ trans('general.date') }}{{ trans('general.checkin') }}/{{ trans('general.checkout') }}
{{ trans('general.asset') }}{{ trans('general.qty') }}{{ trans('general.date') }}{{ trans('general.checkin') }}/{{ trans('general.checkout') }}
+
diff --git a/resources/views/consumables/index.blade.php b/resources/views/consumables/index.blade.php index feeb2367e3..2605ae135a 100644 --- a/resources/views/consumables/index.blade.php +++ b/resources/views/consumables/index.blade.php @@ -21,17 +21,28 @@
- - - + data-columns="{{ \App\Presenters\ConsumablePresenter::dataTableLayout() }}" + data-cookie-id-table="consumablesTable" + data-pagination="true" + data-id-table="consumablesTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-footer="true" + data-show-refresh="true" + data-sort-order="asc" + data-sort-name="name" + data-toolbar="#toolbar" + id="consumablesTable" + class="table table-striped snipe-table" + data-url="{{ route('api.consumables.index') }}" + data-export-options='{ + "fileName": "export-consumables-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+
diff --git a/resources/views/consumables/view.blade.php b/resources/views/consumables/view.blade.php index 5632a01264..8e24a67a58 100644 --- a/resources/views/consumables/view.blade.php +++ b/resources/views/consumables/view.blade.php @@ -31,14 +31,26 @@
+ + data-cookie-id-table="consumablesCheckedoutTable" + data-pagination="true" + data-id-table="consumablesCheckedoutTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-footer="true" + data-show-refresh="true" + data-sort-order="asc" + data-sort-name="name" + id="consumablesCheckedoutTable" + class="table table-striped snipe-table" + data-url="{{route('api.consumables.showUsers', $consumable->id)}}" + data-export-options='{ + "fileName": "export-consumables-{{ str_slug($consumable->name) }}-checkedout-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index e2c9f0d3d8..ad870af9bd 100755 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -163,25 +163,29 @@
-
{{ trans('general.user') }}
- - - - - - - - - - -
{{ trans('general.date') }}{{ trans('general.admin') }}{{ trans('general.action') }}{{ trans('general.item') }}{{ trans('general.target') }}
+ + + + + + + + + + + + +
{{ trans('general.date') }}{{ trans('general.admin') }}{{ trans('general.action') }}{{ trans('general.item') }}{{ trans('general.target') }}
+ +
@@ -232,19 +236,23 @@
+ - - - - - - + + + + + +
{{ trans('general.name') }}{{ trans('general.type') }}{{ trans('general.name') }}{{ trans('general.type') }}
diff --git a/resources/views/departments/index.blade.php b/resources/views/departments/index.blade.php index bc5c0fb57c..df7d313403 100644 --- a/resources/views/departments/index.blade.php +++ b/resources/views/departments/index.blade.php @@ -17,14 +17,24 @@
+ + data-export-options='{ + "fileName": "export-departments-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> @@ -48,6 +58,6 @@ @stop @section('moar_scripts') - @include ('partials.bootstrap-table', ['exportFile' => 'locations-export', 'search' => true]) + @include ('partials.bootstrap-table') @stop diff --git a/resources/views/departments/view.blade.php b/resources/views/departments/view.blade.php index 1fdcc0840e..9848f9e4c8 100644 --- a/resources/views/departments/view.blade.php +++ b/resources/views/departments/view.blade.php @@ -22,15 +22,27 @@
+
{{ trans('general.id') }}
- + data-export-options='{ + "fileName": "export-departments-{{ str_slug($department->name) }}-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> +
diff --git a/resources/views/depreciations/index.blade.php b/resources/views/depreciations/index.blade.php index 991fec39b7..22d985c4ca 100755 --- a/resources/views/depreciations/index.blade.php +++ b/resources/views/depreciations/index.blade.php @@ -20,13 +20,25 @@ Asset Depreciations
+ + data-cookie-id-table="depreciationsTable" + data-pagination="true" + data-id-table="depreciationsTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-refresh="true" + data-sort-order="asc" + id="depreciationsTable" + class="table table-striped snipe-table" + data-url="{{ route('api.depreciations.index') }}" + data-export-options='{ + "fileName": "export-depreciations-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'> + diff --git a/resources/views/groups/index.blade.php b/resources/views/groups/index.blade.php index ba29db4a63..e62baa03b7 100755 --- a/resources/views/groups/index.blade.php +++ b/resources/views/groups/index.blade.php @@ -19,20 +19,30 @@
-
{{ trans('general.id') }}
+ +
+ - + diff --git a/resources/views/groups/view.blade.php b/resources/views/groups/view.blade.php index 3c637b4f3b..6a4053bc24 100644 --- a/resources/views/groups/view.blade.php +++ b/resources/views/groups/view.blade.php @@ -23,16 +23,23 @@
-
{{ trans('general.id') }} {{ trans('admin/groups/table.name') }}{{ trans('admin/groups/table.users') }}{{ trans('admin/groups/table.users') }} {{ trans('general.created_at') }} {{ trans('table.actions') }}
- +
@@ -42,12 +49,16 @@
+ @if (is_array($group->decodePermissions()))
    @foreach ($group->decodePermissions() as $permission_name => $permission)
  • {!! ($permission == '1') ? '' : '' !!} {{ e(str_replace('.', ': ', ucwords($permission_name))) }}
  • @endforeach
+ @else +

This group has no permissions.

+ @endif
@@ -55,10 +66,5 @@ @stop @section('moar_scripts') - @include ('partials.bootstrap-table', [ - 'exportFile' => 'groups-export', - 'search' => true, - 'columns' => \App\Presenters\UserPresenter::dataTableLayout() - ]) - + @include ('partials.bootstrap-table') @stop diff --git a/resources/views/hardware/edit.blade.php b/resources/views/hardware/edit.blade.php index d65ee4dc07..f3046dd4e2 100755 --- a/resources/views/hardware/edit.blade.php +++ b/resources/views/hardware/edit.blade.php @@ -190,7 +190,7 @@ user_add($(".status_id").val()); }); - $("form").submit(function (event) { + $("#create-form").submit(function (event) { event.preventDefault(); return sendForm(); }); diff --git a/resources/views/hardware/index.blade.php b/resources/views/hardware/index.blade.php index e54c45974c..2e9ed224d9 100755 --- a/resources/views/hardware/index.blade.php +++ b/resources/views/hardware/index.blade.php @@ -73,25 +73,34 @@ @endif + data-advanced-search="true" + data-click-to-select="true" + data-columns="{{ \App\Presenters\AssetPresenter::dataTableLayout() }}" + data-cookie-id-table="assetsListingTable" + data-pagination="true" + data-id-table="assetsListingTable" + data-search="true" + data-side-pagination="server" + data-show-columns="true" + data-show-export="true" + data-show-footer="true" + data-show-refresh="true" + data-sort-order="asc" + data-sort-name="name" + data-toolbar="#toolbar" + id="assetsListingTable" + class="table table-striped snipe-table" + data-url="{{ route('api.assets.index', + array('status' => e(Input::get('status')), + 'order_number'=>e(Input::get('order_number')), + 'company_id'=>e(Input::get('company_id')), + 'status_id'=>e(Input::get('status_id')))) }}" + data-export-options='{ + "fileName": "export{{ (Input::has('status')) ? '-'.str_slug(Input::get('status')) : '' }}-assets-{{ date('Y-m-d') }}", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }'>
+
{{ Form::close() }} @@ -102,11 +111,6 @@ @stop @section('moar_scripts') -@include ('partials.bootstrap-table', [ - 'exportFile' => 'assets-export', - 'search' => true, - 'showFooter' => true, - 'columns' => \App\Presenters\AssetPresenter::dataTableLayout() -]) +@include('partials.bootstrap-table') @stop diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index 844a689772..1e4120b464 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -31,6 +31,7 @@ {{-- Page content --}} @section('content') +
@if ($asset->deleted_at!='') @@ -589,7 +590,7 @@ 'class' => 'form-inline', 'id' => 'bulkForm']) }}
- @@ -599,20 +600,24 @@
+ -
+ + {{ Form::close() }}
@@ -624,78 +629,46 @@
@can('update', \App\Models\Asset::class) -
{{ trans('general.asset_maintenances') }} - [ {{ trans('button.add') }} ] -
+ @endcan - @if (count($asset->assetmaintenances) > 0) - +
- - - - - - + + + + + + - - - + + @can('update', \App\Models\Asset::class) - + @endcan - - - - @foreach ($asset->assetmaintenances as $assetMaintenance) - @if (is_null($assetMaintenance->deleted_at)) - - - - - - - - - - - cost; ?> - @can('update', \App\Models\Asset::class) - - @endcan - - @endif - @endforeach - - - - - -
{{ trans('general.supplier') }}{{ trans('admin/asset_maintenances/form.title') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_type') }}{{ trans('admin/asset_maintenances/form.start_date') }}{{ trans('admin/asset_maintenances/form.completion_date') }}{{ trans('admin/asset_maintenances/form.notes') }}{{ trans('general.supplier') }}{{ trans('admin/asset_maintenances/form.title') }}{{ trans('admin/asset_maintenances/form.asset_maintenance_type') }}{{ trans('admin/asset_maintenances/form.start_date') }}{{ trans('admin/asset_maintenances/form.completion_date') }}{{ trans('admin/asset_maintenances/form.notes') }} {{ trans('admin/asset_maintenances/table.is_warranty') }}{{ trans('admin/asset_maintenances/form.cost') }}{{ trans('general.admin') }}{{ trans('admin/asset_maintenances/form.cost') }}{{ trans('general.admin') }}{{ trans('table.actions') }}{{ trans('table.actions') }}
- @if ($assetMaintenance->supplier) - {{ $assetMaintenance->supplier->name }} - @else - (deleted supplier) - @endif - {{ $assetMaintenance->title }}{{ $assetMaintenance->asset_maintenance_type }}{{ $assetMaintenance->start_date }}{{ $assetMaintenance->completion_date }}{{ $assetMaintenance->notes }}{{ $assetMaintenance->is_warranty ? trans('admin/asset_maintenances/message.warranty') : trans('admin/asset_maintenances/message.not_warranty') }}{{ $use_currency.$assetMaintenance->cost }} - @if ($assetMaintenance->admin) - {{ $assetMaintenance->admin->present()->fullName() }} - @endif - - -
{{ is_numeric($totalCost) ? $use_currency.number_format($totalCost, 2) : $totalCost }}
- @else -
- - {{ trans('general.no_results') }} -
- @endif
@@ -705,18 +678,24 @@
+ data-show-export="true" + data-export-options='{ + "fileName": "export{{ (Input::has('status')) ? '-'.str_slug(Input::get('status')) : '' }}-assets", + "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] + }' + + data-url="{{ route('api.activity.index', ['item_id' => $asset->id, 'item_type' => 'asset']) }}" + data-cookie-id-table="assetHistory"> + + diff --git a/resources/views/licenses/index.blade.php b/resources/views/licenses/index.blade.php index 28b61d15ac..500453f762 100755 --- a/resources/views/licenses/index.blade.php +++ b/resources/views/licenses/index.blade.php @@ -23,16 +23,28 @@
-
-
+ + +
+