Compare commits

...

23 Commits

Author SHA1 Message Date
snipe 5084836737 Merge pull request #861 from strand/patch-1
Update Code of Conduct to Contributor Covenant 1.1.0
2015-06-19 09:16:08 -07:00
Strand McCutchen 063e3bbea6 Update Code of Conduct to Contributor Covenant 1.1.0 2015-06-19 10:15:05 -06:00
snipe c3c4e9def2 Fixes #852 - localized string for file types, added zip and rar for asset upload 2015-06-16 12:54:53 -07:00
snipe 7820efc121 Fixes #822 and #847 - added notes field on import for MySQL strict mode 2015-06-15 11:20:09 -07:00
snipe 5a6fe6ccf8 Fixes #806 2015-06-09 02:20:00 -07:00
snipe c69038d3ae Fixes #836 2015-06-09 02:00:55 -07:00
snipe 5939e46eee Bumped version for fixed 1.2.7 2015-06-01 17:52:03 -07:00
snipe a8a0a59982 Fixes #825 - title bar spacing issue 2015-06-01 17:51:20 -07:00
snipe 73a08c031c Fixes #818, and randomizes password for dummy user 2015-05-27 11:45:44 -07:00
snipe c77e7bf725 Merge pull request #816 from tomcastleman/develop
Reassignable should default to true on create form
2015-05-24 10:49:41 -07:00
Tom Castleman 7a4299c724 Reassignable should default to true on create form 2015-05-24 13:35:28 +01:00
snipe b9b0239837 Merge pull request #813 from tomcastleman/develop-1
Update develop following PR #809
2015-05-22 11:51:50 -07:00
snipe a43ae71afd Merge pull request #812 from tomcastleman/develop
Reassignable License Setting
2015-05-22 11:50:44 -07:00
Tom Castleman c4339a5d94 Merge branch 'master' into develop
* master:
  Removed debugbar:publish
2015-05-22 14:37:01 +01:00
Tom Castleman b161a38e9b Add licenses.reassignable migration
Implement licenses.reassignable

View edit for licenses.reassignable

Add licenses.reassignable to LicensesController

Disable Check In when !license->reassignable

Validate license check-in post
2015-05-22 14:11:36 +01:00
snipe 735268034d Merge pull request #809 from tomcastleman/patch-1
Removed debugbar:publish
2015-05-21 18:56:49 -07:00
snipe aad473486f Merge pull request #798 from DanielNemanic/patch-8
Generating Asset Name to Label Print
2015-05-21 18:56:36 -07:00
Tom Castleman 08970f2b7b Removed debugbar:publish
As per:
```
NOTICE: Since laravel-debugbar 1.7.x, publishing assets is no longer necessary. The assets in public/packages/barryvdh/laravel-debugbar and maximebf/php-debugbar can be safely removed.
```
2015-05-21 16:59:20 +01:00
Daniel Nemanic 6e8ad5b085 Generating Asset Name to Label Print
Added the Asset Name to the Label printing page.
2015-05-13 10:51:06 +02:00
snipe 145d386ce2 Updated lock file 2015-05-12 15:13:18 -07:00
snipe 94bfab762b Merge pull request #791 from DanielNemanic/patch-7
Updating Dashboard Link URL
2015-05-07 00:39:53 -07:00
Daniel Nemanic 20d8ad29e5 Updating Dashboard Link URL
Updating link to real application URL.
2015-05-07 09:38:16 +02:00
snipe bbdbd5397c Check for valid asset before attempting to get name 2015-05-04 00:46:26 -07:00
23 changed files with 377 additions and 303 deletions
+4 -2
View File
@@ -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/)
+5 -4
View File
@@ -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,
);
+2 -2
View File
@@ -1,5 +1,5 @@
<?php
return array (
'app_version' => 'v1.2.7-beta',
'hash_version' => 'v1.2.7-beta-10-g48ccf84',
'app_version' => 'v1.2.7-master',
'hash_version' => 'v1.2.7-master',
);
+79 -79
View File
@@ -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,20 +441,20 @@ 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',
@@ -468,13 +468,13 @@ class AssetsController extends AdminController
'value' => e($logaction->note)
],
]
])->send('Asset Checked Out');
} catch (Exception $e) {
}
}
@@ -563,18 +563,18 @@ 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',
@@ -587,16 +587,16 @@ class AssetsController extends AdminController
'title' => 'Note:',
'value' => e($logaction->note)
],
]
])->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 {
@@ -752,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);
@@ -872,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');
}
}
@@ -991,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':
@@ -1015,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();
}
}
@@ -22,6 +22,7 @@ use Response;
use Datatable;
use Slack;
use Config;
use Session;
class LicensesController extends AdminController
{
@@ -229,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;
@@ -269,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 {
@@ -607,6 +615,12 @@ class LicensesController extends AdminController
$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',
+85 -84
View File
@@ -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');
});
}
}
+1
View File
@@ -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',
+1
View File
@@ -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',
+1
View File
@@ -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',
+3 -3
View File
@@ -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
+4 -1
View File
@@ -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>
+11 -11
View File
@@ -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">
+1 -1
View File
@@ -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>
+14 -5
View File
@@ -3,7 +3,7 @@
{{-- Page title --}}
@section('title')
@lang('admin/licenses/general.view')
{{{ $license->name }}} ::
- {{{ $license->name }}}
@parent
@stop
@@ -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>
+7 -7
View File
@@ -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>
+1 -1
View File
@@ -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; }
+1 -1
View File
@@ -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; }
+1 -1
View File
@@ -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; }
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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",