Compare commits
37 Commits
v1.2.7-beta
...
v1.2.8
| Author | SHA1 | Date | |
|---|---|---|---|
| 5084836737 | |||
| 063e3bbea6 | |||
| c3c4e9def2 | |||
| 7820efc121 | |||
| 5a6fe6ccf8 | |||
| c69038d3ae | |||
| 5939e46eee | |||
| a8a0a59982 | |||
| 73a08c031c | |||
| c77e7bf725 | |||
| 7a4299c724 | |||
| b9b0239837 | |||
| a43ae71afd | |||
| c4339a5d94 | |||
| b161a38e9b | |||
| 735268034d | |||
| aad473486f | |||
| 08970f2b7b | |||
| 6e8ad5b085 | |||
| 145d386ce2 | |||
| 94bfab762b | |||
| 20d8ad29e5 | |||
| bbdbd5397c | |||
| 527650d03b | |||
| 126121065c | |||
| 48ccf844fa | |||
| 7556f989df | |||
| 8207597a58 | |||
| 1137768f84 | |||
| 5f6925858b | |||
| 77d1d93ebc | |||
| c95af84452 | |||
| 62b5ec5b02 | |||
| 9f9a9a51b3 | |||
| 6f9daa28eb | |||
| d408bb9086 | |||
| 5f3bc8e74b |
+4
-2
@@ -1,4 +1,4 @@
|
||||
## Contributor Code of Conduct
|
||||
# Contributor Code of Conduct
|
||||
|
||||
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
||||
|
||||
@@ -8,6 +8,8 @@ Examples of unacceptable behavior by participants include the use of sexual lang
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
||||
|
||||
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.1.0, available at [http://contributor-covenant.org/version/1/1/0/](http://contributor-covenant.org/version/1/1/0/)
|
||||
|
||||
@@ -31,7 +31,7 @@ class AppCommand extends Command
|
||||
'email' => null,
|
||||
'password' => null
|
||||
);
|
||||
|
||||
|
||||
protected $dummyData = true;
|
||||
|
||||
/**
|
||||
@@ -103,7 +103,7 @@ class AppCommand extends Command
|
||||
$this->call('db:seed', array('--force'=>true));
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// Seeding Settings table is mandatory
|
||||
$this->call('db:seed', array('--class' => 'SettingsSeeder', '--force'=>true));
|
||||
// Seeding Statuslabels is strongly recommended
|
||||
@@ -207,7 +207,7 @@ class AppCommand extends Command
|
||||
$this->userData['password'] = $password;
|
||||
} while( ! $password);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Asks the user to create dummy data
|
||||
*
|
||||
@@ -350,7 +350,8 @@ class AppCommand extends Command
|
||||
'first_name' => 'John',
|
||||
'last_name' => 'Doe',
|
||||
'email' => 'john.doe@example.com',
|
||||
'password' => 'johndoe',
|
||||
'password' => substr(str_shuffle(str_repeat('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', mt_rand(1,10))),1,10),
|
||||
'notes' => 'Generated on install',
|
||||
'activated' => 1,
|
||||
'manager_id' => 1,
|
||||
);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v1.2.6.1-231',
|
||||
'hash_version' => 'v1.2.6.1-231-g767e2c6',
|
||||
'app_version' => 'v1.2.7-master',
|
||||
'hash_version' => 'v1.2.7-master',
|
||||
);
|
||||
@@ -15,6 +15,8 @@ use User;
|
||||
use Actionlog;
|
||||
use Mail;
|
||||
use Datatable;
|
||||
use Slack;
|
||||
use Config;
|
||||
|
||||
class AccessoriesController extends AdminController
|
||||
{
|
||||
@@ -233,6 +235,7 @@ class AccessoriesController extends AdminController
|
||||
return Redirect::to('accessories')->with('error', Lang::get('admin/accessories/message.not_found'));
|
||||
}
|
||||
|
||||
$admin_user = Sentry::getUser();
|
||||
$assigned_to = e(Input::get('assigned_to'));
|
||||
|
||||
|
||||
@@ -271,6 +274,46 @@ class AccessoriesController extends AdminController
|
||||
$logaction->location_id = $user->location_id;
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->note = e(Input::get('note'));
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Checked Out:',
|
||||
'value' => strtoupper($logaction->asset_type).' <'.Config::get('app.url').'/admin/accessories/'.$accessory->id.'/view'.'|'.$accessory->name.'> checked out to <'.Config::get('app.url').'/admin/users/'.$user->id.'/view|'.$user->fullName().'> by <'.Config::get('app.url').'/admin/users/'.$admin_user->id.'/view'.'|'.$admin_user->fullName().'>.'
|
||||
],
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
|
||||
|
||||
]
|
||||
])->send('Accessory Checked Out');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$log = $logaction->logaction('checkout');
|
||||
|
||||
$accessory_user = DB::table('accessories_users')->where('assigned_to','=',$accessory->assigned_to)->where('accessory_id','=',$accessory->id)->first();
|
||||
@@ -336,6 +379,8 @@ class AccessoriesController extends AdminController
|
||||
$logaction = new Actionlog();
|
||||
$logaction->checkedout_to = $accessory_user->assigned_to;
|
||||
$return_to = $accessory_user->assigned_to;
|
||||
$admin_user = Sentry::getUser();
|
||||
|
||||
|
||||
// Was the accessory updated?
|
||||
if(DB::table('accessories_users')->where('id', '=', $accessory_user->id)->delete()) {
|
||||
@@ -343,7 +388,45 @@ class AccessoriesController extends AdminController
|
||||
$logaction->accessory_id = $accessory->id;
|
||||
$logaction->location_id = NULL;
|
||||
$logaction->asset_type = 'accessory';
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->user_id = $admin_user->id;
|
||||
$logaction->note = e(Input::get('note'));
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Checked In:',
|
||||
'value' => strtoupper($logaction->asset_type).' <'.Config::get('app.url').'/admin/accessories/'.$accessory->id.'/view'.'|'.$accessory->name.'> checked in by <'.Config::get('app.url').'/admin/users/'.$admin_user->id.'/view'.'|'.$admin_user->fullName().'>.'
|
||||
],
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
]
|
||||
])->send('Accessory Checked In');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$log = $logaction->logaction('checkin from');
|
||||
|
||||
if ($backto=='user') {
|
||||
|
||||
@@ -156,7 +156,7 @@ class AssetsController extends AdminController
|
||||
} else {
|
||||
$asset->rtd_location_id = e(Input::get('rtd_location_id'));
|
||||
}
|
||||
|
||||
|
||||
$checkModel = Config::get('app.url').'/api/models/'.e(Input::get('model_id')).'/check';
|
||||
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
|
||||
@@ -293,7 +293,7 @@ class AssetsController extends AdminController
|
||||
} else {
|
||||
$asset->rtd_location_id = e(Input::get('rtd_location_id'));
|
||||
}
|
||||
|
||||
|
||||
$checkModel = Config::get('app.url').'/api/models/'.e(Input::get('model_id')).'/check';
|
||||
$asset->mac_address = ($checkModel == true) ? e(Input::get('mac_address')) : NULL;
|
||||
|
||||
@@ -441,34 +441,40 @@ class AssetsController extends AdminController
|
||||
$data['first_name'] = $user->first_name;
|
||||
$data['item_name'] = $asset->showAssetName();
|
||||
$data['require_acceptance'] = $asset->requireAcceptance();
|
||||
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Asset Checked Out',
|
||||
'value' => strtoupper($logaction->asset_type).' asset '.$asset->showAssetName().' checked out to '.$logaction->userlog->fullName().' by '.Sentry::getUser()->fullName()
|
||||
'title' => 'Checked Out:',
|
||||
'value' => strtoupper($logaction->asset_type).' asset <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.$asset->showAssetName().'> checked out to <'.Config::get('app.url').'/admin/users/'.$user->id.'/view|'.$user->fullName().'> by <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.Sentry::getUser()->fullName().'>.'
|
||||
],
|
||||
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
|
||||
|
||||
]
|
||||
])->send('A new checkout has been posted');
|
||||
|
||||
])->send('Asset Checked Out');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -557,36 +563,40 @@ class AssetsController extends AdminController
|
||||
$log = $logaction->logaction('checkin from');
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Asset Checked In',
|
||||
'value' => strtoupper($logaction->asset_type).' asset '.$asset->showAssetName().' checked in by '.Sentry::getUser()->fullName()
|
||||
'title' => 'Checked In:',
|
||||
'value' => strtoupper($logaction->asset_type).' asset <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.$asset->showAssetName().'> checked in by <'.Config::get('app.url').'/hardware/'.$asset->id.'/view'.'|'.Sentry::getUser()->fullName().'>.'
|
||||
],
|
||||
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
]
|
||||
])->send('A new checkin has been posted');
|
||||
|
||||
])->send('Asset Checked In');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ($backto=='user') {
|
||||
return Redirect::to("admin/users/".$return_to.'/view')->with('success', Lang::get('admin/hardware/message.checkin.success'));
|
||||
} else {
|
||||
@@ -742,7 +752,7 @@ class AssetsController extends AdminController
|
||||
foreach(Input::file('assetfile') as $file) {
|
||||
|
||||
$rules = array(
|
||||
'assetfile' => 'required|mimes:png,gif,jpg,jpeg,doc,docx,pdf,txt|max:2000'
|
||||
'assetfile' => 'required|mimes:png,gif,jpg,jpeg,doc,docx,pdf,txt,zip,rar|max:2000'
|
||||
);
|
||||
$validator = Validator::make(array('assetfile'=> $file), $rules);
|
||||
|
||||
@@ -862,51 +872,51 @@ class AssetsController extends AdminController
|
||||
**/
|
||||
public function postBulkEdit($assets = null)
|
||||
{
|
||||
|
||||
|
||||
if (!Input::has('edit_asset')) {
|
||||
return Redirect::back()->with('error', 'No assets selected');
|
||||
} else {
|
||||
$asset_raw_array = Input::get('edit_asset');
|
||||
$asset_raw_array = Input::get('edit_asset');
|
||||
foreach ($asset_raw_array as $asset_id => $value) {
|
||||
$asset_ids[] = $asset_id;
|
||||
|
||||
$asset_ids[] = $asset_id;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (Input::has('bulk_actions')) {
|
||||
|
||||
|
||||
|
||||
|
||||
// Create labels
|
||||
if (Input::get('bulk_actions')=='labels') {
|
||||
$assets = Asset::find($asset_ids);
|
||||
$assetcount = count($assets);
|
||||
$count = 0;
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
return View::make('backend/hardware/labels')->with('assets',$assets)->with('settings',$settings)->with('count',$count);
|
||||
|
||||
|
||||
// Bulk edit
|
||||
|
||||
// Bulk edit
|
||||
} elseif (Input::get('bulk_actions')=='edit') {
|
||||
|
||||
|
||||
$assets = Input::get('edit_asset');
|
||||
|
||||
|
||||
$supplier_list = array('' => '') + Supplier::orderBy('name', 'asc')->lists('name', 'id');
|
||||
$statuslabel_list = array('' => '') + Statuslabel::lists('name', 'id');
|
||||
$location_list = array('' => '') + Location::lists('name', 'id');
|
||||
|
||||
|
||||
return View::make('backend/hardware/bulk')->with('assets',$assets)->with('supplier_list',$supplier_list)->with('statuslabel_list',$statuslabel_list)->with('location_list',$location_list);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
return Redirect::back()->with('error', 'No action selected');
|
||||
return Redirect::back()->with('error', 'No action selected');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -981,7 +991,7 @@ class AssetsController extends AdminController
|
||||
{
|
||||
|
||||
$assets = Asset::with('model','assigneduser','assigneduser.userloc','assetstatus','defaultLoc','assetlog','model','model.category')->Hardware()->select(array('id', 'name','model_id','assigned_to','asset_tag','serial','status_id','purchase_date','deleted_at'));
|
||||
|
||||
|
||||
|
||||
switch ($status) {
|
||||
case 'Pending':
|
||||
@@ -1005,95 +1015,95 @@ class AssetsController extends AdminController
|
||||
case 'Deleted':
|
||||
$assets->withTrashed()->Deleted();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
$assets = $assets->orderBy('asset_tag', 'ASC')->get();
|
||||
|
||||
|
||||
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($assets)
|
||||
{
|
||||
|
||||
|
||||
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($assets)
|
||||
{
|
||||
if ($assets->deleted_at=='') {
|
||||
return '<a href="'.route('update/hardware', $assets->id).'" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a> <a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/hardware', $assets->id).'" data-content="'.Lang::get('admin/hardware/message.delete.confirm').'" data-title="'.Lang::get('general.delete').' '.htmlspecialchars($assets->asset_tag).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a>';
|
||||
} elseif ($assets->model->deleted_at=='') {
|
||||
return '<a href="'.route('restore/hardware', $assets->id).'" class="btn btn-warning btn-sm"><i class="fa fa-recycle icon-white"></i></a>';
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
$inout = new \Chumper\Datatable\Columns\FunctionColumn('inout', function ($assets)
|
||||
{
|
||||
|
||||
$inout = new \Chumper\Datatable\Columns\FunctionColumn('inout', function ($assets)
|
||||
{
|
||||
if (($assets->assigned_to !='') && ($assets->assigned_to > 0)) {
|
||||
return '<a href="'.route('checkin/hardware', $assets->id).'" class="btn btn-primary btn-sm">'.Lang::get('general.checkin').'</a>';
|
||||
} else {
|
||||
return '<a href="'.route('checkout/hardware', $assets->id).'" class="btn btn-info btn-sm">'.Lang::get('general.checkout').'</a>';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return Datatable::collection($assets)
|
||||
->addColumn('',function($assets)
|
||||
{
|
||||
return '<input type="checkbox" name="edit_asset['.$assets->id.']" class="one_required">';
|
||||
{
|
||||
return '<input type="checkbox" name="edit_asset['.$assets->id.']" class="one_required">';
|
||||
})
|
||||
->addColumn('name',function($assets)
|
||||
{
|
||||
return '<a title="'.$assets->name.'" href="hardware/'.$assets->id.'/view">'.$assets->name.'</a>';
|
||||
})
|
||||
})
|
||||
->addColumn('asset_tag',function($assets)
|
||||
{
|
||||
return '<a title="'.$assets->asset_tag.'" href="hardware/'.$assets->id.'/view">'.$assets->asset_tag.'</a>';
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
->showColumns('serial')
|
||||
|
||||
|
||||
->addColumn('model',function($assets)
|
||||
{
|
||||
return $assets->model->name;
|
||||
})
|
||||
|
||||
|
||||
->addColumn('status',function($assets)
|
||||
{
|
||||
{
|
||||
if ($assets->assigned_to!='') {
|
||||
return link_to('../admin/users/'.$assets->assigned_to.'/view', $assets->assigneduser->fullName());
|
||||
} else {
|
||||
return $assets->assetstatus->name;
|
||||
return $assets->assetstatus->name;
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
->addColumn('location',function($assets)
|
||||
{
|
||||
if ($assets->assigned_to && $assets->assigneduser->userloc) {
|
||||
return link_to('admin/location/'.$assets->assigneduser->userloc->id.'/edit', $assets->assigneduser->userloc->name);
|
||||
if ($assets->assigned_to && $assets->assigneduser->userloc) {
|
||||
return link_to('admin/settings/locations/'.$assets->assigneduser->userloc->id.'/edit', $assets->assigneduser->userloc->name);
|
||||
} elseif ($assets->defaultLoc){
|
||||
return link_to('admin/location/'.$assets->defaultLoc->id.'/edit', $assets->defaultLoc->name);
|
||||
return link_to('admin/settings/locations/'.$assets->defaultLoc->id.'/edit', $assets->defaultLoc->name);
|
||||
}
|
||||
})
|
||||
->addColumn('category',function($assets)
|
||||
{
|
||||
return $assets->model->category->name;
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
->addColumn('eol',function($assets)
|
||||
{
|
||||
return $assets->eol_date();
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
->addColumn('checkout_date',function($assets)
|
||||
{
|
||||
{
|
||||
if (($assets->assigned_to!='') && ($assets->assetlog->first())) {
|
||||
return $assets->assetlog->first()->created_at->format('Y-m-d');
|
||||
}
|
||||
|
||||
})
|
||||
->addColumn($inout)
|
||||
->addColumn($actions)
|
||||
}
|
||||
|
||||
})
|
||||
->addColumn($inout)
|
||||
->addColumn($actions)
|
||||
->searchColumns('name', 'asset_tag', 'serial', 'model', 'status','location','eol','checkout_date', 'inout','category')
|
||||
->orderColumns('name', 'asset_tag', 'serial', 'model', 'status','location','eol','checkout_date', 'inout')
|
||||
->make();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,9 @@ use Validator;
|
||||
use View;
|
||||
use Response;
|
||||
use Datatable;
|
||||
use Slack;
|
||||
use Config;
|
||||
use Session;
|
||||
|
||||
class LicensesController extends AdminController
|
||||
{
|
||||
@@ -132,6 +135,7 @@ class LicensesController extends AdminController
|
||||
|
||||
// Was the license created?
|
||||
if($license->save()) {
|
||||
|
||||
$insertedId = $license->id;
|
||||
// Save the license seat data
|
||||
for ($x=0; $x<$license->seats; $x++) {
|
||||
@@ -226,6 +230,7 @@ class LicensesController extends AdminController
|
||||
$license->depreciation_id = e(Input::get('depreciation_id'));
|
||||
$license->purchase_order = e(Input::get('purchase_order'));
|
||||
$license->maintained = e(Input::get('maintained'));
|
||||
$license->reassignable = e(Input::get('reassignable'));
|
||||
|
||||
if ( e(Input::get('supplier_id')) == '') {
|
||||
$license->supplier_id = NULL;
|
||||
@@ -266,6 +271,12 @@ class LicensesController extends AdminController
|
||||
$license->maintained = e(Input::get('maintained'));
|
||||
}
|
||||
|
||||
if ( e(Input::get('reassignable')) == '') {
|
||||
$license->reassignable = 0;
|
||||
} else {
|
||||
$license->reassignable = e(Input::get('reassignable'));
|
||||
}
|
||||
|
||||
if ( e(Input::get('purchase_order')) == '') {
|
||||
$license->purchase_order = '';
|
||||
} else {
|
||||
@@ -439,6 +450,7 @@ class LicensesController extends AdminController
|
||||
|
||||
$assigned_to = e(Input::get('assigned_to'));
|
||||
$asset_id = e(Input::get('asset_id'));
|
||||
$user = Sentry::getUser();
|
||||
|
||||
// Declare the rules for the form validation
|
||||
$rules = array(
|
||||
@@ -480,13 +492,13 @@ class LicensesController extends AdminController
|
||||
|
||||
|
||||
|
||||
// Check if the asset exists
|
||||
// Check if the asset exists
|
||||
if (is_null($licenseseat = LicenseSeat::find($seatId))) {
|
||||
// Redirect to the asset management page with error
|
||||
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.not_found'));
|
||||
}
|
||||
|
||||
if ( e(Input::get('asset_id')) == '') {
|
||||
if (Input::get('asset_id') == '') {
|
||||
$licenseseat->asset_id = NULL;
|
||||
} else {
|
||||
$licenseseat->asset_id = e(Input::get('asset_id'));
|
||||
@@ -512,12 +524,55 @@ class LicensesController extends AdminController
|
||||
$logaction->asset_id = $licenseseat->license_id;
|
||||
|
||||
|
||||
$license = License::find($licenseseat->license_id);
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
|
||||
// Update the asset data
|
||||
if ( e(Input::get('assigned_to')) == '') {
|
||||
$logaction->checkedout_to = NULL;
|
||||
$logaction->checkedout_to = NULL;
|
||||
$slack_msg = strtoupper($logaction->asset_type).' license <'.Config::get('app.url').'/admin/licenses/'.$license->id.'/view'.'|'.$license->name.'> checked out to <'.Config::get('app.url').'/hardware/'.$is_asset_id->id.'/view|'.$is_asset_id->showAssetName().'> by <'.Config::get('app.url').'/admin/users/'.$user->id.'/view'.'|'.$user->fullName().'>.';
|
||||
} else {
|
||||
$logaction->checkedout_to = e(Input::get('assigned_to'));
|
||||
$logaction->checkedout_to = e(Input::get('assigned_to'));
|
||||
$slack_msg = strtoupper($logaction->asset_type).' license <'.Config::get('app.url').'/admin/licenses/'.$license->id.'/view'.'|'.$license->name.'> checked out to <'.Config::get('app.url').'/admin/users/'.$is_assigned_to->id.'/view|'.$is_assigned_to->fullName().'> by <'.Config::get('app.url').'/admin/users/'.$user->id.'/view'.'|'.$user->fullName().'>.';
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Checked Out:',
|
||||
'value' => $slack_msg
|
||||
],
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
|
||||
|
||||
]
|
||||
])->send('License Checked Out');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$log = $logaction->logaction('checkout');
|
||||
|
||||
@@ -557,7 +612,15 @@ class LicensesController extends AdminController
|
||||
// Redirect to the asset management page with error
|
||||
return Redirect::to('admin/licenses')->with('error', Lang::get('admin/licenses/message.not_found'));
|
||||
}
|
||||
|
||||
$license = License::find($licenseseat->license_id);
|
||||
|
||||
if(!$license->reassignable) {
|
||||
// Not allowed to checkin
|
||||
Session::flash('error', 'License not reassignable.');
|
||||
return Redirect::back()->withInput();
|
||||
}
|
||||
|
||||
// Declare the rules for the form validation
|
||||
$rules = array(
|
||||
'note' => 'alpha_space',
|
||||
@@ -579,6 +642,8 @@ class LicensesController extends AdminController
|
||||
// Update the asset data
|
||||
$licenseseat->assigned_to = NULL;
|
||||
$licenseseat->asset_id = NULL;
|
||||
|
||||
$user = Sentry::getUser();
|
||||
|
||||
// Was the asset updated?
|
||||
if($licenseseat->save()) {
|
||||
@@ -586,8 +651,47 @@ class LicensesController extends AdminController
|
||||
$logaction->location_id = NULL;
|
||||
$logaction->asset_type = 'software';
|
||||
$logaction->note = e(Input::get('note'));
|
||||
$logaction->user_id = Sentry::getUser()->id;
|
||||
$logaction->user_id = $user->id;
|
||||
|
||||
$settings = Setting::getSettings();
|
||||
|
||||
if ($settings->slack_endpoint) {
|
||||
|
||||
|
||||
$slack_settings = [
|
||||
'username' => $settings->botname,
|
||||
'channel' => $settings->slack_channel,
|
||||
'link_names' => true
|
||||
];
|
||||
|
||||
$client = new \Maknz\Slack\Client($settings->slack_endpoint,$slack_settings);
|
||||
|
||||
try {
|
||||
$client->attach([
|
||||
'color' => 'good',
|
||||
'fields' => [
|
||||
[
|
||||
'title' => 'Checked In:',
|
||||
'value' => strtoupper($logaction->asset_type).' <'.Config::get('app.url').'/admin/licenses/'.$license->id.'/view'.'|'.$license->name.'> checked in by <'.Config::get('app.url').'/admin/users/'.$user->id.'/view'.'|'.$user->fullName().'>.'
|
||||
],
|
||||
[
|
||||
'title' => 'Note:',
|
||||
'value' => e($logaction->note)
|
||||
],
|
||||
|
||||
]
|
||||
])->send('License Checked In');
|
||||
|
||||
} catch (Exception $e) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
$log = $logaction->logaction('checkin from');
|
||||
|
||||
|
||||
|
||||
if ($backto=='user') {
|
||||
return Redirect::to("admin/users/".$return_to.'/view')->with('success', Lang::get('admin/licenses/message.checkin.success'));
|
||||
|
||||
@@ -453,7 +453,7 @@ class ReportsController extends AdminController
|
||||
}
|
||||
}
|
||||
if (e(Input::get('depreciation')) == '1') {
|
||||
$depreciation = $asset->depreciate();
|
||||
$depreciation = $asset->getDepreciatedValue();
|
||||
$row[] = '"'.number_format($asset->purchase_cost).'"';
|
||||
$row[] = '"'.number_format($depreciation).'"';
|
||||
$row[] = '"'.number_format($asset->purchase_cost - $depreciation).'"';
|
||||
|
||||
@@ -70,6 +70,9 @@ class SettingsController extends AdminController
|
||||
"qr_text" => 'min:1|max:31',
|
||||
"logo" => 'mimes:jpeg,bmp,png,gif',
|
||||
"alert_email" => 'email',
|
||||
"slack_endpoint" => 'url',
|
||||
"slack_channel" => 'regex:/(?<!\w)#\w+/',
|
||||
"slack_botname" => 'alpha_dash',
|
||||
);
|
||||
|
||||
if (Config::get('app.lock_passwords')==false) {
|
||||
|
||||
@@ -47,7 +47,7 @@ class UsersController extends AdminController
|
||||
*/
|
||||
public function getIndex()
|
||||
{
|
||||
|
||||
|
||||
// Show the page
|
||||
return View::make('backend/users/index');
|
||||
}
|
||||
@@ -144,22 +144,22 @@ class UsersController extends AdminController
|
||||
|
||||
// Redirect to the new user page
|
||||
//return Redirect::route('update/user', $user->id)->with('success', $success);
|
||||
|
||||
|
||||
if (Input::get('email_user')==1) {
|
||||
// Send the credentials through email
|
||||
|
||||
|
||||
$data = array();
|
||||
$data['email'] = e(Input::get('email'));
|
||||
$data['first_name'] = e(Input::get('first_name'));
|
||||
$data['password'] = e(Input::get('password'));
|
||||
|
||||
|
||||
Mail::send('emails.send-login', $data, function ($m) use ($user) {
|
||||
$m->to($user->email, $user->first_name . ' ' . $user->last_name);
|
||||
$m->subject('Welcome ' . $user->first_name);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return Redirect::route('users')->with('success', $success);
|
||||
}
|
||||
|
||||
@@ -276,7 +276,7 @@ class UsersController extends AdminController
|
||||
// Ooops.. something went wrong
|
||||
return Redirect::back()->withInput()->withErrors($validator);
|
||||
}
|
||||
|
||||
|
||||
// Only update the email address if locking is set to false
|
||||
if (!Config::get('app.lock_passwords')) {
|
||||
$user->email = Input::get('email');
|
||||
@@ -285,7 +285,7 @@ class UsersController extends AdminController
|
||||
try {
|
||||
// Update the user
|
||||
$user->first_name = Input::get('first_name');
|
||||
$user->last_name = Input::get('last_name');
|
||||
$user->last_name = Input::get('last_name');
|
||||
$user->employee_num = Input::get('employee_num');
|
||||
$user->activated = Input::get('activated', $user->activated);
|
||||
$user->permissions = Input::get('permissions');
|
||||
@@ -325,14 +325,14 @@ class UsersController extends AdminController
|
||||
// Assign the user to groups
|
||||
foreach ($groupsToAdd as $groupId) {
|
||||
$group = Sentry::getGroupProvider()->findById($groupId);
|
||||
|
||||
|
||||
$user->addGroup($group);
|
||||
}
|
||||
|
||||
|
||||
// Remove the user from groups
|
||||
foreach ($groupsToRemove as $groupId) {
|
||||
$group = Sentry::getGroupProvider()->findById($groupId);
|
||||
|
||||
|
||||
$user->removeGroup($group);
|
||||
}
|
||||
}
|
||||
@@ -466,7 +466,7 @@ class UsersController extends AdminController
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Unsuspend the given user.
|
||||
*
|
||||
@@ -568,7 +568,7 @@ class UsersController extends AdminController
|
||||
return Redirect::route('users')->with('error', $error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* User import.
|
||||
*
|
||||
@@ -589,8 +589,8 @@ class UsersController extends AdminController
|
||||
// Show the page
|
||||
return View::make('backend/users/import', compact('groups', 'selectedGroups', 'permissions', 'selectedPermissions'));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* User import form processing.
|
||||
*
|
||||
@@ -598,96 +598,97 @@ class UsersController extends AdminController
|
||||
*/
|
||||
public function postImport()
|
||||
{
|
||||
|
||||
|
||||
if (! ini_get("auto_detect_line_endings")) {
|
||||
ini_set("auto_detect_line_endings", '1');
|
||||
}
|
||||
|
||||
$csv = Reader::createFromPath(Input::file('user_import_csv'));
|
||||
|
||||
$csv = Reader::createFromPath(Input::file('user_import_csv'));
|
||||
$csv->setNewline("\r\n");
|
||||
|
||||
|
||||
if (Input::get('has_headers')==1) {
|
||||
$csv->setOffset(1);
|
||||
$csv->setOffset(1);
|
||||
}
|
||||
|
||||
$duplicates = '';
|
||||
|
||||
|
||||
$duplicates = '';
|
||||
|
||||
$nbInsert = $csv->each(function ($row) use ($duplicates) {
|
||||
|
||||
|
||||
if (array_key_exists(2, $row)) {
|
||||
|
||||
|
||||
if (Input::get('activate')==1) {
|
||||
$activated = '1';
|
||||
$activated = '1';
|
||||
} else {
|
||||
$activated = '0';
|
||||
$activated = '0';
|
||||
}
|
||||
|
||||
|
||||
$pass = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 10);
|
||||
|
||||
|
||||
|
||||
try {
|
||||
|
||||
|
||||
|
||||
try {
|
||||
// Check if this email already exists in the system
|
||||
$user = DB::table('users')->where('email', $row[2])->first();
|
||||
if ($user) {
|
||||
if ($user) {
|
||||
$duplicates .= $row[2].', ';
|
||||
} else {
|
||||
|
||||
|
||||
$newuser = array(
|
||||
'first_name' => $row[0],
|
||||
'last_name' => $row[1],
|
||||
'email' => $row[2],
|
||||
'password' => $pass,
|
||||
'activated' => $activated,
|
||||
'permissions' => '{"user":1}'
|
||||
'permissions' => '{"user":1}',
|
||||
'notes' => 'Imported user'
|
||||
);
|
||||
|
||||
|
||||
DB::table('users')->insert($newuser);
|
||||
|
||||
$udpateuser = Sentry::findUserByLogin($row[2]);
|
||||
|
||||
|
||||
$updateuser = Sentry::findUserByLogin($row[2]);
|
||||
|
||||
// Update the user details
|
||||
$udpateuser->password = $pass;
|
||||
|
||||
$updateuser->password = $pass;
|
||||
|
||||
// Update the user
|
||||
$udpateuser->save();
|
||||
|
||||
|
||||
$updateuser->save();
|
||||
|
||||
|
||||
if (Input::get('email_user')==1) {
|
||||
// Send the credentials through email
|
||||
|
||||
|
||||
$data = array();
|
||||
$data['email'] = $row[2];
|
||||
$data['first_name'] = $row[0];
|
||||
$data['password'] = $pass;
|
||||
|
||||
|
||||
Mail::send('emails.send-login', $data, function ($m) use ($newuser) {
|
||||
$m->to($newuser['email'], $newuser['first_name'] . ' ' . $newuser['last_name']);
|
||||
$m->subject('Welcome ' . $newuser['first_name']);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo 'Caught exception: ', $e->getMessage(), "\n";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
return Redirect::route('users')->with('duplicates',$duplicates)->with('success', 'Success');
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function getDatatable($status = null)
|
||||
{
|
||||
|
||||
|
||||
$users = User::with('assets','licenses','manager','sentryThrottle');
|
||||
|
||||
|
||||
switch ($status) {
|
||||
case 'deleted':
|
||||
$users->GetDeleted();
|
||||
@@ -695,24 +696,24 @@ class UsersController extends AdminController
|
||||
case '':
|
||||
$users->GetNotDeleted();
|
||||
break;
|
||||
}
|
||||
|
||||
$users = $users->orderBy('created_at', 'DESC')->get();
|
||||
|
||||
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($users)
|
||||
{
|
||||
}
|
||||
|
||||
$users = $users->orderBy('created_at', 'DESC')->get();
|
||||
|
||||
$actions = new \Chumper\Datatable\Columns\FunctionColumn('actions', function ($users)
|
||||
{
|
||||
$action_buttons = '';
|
||||
|
||||
|
||||
|
||||
if ( ! is_null($users->deleted_at)) {
|
||||
$action_buttons .= '<a href="'.route('restore/user', $users->id).'" class="btn btn-warning btn-sm"><i class="fa fa-share icon-white"></i></a> ';
|
||||
} else {
|
||||
if ($users->accountStatus()=='suspended') {
|
||||
$action_buttons .= '<a href="'.route('unsuspend/user', $users->id).'" class="btn btn-warning btn-sm"><span class="fa fa-time icon-white"></span></a> ';
|
||||
}
|
||||
|
||||
|
||||
$action_buttons .= '<a href="'.route('update/user', $users->id).'" class="btn btn-warning btn-sm"><i class="fa fa-pencil icon-white"></i></a> ';
|
||||
|
||||
|
||||
if ((Sentry::getId() !== $users->id) && (!Config::get('app.lock_passwords'))) {
|
||||
$action_buttons .= '<a data-html="false" class="btn delete-asset btn-danger btn-sm" data-toggle="modal" href="'.route('delete/user', $users->id).'" data-content="Are you sure you wish to delete this user?" data-title="Delete '.htmlspecialchars($users->first_name).'?" onClick="return false;"><i class="fa fa-trash icon-white"></i></a> ';
|
||||
} else {
|
||||
@@ -720,51 +721,51 @@ class UsersController extends AdminController
|
||||
}
|
||||
}
|
||||
return $action_buttons;
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
return Datatable::collection($users)
|
||||
->addColumn('name',function($users)
|
||||
{
|
||||
return '<a title="'.$users->fullName().'" href="users/'.$users->id.'/view">'.$users->fullName().'</a>';
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
->addColumn('email',function($users)
|
||||
{
|
||||
return '<a title="'.$users->email.'" href="mailto:'.$users->email.'">'.$users->email.'</a>';
|
||||
})
|
||||
|
||||
|
||||
->addColumn('manager',function($users)
|
||||
{
|
||||
if ($users->manager) {
|
||||
return '<a title="'.$users->manager->fullName().'" href="users/'.$users->manager->id.'/view">'.$users->manager->fullName().'</a>';
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
->addColumn('assets',function($users)
|
||||
{
|
||||
return $users->assets->count();
|
||||
})
|
||||
|
||||
|
||||
->addColumn('licenses',function($users)
|
||||
{
|
||||
return $users->licenses->count();
|
||||
})
|
||||
})
|
||||
->addColumn('activated',function($users)
|
||||
{
|
||||
return $users->isActivated() ? '<i class="fa fa-check"></i>' : '';
|
||||
})
|
||||
|
||||
->addColumn($actions)
|
||||
})
|
||||
|
||||
->addColumn($actions)
|
||||
->searchColumns('name','email','manager','activated', 'licenses','assets')
|
||||
->orderColumns('name','email','manager','activated', 'licenses','assets')
|
||||
->make();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddReassignableToLicenses extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('licenses', function(Blueprint $table)
|
||||
{
|
||||
$table->boolean('reassignable')->default(true);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('licenses', function(Blueprint $table)
|
||||
{
|
||||
//
|
||||
$table->dropColumn('reassignable');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@ return array(
|
||||
'deployable' => 'Deployable',
|
||||
'deleted' => 'This asset has been deleted. <a href="/hardware/:asset_id/restore">Click here to restore it</a>.',
|
||||
'edit' => 'Edit Asset',
|
||||
'filetype_info' => 'Allowed filetypes are png, gif, jpg, doc, docx, pdf, txt, rar and zip.',
|
||||
'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.<br/> <a href="/hardware/models/:model_id/restore">Click here to restore the model</a>.',
|
||||
'requestable' => 'Requestable',
|
||||
'restore' => 'Restore Asset',
|
||||
|
||||
@@ -10,6 +10,7 @@ return array(
|
||||
'depreciation' => 'Depreciation',
|
||||
'expiration' => 'Expiration Date',
|
||||
'maintained' => 'Maintained',
|
||||
'reassignable' => 'Reassignable',
|
||||
'name' => 'Software Name',
|
||||
'no_depreciation' => 'Do Not Depreciate',
|
||||
'notes' => 'Notes',
|
||||
|
||||
@@ -7,6 +7,7 @@ return array(
|
||||
'checkout' => 'Checkout License Seat',
|
||||
'edit' => 'Edit License',
|
||||
'clone' => 'Clone License',
|
||||
'filetype_info' => 'Allowed filetypes are png, gif, jpg, doc, docx, pdf, txt, rar and zip.',
|
||||
'history_for' => 'History for ',
|
||||
'in_out' => 'In/Out',
|
||||
'info' => 'License Info',
|
||||
|
||||
@@ -48,11 +48,11 @@
|
||||
<td>{{{ $activity->adminlog->fullName() }}}</td>
|
||||
|
||||
<td>
|
||||
@if ($activity->asset_type=="hardware")
|
||||
@if (($activity->assetlog) && ($activity->asset_type=="hardware"))
|
||||
{{ $activity->assetlog->showAssetName() }}
|
||||
@elseif ($activity->asset_type=="software")
|
||||
@elseif (($activity->licenselog) && ($activity->asset_type=="software"))
|
||||
{{ $activity->licenselog->name }}
|
||||
@elseif ($activity->asset_type=="accessory")
|
||||
@elseif (($activity->asset_type) && ($activity->asset_type=="accessory"))
|
||||
{{ $activity->accessorylog->name }}
|
||||
@endif
|
||||
|
||||
|
||||
@@ -52,7 +52,10 @@
|
||||
{{ $settings->qr_text }}
|
||||
<br><br>
|
||||
@endif
|
||||
|
||||
@if ($asset->name!='')
|
||||
<b>N: {{ $asset->name }}</b>
|
||||
<br>
|
||||
@endif
|
||||
@if ($asset->asset_tag!='')
|
||||
T: {{ $asset->asset_tag }}
|
||||
<br>
|
||||
|
||||
@@ -124,7 +124,7 @@
|
||||
<div class="col-md-12" style="padding-bottom: 5px;"><strong>@lang('admin/hardware/form.fully_depreciated'): </strong>
|
||||
@if ($asset->time_until_depreciated()->y > 0)
|
||||
{{{ $asset->time_until_depreciated()->y }}}
|
||||
@lang('admin/hardware/form.years'),
|
||||
@lang('admin/hardware/form.years'),
|
||||
@endif
|
||||
{{{ $asset->time_until_depreciated()->m }}}
|
||||
@lang('admin/hardware/form.months')
|
||||
@@ -192,8 +192,8 @@
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="col-md-12">
|
||||
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
<tbody>
|
||||
@if (count($asset->assetlog) > 0)
|
||||
@foreach ($asset->assetlog as $log)
|
||||
|
||||
|
||||
<tr>
|
||||
<td>{{{ $log->created_at }}}</td>
|
||||
<td>
|
||||
@@ -289,7 +289,7 @@
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@endforeach
|
||||
@endif
|
||||
<tr>
|
||||
@@ -333,8 +333,8 @@
|
||||
</li>
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
@if (($asset->assigneduser) && ($asset->assigned_to > 0) && ($asset->deleted_at==''))
|
||||
<h6><br>@lang('admin/hardware/form.checkedout_to')</h6>
|
||||
<ul>
|
||||
@@ -373,14 +373,14 @@
|
||||
@if ($asset->assetstatus)
|
||||
<h6><br>
|
||||
@if (($asset->assetstatus->deployable=='1') && ($asset->assigned_to > 0))
|
||||
@lang('admin/hardware/general.asset')
|
||||
@lang('admin/hardware/general.asset')
|
||||
@lang('general.deployed')
|
||||
@else
|
||||
{{{ $asset->assetstatus->name }}}
|
||||
{{{ $asset->assetstatus->name }}}
|
||||
@lang('admin/hardware/general.asset')
|
||||
@endif
|
||||
<ul>
|
||||
|
||||
|
||||
@if (($asset->assetstatus->deployable=='1') && ($asset->assigned_to > 0) && ($asset->deleted_at==''))
|
||||
<li><br /><a href="{{ route('checkin/hardware', $asset->id) }}" class="btn btn-primary btn-sm">@lang('admin/hardware/general.checkin')</a></li>
|
||||
@elseif ((($asset->assetstatus->deployable=='1') && (($asset->assigned_to=='') || ($asset->assigned_to==0))) && ($asset->deleted_at==''))
|
||||
@@ -423,7 +423,7 @@
|
||||
'files' => true, 'class' => 'form-horizontal' ]) }}
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.</p>
|
||||
<p><p>@lang('admin/hardware/general.filetype_info')</p>.</p>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<div class="input-group col-md-12">
|
||||
|
||||
@@ -249,7 +249,7 @@
|
||||
<ul id="dashboard-menu">
|
||||
@if(Sentry::getUser()->hasAccess('admin'))
|
||||
<li{{ (Request::is('*/') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
|
||||
<a href="/"><i class="fa fa-dashboard"></i><span>Dashboard</span></a>
|
||||
<a href="{{ Config::get('app.url') }}"><i class="fa fa-dashboard"></i><span>Dashboard</span></a>
|
||||
</li>
|
||||
<li{{ (Request::is('hardware*') ? ' class="active"><div class="pointer"><div class="arrow"></div><div class="arrow_border"></div></div>' : '>') }}
|
||||
<a href="{{ URL::to('hardware') }}" class="dropdown-toggle">
|
||||
|
||||
@@ -84,6 +84,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Reassignable -->
|
||||
<div class="form-group {{ $errors->has('reassignable') ? ' has-error' : '' }}">
|
||||
<label for="reassignable" class="col-md-3 control-label">@lang('admin/licenses/form.reassignable')</label>
|
||||
<div class="col-md-7 input-group">
|
||||
{{ Form::Checkbox('reassignable', '1', Input::old('reassignable', $license->id ? $license->reassignable : '1')) }}
|
||||
@lang('general.yes')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Supplier -->
|
||||
<div class="form-group {{ $errors->has('supplier_id') ? ' has-error' : '' }}">
|
||||
<label for="supplier_id" class="col-md-3 control-label">@lang('admin/licenses/form.supplier')</label>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
{{-- Page title --}}
|
||||
@section('title')
|
||||
@lang('admin/licenses/general.view')
|
||||
{{{ $license->name }}} ::
|
||||
- {{{ $license->name }}}
|
||||
@parent
|
||||
@stop
|
||||
|
||||
@@ -31,9 +31,9 @@
|
||||
<div class="col-md-9 bio">
|
||||
|
||||
@if ($license->serial)
|
||||
<div class="col-md-12" style="padding-bottom: 10px; margin-left: 15px;">
|
||||
<div class="col-md-12 col-sm-12" style="padding-bottom: 10px; margin-left: 15px; word-wrap: break-word;">
|
||||
<strong>@lang('admin/licenses/form.serial'): </strong>
|
||||
{{{ wordwrap($license->serial, 10, "\n", true) }}}
|
||||
{{{ $license->serial }}}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<strong>@lang('admin/hardware/form.fully_depreciated'): </strong>
|
||||
@if ($license->time_until_depreciated()->y > 0)
|
||||
{{{ $license->time_until_depreciated()->y }}}
|
||||
@lang('admin/hardware/form.years'),
|
||||
@lang('admin/hardware/form.years'),
|
||||
@endif
|
||||
{{{ $license->time_until_depreciated()->m }}}
|
||||
@lang('admin/hardware/form.months')
|
||||
@@ -134,8 +134,13 @@
|
||||
</td>
|
||||
<td>
|
||||
@if (($licensedto->assigned_to) || ($licensedto->asset_id))
|
||||
<a href="{{ route('checkin/license', $licensedto->id) }}" class="btn btn-primary btn-sm">
|
||||
@lang('general.checkin')</a>
|
||||
@if ($license->reassignable)
|
||||
<a href="{{ route('checkin/license', $licensedto->id) }}" class="btn btn-primary btn-sm">
|
||||
@lang('general.checkin')
|
||||
</a>
|
||||
@else
|
||||
<span>Assigned</span>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{ route('checkout/license', $licensedto->id) }}" class="btn btn-info btn-sm">
|
||||
@lang('general.checkout')</a>
|
||||
@@ -216,7 +221,7 @@
|
||||
'files' => true, 'class' => 'form-horizontal' ]) }}
|
||||
<div class="modal-body">
|
||||
|
||||
<p>Allowed filetypes are png, gif, jpg, doc, docx, pdf, and txt.</p>
|
||||
<p>@lang('admin/licenses/general.filetype_info')</p>
|
||||
|
||||
<div class="form-group col-md-12">
|
||||
<div class="input-group col-md-12">
|
||||
@@ -333,6 +338,10 @@
|
||||
{{{ $license->seats }}} </li>
|
||||
@endif
|
||||
|
||||
<li><strong>@lang('admin/licenses/form.reassignable'):</strong>
|
||||
{{ $license->reassignable ? 'Yes' : 'No' }}
|
||||
</li>
|
||||
|
||||
@if ($license->notes)
|
||||
<li><strong>@lang('admin/licenses/form.notes'):</strong>
|
||||
<li class="break-word">{{ nl2br(e($license->notes)) }}</li>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
@endif
|
||||
|
||||
@if ($model->image)
|
||||
<li><br /><img src="/uploads/models/{{{ $model->image }}}" class="img-responsive" /></li>
|
||||
<li><br /><img src="{{ Config::get('app.url') }}/uploads/models/{{{ $model->image }}}" /></li>
|
||||
@endif
|
||||
|
||||
@if ($model->deleted_at!='')
|
||||
|
||||
@@ -52,13 +52,13 @@
|
||||
</td>
|
||||
<td>
|
||||
|
||||
@if ($log_action->asset_type=="hardware")
|
||||
{{ $log_action->assetlog->showAssetName() }}
|
||||
@elseif ($log_action->asset_type=="software")
|
||||
{{ $log_action->licenselog->name }}
|
||||
@elseif ($log_action->asset_type=="accessory")
|
||||
{{ $log_action->accessorylog->name }}
|
||||
@endif
|
||||
@if (($log_action->assetlog) && ($log_action->asset_type=="hardware"))
|
||||
{{ $log_action->assetlog->showAssetName() }}
|
||||
@elseif (($log_action->licenselog) && ($log_action->asset_type=="software"))
|
||||
{{ $log_action->licenselog->name }}
|
||||
@elseif (($log_action->asset_type) && ($log_action->asset_type=="accessory"))
|
||||
{{ $log_action->accessorylog->name }}
|
||||
@endif
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
@@ -53,9 +53,9 @@ padding: 0px 20px;
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
@if (Config::get('app.lock_passwords')===true)
|
||||
{{ Form::text('site_name', Input::old('site_name', $setting->site_name), array('class' => 'form-control', 'disabled'=>'disabled')) }}
|
||||
{{ Form::text('site_name', Input::old('site_name', $setting->site_name), array('class' => 'form-control', 'disabled'=>'disabled','placeholder' => 'Snipe-IT Asset Management')) }}
|
||||
@else
|
||||
{{ Form::text('site_name', Input::old('site_name', $setting->site_name), array('class' => 'form-control')) }}
|
||||
{{ Form::text('site_name', Input::old('site_name', $setting->site_name), array('class' => 'form-control','placeholder' => 'Snipe-IT Asset Management')) }}
|
||||
|
||||
@endif
|
||||
|
||||
@@ -82,7 +82,7 @@ padding: 0px 20px;
|
||||
{{ Form::label('alert_email', Lang::get('admin/settings/general.alert_email')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::text('alert_email', Input::old('alert_email', $setting->alert_email), array('class' => 'form-control')) }}
|
||||
{{ Form::text('alert_email', Input::old('alert_email', $setting->alert_email), array('class' => 'form-control','placeholder' => 'admin@yourcompany.com')) }}
|
||||
|
||||
|
||||
{{ Form::checkbox('alerts_enabled', '1', Input::old('alerts_enabled', $setting->alerts_enabled)) }}
|
||||
@@ -181,10 +181,10 @@ padding: 0px 20px;
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
@if ($setting->qr_code == 1)
|
||||
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control')) }}
|
||||
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control','placeholder' => 'Property of Your Company')) }}
|
||||
{{ $errors->first('qr_text', '<br><span class="alert-msg">:message</span>') }}
|
||||
@else
|
||||
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control', 'disabled'=>'disabled')) }}
|
||||
{{ Form::text('qr_text', Input::old('qr_text', $setting->qr_text), array('class' => 'form-control', 'disabled'=>'disabled','placeholder' => 'Property of Your Company')) }}
|
||||
<p class="help-inline">
|
||||
@lang('admin/settings/general.qr_help')
|
||||
</p>
|
||||
@@ -210,7 +210,7 @@ padding: 0px 20px;
|
||||
{{ Form::label('default_eula_text', Lang::get('admin/settings/general.default_eula_text')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
{{ Form::textarea('default_eula_text', Input::old('default_eula_text', $setting->default_eula_text), array('class' => 'form-control')) }}
|
||||
{{ Form::textarea('default_eula_text', Input::old('default_eula_text', $setting->default_eula_text), array('class' => 'form-control','placeholder' => 'Add your default EULA text')) }}
|
||||
{{ $errors->first('default_eula_text', '<br><span class="alert-msg">:message</span>') }}
|
||||
|
||||
<p class="help-inline">@lang('admin/settings/general.default_eula_help_text')</p>
|
||||
@@ -231,9 +231,9 @@ padding: 0px 20px;
|
||||
<div class="col-md-9">
|
||||
|
||||
@if (Config::get('app.lock_passwords')===true)
|
||||
{{ Form::text('slack_endpoint', Input::old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled')) }}
|
||||
{{ Form::text('slack_endpoint', Input::old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX')) }}
|
||||
@else
|
||||
{{ Form::text('slack_endpoint', Input::old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control')) }}
|
||||
{{ Form::text('slack_endpoint', Input::old('slack_endpoint', $setting->slack_endpoint), array('class' => 'form-control','placeholder' => 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXX')) }}
|
||||
@endif
|
||||
|
||||
{{ $errors->first('slack_endpoint', '<br><span class="alert-msg">:message</span>') }}
|
||||
@@ -246,9 +246,9 @@ padding: 0px 20px;
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
@if (Config::get('app.lock_passwords')===true)
|
||||
{{ Form::text('slack_channel', Input::old('slack_channel', $setting->slack_channel), array('class' => 'form-control','disabled'=>'disabled')) }}
|
||||
{{ Form::text('slack_channel', Input::old('slack_channel', $setting->slack_channel), array('class' => 'form-control','disabled'=>'disabled','placeholder' => '#IT-Ops')) }}
|
||||
@else
|
||||
{{ Form::text('slack_channel', Input::old('slack_channel', $setting->slack_channel), array('class' => 'form-control')) }}
|
||||
{{ Form::text('slack_channel', Input::old('slack_channel', $setting->slack_channel), array('class' => 'form-control','placeholder' => '#IT-Ops')) }}
|
||||
@endif
|
||||
{{ $errors->first('slack_channel', '<br><span class="alert-msg">:message</span>') }}
|
||||
</div>
|
||||
@@ -260,9 +260,9 @@ padding: 0px 20px;
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
@if (Config::get('app.lock_passwords')===true)
|
||||
{{ Form::text('slack_botname', Input::old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled')) }}
|
||||
{{ Form::text('slack_botname', Input::old('slack_botname', $setting->slack_botname), array('class' => 'form-control','disabled'=>'disabled','placeholder' => 'Snipe-IT Bot')) }}
|
||||
@else
|
||||
{{ Form::text('slack_botname', Input::old('slack_botname', $setting->slack_botname), array('class' => 'form-control')) }}
|
||||
{{ Form::text('slack_botname', Input::old('slack_botname', $setting->slack_botname), array('class' => 'form-control','placeholder' => 'Snipe-IT Bot')) }}
|
||||
@endif
|
||||
{{ $errors->first('slack_botname', '<br><span class="alert-msg">:message</span>') }}
|
||||
</div>
|
||||
|
||||
@@ -23,8 +23,17 @@
|
||||
({{{ $user->employee_num }}})
|
||||
@endif</h3>
|
||||
<span class="area">{{{ $user->jobtitle }}}
|
||||
|
||||
|
||||
<!-- groups table -->
|
||||
@if (count($user->groups) > 0)
|
||||
|
||||
</span>
|
||||
@foreach ($user->groups as $group)
|
||||
<a href="{{ route('update/group', $group->id) }}" class="badge badge-default">{{{ $group->name }}}</a>
|
||||
@endforeach
|
||||
|
||||
@endif
|
||||
</span>
|
||||
</div>
|
||||
@if ($user->deleted_at != NULL)
|
||||
<a href="{{ route('restore/user', $user->id) }}" class="btn-flat white large pull-right edit"><i class="fa fa-pencil"></i> Restore This User</a>
|
||||
@@ -65,65 +74,36 @@
|
||||
|
||||
@endif
|
||||
|
||||
<h6>@lang('general.groups')</h6>
|
||||
<!-- groups table -->
|
||||
@if (count($user->groups) > 0)
|
||||
<div class="table-responsive">
|
||||
<table class="display">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-3">Name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($user->groups as $group)
|
||||
<tr>
|
||||
<td><a href="{{ route('update/group', $group->id) }}">{{{ $group->name }}}</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="alert alert-info alert-block">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
@lang('general.no_results')
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<br><br><br>
|
||||
<h6>@lang('admin/users/general.assets_user', array('name' => $user->first_name))</h6>
|
||||
<br>
|
||||
<!-- checked out assets table -->
|
||||
@if (count($user->assets) > 0)
|
||||
<div class="table-responsive">
|
||||
<table class="display">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-3">Asset Type</th>
|
||||
<th class="col-md-2">Asset Tag</th>
|
||||
<th class="col-md-2">Name</th>
|
||||
<th class="col-md-1 hidden-print">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($user->assets as $asset)
|
||||
<tr>
|
||||
<td>
|
||||
@if ($asset->physical=='1') {{{ $asset->model->name }}}
|
||||
@endif
|
||||
</td>
|
||||
<td><a href="{{ route('view/hardware', $asset->id) }}">{{{ $asset->asset_tag }}}</a></td>
|
||||
<td><a href="{{ route('view/hardware', $asset->id) }}">{{{ $asset->name }}}</a></td>
|
||||
|
||||
<td class="hidden-print"> <a href="{{ route('checkin/hardware', array('assetId'=> $asset->id, 'backto'=>'user')) }}" class="btn-flat info">Checkin</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="table-responsive">
|
||||
<table class="display table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-3">Asset Type</th>
|
||||
<th class="col-md-2">Asset Tag</th>
|
||||
<th class="col-md-2">Name</th>
|
||||
<th class="col-md-1 hidden-print">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($user->assets as $asset)
|
||||
<tr>
|
||||
<td>
|
||||
@if ($asset->physical=='1') {{{ $asset->model->name }}}
|
||||
@endif
|
||||
</td>
|
||||
<td><a href="{{ route('view/hardware', $asset->id) }}">{{{ $asset->asset_tag }}}</a></td>
|
||||
<td><a href="{{ route('view/hardware', $asset->id) }}">{{{ $asset->name }}}</a></td>
|
||||
|
||||
<td class="hidden-print"> <a href="{{ route('checkin/hardware', array('assetId'=> $asset->id, 'backto'=>'user')) }}" class="btn-flat info">Checkin</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
|
||||
<div class="col-md-12">
|
||||
@@ -134,13 +114,13 @@
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<br><br><br>
|
||||
<br>
|
||||
<h6>@lang('admin/users/general.software_user', array('name' => $user->first_name))</h6>
|
||||
<br>
|
||||
<!-- checked out licenses table -->
|
||||
@if (count($user->licenses) > 0)
|
||||
<div class="table-responsive">
|
||||
<table class="display">
|
||||
<table class="display table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-5">Name</th>
|
||||
@@ -160,7 +140,6 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
|
||||
<div class="col-md-12">
|
||||
@@ -174,13 +153,13 @@
|
||||
|
||||
|
||||
|
||||
<br><br><br>
|
||||
<br>
|
||||
<h6>@lang('general.accessories')</h6>
|
||||
<br>
|
||||
<!-- checked out licenses table -->
|
||||
@if (count($user->accessories) > 0)
|
||||
<div class="table-responsive">
|
||||
<table class="display">
|
||||
<table class="display table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-5">Name</th>
|
||||
@@ -198,7 +177,6 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
|
||||
<div class="col-md-12">
|
||||
@@ -211,11 +189,12 @@
|
||||
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<h6>@lang('admin/users/general.history_user', array('name' => $user->first_name))</h6>
|
||||
<br>
|
||||
<!-- checked out assets table -->
|
||||
@if (count($user->userlog) > 0)
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
@@ -247,6 +226,7 @@
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@else
|
||||
|
||||
|
||||
@@ -259,17 +239,18 @@
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- side address column -->
|
||||
<div class="col-md-3 address pull-right hidden-print">
|
||||
|
||||
|
||||
|
||||
<h6> @lang('admin/users/general.contact_user', array('name' => $user->first_name)) </h6>
|
||||
|
||||
@if ($user->location_id)
|
||||
<div class="col-md-12">
|
||||
<iframe width="300" height="133" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?&q={{{ $user->userloc->address }}},{{{ $user->userloc->city }}},{{{ strtoupper($user->userloc->state) }}},{{{ strtoupper($user->userloc->country) }}}&output=embed" style="float: none;"></iframe>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<iframe width="300" height="133" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?&q={{{ $user->userloc->address }}},{{{ $user->userloc->city }}},{{{ strtoupper($user->userloc->state) }}},{{{ strtoupper($user->userloc->country) }}}&output=embed" style="float: none;"></iframe>
|
||||
</div>
|
||||
@endif
|
||||
<ul>
|
||||
@if ($user->phone)
|
||||
@@ -292,11 +273,15 @@
|
||||
{{{ $user->notes }}}</li>
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
|
||||
@if ($user->last_login!='')
|
||||
<br /><h6>@lang('admin/users/general.last_login')
|
||||
{{{ $user->last_login->diffForHumans() }}}</h6>
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<title>Error 403 - Forbidden</title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<style type="text/css">
|
||||
@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
|
||||
@import url(//fonts.googleapis.com/css?family=Droid+Sans);
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
||||
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<title>Error 404 - Not Found</title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<style type="text/css">
|
||||
@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
|
||||
@import url(//fonts.googleapis.com/css?family=Droid+Sans);
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
||||
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<title>Error 500 - Internal Server Error</title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<style type="text/css">
|
||||
@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
|
||||
@import url(//fonts.googleapis.com/css?family=Droid+Sans);
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
||||
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<title>Scheduled Maintenance</title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<style type="text/css">
|
||||
@import url(http://fonts.googleapis.com/css?family=Droid+Sans);
|
||||
@import url(//fonts.googleapis.com/css?family=Droid+Sans);
|
||||
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
||||
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
||||
|
||||
+1
-3
@@ -47,11 +47,9 @@
|
||||
|
||||
],
|
||||
"post-update-cmd": [
|
||||
"php artisan optimize",
|
||||
"php artisan debugbar:publish"
|
||||
"php artisan optimize"
|
||||
],
|
||||
"post-install-cmd": [
|
||||
"php artisan debugbar:publish"
|
||||
],
|
||||
"post-create-project-cmd": [
|
||||
"php artisan key:generate"
|
||||
|
||||
Generated
+96
-97
@@ -420,12 +420,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/cache.git",
|
||||
"reference": "9d141335b758cbff3c58b52777836ce945522a68"
|
||||
"reference": "c2ab51e8f3c4a8170ca91b702e3789881dd2a6c2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/cache/zipball/9d141335b758cbff3c58b52777836ce945522a68",
|
||||
"reference": "9d141335b758cbff3c58b52777836ce945522a68",
|
||||
"url": "https://api.github.com/repos/doctrine/cache/zipball/c2ab51e8f3c4a8170ca91b702e3789881dd2a6c2",
|
||||
"reference": "c2ab51e8f3c4a8170ca91b702e3789881dd2a6c2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -482,7 +482,7 @@
|
||||
"cache",
|
||||
"caching"
|
||||
],
|
||||
"time": "2015-04-28 19:52:40"
|
||||
"time": "2015-05-07 20:41:18"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/collections",
|
||||
@@ -971,12 +971,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/RingPHP.git",
|
||||
"reference": "2f75325d08c9ec39e5d3af54fcb6b9c0e7fd6114"
|
||||
"reference": "2498ee848cd01639aecdcf3d5a257bace8665b7c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/RingPHP/zipball/2f75325d08c9ec39e5d3af54fcb6b9c0e7fd6114",
|
||||
"reference": "2f75325d08c9ec39e5d3af54fcb6b9c0e7fd6114",
|
||||
"url": "https://api.github.com/repos/guzzle/RingPHP/zipball/2498ee848cd01639aecdcf3d5a257bace8665b7c",
|
||||
"reference": "2498ee848cd01639aecdcf3d5a257bace8665b7c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1014,7 +1014,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function.",
|
||||
"time": "2015-04-27 21:47:43"
|
||||
"time": "2015-05-01 04:57:09"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/streams",
|
||||
@@ -1072,12 +1072,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Intervention/image.git",
|
||||
"reference": "6626d7624ac0895137a38c123943afedd0827efc"
|
||||
"reference": "79f0a35da7d4f75bb85d9c04513dd5929e21f75e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Intervention/image/zipball/6626d7624ac0895137a38c123943afedd0827efc",
|
||||
"reference": "6626d7624ac0895137a38c123943afedd0827efc",
|
||||
"url": "https://api.github.com/repos/Intervention/image/zipball/79f0a35da7d4f75bb85d9c04513dd5929e21f75e",
|
||||
"reference": "79f0a35da7d4f75bb85d9c04513dd5929e21f75e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1120,7 +1120,7 @@
|
||||
"thumbnail",
|
||||
"watermark"
|
||||
],
|
||||
"time": "2015-04-24 14:50:48"
|
||||
"time": "2015-05-09 16:06:30"
|
||||
},
|
||||
{
|
||||
"name": "ircmaxell/password-compat",
|
||||
@@ -1333,12 +1333,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/csv.git",
|
||||
"reference": "f17b7214baeb2475ad7860bec03ffa766690c97e"
|
||||
"reference": "3a2a199d686bc8b52689b74d5a66cb2e9b9370c9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/csv/zipball/f17b7214baeb2475ad7860bec03ffa766690c97e",
|
||||
"reference": "f17b7214baeb2475ad7860bec03ffa766690c97e",
|
||||
"url": "https://api.github.com/repos/thephpleague/csv/zipball/3a2a199d686bc8b52689b74d5a66cb2e9b9370c9",
|
||||
"reference": "3a2a199d686bc8b52689b74d5a66cb2e9b9370c9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1381,7 +1381,7 @@
|
||||
"read",
|
||||
"write"
|
||||
],
|
||||
"time": "2015-04-23 13:50:36"
|
||||
"time": "2015-05-06 12:03:42"
|
||||
},
|
||||
{
|
||||
"name": "maknz/slack",
|
||||
@@ -1494,12 +1494,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Seldaek/monolog.git",
|
||||
"reference": "d84ba2cb20186688230a5a11f76a70e97fe2f886"
|
||||
"reference": "bf2bff61743f20a13dc46ff1e3bbd0f19c997d2b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/d84ba2cb20186688230a5a11f76a70e97fe2f886",
|
||||
"reference": "d84ba2cb20186688230a5a11f76a70e97fe2f886",
|
||||
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/bf2bff61743f20a13dc46ff1e3bbd0f19c997d2b",
|
||||
"reference": "bf2bff61743f20a13dc46ff1e3bbd0f19c997d2b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1561,7 +1561,7 @@
|
||||
"logging",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2015-04-25 10:55:55"
|
||||
"time": "2015-05-11 14:51:05"
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
@@ -2001,19 +2001,19 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
||||
"reference": "728eba28e355e081b0729b4c18cb9c13abe12560"
|
||||
"reference": "ac8b475454c120bfb31f5bef475233dd4fb6b626"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/728eba28e355e081b0729b4c18cb9c13abe12560",
|
||||
"reference": "728eba28e355e081b0729b4c18cb9c13abe12560",
|
||||
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/ac8b475454c120bfb31f5bef475233dd4fb6b626",
|
||||
"reference": "ac8b475454c120bfb31f5bef475233dd4fb6b626",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "~0.9.1"
|
||||
"mockery/mockery": "~0.9.1,<0.9.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -2045,7 +2045,7 @@
|
||||
"mail",
|
||||
"mailer"
|
||||
],
|
||||
"time": "2015-03-30 15:09:02"
|
||||
"time": "2015-05-06 16:40:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/browser-kit",
|
||||
@@ -2108,12 +2108,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Config.git",
|
||||
"reference": "b9a3893998ddb7a6e84088ac21a0540c4fa51627"
|
||||
"reference": "8555ecc6e2a47441b4be56dbfde5cea68c916755"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/b9a3893998ddb7a6e84088ac21a0540c4fa51627",
|
||||
"reference": "b9a3893998ddb7a6e84088ac21a0540c4fa51627",
|
||||
"url": "https://api.github.com/repos/symfony/Config/zipball/8555ecc6e2a47441b4be56dbfde5cea68c916755",
|
||||
"reference": "8555ecc6e2a47441b4be56dbfde5cea68c916755",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2139,18 +2139,18 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Config Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2015-05-12 15:16:46"
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
@@ -2376,12 +2376,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/EventDispatcher.git",
|
||||
"reference": "44bde9645703fe92da9f5dd2755298f7c2c6fa92"
|
||||
"reference": "8766cebf28beac9a45b511d7dba053da9d35eb9f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/44bde9645703fe92da9f5dd2755298f7c2c6fa92",
|
||||
"reference": "44bde9645703fe92da9f5dd2755298f7c2c6fa92",
|
||||
"url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/8766cebf28beac9a45b511d7dba053da9d35eb9f",
|
||||
"reference": "8766cebf28beac9a45b511d7dba053da9d35eb9f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2415,18 +2415,18 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony EventDispatcher Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2015-05-12 15:16:46"
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
@@ -2434,12 +2434,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Filesystem.git",
|
||||
"reference": "41b7d35d812653a54fd931a6c8cf139767a95abb"
|
||||
"reference": "6c4f6245440b53e55d4b5d3c3bd98532d6c6e11e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/41b7d35d812653a54fd931a6c8cf139767a95abb",
|
||||
"reference": "41b7d35d812653a54fd931a6c8cf139767a95abb",
|
||||
"url": "https://api.github.com/repos/symfony/Filesystem/zipball/6c4f6245440b53e55d4b5d3c3bd98532d6c6e11e",
|
||||
"reference": "6c4f6245440b53e55d4b5d3c3bd98532d6c6e11e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2464,18 +2464,18 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Filesystem Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2015-05-12 15:16:46"
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
@@ -2835,12 +2835,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Stopwatch.git",
|
||||
"reference": "20c8903372e2a924421d93d55928be80c617cf3a"
|
||||
"reference": "548bdb98ca54e9121e603ad9789775aa8ddb153d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Stopwatch/zipball/20c8903372e2a924421d93d55928be80c617cf3a",
|
||||
"reference": "20c8903372e2a924421d93d55928be80c617cf3a",
|
||||
"url": "https://api.github.com/repos/symfony/Stopwatch/zipball/548bdb98ca54e9121e603ad9789775aa8ddb153d",
|
||||
"reference": "548bdb98ca54e9121e603ad9789775aa8ddb153d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2865,18 +2865,18 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Stopwatch Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2015-05-12 15:16:46"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
@@ -2940,12 +2940,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "2bb458cc26efc9fa6ae88bcbcbd0525d4ecf6672"
|
||||
"reference": "5b0473622df3e313509b8771356eefa8b29bdc74"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/2bb458cc26efc9fa6ae88bcbcbd0525d4ecf6672",
|
||||
"reference": "2bb458cc26efc9fa6ae88bcbcbd0525d4ecf6672",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/5b0473622df3e313509b8771356eefa8b29bdc74",
|
||||
"reference": "5b0473622df3e313509b8771356eefa8b29bdc74",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2976,22 +2976,22 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony mechanism for exploring and dumping PHP variables",
|
||||
"homepage": "http://symfony.com",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"time": "2015-05-12 15:16:46"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
@@ -2999,12 +2999,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/Yaml.git",
|
||||
"reference": "4ededb1d00dc2c65fcd16ae3dafc785f92b3f95f"
|
||||
"reference": "2396832f6f9ab2b8f62f00b5d3f2e722fc773d65"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/4ededb1d00dc2c65fcd16ae3dafc785f92b3f95f",
|
||||
"reference": "4ededb1d00dc2c65fcd16ae3dafc785f92b3f95f",
|
||||
"url": "https://api.github.com/repos/symfony/Yaml/zipball/2396832f6f9ab2b8f62f00b5d3f2e722fc773d65",
|
||||
"reference": "2396832f6f9ab2b8f62f00b5d3f2e722fc773d65",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3029,18 +3029,18 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "http://symfony.com/contributors"
|
||||
},
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "http://symfony.com",
|
||||
"time": "2015-04-24 07:03:44"
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2015-05-12 15:16:46"
|
||||
}
|
||||
],
|
||||
"packages-dev": [
|
||||
@@ -3050,12 +3050,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/instantiator.git",
|
||||
"reference": "fc999e2f0508e434645ec2bfadeb89d39fa6453c"
|
||||
"reference": "cd3fe91baa28da6e119d619612439eb2db0d8d88"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/fc999e2f0508e434645ec2bfadeb89d39fa6453c",
|
||||
"reference": "fc999e2f0508e434645ec2bfadeb89d39fa6453c",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/cd3fe91baa28da6e119d619612439eb2db0d8d88",
|
||||
"reference": "cd3fe91baa28da6e119d619612439eb2db0d8d88",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3096,20 +3096,20 @@
|
||||
"constructor",
|
||||
"instantiate"
|
||||
],
|
||||
"time": "2015-04-12 20:59:10"
|
||||
"time": "2015-05-10 22:20:19"
|
||||
},
|
||||
{
|
||||
"name": "hamcrest/hamcrest-php",
|
||||
"version": "v1.2.1",
|
||||
"version": "v1.2.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/hamcrest/hamcrest-php.git",
|
||||
"reference": "ac50c470531243944f977b8de75be0b684a9cb51"
|
||||
"reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/ac50c470531243944f977b8de75be0b684a9cb51",
|
||||
"reference": "ac50c470531243944f977b8de75be0b684a9cb51",
|
||||
"url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/b37020aa976fa52d3de9aa904aa2522dc518f79c",
|
||||
"reference": "b37020aa976fa52d3de9aa904aa2522dc518f79c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3141,7 +3141,7 @@
|
||||
"keywords": [
|
||||
"test"
|
||||
],
|
||||
"time": "2015-01-20 19:34:09"
|
||||
"time": "2015-05-11 14:41:42"
|
||||
},
|
||||
{
|
||||
"name": "mockery/mockery",
|
||||
@@ -3214,12 +3214,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "d1da796ba5565789a623052eb9f2cf59d57fec60"
|
||||
"reference": "ae15da2ce234d3ffe5d7fafcdad19c7f1acf3568"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d1da796ba5565789a623052eb9f2cf59d57fec60",
|
||||
"reference": "d1da796ba5565789a623052eb9f2cf59d57fec60",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/ae15da2ce234d3ffe5d7fafcdad19c7f1acf3568",
|
||||
"reference": "ae15da2ce234d3ffe5d7fafcdad19c7f1acf3568",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3229,7 +3229,6 @@
|
||||
"phpunit/phpunit": "~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"dflydev/markdown": "~1.0",
|
||||
"erusev/parsedown": "~1.0",
|
||||
"league/commonmark": "*"
|
||||
},
|
||||
@@ -3256,7 +3255,7 @@
|
||||
"email": "mike.vanriel@naenius.com"
|
||||
}
|
||||
],
|
||||
"time": "2015-02-27 09:28:18"
|
||||
"time": "2015-05-12 07:21:12"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
@@ -3324,12 +3323,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "1678cee3b7f93f994da6acf7e998b23a98e955f1"
|
||||
"reference": "9ef4b8cbf3e839a44a9b375d8c59e109ac7aa020"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/1678cee3b7f93f994da6acf7e998b23a98e955f1",
|
||||
"reference": "1678cee3b7f93f994da6acf7e998b23a98e955f1",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/9ef4b8cbf3e839a44a9b375d8c59e109ac7aa020",
|
||||
"reference": "9ef4b8cbf3e839a44a9b375d8c59e109ac7aa020",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3378,7 +3377,7 @@
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2015-04-16 05:00:01"
|
||||
"time": "2015-05-09 04:40:58"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
border: 2px solid #e9ecee;
|
||||
position: relative;
|
||||
top: 3px;
|
||||
width: 120px;
|
||||
}
|
||||
.user-profile .header .name {
|
||||
font-weight: 600;
|
||||
|
||||
Reference in New Issue
Block a user