Completed
Push — master ( f91fe8...410c26 )
by Quim González
03:25
created

EditTaskCommand::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
namespace App\Console\Commands;
4
5
use App\Http\Requests\Traits\AsksForTasks;
6
use App\Task;
7
use Illuminate\Console\Command;
8
use Mockery\Exception;
9
10
class EditTaskCommand extends Command
11
{
12
    use AsksForTasks;
13
    /**
14
     * The name and signature of the console command.
15
     *
16
     * @var string
17
     */
18
    protected $signature = 'task:edit {id? : The Task id} {name? : The Task name} {user_id? : The user id} {description? : The Task description}';
19
20
    /**
21
     * The console command description.
22
     *
23
     * @var string
24
     */
25
    protected $description = 'Edit an existing task.';
26
27
    /**
28
     * Create a new command instance.
29
     *
30
     * @return void
31
     */
32
    public function __construct()
33
    {
34
        parent::__construct();
35
    }
36
37
    /**
38
     * Execute the console command.
39
     *
40
     * @return mixed
41
     */
42
    public function handle()
43
    {
44
        //si ens passen l'id, l'agafem, però sino mostrem tots els id amb l'ajuda del Trait.
45
        $id = $this->argument('id') ? $this->argument('id') : $this->askForTasks();
46
47
        $task = Task::findOrFail($id);
48
49
        try{
50
            $task->update([
51
                'name'        => $this->argument('name') ? $this->argument('name') : $this->ask('Task name?'),
52
                'user_id'     => $this->argument('user_id') ? $this->argument('user_id') : $this->ask('User id?'),
53
                'description' => $this->argument('description') ? $this->argument('description') : $this->ask('Task description?'),
54
            ]);
55
56
        }catch(Exception $e){
57
            $this->error('error' . $e);
58
        }
59
        $this->info('Task has been edited succesfully');
60
    }
61
}
62