From b4beace91c552a810cdac61e85f4a1b2904f0df2 Mon Sep 17 00:00:00 2001
From: Frédéric Guillot <fred@kanboard.net>
Date: Fri, 2 Mar 2018 15:47:49 -0800
Subject: Display exceptions from plugins while refreshing board

---
 app/Controller/BoardAjaxController.php | 29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)

(limited to 'app')

diff --git a/app/Controller/BoardAjaxController.php b/app/Controller/BoardAjaxController.php
index ecb76e9c..530056a6 100644
--- a/app/Controller/BoardAjaxController.php
+++ b/app/Controller/BoardAjaxController.php
@@ -2,6 +2,7 @@
 
 namespace Kanboard\Controller;
 
+use Exception;
 use Kanboard\Core\Controller\AccessForbiddenException;
 use Kanboard\Model\UserMetadataModel;
 
@@ -32,18 +33,22 @@ class BoardAjaxController extends BaseController
             throw new AccessForbiddenException(e("You don't have the permission to move this task"));
         }
 
-        $result =$this->taskPositionModel->movePosition(
-            $project_id,
-            $values['task_id'],
-            $values['dst_column_id'],
-            $values['position'],
-            $values['swimlane_id']
-        );
-
-        if (! $result) {
-            $this->response->status(400);
-        } else {
-            $this->response->html($this->renderBoard($project_id), 201);
+        try {
+            $result =$this->taskPositionModel->movePosition(
+                $project_id,
+                $values['task_id'],
+                $values['dst_column_id'],
+                $values['position'],
+                $values['swimlane_id']
+            );
+
+            if (! $result) {
+                $this->response->status(400);
+            } else {
+                $this->response->html($this->renderBoard($project_id), 201);
+            }
+        } catch (Exception $e) {
+            $this->response->html('<div class="alert alert-error">'.$e->getMessage().'</div>');
         }
     }
 
-- 
cgit v1.2.3