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;
 }
Esempio n. 3
0
 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);
     }
 }