71 lines
3.2 KiB
Markdown
71 lines
3.2 KiB
Markdown
## Missing features
|
|
|
|
### Ticket
|
|
|
|
- general:
|
|
- new skill, user resources
|
|
- ueberall $array['''] ersetzen durch Arr::get()
|
|
- (mehr über middlewares steuern)
|
|
- why uses everywhere forceFill?
|
|
- $request->validated('xxx') ersetzten durch:
|
|
- ``` $validated = $request->validate(); $xxx = Arr:get($validated, 'xxx'); ```
|
|
- oder: ```$request->position()```, methoden entfernen, wie:
|
|
```
|
|
public function position(): ?int {
|
|
position = this->validated('position');
|
|
|
|
if ($position === null) {
|
|
return null;
|
|
}
|
|
|
|
return (int) $position;
|
|
}
|
|
```
|
|
- app/Http/Requests/UpdateProjectTicketRequest.php and other ProjectTicket only to Ticket...
|
|
- mehrere actions/quereys in services auslagern
|
|
|
|
- 02:
|
|
- Delete Projekt as Admin
|
|
- 03
|
|
- permission models? eg.g syncUserPermissions uses only db table
|
|
- mit morph auf perm user (z.b. team oder user)
|
|
- Project Permissions Service
|
|
- syncTeamMembers(Team $team, array $userIds): void → ist wrong here
|
|
- gate statt has permission methods
|
|
- permission for creating teams without beeing admind -> teamowner
|
|
- team roles
|
|
- 05
|
|
- ticket type remove build in
|
|
- → add is parentBool to ticketType -> remove system_key (maybe add slug)
|
|
- auto generate one parent one task on new project as now
|
|
- disable delete last child ticket type
|
|
- initializeProjectTicketMetadata nur beim init benutzen
|
|
- every form request removed unnecessary methods: like position in StoreProjectNamedSettingRequest
|
|
- use Arr:get(\$validated, 'value'). instead of these messages or \$request->value
|
|
- Made ticket priority more static(change to has one) in ticket, but only show if there are more than one configured.
|
|
- made story points more static(change to table field in table), but only show if checked in project settings → new value on Project: hasStoryPoints
|
|
- more ticket field types (string, string array, boolean, precision (double))
|
|
- abortUnlessCanManage(xxx) entfernen, auch gate benutzen (ProjectTicketMetadataSettingsController)
|
|
- ticket assignee fest einbauen in ticket
|
|
- 06
|
|
- add Ticket Status
|
|
- ticketstatus can have one or more board columns
|
|
- one board cloumn cant be in two or more ticket statuses
|
|
- replace board_colum_id on ticket with ticket status id
|
|
- ticket status has an n:m relation in which relatin the ticket can switch
|
|
- (ui friendly example all following or select)
|
|
- change Project Backlog Controller → Project Controller
|
|
- remove store from project board controller and route projects/{project}/backlog, change to ticket controller, create
|
|
- 08
|
|
- worklog überarbeiten → type als worklog enum → json je nach enum type
|
|
- UpdateProjectTicket aufräumen
|
|
- 09
|
|
- app/Http/Controllers/ProjectTicketController.php parent ids anderes queren. nicht alle child ids berechnen und excluden -> immer parent vom parent bis null
|
|
|
|
|
|
|
|
- later:
|
|
- if deleting ticket type select a new ticket type which all existing ticket should get or select delete all tickets of that type
|
|
- repository_connections check base Url maybe unnessecary?
|
|
- Git listBranches replace baseUrl, owner, rperoName with GItReprository
|
|
- replace Kanbangit with env App Name |