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
|
||||
|
|
|
@ -51,6 +51,8 @@ class AccessoriesTransformer
|
|||
'checkin' => false,
|
||||
'update' => Gate::allows('update', Accessory::class),
|
||||
'delete' => Gate::allows('delete', Accessory::class),
|
||||
'clone' => Gate::allows('create', Accessory::class),
|
||||
|
||||
];
|
||||
|
||||
$permissions_array['user_can_checkout'] = false;
|
||||
|
|
|
@ -16,5 +16,6 @@ return array(
|
|||
'update' => 'Update Accessory',
|
||||
'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.',
|
||||
'clone' => 'Clone Accessory',
|
||||
|
||||
);
|
||||
|
|
|
@ -39,6 +39,11 @@
|
|||
<a href="{{ route('accessories.edit', $accessory->id) }}">{{ trans('admin/accessories/general.edit') }}</a>
|
||||
</li>
|
||||
@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>
|
||||
</div>
|
||||
@endcan
|
||||
|
|
|
@ -42,6 +42,14 @@ Route::group(['prefix' => 'accessories', 'middleware' => ['auth']], function ()
|
|||
[Accessories\AccessoriesFilesController::class, 'show']
|
||||
)->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, [
|
||||
|
|
Loading…
Reference in a new issue