Example #1
0
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     if (Gate::denies('destroy', Household::class)) {
         abort(403);
     }
     $record = Household::find($id);
     Household::destroy($id);
     return redirect('/household')->with('alert-info', 'The record has been deleted!');
 }
 public function review($id, Request $request)
 {
     $household = Household::find($id);
     if (!$household) {
         return ['ok' => false, 'message' => 'Could not find household.'];
     }
     $approved = $request->input('approved', 0);
     $reason = $request->input('reason', null);
     $customMessage = $request->input('message', null);
     // If approved?
     switch ($approved) {
         // Approved the nomination
         case 1:
             $household->reviewed = 1;
             $household->approved = 1;
             if ($household->save()) {
                 Mail::queue("email.notify_household_accepted", ["household" => $household], function ($message) use($household) {
                     $message->from(env("MAIL_FROM_ADDRESS"));
                     $message->to($household->nominator->email);
                     $message->subject("Your nomination for {$household->name_last} has been approved!");
                 });
                 return ['ok' => true];
             }
             return ['ok' => $household->save()];
             break;
             // Declined the nomination
         // Declined the nomination
         case 0:
             if (!$reason) {
                 return ['ok' => false, 'message' => 'Must provide a reason for declining.'];
             }
             // Update stuffs...
             $household->reviewed = 1;
             $household->approved = 0;
             $household->reason = $reason;
             if ($household->save()) {
                 if ($customMessage) {
                     Mail::queue("email.notify_household_rejected", ["household" => $household, "reason" => $reason, "customMessage" => $customMessage], function ($message) use($household) {
                         $message->from(env("MAIL_FROM_ADDRESS"));
                         $message->to($household->nominator->email);
                         $message->subject("An update regarding your nomination of {$household->name_last}");
                     });
                 }
                 return ['ok' => true];
             } else {
                 return ['ok' => false, 'message' => 'Could not update nomination. Please try again later.'];
             }
             break;
     }
 }