OneBot: Leantime 改造版源码(BOM/Univer 表格/AI 接管/品牌替换等)
This commit is contained in:
66
app/Domain/Tickets/Controllers/MoveTicket.php
Normal file
66
app/Domain/Tickets/Controllers/MoveTicket.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace Leantime\Domain\Tickets\Controllers;
|
||||
|
||||
use Illuminate\Contracts\Container\BindingResolutionException;
|
||||
use Leantime\Core\Auth\Permissions\RequiresPermission;
|
||||
use Leantime\Core\Controller\Controller;
|
||||
use Leantime\Core\Controller\Frontcontroller as FrontcontrollerCore;
|
||||
use Leantime\Domain\Projects\Services\Projects as ProjectService;
|
||||
use Leantime\Domain\Tickets\Permissions\TicketsPermissions;
|
||||
use Leantime\Domain\Tickets\Services\Tickets as TicketService;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
class MoveTicket extends Controller
|
||||
{
|
||||
private TicketService $ticketService;
|
||||
|
||||
private ProjectService $projectService;
|
||||
|
||||
public function init(
|
||||
TicketService $ticketService,
|
||||
ProjectService $projectService
|
||||
): void {
|
||||
$this->ticketService = $ticketService;
|
||||
$this->projectService = $projectService;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws BindingResolutionException
|
||||
*/
|
||||
#[RequiresPermission(TicketsPermissions::EDIT)]
|
||||
public function get($params): Response
|
||||
{
|
||||
$ticketId = $params['id'] ?? '';
|
||||
|
||||
$ticket = $this->ticketService->getTicket($ticketId);
|
||||
|
||||
if (! $ticket) {
|
||||
return $this->tpl->displayPartial('errors.error404', responseCode: 404);
|
||||
}
|
||||
|
||||
$projects = $this->projectService->getProjectsAssignedToUser(session('userdata.id'));
|
||||
|
||||
$this->tpl->assign('ticket', $ticket);
|
||||
$this->tpl->assign('projects', $projects);
|
||||
|
||||
return $this->tpl->displayPartial('tickets.moveTicket');
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws BindingResolutionException
|
||||
*/
|
||||
#[RequiresPermission(TicketsPermissions::EDIT)]
|
||||
public function post($params): Response
|
||||
{
|
||||
if (! empty($ticketId = (int) $_GET['id']) && ! empty($projectId = (int) $params['projectId'])) {
|
||||
if ($this->ticketService->moveTicket($ticketId, $projectId)) {
|
||||
$this->tpl->setNotification($this->language->__('text.ticket_moved'), 'success');
|
||||
} else {
|
||||
$this->tpl->setNotification($this->language->__('text.move_problem'), 'error');
|
||||
}
|
||||
}
|
||||
|
||||
return FrontcontrollerCore::redirect(BASE_URL.'/tickets/moveTicket/'.$ticketId.'?closeModal=true');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user