Split project controller into multiple classes
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Project activation') ?></h2>
|
||||
</div>
|
||||
|
||||
<div class="confirm">
|
||||
<p class="alert alert-info">
|
||||
<?= t('Do you really want to disable this project: "%s"?', $project['name']) ?>
|
||||
</p>
|
||||
|
||||
<div class="form-actions">
|
||||
<?= $this->url->link(t('Yes'), 'project', 'disable', array('project_id' => $project['id'], 'disable' => 'yes'), true, 'btn btn-red') ?>
|
||||
<?= t('or') ?> <?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -37,7 +37,7 @@
|
||||
<?php if ($this->user->hasProjectAccess('ProjectEdit', 'edit', $project['id'])): ?>
|
||||
<li>
|
||||
<i class="fa fa-cog fa-fw"></i>
|
||||
<?= $this->url->link(t('Settings'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
<?= $this->url->link(t('Settings'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
</ul>
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Clone this project') ?></h2>
|
||||
</div>
|
||||
|
||||
<div class="confirm">
|
||||
<p class="alert alert-info">
|
||||
<?= t('Which parts of the project do you want to duplicate?') ?>
|
||||
</p>
|
||||
<form method="post" action="<?= $this->url->href('project', 'duplicate', array('project_id' => $project['id'], 'duplicate' => 'yes')) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
|
||||
<?php if ($project['is_private'] == 0): ?>
|
||||
<?= $this->form->checkbox('projectPermission', t('Permissions'), 1, true) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->form->checkbox('category', t('Categories'), 1, true) ?>
|
||||
<?= $this->form->checkbox('action', t('Actions'), 1, true) ?>
|
||||
<?= $this->form->checkbox('swimlane', t('Swimlanes'), 1, false) ?>
|
||||
<?= $this->form->checkbox('task', t('Tasks'), 1, false) ?>
|
||||
<?= $this->form->checkbox('projectMetadata', t('Metadata'), 1, false) ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-red"><?= t('Duplicate') ?></button>
|
||||
<?= t('or') ?> <?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -1,14 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Project activation') ?></h2>
|
||||
</div>
|
||||
|
||||
<div class="confirm">
|
||||
<p class="alert alert-info">
|
||||
<?= t('Do you really want to enable this project: "%s"?', $project['name']) ?>
|
||||
</p>
|
||||
|
||||
<div class="form-actions">
|
||||
<?= $this->url->link(t('Yes'), 'project', 'enable', array('project_id' => $project['id'], 'enable' => 'yes'), true, 'btn btn-red') ?>
|
||||
<?= t('or') ?> <?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,85 +0,0 @@
|
||||
<section id="main">
|
||||
<div class="page-header">
|
||||
<ul>
|
||||
<?php if ($this->user->hasAccess('projectuser', 'managers')): ?>
|
||||
<li><i class="fa fa-user fa-fw"></i><?= $this->url->link(t('Users overview'), 'projectuser', 'managers') ?></li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('gantt', 'projects')): ?>
|
||||
<li><i class="fa fa-sliders fa-fw"></i><?= $this->url->link(t('Projects Gantt chart'), 'gantt', 'projects') ?></li>
|
||||
<?php endif ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if ($paginator->isEmpty()): ?>
|
||||
<p class="alert"><?= t('No project') ?></p>
|
||||
<?php else: ?>
|
||||
<table class="table-stripped table-small">
|
||||
<tr>
|
||||
<th class="column-3"><?= $paginator->order(t('Id'), 'id') ?></th>
|
||||
<th class="column-5"><?= $paginator->order(t('Status'), 'is_active') ?></th>
|
||||
<th class="column-15"><?= $paginator->order(t('Project'), 'name') ?></th>
|
||||
<th class="column-8"><?= $paginator->order(t('Start date'), 'start_date') ?></th>
|
||||
<th class="column-8"><?= $paginator->order(t('End date'), 'end_date') ?></th>
|
||||
<th class="column-15"><?= $paginator->order(t('Owner'), 'owner_id') ?></th>
|
||||
<?php if ($this->user->hasAccess('projectuser', 'managers')): ?>
|
||||
<th class="column-10"><?= t('Users') ?></th>
|
||||
<?php endif ?>
|
||||
<th><?= t('Columns') ?></th>
|
||||
</tr>
|
||||
<?php foreach ($paginator->getCollection() as $project): ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?= $this->render('project/dropdown', array('project' => $project)) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($project['is_active']): ?>
|
||||
<?= t('Active') ?>
|
||||
<?php else: ?>
|
||||
<?= t('Inactive') ?>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td>
|
||||
<?= $this->url->link($this->text->e($project['name']), 'board', 'show', array('project_id' => $project['id'])) ?>
|
||||
|
||||
<?php if ($project['is_public']): ?>
|
||||
<i class="fa fa-share-alt fa-fw" title="<?= t('Shared project') ?>"></i>
|
||||
<?php endif ?>
|
||||
<?php if ($project['is_private']): ?>
|
||||
<i class="fa fa-lock fa-fw" title="<?= t('Private project') ?>"></i>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($project['description'])): ?>
|
||||
<span class="tooltip" title="<?= $this->text->markdownAttribute($project['description']) ?>">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td>
|
||||
<?= $this->dt->date($project['start_date']) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?= $this->dt->date($project['end_date']) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php if ($project['owner_id'] > 0): ?>
|
||||
<?= $this->text->e($project['owner_name'] ?: $project['owner_username']) ?>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<?php if ($this->user->hasAccess('projectuser', 'managers')): ?>
|
||||
<td>
|
||||
<i class="fa fa-users fa-fw"></i>
|
||||
<span class="tooltip" title="<?= t('Members') ?>" data-href="<?= $this->url->href('Projectuser', 'users', array('project_id' => $project['id'])) ?>"><?= t('Members') ?></span>
|
||||
</td>
|
||||
<?php endif ?>
|
||||
<td class="dashboard-project-stats">
|
||||
<?php foreach ($project['columns'] as $column): ?>
|
||||
<strong title="<?= t('Task count') ?>"><?= $column['nb_tasks'] ?></strong>
|
||||
<span><?= $this->text->e($column['title']) ?></span>
|
||||
<?php endforeach ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
|
||||
<?= $paginator ?>
|
||||
<?php endif ?>
|
||||
</section>
|
||||
@@ -1,15 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Integration with third-party services') ?></h2>
|
||||
</div>
|
||||
|
||||
<form method="post" action="<?= $this->url->href('project', 'integrations', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
<?= $this->form->csrf() ?>
|
||||
|
||||
<?php $integrations = $this->hook->render('template:project:integrations', array('project' => $project, 'values' => $values, 'webhook_token' => $webhook_token)) ?>
|
||||
|
||||
<?php if (empty($integrations)): ?>
|
||||
<p class="alert"><?= t('There is no integration registered at the moment.') ?></p>
|
||||
<?php else: ?>
|
||||
<?= $integrations ?>
|
||||
<?php endif ?>
|
||||
</form>
|
||||
@@ -1,20 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Notifications') ?></h2>
|
||||
</div>
|
||||
<?php if (empty($types)): ?>
|
||||
<p class="alert"><?= t('No plugin has registered a project notification method. You can still configure individual notifications in your user profile.') ?></p>
|
||||
<?php else: ?>
|
||||
<form method="post" action="<?= $this->url->href('project', 'notifications', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
|
||||
<h4><?= t('Notification methods:') ?></h4>
|
||||
<?= $this->form->checkboxes('notification_types', $types, $notifications) ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif ?>
|
||||
@@ -1,14 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Remove project') ?></h2>
|
||||
</div>
|
||||
|
||||
<div class="confirm">
|
||||
<p class="alert alert-info">
|
||||
<?= t('Do you really want to remove this project: "%s"?', $project['name']) ?>
|
||||
</p>
|
||||
|
||||
<div class="form-actions">
|
||||
<?= $this->url->link(t('Yes'), 'project', 'remove', array('project_id' => $project['id'], 'remove' => 'yes'), true, 'btn btn-red') ?>
|
||||
<?= t('or') ?> <?= $this->url->link(t('cancel'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,19 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Public access') ?></h2>
|
||||
</div>
|
||||
|
||||
<?php if ($project['is_public']): ?>
|
||||
|
||||
<div class="listing">
|
||||
<ul class="no-bullet">
|
||||
<li><strong><i class="fa fa-share-alt"></i> <?= $this->url->link(t('Public link'), 'board', 'readonly', array('token' => $project['token']), false, '', '', true) ?></strong></li>
|
||||
<li><strong><i class="fa fa-rss-square"></i> <?= $this->url->link(t('RSS feed'), 'feed', 'project', array('token' => $project['token']), false, '', '', true) ?></strong></li>
|
||||
<li><strong><i class="fa fa-calendar"></i> <?= $this->url->link(t('iCal feed'), 'ical', 'project', array('token' => $project['token']), false, '', '', true) ?></strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<?= $this->url->link(t('Disable public access'), 'project', 'share', array('project_id' => $project['id'], 'switch' => 'disable'), true, 'btn btn-red') ?>
|
||||
|
||||
<?php else: ?>
|
||||
<?= $this->url->link(t('Enable public access'), 'project', 'share', array('project_id' => $project['id'], 'switch' => 'enable'), true, 'btn btn-blue') ?>
|
||||
<?php endif ?>
|
||||
@@ -1,85 +0,0 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Summary') ?></h2>
|
||||
</div>
|
||||
<ul class="listing">
|
||||
<li><strong><?= $project['is_active'] ? t('Active') : t('Inactive') ?></strong></li>
|
||||
|
||||
<?php if ($project['owner_id'] > 0): ?>
|
||||
<li><?= t('Project owner: ') ?><strong><?= $this->text->e($project['owner_name'] ?: $project['owner_username']) ?></strong></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($project['is_private']): ?>
|
||||
<li><i class="fa fa-lock"></i> <?= t('This project is private') ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($project['is_public']): ?>
|
||||
<li><i class="fa fa-share-alt"></i> <?= $this->url->link(t('Public link'), 'board', 'readonly', array('token' => $project['token']), false, '', '', true) ?></li>
|
||||
<li><i class="fa fa-rss-square"></i> <?= $this->url->link(t('RSS feed'), 'feed', 'project', array('token' => $project['token']), false, '', '', true) ?></li>
|
||||
<li><i class="fa fa-calendar"></i> <?= $this->url->link(t('iCal feed'), 'ical', 'project', array('token' => $project['token'])) ?></li>
|
||||
<?php else: ?>
|
||||
<li><?= t('Public access disabled') ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($project['last_modified']): ?>
|
||||
<li><?= t('Modified:').' '.$this->dt->datetime($project['last_modified']) ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($project['start_date']): ?>
|
||||
<li><?= t('Start date: ').$this->dt->date($project['start_date']) ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($project['end_date']): ?>
|
||||
<li><?= t('End date: ').$this->dt->date($project['end_date']) ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($stats['nb_tasks'] > 0): ?>
|
||||
|
||||
<?php if ($stats['nb_active_tasks'] > 0): ?>
|
||||
<li><?= $this->url->link(t('%d tasks on the board', $stats['nb_active_tasks']), 'board', 'show', array('project_id' => $project['id'], 'search' => 'status:open')) ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($stats['nb_inactive_tasks'] > 0): ?>
|
||||
<li><?= $this->url->link(t('%d closed tasks', $stats['nb_inactive_tasks']), 'listing', 'show', array('project_id' => $project['id'], 'search' => 'status:closed')) ?></li>
|
||||
<?php endif ?>
|
||||
|
||||
<li><?= t('%d tasks in total', $stats['nb_tasks']) ?></li>
|
||||
|
||||
<?php else: ?>
|
||||
<li><?= t('No task for this project') ?></li>
|
||||
<?php endif ?>
|
||||
</ul>
|
||||
|
||||
<div class="page-header">
|
||||
<h2><?= t('Board') ?></h2>
|
||||
</div>
|
||||
<table class="table-stripped">
|
||||
<tr>
|
||||
<th class="column-60"><?= t('Column') ?></th>
|
||||
<th class="column-20"><?= t('Task limit') ?></th>
|
||||
<th class="column-20"><?= t('Active tasks') ?></th>
|
||||
</tr>
|
||||
<?php foreach ($stats['columns'] as $column): ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?= $this->text->e($column['title']) ?>
|
||||
<?php if (! empty($column['description'])): ?>
|
||||
<span class="tooltip" title="<?= $this->text->markdownAttribute($column['description']) ?>">
|
||||
<i class="fa fa-info-circle"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td><?= $column['task_limit'] ?: '∞' ?></td>
|
||||
<td><?= $column['nb_active_tasks'] ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
|
||||
<?php if (! empty($project['description'])): ?>
|
||||
<div class="page-header">
|
||||
<h2><?= t('Description') ?></h2>
|
||||
</div>
|
||||
|
||||
<article class="markdown">
|
||||
<?= $this->text->markdown($project['description']) ?>
|
||||
</article>
|
||||
<?php endif ?>
|
||||
@@ -1,8 +1,8 @@
|
||||
<div class="sidebar">
|
||||
<h2><?= t('Actions') ?></h2>
|
||||
<ul>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'show') ?>>
|
||||
<?= $this->url->link(t('Summary'), 'project', 'show', array('project_id' => $project['id'])) ?>
|
||||
<li <?= $this->app->checkMenuSelection('ProjectViewController', 'show') ?>>
|
||||
<?= $this->url->link(t('Summary'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<?php if ($this->user->hasProjectAccess('customfilter', 'index', $project['id'])): ?>
|
||||
<li <?= $this->app->checkMenuSelection('customfilter') ?>>
|
||||
@@ -14,14 +14,14 @@
|
||||
<li <?= $this->app->checkMenuSelection('ProjectEdit') ?>>
|
||||
<?= $this->url->link(t('Edit project'), 'ProjectEdit', 'edit', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'share') ?>>
|
||||
<?= $this->url->link(t('Public access'), 'project', 'share', array('project_id' => $project['id'])) ?>
|
||||
<li <?= $this->app->checkMenuSelection('ProjectViewController', 'share') ?>>
|
||||
<?= $this->url->link(t('Public access'), 'ProjectViewController', 'share', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'notifications') ?>>
|
||||
<?= $this->url->link(t('Notifications'), 'project', 'notifications', array('project_id' => $project['id'])) ?>
|
||||
<li <?= $this->app->checkMenuSelection('ProjectViewController', 'notifications') ?>>
|
||||
<?= $this->url->link(t('Notifications'), 'ProjectViewController', 'notifications', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'integrations') ?>>
|
||||
<?= $this->url->link(t('Integrations'), 'project', 'integrations', array('project_id' => $project['id'])) ?>
|
||||
<li <?= $this->app->checkMenuSelection('ProjectViewController', 'integrations') ?>>
|
||||
<?= $this->url->link(t('Integrations'), 'ProjectViewController', 'integrations', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('column') ?>>
|
||||
<?= $this->url->link(t('Columns'), 'column', 'index', array('project_id' => $project['id'])) ?>
|
||||
@@ -40,23 +40,23 @@
|
||||
<li <?= $this->app->checkMenuSelection('action') ?>>
|
||||
<?= $this->url->link(t('Automatic actions'), 'action', 'index', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'duplicate') ?>>
|
||||
<?= $this->url->link(t('Duplicate'), 'project', 'duplicate', array('project_id' => $project['id'])) ?>
|
||||
<li <?= $this->app->checkMenuSelection('ProjectViewController', 'duplicate') ?>>
|
||||
<?= $this->url->link(t('Duplicate'), 'ProjectViewController', 'duplicate', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<?php if ($project['is_active']): ?>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'disable') ?>>
|
||||
<?= $this->url->link(t('Disable'), 'project', 'disable', array('project_id' => $project['id']), true) ?>
|
||||
<li>
|
||||
<?= $this->url->link(t('Disable'), 'ProjectStatusController', 'confirmDisable', array('project_id' => $project['id']), false, 'popover') ?>
|
||||
<?php else: ?>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'enable') ?>>
|
||||
<?= $this->url->link(t('Enable'), 'project', 'enable', array('project_id' => $project['id']), true) ?>
|
||||
<li>
|
||||
<?= $this->url->link(t('Enable'), 'ProjectStatusController', 'confirmEnable', array('project_id' => $project['id']), false, 'popover') ?>
|
||||
<?php endif ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('taskImport') ?>>
|
||||
<?= $this->url->link(t('Import'), 'taskImport', 'step1', array('project_id' => $project['id'])) ?>
|
||||
</li>
|
||||
<?php if ($this->user->hasProjectAccess('project', 'remove', $project['id'])): ?>
|
||||
<li <?= $this->app->checkMenuSelection('project', 'remove') ?>>
|
||||
<?= $this->url->link(t('Remove'), 'project', 'remove', array('project_id' => $project['id'])) ?>
|
||||
<?php if ($this->user->hasProjectAccess('ProjectStatusController', 'remove', $project['id'])): ?>
|
||||
<li>
|
||||
<?= $this->url->link(t('Remove'), 'ProjectStatusController', 'confirmRemove', array('project_id' => $project['id']), false, 'popover') ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php endif ?>
|
||||
|
||||
Reference in New Issue
Block a user