Example #1
0
 /**
  * Update the specified resource in storage.
  *
  * @param Todo $todo
  * @internal param int $id
  * @return Response
  */
 public function update(Project $project, User $user, Todo $todo)
 {
     $input = array_except(\Input::all(), '_method');
     if (isset($input['completed'])) {
         $input['urgent'] = 0;
         $emails = $project->subscribers()->lists('email');
         if (count($emails)) {
             Mail::send('todos.emails.update', ['name' => $todo->name, 'user' => \Auth::user()->name], function ($message) use($emails, $todo) {
                 $message->from('*****@*****.**');
                 $message->to($emails)->subject("USC Todo App - The " . $todo->project->name . " project has been updated.");
             });
         }
     } else {
         $input['completed'] = 0;
     }
     $todo->update($input);
     Flash::success('Your todo has been updated!');
     return redirect()->route('projects.todos.index', [$project->id]);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param Project $project
  * @internal param int $id
  * @return Response
  */
 public function destroy(Project $project)
 {
     if ($project->todos) {
         foreach ($project->todos as $todos) {
             if (!$todos->completed) {
                 Flash::error('This project has incomplete todos.  Mark them as completed or remove them.');
                 return redirect()->route('projects.todos.index', [$project->id]);
             }
         }
     }
     $project_array = $project->toArray();
     $emails = $project->subscribers()->lists('email');
     Mail::send('projects.emails.delete', ['name' => $project->name, 'user' => $project->user->name], function ($message) use($emails, $project_array) {
         $message->from('*****@*****.**');
         $message->to($emails)->subject("USC Todo App - The '{$project_array['name']}' project has been removed!");
     });
     $project->delete();
     Flash::success('The project has been deleted!');
     return redirect()->route('projects.index');
 }