示例#1
0
 /**
  * comments to an issue
  *
  * @return redirect
  * @author gcg
  */
 public function postComment()
 {
     if (Request::has('issue_id') and Request::has('comment')) {
         $issue = Issue::find(Request::get('issue_id'));
         if (empty($issue)) {
             return redirect('/')->with('error', 'Issue deleted. ');
         }
         $can_comment = false;
         if (!empty($issue->location) and !empty(Auth::user()->location) and $issue->location == Auth::user()->location) {
             $can_comment = true;
         }
         if (!$can_comment) {
             return redirect('/issues/view/' . $issue->id)->with('error', 'Sadece kendi bölgenizdeki fikirlere yorum yapabilirisniz.');
         }
         $comment = new Comment();
         $comment->issue_id = Request::get('issue_id');
         $comment->user_id = Auth::user()->id;
         $comment->comment = Request::get('comment');
         try {
             $comment->save();
             if (Request::has('issue_status')) {
                 $new_status = Request::get('issue_status');
                 if (in_array($new_status, $this->avaliable_statuses)) {
                     $old_status = $issue->status;
                     $issue->status = $new_status;
                     $issue->save();
                     DB::table('issue_updates')->insert(['user_id' => Auth::user()->id, 'issue_id' => $issue->id, 'old_status' => $old_status, 'new_status' => $new_status, 'created_at' => Carbon::now(), 'updated_at' => Carbon::now()]);
                 }
             }
             #queueu an email for 10 minutes to issues owner.
         } catch (Exception $e) {
             Log::error('MuhtarController/postComment', (array) $e);
             return redirect('/issues/view/' . Request::get('issue_id'))->with('error', 'Yorumu kaydederken teknik bir hata meydana geldi, teknik ekip bilgilendirildi. ');
         }
         return redirect('/issues/view/' . Request::get('issue_id') . '#comment-' . $comment->id)->with('success', 'Yorum başarılı bir şekilde kaydedildi.');
     } else {
         return redirect('/')->with('error', 'Yorum yazmak için lütfen formu doldurun.');
     }
     return redirect('/');
 }
示例#2
0
 /**
  * get supporter list for an issue
  *
  * @return mixed
  * @author gcg
  */
 public function getSupporters($id = null, $start = 0, $take = 20)
 {
     $issue = Issue::find($id);
     if ($issue === null) {
         if ($this->isApi) {
             return response()->api(404, 'Issue not found', []);
         }
         return redirect('/issues')->with('error', 'Fikir bulunamadı.');
     }
     $supporter_ids = [];
     $supporter_ids = DB::table('issue_supporters')->where('issue_id', $issue->id)->orderBy('created_at', 'desc')->skip($start)->take($take)->lists('user_id');
     $users = [];
     if (!empty($supporter_ids)) {
         $users = User::whereIn('id', $supporter_ids)->get();
         if (!empty($users)) {
             $users = $users->toArray();
         }
     }
     if ($this->isApi) {
         return response()->api(200, 'List of issue supporters: ' . $id, $users);
     }
     session(['last_page' => Request::path()]);
     return response()->app(200, 'issues.supporters', ['users' => $users]);
 }