%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/app/Observers/ |
Upload File : |
<?php
namespace App\Observers;
use App\Events\DiscussionEvent;
use App\Events\DiscussionMentionEvent;
use App\Models\DiscussionFile;
use App\Models\DiscussionReply;
use App\Events\DiscussionReplyEvent;
use App\Models\User;
use Carbon\Carbon;
class DiscussionReplyObserver
{
public function creating(DiscussionReply $model)
{
if (company()) {
$model->company_id = company()->id;
}
}
public function created(DiscussionReply $discussionReply)
{
if (isset(request()->discussion_type) && request()->discussion_type == 'discussion_reply') {
$discussion = $discussionReply->discussion;
$project = $discussion->project;
$mentionIds = explode(',', request()->mention_user_id);
$projectUsers = json_decode($project->projectMembers->pluck('id'));
$mentionUserId = array_intersect($mentionIds, $projectUsers);
if ($mentionUserId != null && $mentionUserId != '') {
$discussionReply->mentionUser()->sync($mentionIds);
event(new DiscussionMentionEvent($discussion, $mentionUserId));
} else {
$unmentionIds = array_diff($projectUsers, $mentionIds);
if ($unmentionIds != null && $unmentionIds != '') {
$project_member = User::whereIn('id', $unmentionIds)->get();
event(new DiscussionEvent($discussion, $project_member));
} else {
if (!isRunningInConsoleOrSeeding()) {
$discussion->last_reply_at = now()->toDateTimeString();
$discussion->last_reply_by_id = user()->id;
$discussion->save();
event(new DiscussionReplyEvent($discussionReply, $discussion->user));
}
}
}
}
}
public function deleted(DiscussionReply $discussionReply)
{
if (!isRunningInConsoleOrSeeding()) {
$discussion = $discussionReply->discussion;
$discussion->best_answer_id = null;
$discussion->save();
}
}
}