/** * Store a newly created instrument in storage. * * @return Response */ public function store() { // $rules = array('name' => 'required', 'ip' => 'sometimes|ip'); $validator = Validator::make(Input::all(), $rules); // Validate form input if ($validator->fails()) { return Redirect::route('instrument.create')->withErrors($validator); } else { // Save the instrument $newInstrument = new Instrument(); $newInstrument->name = Input::get('name'); $newInstrument->description = Input::get('description'); $newInstrument->ip = Input::get('ip'); $newInstrument->hostname = Input::get('hostname'); $newInstrument->save(); return Redirect::route('instrument.index')->with('message', trans('messages.success-creating-instrument')); } }
/** * Save instrument * * @param String machineCode, String ip, optional String hostname * @return String success/failure message */ public static function saveInstrument($code, $ip, $hostname = "") { $plugin = Instrument::getInstalledPlugins(true); $className = ""; // Get the class name of the user selected plugin foreach ($plugin as $key => $plug) { // If the instrument_code matches that of the select box, WE HAVE A MATCH if ($key == $code) { $className = $plug['class']; break; } } if (class_exists($className)) { $instrument = new $className($ip); $deviceInfo = $instrument->getEquipmentInfo(); $newInstrument = new Instrument(); $newInstrument->name = $deviceInfo['name']; $newInstrument->description = $deviceInfo['description']; $newInstrument->driver_name = $className; $newInstrument->ip = $ip; $newInstrument->hostname = Input::get('hostname'); try { $newInstrument->save(); $newInstrument->setTestTypes($deviceInfo['testTypes']); return trans('messages.success-creating-instrument'); } catch (QueryException $e) { Log::error($e); } } return trans('messages.failure-creating-instrument'); }