public function confirmApproval(CategoryRequest $request, AppMailer $mailer, $id)
 {
     $category = Category::find($id);
     if (!$category) {
         return redirect()->back()->withErrors(['Category not found to approve!']);
     }
     if (!$request->has('confirmation-select')) {
         return redirect()->back()->withErrors(['Invalid request of approval confirmation!']);
     }
     switch ($request->input('confirmation-select')) {
         case 'approve':
             $category->status = 'APPROVED';
         case 'reject':
             $category->status = 'REJECTED';
         case 'remove':
             $category->status = 'REMOVED';
     }
     // if($request->input('confirmation-select') == 'approve')
     //     $category->status = 'APPROVED';
     // if($request->input('confirmation-select') == 'reject')
     //     $category->status = 'REJECTED';
     if (!$category->save()) {
         return redirect()->back()->withErrors(['Failed to confirm category approval!']);
     }
     flash()->success('Your have ' . strtolower($category->getStatus()) . ' category (' . $category->category_name . ').');
     // Sends approval mail to users has a single product
     $data['type'] = Category::class;
     $data['status'] = $category->getStatus();
     $data['item_name'] = $category->category_name;
     $data['created_at'] = $category->created_at;
     foreach ($category->products->unique('user_id') as $product) {
         $mailer->sendEmailForApprovalNotificationTo($product->user, $data);
     }
     return redirect()->back();
 }
 public function confirmApproval(ProductRequest $request, AppMailer $mailer, $id)
 {
     $product = Product::find($id);
     if (!$product) {
         return redirect()->back()->withErrors(['Product not found to approve!']);
     }
     if (!$request->has('confirmation-select')) {
         return redirect()->back()->withErrors(['Invalid request of approval confirmation!']);
     }
     switch ($request->input('confirmation-select')) {
         case 'approve':
             $category->status = 'APPROVED';
         case 'reject':
             $category->status = 'REJECTED';
         case 'remove':
             $category->status = 'REMOVED';
     }
     if (!$product->save()) {
         return redirect()->back()->withErrors(['Failed to confirm product approval!']);
     }
     flash()->success('Your have ' . strtolower($product->getStatus()) . ' product (' . $product->product_title . ').');
     // Sends approval mail to user who created the product
     $data['type'] = Product::class;
     $data['status'] = $product->getStatus();
     $data['item_name'] = $product->product_title;
     $data['created_at'] = $product->created_at;
     $mailer->sendEmailForApprovalNotificationTo($product->user, $data);
     return redirect()->back();
 }
Esempio n. 3
0
 public function verifyProfileChanges(Request $request, AppMailer $mailer, User $user)
 {
     $errors = $this->update($request, $user);
     if (!empty($errors)) {
         return $this->redirectToUserProfileEdit($user, $errors);
     }
     $data['request_url'] = 'name/' . $user->name . ('/email/' . $user->email);
     $data['request_url'] .= '/phone/' . $user->phone_number;
     $data['request_url'] .= '/password/' . str_replace('/', '_', $user->password ? $user->password : Auth::user()->password);
     $data['request_url'] .= '/address/' . str_replace('/', '_', $user->address);
     // dd($data);
     $mailer->sendEmailProfileUpdateConfirmationTo($user, $data);
     flash()->info('A verification mail is sent to ' . ($user->email ? $user->email : Auth::user()->email) . '. Please check your mail inbox/ junk/ spam directives to confirm your changes verified.');
     return $this->redirectToUserProfileEdit($user);
 }