/** * Execute the command. * * @return void */ public function handle() { \Log::info('[' . $this->job->getJobId() . ':' . $this->attempts() . '] Category assignment started.'); $category = Category::find($this->cat_id); $projects = Project::all(); foreach ($projects as $project) { $project->assignCategory($category); } \Log::info('[' . $this->job->getJobId() . ':' . $this->attempts() . '] Category assignment completed.'); }
public static function boot() { parent::boot(); // Setup event bindings... Project::created(function ($project) { }); Project::deleting(function ($project) { $project->categories()->detach(); }); }
/** * @param $id * @return mixed */ public function showProject($id) { $project = Project::find($id); if ($id == 'random') { $projects = Project::all(); $project = $projects[mt_rand(0, count($projects) - 1)]; } if (!$project) { return redirect('search')->with('error', 'Oops! It seems we can\'t find the page you are looking for. Try search instead.'); } $geojson = 'pin-l-circle-stroked+1abc9c(' . $project->geo()->lng . ',' . $project->geo()->lat . ')/' . $project->geo()->lng . ',' . $project->geo()->lat . '),13'; $map_image_link = 'https://api.tiles.mapbox.com/v4/codeforafrica.ji193j10/' . $geojson . '/520x293.png256?' . 'access_token=pk.eyJ1IjoiY29kZWZvcmFmcmljYSIsImEiOiJVLXZVVUtnIn0.JjVvqHKBGQTNpuDMJtZ8Qg'; $data = compact('project', 'map_image_link', 'geojson'); return view('home.project', $data); }
/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $project = Project::find($id); if ($id == 'random') { $projects = Project::all(); $project = $projects[mt_rand(0, count($projects) - 1)]; } if (!$project) { return response()->json(array('error' => true, 'project' => 'Not found'), 404); } if (\Input::has('embed')) { $geojson = 'pin-l-circle-stroked+1abc9c(' . $project->geo_lng . ',' . $project->geo_lat . ')/' . $project->geo_lng . ',' . $project->geo_lat . '),13'; $map_image_link = 'http://api.tiles.mapbox.com/v4/codeforafrica.ji193j10/' . $geojson . '/600x250.png256?' . 'access_token=pk.eyJ1IjoiY29kZWZvcmFmcmljYSIsImEiOiJVLXZVVUtnIn0.JjVvqHKBGQTNpuDMJtZ8Qg'; $data = compact('project', 'map_image_link', 'geojson'); return view('home.project_embed', $data); } return response()->json(array('error' => false, 'project' => $project), 200); }
/** * Execute the command. * * @return void */ public function handle() { $alert = Alert::find($this->alert_id); if ($alert->status != 0) { return; } else { $alert->status = 1; $alert->save(); } $project = Project::find($alert->project_id); $project_lat = $project->geo->lat; $project_lng = $project->geo->lng; if ($project_lat != 450.0 && $project_lng != 450.0) { $subscriptions = Subscription::where('sw_lat', '<', $project_lat)->where('sw_lng', '<', $project_lng)->where('ne_lat', '>', $project_lat)->where('ne_lng', '>', $project_lng)->select('user_id')->distinct()->get(); foreach ($subscriptions as $subscription) { $user = User::find($subscription->user_id); $data = compact('user', 'project'); \Mail::queue('emails.alerts.status', $data, function ($message) use($user) { $message->to($user->email, '')->subject('[#GreenAlert] You\'ve got an update'); }); } } }
function setProjects($csv, $ds_sync) { $cols = $this->columns; // String Keys $config = $this->config; // Integer position $categories = Category::all(); foreach ($csv as $row) { $project = Project::firstOrCreate(array('data_id' => $row[$cols[$config->id->col]])); $project->datasource_id = $this->id; $project->data_source_sync_id = $ds_sync->id; $project->title = $row[$cols[$config->title->col]]; $project->description = $row[$cols[$config->desc->col]]; if ($config->geo->type == 'address') { $project->geo_type = 'address'; $project->geo_address = $row[$cols[$config->geo->address->col]]; } if ($config->geo->type == 'lat_lng') { $project->geo_type = 'lat_lng'; $project->geo_lat = $row[$cols[$config->geo->lat_lng->lat->col]]; $project->geo_lng = $row[$cols[$config->geo->lat_lng->lng->col]]; } $project->status = $row[$cols[$config->status->col]]; $project->data = $row; foreach ($categories as $category) { $project->assignCategory($category); } $project->save(); } }
public function email() { // Get fisrt subscription $subscription = Subscription::first(); $user = User::find($subscription->user_id); // Get first project $project = Project::first(); $project_geo = $project->geo(); if (strlen($project->title) > 80) { $project->title = substr($project->title, 0, 80) . '...'; } if (strlen($project->description) > 200) { $project->description = substr($project->description, 0, 200) . '...'; } // Check email type if (preg_match('/alert*/', \Input::get('type'))) { $view_name = 'emails.alerts.default'; $map_image_link = 'https://api.tiles.mapbox.com/v4/codeforafrica.ji193j10' . '/pin-l-star+27AE60(' . $project_geo->lng . ',' . $project_geo->lat . ')' . '/' . $project_geo->lng . ',' . $project_geo->lat . ',11' . '/600x250.png?' . 'access_token=pk.eyJ1IjoiY29kZWZvcmFmcmljYSIsImEiOiJVLXZVVUtnIn0.JjVvqHKBGQTNpuDMJtZ8Qg'; if (\Input::get('type') == 'alert_status') { $view_name = 'emails.alerts.status'; } $project_title = $project->title; $project_id = $project->id; } else { $view_name = 'emails.subscription.new'; $map_image_link = 'https://api.tiles.mapbox.com/v4/codeforafrica.ji193j10' . '/geojson(' . urlencode($subscription->geojson) . ')' . '/auto/600x250.png?' . 'access_token=pk.eyJ1IjoiY29kZWZvcmFmcmljYSIsImEiOiJVLXZVVUtnIn0.JjVvqHKBGQTNpuDMJtZ8Qg'; $project_id = $subscription->project_id; } // New Subscription $confirm_url = secure_asset('subscriptions/' . $subscription->confirm_token); $data = compact('subscription', 'user', 'map_image_link', 'confirm_url', 'project_title', 'project_id'); $view = view($view_name, $data); if (\Input::get('inline', 0) == 1) { // TODO: Make inline view // return Inliner::inline($view); } return $view; }