/** * Validates and stores the new asset maintenance * * @see AssetMaintenancesController::getCreate() method for the form * @author Vincent Sposato <*****@*****.**> * @version v1.0 * @since [v1.8] * @return mixed */ public function postCreate() { // get the POST data $new = Input::all(); // create a new model instance $assetMaintenance = new AssetMaintenance(); if (e(Input::get('supplier_id')) == '') { $assetMaintenance->supplier_id = null; } else { $assetMaintenance->supplier_id = e(Input::get('supplier_id')); } if (e(Input::get('is_warranty')) == '') { $assetMaintenance->is_warranty = 0; } else { $assetMaintenance->is_warranty = e(Input::get('is_warranty')); } if (e(Input::get('cost')) == '') { $assetMaintenance->cost = ''; } else { $assetMaintenance->cost = e(Input::get('cost')); } if (e(Input::get('notes')) == '') { $assetMaintenance->notes = null; } else { $assetMaintenance->notes = e(Input::get('notes')); } $asset = Asset::find(e(Input::get('asset_id'))); if (!Company::isCurrentUserHasAccess($asset)) { return static::getInsufficientPermissionsRedirect(); } // Save the asset maintenance data $assetMaintenance->asset_id = e(Input::get('asset_id')); $assetMaintenance->asset_maintenance_type = e(Input::get('asset_maintenance_type')); $assetMaintenance->title = e(Input::get('title')); $assetMaintenance->start_date = e(Input::get('start_date')); $assetMaintenance->completion_date = e(Input::get('completion_date')); $assetMaintenance->user_id = Auth::user()->id; if ($assetMaintenance->completion_date == "" || $assetMaintenance->completion_date == "0000-00-00") { $assetMaintenance->completion_date = null; } if ($assetMaintenance->completion_date !== "" && $assetMaintenance->completion_date !== "0000-00-00" && $assetMaintenance->start_date !== "" && $assetMaintenance->start_date !== "0000-00-00") { $startDate = Carbon::parse($assetMaintenance->start_date); $completionDate = Carbon::parse($assetMaintenance->completion_date); $assetMaintenance->asset_maintenance_time = $completionDate->diffInDays($startDate); } // Was the asset maintenance created? if ($assetMaintenance->save()) { // Redirect to the new asset maintenance page return redirect()->to("admin/asset_maintenances")->with('success', trans('admin/asset_maintenances/message.create.success')); } return redirect()->back()->withInput()->withErrors($assetMaintenance->getErrors()); }