/** * Get Steps for specific WMS doc */ private function copyTemplate($master_id, $doc_id) { // Doc $master = WmsDoc::find($master_id); $doc = WmsDoc::find($doc_id); // Increment major version if copying from previous Wms Doc if (!$master->master) { list($major, $minor) = explode('.', $master->version); $major++; $doc->version = $major . '.0'; } else { $doc->version = $master->version; } $doc->save(); // Steps $steps = WmsStep::where('doc_id', $master_id)->get(); foreach ($steps as $step) { $newStep = WmsStep::create(array('doc_id' => $doc_id, 'name' => $step->name, 'order' => $step->order, 'master' => '0', 'master_id' => $step->id)); // Hazards $hazards = WmsHazard::where('step_id', $step->id)->get(); foreach ($hazards as $hazard) { $newHazard = WmsHazard::create(array('step_id' => $newStep->id, 'name' => $hazard->name, 'order' => $hazard->order, 'master' => '0', 'master_id' => $hazard->id)); } // Controls $controls = WmsControl::where('step_id', $step->id)->get(); foreach ($controls as $control) { $newControl = WmsControl::create(array('step_id' => $newStep->id, 'name' => $control->name, 'res_principle' => $control->res_principle, 'res_company' => $control->res_company, 'res_worker' => $control->res_worker, 'order' => $control->order, 'master' => '0', 'master_id' => $control->id)); } } }