Files
KanbanGit/docs/missing-features.md
T
Twyco 1724550782
linter / quality (push) Successful in 1m19s
tests / ci (8.4) (push) Successful in 1m17s
added missing-features
2026-03-30 21:52:59 +02:00

2.5 KiB

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;
        }
      
  • 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)
    • abortUnlessCanManage(xxx) entfernen, auch gate benutzen (ProjectTicketMetadataSettingsController)
  • 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
  • later:

    • if deleting ticket type select a new ticket type which all existing ticket should get or select delete all tickets of that type