/** * Overwrite the parent boot method * * @return void */ public static function boot() { parent::boot(); MaterialInventoryItem::creating(function ($materialCostLog) { $materialCostLog->mat_inventory_added_user_id_fk = \Auth::user()->id; $materialCostLog->mat_inventory_modified_user_id_fk = \Auth::user()->id; }); MaterialInventoryItem::updating(function ($materialCostLog) { $materialCostLog->mat_inventory_modified_user_id_fk = \Auth::user()->id; }); }
/** * Update Inventory Item from Editable PUT request * * @param Request $request * @param MaterialInventoryItem $material_inventory_item * @return $this */ public function editableUpdate(Request $request, MaterialInventoryItem $material_inventory_item) { $this->authorize('edit_material_inventory'); $validator = Validator::make($request->all(), ['pk' => 'required|integer|exists:material_inventory,material_inventory_id']); $validator->sometimes('value', 'required|integer|between:1,400', function ($input) { return $input->name == 'mat_inventory_bin_location'; }); $validator->sometimes('value', 'required|numeric|min:0', function ($input) { return $input->name == 'cost'; }); if ($validator->fails()) { return response('Invalid request', 422); } $field = $request->get('name'); $material_inventory_item->{$field} = $request->get('value'); $material_inventory_item->save(); return response('Okay', 200); }
/** * Get the validation rules that apply to the request. * * @return array */ public function rules() { $availableMeters = MaterialInventoryItem::findOrFail(Request::get('material_inventory_id'))->unused_meters; return ['material_inventory_id' => 'required|exists:material_inventory,material_inventory_id', 'produced_kg' => 'required|numeric|min:0', 'produced_m' => 'required|numeric|min:0|max:' . $availableMeters, 'startup_waste_kg' => 'required|numeric|min:0', 'note' => 'string']; }