/** * Update a copied phone. */ public function storeCopied($id, Request $request) { $mac = $request->MAC; $checkForExistingMac = astPhoneModel::where('MAC', '=', $mac)->get(); if (count($checkForExistingMac) == 0) { $validate = $this->doValidate($id); if ($validate->passes()) { $input = $request->all(); $oldAstPhone = astPhoneModel::findOrFail($id); $newAstPhone = astPhoneModel::create($input); $astPhoneTemplateDescription = $newAstPhone->phoneTemplate->DESCRIPTION; $astPhoneTemplate = $newAstPhone->phoneTemplate->TEMPLATE; // an array of parameter values based on the phone $astPhoneParameters = astPhoneParameterValueModel::astPhoneParameterValuesToArray($oldAstPhone); // an array of parameters based on the template $parametersArray = astPhoneTemplateModel::astXMLParametersToArray($astPhoneTemplate); // an array of parameter based on the template $fullParametersArray = astPhoneTemplateModel::astXMLFullParametersToArray($astPhoneTemplate); Session::flash('astMessage', 'Copied phone has been added!'); return View::make('ast.astPhones.editPhoneParameters')->with('astPhone', $newAstPhone)->with('astResponseTypes', astPhoneTemplateModel::astArrayForList())->with('astPhoneParameters', $astPhoneParameters)->with('parametersArray', $parametersArray)->with('fullParametersArray', $fullParametersArray)->with('astPhoneTemplateDescription', $astPhoneTemplateDescription)->with('astBrandModelTypes', astPhoneModelModel::astArrayForBrandModelList()); } else { $astPhone = astPhoneModel::findOrFail($id); Input::flash(); return redirect()->route('copyPhone', [$astPhone->PHONE_ID])->with('message', 'Unable to add. Mac must be 12 characters.')->withErrors($validate->messages()); } } else { $astPhone = astPhoneModel::findOrFail($id); Input::flash(); return redirect()->route('copyPhone', [$astPhone->PHONE_ID])->with('unsuccessfulMessage', 'Unable to add. Mac must be unique.'); } }