mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-11 16:14:18 -08:00
Merge remote-tracking branch 'origin/develop'
This commit is contained in:
commit
642a09f139
|
@ -30,7 +30,7 @@ class UserFactory extends Factory
|
|||
'locale' => 'en',
|
||||
'notes' => 'Created by DB seeder',
|
||||
'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
|
||||
'permissions' => '{"user":"0"}',
|
||||
'permissions' => '{}',
|
||||
'phone' => $this->faker->phoneNumber(),
|
||||
'state' => $this->faker->stateAbbr(),
|
||||
'username' => $this->faker->username(),
|
||||
|
@ -81,11 +81,7 @@ class UserFactory extends Factory
|
|||
|
||||
public function superuser()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"superuser":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['superuser' => '1']);
|
||||
}
|
||||
|
||||
public function admin()
|
||||
|
@ -102,342 +98,204 @@ class UserFactory extends Factory
|
|||
|
||||
public function viewAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.view' => '1']);
|
||||
}
|
||||
|
||||
public function createAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.create' => '1']);
|
||||
}
|
||||
|
||||
public function editAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.delete' => '1']);
|
||||
}
|
||||
|
||||
public function checkinAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.checkin":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.checkin' => '1']);
|
||||
}
|
||||
|
||||
public function checkoutAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.checkout":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.checkout' => '1']);
|
||||
}
|
||||
|
||||
public function viewRequestableAssets()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"assets.view.requestable":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['assets.view.requestable' => '1']);
|
||||
}
|
||||
|
||||
public function viewAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.view' => '1']);
|
||||
}
|
||||
|
||||
public function createAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.create' => '1']);
|
||||
}
|
||||
|
||||
public function editAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.delete' => '1']);
|
||||
}
|
||||
|
||||
public function checkinAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.checkin":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.checkin' => '1']);
|
||||
}
|
||||
|
||||
public function checkoutAccessories()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"accessories.checkout":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['accessories.checkout' => '1']);
|
||||
}
|
||||
|
||||
public function viewConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.view' => '1']);
|
||||
}
|
||||
|
||||
public function createConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.create' => '1']);
|
||||
}
|
||||
|
||||
public function editConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.delete' => '1']);
|
||||
}
|
||||
|
||||
public function checkinConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.checkin":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.checkin' => '1']);
|
||||
}
|
||||
|
||||
public function checkoutConsumables()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"consumables.checkout":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['consumables.checkout' => '1']);
|
||||
}
|
||||
|
||||
public function viewDepartments()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"departments.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['departments.view' => '1']);
|
||||
}
|
||||
|
||||
public function viewLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.view' => '1']);
|
||||
}
|
||||
|
||||
public function createLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.create' => '1']);
|
||||
}
|
||||
|
||||
public function editLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.delete' => '1']);
|
||||
}
|
||||
|
||||
public function checkoutLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.checkout":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.checkout' => '1']);
|
||||
}
|
||||
|
||||
public function viewKeysLicenses()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"licenses.keys":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['licenses.keys' => '1']);
|
||||
}
|
||||
|
||||
public function viewComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.view' => '1']);
|
||||
}
|
||||
|
||||
public function createComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.create' => '1']);
|
||||
}
|
||||
|
||||
public function editComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.delete' => '1']);
|
||||
}
|
||||
|
||||
public function checkinComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.checkin":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.checkin' => '1']);
|
||||
}
|
||||
|
||||
public function checkoutComponents()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"components.checkout":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['components.checkout' => '1']);
|
||||
}
|
||||
|
||||
public function viewUsers()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"users.view":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['users.view' => '1']);
|
||||
}
|
||||
|
||||
public function createUsers()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"users.create":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['users.create' => '1']);
|
||||
}
|
||||
|
||||
public function editUsers()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"users.edit":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['users.edit' => '1']);
|
||||
}
|
||||
|
||||
public function deleteUsers()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"users.delete":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['users.delete' => '1']);
|
||||
}
|
||||
|
||||
public function canEditOwnLocation()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return [
|
||||
'permissions' => '{"self.edit_location":"1"}',
|
||||
];
|
||||
});
|
||||
return $this->appendPermission(['self.edit_location' => '1']);
|
||||
}
|
||||
|
||||
public function canViewReports()
|
||||
{
|
||||
return $this->state(function () {
|
||||
return $this->appendPermission(['reports.view' => '1']);
|
||||
}
|
||||
|
||||
private function appendPermission(array $permission)
|
||||
{
|
||||
return $this->state(function ($currentState) use ($permission) {
|
||||
return [
|
||||
'permissions' => '{"reports.view":"1"}',
|
||||
'permissions' => json_encode(
|
||||
array_merge(
|
||||
json_decode($currentState['permissions'], true),
|
||||
$permission
|
||||
)
|
||||
),
|
||||
];
|
||||
});
|
||||
}
|
||||
|
|
|
@ -59,9 +59,9 @@ Form::macro('date_display_format', function ($name = 'date_display_format', $sel
|
|||
];
|
||||
|
||||
foreach ($formats as $format) {
|
||||
$date_display_formats[$format] = Carbon::parse(date('Y').'-'.date('m').'-25')->format($format);
|
||||
$date_display_formats[$format] = Carbon::parse(date('Y-m-d'))->format($format);
|
||||
}
|
||||
$select = '<select name="'.$name.'" class="'.$class.'" style="min-width:250px" aria-label="'.$name.'">';
|
||||
$select = '<select name="'.$name.'" class="'.$class.'" style="min-width:100%" aria-label="'.$name.'">';
|
||||
foreach ($date_display_formats as $format => $date_display_format) {
|
||||
$select .= '<option value="'.$format.'"'.($selected == $format ? ' selected="selected" role="option" aria-selected="true"' : ' aria-selected="false"').'">'.$date_display_format.'</option> ';
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
<div class="box-body">
|
||||
|
||||
|
||||
<div class="col-md-11 col-md-offset-1">
|
||||
<div class="col-md-12">
|
||||
|
||||
<!-- Language -->
|
||||
<div class="form-group {{ $errors->has('site_name') ? 'error' : '' }}">
|
||||
|
@ -52,18 +52,21 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Date format -->
|
||||
<div class="form-group {{ $errors->has('time_display_format') ? 'error' : '' }}">
|
||||
<div class="col-md-3">
|
||||
{{ Form::label('time_display_format', trans('general.time_and_date_display')) }}
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="col-md-5">
|
||||
{!! Form::date_display_format('date_display_format', Request::old('date_display_format', $setting->date_display_format), 'select2') !!}
|
||||
|
||||
{!! Form::time_display_format('time_display_format', Request::old('time_display_format', $setting->time_display_format), 'select2') !!}
|
||||
|
||||
{!! $errors->first('time_display_format', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{!! Form::time_display_format('time_display_format', Request::old('time_display_format', $setting->time_display_format), 'select2') !!}
|
||||
</div>
|
||||
|
||||
{!! $errors->first('time_display_format', '<div class="col-md-9 col-md-offset-3"><span class="alert-msg" aria-hidden="true">:message</span> </div>') !!}
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Currency -->
|
||||
|
|
|
@ -111,25 +111,34 @@
|
|||
}
|
||||
|
||||
function statusLabelTypeFormatter (row, value) {
|
||||
|
||||
switch (value.type) {
|
||||
case 'deployed':
|
||||
text_color = 'blue';
|
||||
icon_style = 'fa-circle';
|
||||
break;
|
||||
case 'deployable':
|
||||
text_color = 'green';
|
||||
icon_style = 'fa-circle';
|
||||
trans = '{{ strtolower(trans('admin/hardware/general.deployable')) }}';
|
||||
|
||||
break;
|
||||
case 'pending':
|
||||
text_color = 'orange';
|
||||
icon_style = 'fa-circle';
|
||||
trans = '{{ strtolower(trans('general.pending')) }}';
|
||||
|
||||
break;
|
||||
case 'undeployable':
|
||||
text_color = 'red';
|
||||
icon_style = 'fa-circle';
|
||||
trans ='{{ trans('admin/statuslabels/table.undeployable') }}';
|
||||
|
||||
break;
|
||||
default:
|
||||
text_color = 'red';
|
||||
icon_style = 'fa-times';
|
||||
trans = '{{ strtolower(trans('general.archived')) }}';
|
||||
|
||||
}
|
||||
|
||||
var typename_lower = value.type;
|
||||
var typename_lower = trans;
|
||||
var typename = typename_lower.charAt(0).toUpperCase() + typename_lower.slice(1);
|
||||
return '<i class="fa ' + icon_style + ' text-' + text_color + '"></i> ' + typename;
|
||||
|
||||
|
|
Loading…
Reference in a new issue