Return data in emit livewire

28 views Asked by At

This code is located in the file nav.php where we have emit set task:

public function duplicate()
{
    if (Session::get('task_id')){
        $update = $this->duplicateTask(Session::get('task_id'));
    }elseif (Session::get('form_id')){
        $update = $this->duplicateTask(Session::get('form_id'));
    }elseif (Session::get('text_id')){
        $update = $this->duplicateTask(Session::get('text_id'));
    }elseif (Session::get('file_id')){
        $update = $this->duplicateTask(Session::get('file_id'));
    }elseif (Session::get('photo_id')){
        $update = $this->duplicateTask(Session::get('photo_id'));
    }else{
        $this->emit('setTask');
        $this->cleanActivityProject();
    }
    if (isset($update)){
        $this->successMessage('Task duplicated successfully');
    }
}

and this code located in the file task.php:

public function setTask()
{
    $this->validate([
        'task.title' => 'required',
        'task.project' => 'required',
    ]);

    $create = $this->createTask($this->task, $this->kanban);
    $response = $this->checkError($create);
    if ($response['status']) {
        Session::put('task_id', $create['id']);
        Session::put('project_id', $this->task['project']);
        return redirect(route('mobile.home'));
    } else {
        $this->errorMessage($response['message']);
    }
}

now i wana if have validation code don't run $this->cleanActivityProject(); $this->cleanActivityProject() always running after emit

0

There are 0 answers