mirror of
https://github.com/snipe/snipe-it.git
synced 2025-02-21 03:15:45 -08:00
Merge pull request #12680 from akemidx/clone_accessories
Clone accessories
This commit is contained in:
commit
4f8542b71b
|
@ -115,6 +115,33 @@ class AccessoriesController extends Controller
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a view that presents a form to clone an accessory.
|
||||||
|
*
|
||||||
|
* @author [J. Vinsmoke]
|
||||||
|
* @param int $accessoryId
|
||||||
|
* @since [v6.0]
|
||||||
|
* @return View
|
||||||
|
*/
|
||||||
|
public function getClone($accessoryId = null)
|
||||||
|
{
|
||||||
|
|
||||||
|
$this->authorize('create', Accesory::class);
|
||||||
|
|
||||||
|
// Check if the asset exists
|
||||||
|
if (is_null($accessory_to_clone = Accessory::find($accessoryId))) {
|
||||||
|
// Redirect to the asset management page
|
||||||
|
return redirect()->route('accessory.index')->with('error', trans('admin/accessories/message.does_not_exist'));
|
||||||
|
}
|
||||||
|
|
||||||
|
$accessory = clone $accessory_to_clone;
|
||||||
|
$accessory->id = null;
|
||||||
|
$accessory->location_id = null;
|
||||||
|
|
||||||
|
return view('accessories/edit')
|
||||||
|
->with('item', $accessory);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Save edited Accessory from form post
|
* Save edited Accessory from form post
|
||||||
|
|
|
@ -51,6 +51,8 @@ class AccessoriesTransformer
|
||||||
'checkin' => false,
|
'checkin' => false,
|
||||||
'update' => Gate::allows('update', Accessory::class),
|
'update' => Gate::allows('update', Accessory::class),
|
||||||
'delete' => Gate::allows('delete', Accessory::class),
|
'delete' => Gate::allows('delete', Accessory::class),
|
||||||
|
'clone' => Gate::allows('create', Accessory::class),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
$permissions_array['user_can_checkout'] = false;
|
$permissions_array['user_can_checkout'] = false;
|
||||||
|
|
|
@ -16,5 +16,6 @@ return array(
|
||||||
'update' => 'Update Accessory',
|
'update' => 'Update Accessory',
|
||||||
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
'use_default_eula' => 'Use the <a href="#" data-toggle="modal" data-target="#eulaModal">primary default EULA</a> instead.',
|
||||||
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
'use_default_eula_disabled' => '<del>Use the primary default EULA instead.</del> No primary default EULA is set. Please add one in Settings.',
|
||||||
|
'clone' => 'Clone Accessory',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
|
@ -39,6 +39,11 @@
|
||||||
<a href="{{ route('accessories.edit', $accessory->id) }}">{{ trans('admin/accessories/general.edit') }}</a>
|
<a href="{{ route('accessories.edit', $accessory->id) }}">{{ trans('admin/accessories/general.edit') }}</a>
|
||||||
</li>
|
</li>
|
||||||
@endcan
|
@endcan
|
||||||
|
@can('update', \App\Models\Accessory::class)
|
||||||
|
<li role="menuitem">
|
||||||
|
<a href="{{ route('clone/accessories', $accessory->id) }}">{{ trans('admin/accessories/general.clone') }}</a>
|
||||||
|
</li>
|
||||||
|
@endcan
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@endcan
|
@endcan
|
||||||
|
|
|
@ -42,6 +42,14 @@ Route::group(['prefix' => 'accessories', 'middleware' => ['auth']], function ()
|
||||||
[Accessories\AccessoriesFilesController::class, 'show']
|
[Accessories\AccessoriesFilesController::class, 'show']
|
||||||
)->name('show.accessoryfile');
|
)->name('show.accessoryfile');
|
||||||
|
|
||||||
|
Route::get('{accessoryId}/clone',
|
||||||
|
[Accessories\AccessoriesController::class, 'getClone']
|
||||||
|
)->name('clone/accessories');
|
||||||
|
|
||||||
|
Route::post('{accessoryId}/clone',
|
||||||
|
[Accessories\AccessoriesController::class, 'postCreate']
|
||||||
|
);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::resource('accessories', Accessories\AccessoriesController::class, [
|
Route::resource('accessories', Accessories\AccessoriesController::class, [
|
||||||
|
|
Loading…
Reference in a new issue