/** * 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('/'); }
/** * 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]); }