Add external links for tasks with plugin api
This commit is contained in:
@@ -89,6 +89,9 @@ class AuthenticationProvider implements ServiceProviderInterface
|
||||
$acl->add('Taskduplication', '*', Role::PROJECT_MEMBER);
|
||||
$acl->add('TaskImport', '*', Role::PROJECT_MANAGER);
|
||||
$acl->add('Tasklink', '*', Role::PROJECT_MEMBER);
|
||||
$acl->add('Tasklink', array('show'), Role::PROJECT_VIEWER);
|
||||
$acl->add('TaskExternalLink', '*', Role::PROJECT_MEMBER);
|
||||
$acl->add('TaskExternalLink', array('show'), Role::PROJECT_VIEWER);
|
||||
$acl->add('Taskmodification', '*', Role::PROJECT_MEMBER);
|
||||
$acl->add('Taskstatus', '*', Role::PROJECT_MEMBER);
|
||||
$acl->add('Timer', '*', Role::PROJECT_MEMBER);
|
||||
|
||||
@@ -61,6 +61,7 @@ class ClassProvider implements ServiceProviderInterface
|
||||
'TaskCreation',
|
||||
'TaskDuplication',
|
||||
'TaskExport',
|
||||
'TaskExternalLink',
|
||||
'TaskFinder',
|
||||
'TaskFilter',
|
||||
'TaskLink',
|
||||
@@ -97,6 +98,7 @@ class ClassProvider implements ServiceProviderInterface
|
||||
'CommentValidator',
|
||||
'CurrencyValidator',
|
||||
'CustomFilterValidator',
|
||||
'ExternalLinkValidator',
|
||||
'GroupValidator',
|
||||
'LinkValidator',
|
||||
'PasswordResetValidator',
|
||||
|
||||
34
app/ServiceProvider/ExternalLinkProvider.php
Normal file
34
app/ServiceProvider/ExternalLinkProvider.php
Normal file
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\ServiceProvider;
|
||||
|
||||
use Pimple\Container;
|
||||
use Pimple\ServiceProviderInterface;
|
||||
use Kanboard\Core\ExternalLink\ExternalLinkManager;
|
||||
use Kanboard\ExternalLink\WebLinkProvider;
|
||||
use Kanboard\ExternalLink\AttachmentLinkProvider;
|
||||
|
||||
/**
|
||||
* External Link Provider
|
||||
*
|
||||
* @package serviceProvider
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class ExternalLinkProvider implements ServiceProviderInterface
|
||||
{
|
||||
/**
|
||||
* Register providers
|
||||
*
|
||||
* @access public
|
||||
* @param \Pimple\Container $container
|
||||
* @return \Pimple\Container
|
||||
*/
|
||||
public function register(Container $container)
|
||||
{
|
||||
$container['externalLinkManager'] = new ExternalLinkManager($container);
|
||||
$container['externalLinkManager']->register(new WebLinkProvider($container));
|
||||
$container['externalLinkManager']->register(new AttachmentLinkProvider($container));
|
||||
|
||||
return $container;
|
||||
}
|
||||
}
|
||||
@@ -106,11 +106,18 @@ class RouteProvider implements ServiceProviderInterface
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/screenshot', 'file', 'screenshot');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/upload', 'file', 'create');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/comment', 'comment', 'create');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/links', 'tasklink', 'show');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/link', 'tasklink', 'create');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/transitions', 'task', 'transitions');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/analytics', 'task', 'analytics');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/remove', 'task', 'remove');
|
||||
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/links/external', 'TaskExternalLink', 'show');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/link/external/new', 'TaskExternalLink', 'find');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/link/external/save', 'TaskExternalLink', 'create');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/link/external/:link_id', 'TaskExternalLink', 'edit');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/link/external/:link_id/remove', 'TaskExternalLink', 'confirm');
|
||||
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/edit', 'taskmodification', 'edit');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/description', 'taskmodification', 'description');
|
||||
$container['route']->addRoute('project/:project_id/task/:task_id/recurrence', 'taskmodification', 'recurrence');
|
||||
|
||||
Reference in New Issue
Block a user