public function destroy(Request $request, $station_id, $aerometric_id)
 {
     $station = \App\Station::findOrFail($station_id);
     if (!$request->user()->isAdmin() && $station->user_id != $request->user()->id) {
         return abort(403);
     }
     $aerometric = \App\Aerometric::findOrFail($aerometric_id);
     $aerometric->delete();
     return redirect()->to('backend/stations/' . $station->id . '/aerometrics');
 }
示例#2
0
 /**
  * @param $station_id
  * @return mixed
  */
 public function genre($station_id)
 {
     return Station::findOrFail($station_id)->genre;
 }
 public function postImport(Request $request, $id)
 {
     $station = \App\Station::findOrFail($id);
     if (!$request->user()->isAdmin() && $station->user_id != $request->user()->id) {
         return abort(403);
     }
     $this->validate($request, ['file' => 'required|mimes:txt|max:5000']);
     $file = request()->file('file');
     $contents = file_get_contents($file->getPathname());
     $data = [];
     if ($file->getClientOriginalExtension() == 'csv') {
         $lines = explode("\r\n", $contents);
         $array = array_map("str_getcsv", $lines);
         $header = array_shift($array);
         foreach ($array as $v) {
             $data[] = array_combine($header, $v);
         }
     } else {
         if ($file->getClientOriginalExtension() == 'json') {
             $data = json_decode($contents, true);
         }
     }
     foreach ($data as $d) {
         $aerometric = new \App\Aerometric();
         $aerometric->station_id = $station->id;
         foreach (array_keys(config('aerometrics.properties')) as $property) {
             $aerometric->{$property} = array_get($d, $property, '0.0');
         }
         $aerometric->created_at = $aerometric->updated_at = array_get($d, 'created_at', new \DateTime('now'));
         $aerometric->save();
     }
     return redirect('backend/stations/' . $station->id);
 }