public function edit(Request $request, $id) { if ($request->has('type')) { $type = $request->input('type'); switch ($type) { case 'selectalarm': if ($id == 'no') { $available = AlarmType::where('entity_type', '=', 0)->get(); $existing = Alarm::where('entity_id', '=', 0)->get(); } else { $e = Entity::findOrFail($id); $available = $e->type->alarms; $existing = $e->alarms; } $structured = array(); foreach ($available as $a) { $unit = (object) array('alarm' => $a, 'pendings' => array()); foreach ($existing as $exist) { if ($exist->type->id == $a->id) { $unit->pendings[] = $exist; } } $structured[] = $unit; } return view('alarms.choosealarmtype', ['structured' => $structured]); break; } } else { $e = Entity::findOrFail($id); return view('entities.edit', ['entity' => $e]); } }
public function store(Request $request) { $a = new AlarmType(); $a->name = $request->input('name'); $a->entity_type = $request->input('entitytype'); $a->type = $request->input('type'); $recurrence = $request->input('recurrence'); if ($recurrence == 'custom-interval') { $a->recurrence = 'custom'; $a->recurrence_details = sprintf('%d %s', $request->input('recurrence_quantity'), $request->input('recurrence_unit')); } else { $a->recurrence = $recurrence; } $a->save(); return $a->id; }
public static function getByTarget($target) { return AlarmType::where('entity_type', '=', $target->id)->get(); }
public function create(Request $request) { if ($request->has('action')) { $type = $request->input('action'); switch ($type) { case 'details': $data['type'] = AlarmType::findOrFail($request->input('type')); return view('alarms.createdetails', $data); break; } } else { $data['entitytype'] = EntityType::all(); return view('alarms.create', $data); } }