mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-13 18:52:14 +01:00
Added ability to archive projects and clients, fixes ST-37
This commit is contained in:
committed by
Gregor Vostrak
parent
f21a2d4bdd
commit
a69d1cb4c4
35
app/Http/Requests/V1/Client/ClientIndexRequest.php
Normal file
35
app/Http/Requests/V1/Client/ClientIndexRequest.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\V1\Client;
|
||||
|
||||
use Illuminate\Contracts\Validation\ValidationRule;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
class ClientIndexRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array<string, array<string|ValidationRule>>
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'page' => [
|
||||
'integer',
|
||||
'min:1',
|
||||
],
|
||||
'archived' => [
|
||||
'string',
|
||||
'in:true,false,all',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function getFilterArchived(): string
|
||||
{
|
||||
return $this->input('archived', 'false');
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,16 @@ class ClientUpdateRequest extends FormRequest
|
||||
return $builder->whereBelongsTo($this->organization, 'organization');
|
||||
}))->ignore($this->client->getKey())->withCustomTranslation('validation.client_name_already_exists'),
|
||||
],
|
||||
'is_archived' => [
|
||||
'boolean',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function getIsArchived(): bool
|
||||
{
|
||||
assert($this->has('is_archived'));
|
||||
|
||||
return (bool) $this->input('is_archived');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,6 +21,15 @@ class ProjectIndexRequest extends FormRequest
|
||||
'integer',
|
||||
'min:1',
|
||||
],
|
||||
'archived' => [
|
||||
'string',
|
||||
'in:true,false,all',
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function getFilterArchived(): string
|
||||
{
|
||||
return $this->input('archived', 'false');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,9 @@ class ProjectUpdateRequest extends FormRequest
|
||||
'required',
|
||||
'boolean',
|
||||
],
|
||||
'is_archived' => [
|
||||
'boolean',
|
||||
],
|
||||
'client_id' => [
|
||||
'nullable',
|
||||
new ExistsEloquent(Client::class, null, function (Builder $builder): Builder {
|
||||
@@ -66,6 +69,13 @@ class ProjectUpdateRequest extends FormRequest
|
||||
];
|
||||
}
|
||||
|
||||
public function getIsArchived(): bool
|
||||
{
|
||||
assert($this->has('is_archived'));
|
||||
|
||||
return (bool) $this->input('is_archived');
|
||||
}
|
||||
|
||||
public function getBillableRate(): ?int
|
||||
{
|
||||
$input = $this->input('billable_rate');
|
||||
|
||||
Reference in New Issue
Block a user