OneBot: Leantime 改造版源码(BOM/Univer 表格/AI 接管/品牌替换等)

This commit is contained in:
wangruiguo
2026-09-03 18:49:20 +08:00
commit d647428529
3501 changed files with 1988906 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
<?php
namespace Leantime\Domain\Tickets\Controllers;
use Leantime\Core\Controller\Controller;
use Leantime\Domain\Clients\Services\Clients as ClientService;
use Leantime\Domain\Tickets\Services\Tickets as TicketService;
use Leantime\Domain\Users\Services\Users as UserService;
use Symfony\Component\HttpFoundation\Response;
class ShowAllMilestonesOverview extends Controller
{
private TicketService $ticketService;
private UserService $userService;
private ClientService $clientService;
public function init(
TicketService $ticketService,
UserService $userService,
ClientService $clientService
): void {
$this->ticketService = $ticketService;
$this->userService = $userService;
$this->clientService = $clientService;
session(['lastPage' => CURRENT_URL]);
}
/**
* @throws \Exception
*/
public function get($params): Response
{
$clientId = 0;
$currentClientName = '';
if (isset($_GET['client']) === true && $_GET['client'] != '') {
$clientId = (int) $_GET['client'];
$currentClientName = $this->ticketService->getClientNameById($clientId);
}
$searchCriteria = $this->ticketService->getMilestonesOverviewSearchCriteria($params);
$this->tpl->assign('allTickets', $this->ticketService->getAllMilestonesOverview(false, 'duedate', false, $clientId, $searchCriteria));
$this->tpl->assign('allTicketStates', $this->ticketService->getStatusLabels());
$this->tpl->assign('efforts', $this->ticketService->getEffortLabels());
$this->tpl->assign('priorities', $this->ticketService->getPriorityLabels());
$this->tpl->assign('ticketTypeIcons', $this->ticketService->getTypeIcons());
$this->tpl->assign('searchCriteria', $searchCriteria);
$this->tpl->assign('numOfFilters', $this->ticketService->countSetFilters($searchCriteria));
$allClients = $this->clientService->getUserClients(session('userdata.id'));
$this->tpl->assign('clients', $allClients);
$this->tpl->assign('currentClientName', $currentClientName);
$this->tpl->assign('currentClient', $clientId);
$this->tpl->assign('users', $this->userService->getAll());
$this->tpl->assign('milestones', $this->ticketService->getAllMilestones([
'sprint' => '',
'type' => 'milestone',
'currentProject' => session('currentProject'),
]));
$this->tpl->assign('types', $this->ticketService->getTicketTypes());
return $this->tpl->display('tickets.showAllMilestonesOverview');
}
}