12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace App\Http\Requests\API\Task;
- use App\Http\Requests\CustomFieldRuleHelper;
- use App\Http\Requests\NamingRuleHelper;
- use App\Http\Requests\RuleHelper;
- use App\Models\Enums\TaskACL;
- use Illuminate\Support\Facades\Auth;
- use Illuminate\Validation\Rule;
- use Illuminate\Validation\Rules\Enum;
- class BatchCreateItemRules
- {
- use RuleHelper, CustomFieldRuleHelper, NamingRuleHelper;
- public function rules(array $data): array
- {
- $rules = [
- 'requirement_id' => [
- 'nullable',
- Rule::exists('requirements', 'id')->where($this->userCompanyWhere()),
- ],
- 'asset_group_id' => [
- Rule::exists('asset_groups', 'id')->where($this->userCompanyWhere()),
- ],
- 'assign' => [
- Rule::exists('users', 'id')->where($this->userCompanyWhere()),
- ],
- 'name' => 'required|max:255',
- 'begin' => 'date',
- 'end' => 'date',
- 'mailto' => $this->usersCompanyRules(),
- ];
- $taskRules = $this->customFieldRuleByGroup("task", ['doc_type', 'task_type', 'doc_stage', "state", "suitability"]);
- $namingRuleId = data_get($data, 'naming_rule_id');
- if ($namingRuleId > 0) {
- $this->namingRuleCheck($namingRuleId);
- $namingRules = $this->customFieldRuleByGroup($namingRuleId);
- $rules = [...$rules, ... $namingRules];
- }
- return [...$rules, ...$taskRules];
- }
- }
|