private function rulesByTypes($request, $edit = false)
{
$rules = $this->form_rules;
switch ($request->input('type')) {
case 'item':
unset($rules['amount']);
unset($rules['key']);
unset($rules['software']);
unset($rules['key_software']);
unset($rules['software_key']);
break;
case 'key':
unset($rules['amount']);
unset($rules['stock']);
unset($rules['low_stock']);
unset($rules['software']);
unset($rules['key_software']);
unset($rules['software_key']);
if ($edit) {
unset($rules['key']);
}
break;
case 'software':
unset($rules['amount']);
unset($rules['stock']);
unset($rules['low_stock']);
unset($rules['key']);
unset($rules['key_software']);
unset($rules['software_key']);
if ($edit) {
unset($rules['software']);
}
break;
case 'software_key':
unset($rules['amount']);
unset($rules['stock']);
unset($rules['low_stock']);
unset($rules['key']);
unset($rules['software']);
if ($edit) {
unset($rules['key_software']);
unset($rules['software_key']);
}
break;
case 'gift_card':
unset($rules['stock']);
unset($rules['low_stock']);
unset($rules['key']);
unset($rules['software']);
unset($rules['key_software']);
unset($rules['software_key']);
break;
default:
return redirect()->back()->withErrors(['induced_error' => [trans('globals.error') . ' ' . trans('globals.induced_error')]])->withInput();
break;
}
return $rules;
}