summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Controller/ActionCreationController.php5
-rw-r--r--app/Core/Action/ActionManager.php25
-rw-r--r--app/Locale/bs_BA/translations.php1
-rw-r--r--app/Locale/cs_CZ/translations.php1
-rw-r--r--app/Locale/da_DK/translations.php1
-rw-r--r--app/Locale/de_DE/translations.php1
-rw-r--r--app/Locale/el_GR/translations.php1
-rw-r--r--app/Locale/es_ES/translations.php1
-rw-r--r--app/Locale/fi_FI/translations.php1
-rw-r--r--app/Locale/fr_FR/translations.php1
-rw-r--r--app/Locale/hu_HU/translations.php1
-rw-r--r--app/Locale/id_ID/translations.php1
-rw-r--r--app/Locale/it_IT/translations.php1
-rw-r--r--app/Locale/ja_JP/translations.php1
-rw-r--r--app/Locale/ko_KR/translations.php1
-rw-r--r--app/Locale/my_MY/translations.php1
-rw-r--r--app/Locale/nb_NO/translations.php1
-rw-r--r--app/Locale/nl_NL/translations.php1
-rw-r--r--app/Locale/pl_PL/translations.php1
-rw-r--r--app/Locale/pt_BR/translations.php1
-rw-r--r--app/Locale/pt_PT/translations.php1
-rw-r--r--app/Locale/ru_RU/translations.php1
-rw-r--r--app/Locale/sr_Latn_RS/translations.php1
-rw-r--r--app/Locale/sv_SE/translations.php1
-rw-r--r--app/Locale/th_TH/translations.php1
-rw-r--r--app/Locale/tr_TR/translations.php1
-rw-r--r--app/Locale/zh_CN/translations.php1
-rw-r--r--app/Template/action/index.php10
28 files changed, 54 insertions, 11 deletions
diff --git a/app/Controller/ActionCreationController.php b/app/Controller/ActionCreationController.php
index 1629e68f..7fee58d1 100644
--- a/app/Controller/ActionCreationController.php
+++ b/app/Controller/ActionCreationController.php
@@ -59,7 +59,8 @@ class ActionCreationController extends BaseController
$values = $this->request->getValues();
if (empty($values['action_name']) || empty($values['project_id']) || empty($values['event_name'])) {
- return $this->create();
+ $this->create();
+ return;
}
$action = $this->actionManager->getAction($values['action_name']);
@@ -72,7 +73,7 @@ class ActionCreationController extends BaseController
$projects_list = $this->projectUserRoleModel->getActiveProjectsByUser($this->userSession->getId());
unset($projects_list[$project['id']]);
- return $this->response->html($this->template->render('action_creation/params', array(
+ $this->response->html($this->template->render('action_creation/params', array(
'values' => $values,
'action_params' => $action_params,
'columns_list' => $this->columnModel->getList($project['id']),
diff --git a/app/Core/Action/ActionManager.php b/app/Core/Action/ActionManager.php
index aec9ef02..3a77084d 100644
--- a/app/Core/Action/ActionManager.php
+++ b/app/Core/Action/ActionManager.php
@@ -2,6 +2,7 @@
namespace Kanboard\Core\Action;
+use Exception;
use RuntimeException;
use Kanboard\Core\Base;
use Kanboard\Action\Base as ActionBase;
@@ -84,8 +85,12 @@ class ActionManager extends Base
$params = array();
foreach ($actions as $action) {
- $currentAction = $this->getAction($action['action_name']);
- $params[$currentAction->getName()] = $currentAction->getActionRequiredParameters();
+ try {
+ $currentAction = $this->getAction($action['action_name']);
+ $params[$currentAction->getName()] = $currentAction->getActionRequiredParameters();
+ } catch (Exception $e) {
+ $this->logger->error(__METHOD__.': '.$e->getMessage());
+ }
}
return $params;
@@ -127,14 +132,18 @@ class ActionManager extends Base
}
foreach ($actions as $action) {
- $listener = clone $this->getAction($action['action_name']);
- $listener->setProjectId($action['project_id']);
+ try {
+ $listener = clone $this->getAction($action['action_name']);
+ $listener->setProjectId($action['project_id']);
- foreach ($action['params'] as $param_name => $param_value) {
- $listener->setParam($param_name, $param_value);
- }
+ foreach ($action['params'] as $param_name => $param_value) {
+ $listener->setParam($param_name, $param_value);
+ }
- $this->dispatcher->addListener($action['event_name'], array($listener, 'execute'));
+ $this->dispatcher->addListener($action['event_name'], array($listener, 'execute'));
+ } catch (Exception $e) {
+ $this->logger->error(__METHOD__.': '.$e->getMessage());
+ }
}
return $this;
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 533dee1f..3da046d9 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index cf941106..46427df9 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index bcf6e43d..9d4d6a87 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index 0ebc4a13..fda8b023 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index 091c2675..d58d375e 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index d400cd98..cd65f3be 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 6b77fd40..c8345a2d 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 5fc5e1cb..cf538fc9 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -1320,4 +1320,5 @@ return array(
'Remove this user from group' => 'Enlever cet utilisateur du groupe',
'Your project must have at least one active swimlane.' => 'Votre projet doit avoir au moins une swimlane active.',
'Project: %s' => 'Projet : %s',
+ 'Automatic action not found: "%s"' => 'Action automatique introuvable : « %s »',
);
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index 76d04c15..a555c01e 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 0ab68d7b..84fda7ce 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index e30f7696..f469748c 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index 215c0838..7523986f 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index ae2bcba1..8b37183c 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index 9fb54c2f..5878ac18 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 7cc3b99b..dba51b02 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 795ad0bb..5fb19d35 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 704fb8cf..b3e02555 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 5694380e..b7a33138 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index b211b2b4..a50c9204 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index 1dcb8a43..bef9dbc3 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 6aa3cbf7..8b38e584 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 3e36175a..60af921c 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index cf287ce5..e9647129 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 00ff0491..1b00621a 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index f84e5465..a513dccd 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -1320,4 +1320,5 @@ return array(
// 'Remove this user from group' => '',
// 'Your project must have at least one active swimlane.' => '',
// 'Project: %s' => '',
+ // 'Automatic action not found: "%s"' => '',
);
diff --git a/app/Template/action/index.php b/app/Template/action/index.php
index a889f588..a6fc70f9 100644
--- a/app/Template/action/index.php
+++ b/app/Template/action/index.php
@@ -26,11 +26,18 @@
</ul>
</div>
- <?= $this->text->in($action['action_name'], $available_actions) ?>
+ <?php if (! isset($available_params[$action['action_name']])): ?>
+ <?= $this->text->e($action['action_name']) ?>
+ <?php else: ?>
+ <?= $this->text->in($action['action_name'], $available_actions) ?>
+ <?php endif ?>
</th>
</tr>
<tr>
<td>
+ <?php if (! isset($available_params[$action['action_name']])): ?>
+ <p class="alert alert-error"><?= t('Automatic action not found: "%s"', $action['action_name']) ?></p>
+ <?php else: ?>
<ul>
<li>
<?= t('Event name') ?> =
@@ -61,6 +68,7 @@
</li>
<?php endforeach ?>
</ul>
+ <?php endif ?>
</td>
</tr>
<?php endforeach ?>