From 091624b0525e351a27a3737d700923debac08a42 Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 31 Dec 2019 09:51:09 -0800 Subject: [PATCH 1/6] mailer absolute URL fix --- src/core/class.mailer.php | 23 +++++++++++++------ .../controllers/class.editCompanySettings.php | 6 ++--- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/src/core/class.mailer.php b/src/core/class.mailer.php index ce14f1895a..cf2f370ab0 100644 --- a/src/core/class.mailer.php +++ b/src/core/class.mailer.php @@ -11,7 +11,7 @@ use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; - + class mailer { @@ -90,13 +90,13 @@ public function __construct() $this->emailDomain = $config->email; - $this->logo = $config->logoPath; - $this->companyColor = $config->mainColor; + $this->logo = $_SESSION["companysettings.logoPath"]; + $this->companyColor = $_SESSION["companysettings.mainColor"]; } /** - * + * * setText - sets the mailtext * * @access public @@ -111,7 +111,7 @@ public function setText($text) } /** - * + * * setHTML - set Mail html (no function yet) * * @access public @@ -158,7 +158,16 @@ public function sendMail(array $to, $from) $this->mailAgent->Subject = $this->subject; - $this->mailAgent->addEmbeddedImage(ROOT."".$this->logo, 'companylogo'); + $logoParts = parse_url($this->logo); + + if(isset($logoParts['scheme'])) { + //Logo is URL + $inlineLogoContent = $this->logo; + }else{ + //Logo comes from local file system + $this->mailAgent->addEmbeddedImage(ROOT."".$this->logo, 'companylogo'); + $inlineLogoContent = "cid:companylogo"; + } $bodyTemplate = ' @@ -169,7 +178,7 @@ public function sendMail(array $to, $from)
- +
LogoLogo
diff --git a/src/domain/setting/controllers/class.editCompanySettings.php b/src/domain/setting/controllers/class.editCompanySettings.php index a98d49ddf2..ca217666cb 100644 --- a/src/domain/setting/controllers/class.editCompanySettings.php +++ b/src/domain/setting/controllers/class.editCompanySettings.php @@ -44,9 +44,9 @@ public function get($params) if($_SESSION['userdata']['role'] == 'admin') { $companySettings = array( - "logo" => $this->config->logoPath, - "color" => $this->config->mainColor, - "name" => $this->config->sitename + "logo" => $_SESSION["companysettings.logoPath"], + "color" => $_SESSION["companysettings.mainColor"], + "name" => $_SESSION["companysettings.sitename"] ); $logoPath = $this->settingsRepo->getSetting("companysettings.logoPath"); From 7344b69d2ed1f2483947bae372acfbcd62613131 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 18 Jan 2020 11:26:08 -0800 Subject: [PATCH 2/6] - allow users to delete ideas, retros, research boards - fixed new user creation notices - fixed new client creation notices - allow users to change retro board name --- config/settings.php | 2 +- .../clients/controllers/class.newClient.php | 16 +++++- .../clients/controllers/class.showClient.php | 1 + .../clients/templates/showClient.tpl.php | 8 ++- .../controllers/class.delCanvas.php | 13 ++--- .../controllers/class.showBoards.php | 25 ++++++++-- .../repositories/class.retrospectives.php | 20 ++++++++ .../templates/delCanvas.tpl.php | 30 +++++++++--- .../templates/showBoards.tpl.php | 49 +++++++++++++++++-- .../users/controllers/class.editOwn.php | 8 ++- .../users/controllers/class.editUser.php | 7 ++- .../users/controllers/class.newUser.php | 20 +++++--- 12 files changed, 158 insertions(+), 41 deletions(-) diff --git a/config/settings.php b/config/settings.php index 47e2ca339e..30d03c184e 100644 --- a/config/settings.php +++ b/config/settings.php @@ -13,7 +13,7 @@ class settings { * @access private * @var string - 1 debugmodus */ - private $debug = '1'; + private $debug = 1; public $appVersion = "2.0.4"; diff --git a/src/domain/clients/controllers/class.newClient.php b/src/domain/clients/controllers/class.newClient.php index 0efc296aff..3d557962c6 100644 --- a/src/domain/clients/controllers/class.newClient.php +++ b/src/domain/clients/controllers/class.newClient.php @@ -30,6 +30,18 @@ public function run() $msgKey = ''; + $values = array( + 'name' => '', + 'street' => '', + 'zip' => '', + 'city' => '', + 'state' => '', + 'country' => '', + 'phone' => '', + 'internet' => '', + 'email' => '' + ); + if (isset($_POST['save']) === true) { $values = array( @@ -60,10 +72,10 @@ public function run() $tpl->setNotification('NO_NAME', 'error'); } - $tpl->assign('values', $values); - } + } + $tpl->assign('values', $values); $tpl->display('clients.newClient'); } else { diff --git a/src/domain/clients/controllers/class.showClient.php b/src/domain/clients/controllers/class.showClient.php index 39eeacc6e6..0b2fe1776e 100644 --- a/src/domain/clients/controllers/class.showClient.php +++ b/src/domain/clients/controllers/class.showClient.php @@ -120,6 +120,7 @@ public function run() $tpl->assign('users', new repositories\users()); $tpl->assign('clientProjects', $project->getClientProjects($id)); $tpl->assign('files', $file->getFilesByModule('client')); + $tpl->assign('helper', new core\helper()); //var_dump($file->getFilesByModule('client')); die(); $tpl->display('clients.showClient'); diff --git a/src/domain/clients/templates/showClient.tpl.php b/src/domain/clients/templates/showClient.tpl.php index ec3238c389..ae50d88dcf 100644 --- a/src/domain/clients/templates/showClient.tpl.php +++ b/src/domain/clients/templates/showClient.tpl.php @@ -173,7 +173,13 @@
- displaySubmodule('comments-generalComment') ?> +
+ + assign('formUrl', "/clients/showClient/".$this->escape($_GET['id']).""); + $this->displaySubmodule('comments-generalComment') ?> +
+
diff --git a/src/domain/retrospectives/controllers/class.delCanvas.php b/src/domain/retrospectives/controllers/class.delCanvas.php index ec6b871f72..fd5520a32b 100644 --- a/src/domain/retrospectives/controllers/class.delCanvas.php +++ b/src/domain/retrospectives/controllers/class.delCanvas.php @@ -17,26 +17,23 @@ public function run() { $tpl = new core\template(); - $leancanvasRepo = new repositories\leancanvas(); + $retroRepo = new repositories\retrospectives(); if (isset($_GET['id'])) { $id = (int)($_GET['id']); } - $msgKey = ''; - if (isset($_POST['del']) && isset($id)) { - $leancanvasRepo->deleteCanvas($id); + $retroRepo->deleteCanvas($id); - $_SESSION["msg"] = "CANVAS_DELETED"; - $_SESSION["msgT"] = "success"; - header("Location: /leancanvas/showCanvas/"); + $tpl->setNotification("Board successfully deleted", "success"); + $tpl->redirect("/retrospectives/showBoards"); } - $tpl->display('leancanvas.delCanvasItem'); + $tpl->display('retrospectives.delCanvas'); } diff --git a/src/domain/retrospectives/controllers/class.showBoards.php b/src/domain/retrospectives/controllers/class.showBoards.php index c4b4193e07..a2a59e8c12 100644 --- a/src/domain/retrospectives/controllers/class.showBoards.php +++ b/src/domain/retrospectives/controllers/class.showBoards.php @@ -52,9 +52,28 @@ public function run() $currentCanvasId = $retroRepo->addCanvas($values); $allCanvas = $retroRepo->getAllCanvas($_SESSION['currentProject']); - $_SESSION["msg"] = "NEW_CANVAS_ADDED"; - $_SESSION["msgT"] = "success"; - header("Location: /retrospectives/showBoards/".$currentCanvasId); + $tpl->setNotification("New Board added", "success"); + $_SESSION['currentRetroCanvas'] = $currentCanvasId; + $tpl->redirect("/retrospectives/showBoards/"); + + + } else { + $tpl->setNotification('ENTER_TITLE', 'error'); + } + + } + + //Edit Canvas + if (isset($_POST["editCanvas"]) === true && $currentCanvasId > 0) { + + if (isset($_POST['canvastitle']) === true) { + + $values = array("title" => $_POST['canvastitle'], "id" => $currentCanvasId); + $currentCanvasId = $retroRepo->updateCanvas($values); + + $tpl->setNotification("Board edited", "success"); + $tpl->redirect("/retrospectives/showBoards/"); + } else { $tpl->setNotification('ENTER_TITLE', 'error'); diff --git a/src/domain/retrospectives/repositories/class.retrospectives.php b/src/domain/retrospectives/repositories/class.retrospectives.php index ab8e71d79c..8caaf0e61c 100644 --- a/src/domain/retrospectives/repositories/class.retrospectives.php +++ b/src/domain/retrospectives/repositories/class.retrospectives.php @@ -160,6 +160,26 @@ public function addCanvas($values) } + public function updateCanvas($values) + { + + $query = "UPDATE zp_canvas SET + title = :title + WHERE id = :id"; + + $stmn = $this->db->{'database'}->prepare($query); + + $stmn->bindValue(':title', $values['title'], PDO::PARAM_STR); + $stmn->bindValue(':id', $values['id'], PDO::PARAM_INT); + + $result = $stmn->execute(); + + $stmn->closeCursor(); + + return $result; + + } + public function editCanvasItem($values) { $sql = "UPDATE zp_canvas_items SET diff --git a/src/domain/retrospectives/templates/delCanvas.tpl.php b/src/domain/retrospectives/templates/delCanvas.tpl.php index 9453c72f1d..30f93879a5 100644 --- a/src/domain/retrospectives/templates/delCanvas.tpl.php +++ b/src/domain/retrospectives/templates/delCanvas.tpl.php @@ -4,10 +4,28 @@ ?> -

Delete

+ + +
+
+ +

Delete

+
+
+


+ + +
+
+ +
+
-
-


- - -
diff --git a/src/domain/retrospectives/templates/showBoards.tpl.php b/src/domain/retrospectives/templates/showBoards.tpl.php index 00b8dd69ab..0956ed801d 100644 --- a/src/domain/retrospectives/templates/showBoards.tpl.php +++ b/src/domain/retrospectives/templates/showBoards.tpl.php @@ -111,6 +111,12 @@ function tilt_direction(item) { }); + jQuery(".editCanvasLink").click(function() { + + jQuery('#editCanvas').modal('show'); + + }); + leantime.helperController.showHelperModal("retrospectives"); @@ -245,13 +251,18 @@ function tilt_direction(item) { foreach($this->get('allCanvas') as $canvasRow){ ?> get('currentCanvas') == $canvasRow["id"]) { echo" selected='selected' "; + if($this->get('currentCanvas') == $canvasRow["id"]) { + $canvasTitle = $canvasRow["title"]; + echo" selected='selected' "; } - echo">".$canvasRow["title"].""; ?> + echo">".$canvasRow["title"].""; + + ?>
- Create Retrospective Board + Create Retrospective Board | + Edit Board @@ -446,11 +457,15 @@ function tilt_direction(item) { - + + + -
+
+
+ Delete Board

You don't have any previous retrospectives yet.


@@ -513,6 +528,30 @@ function tilt_direction(item) {
+ + + diff --git a/src/domain/users/controllers/class.editOwn.php b/src/domain/users/controllers/class.editOwn.php index ddb8a04abd..47db215c16 100644 --- a/src/domain/users/controllers/class.editOwn.php +++ b/src/domain/users/controllers/class.editOwn.php @@ -66,7 +66,7 @@ public function run() $helper = new core\helper(); - if ($helper->validateEmail($values['user']) == 1) { + if (filter_var($values['user'], FILTER_VALIDATE_EMAIL)) { if ($_POST['newPassword'] == $_POST['confirmPassword']) { @@ -122,15 +122,13 @@ public function run() } - $file = new repositories\files(); - //Assign vars $users = new repositories\users(); - // $tpl->assign('profilePic', $file->getFilesByModule('user',$_SESSION['userdata']['id'])); + $tpl->assign('profilePic', $users->getProfilePicture($_SESSION['userdata']['id'])); $tpl->assign('info', $infoKey); $tpl->assign('values', $values); - //$tpl->assign('roles', $this->roles); + $tpl->assign('user', $row); $tpl->display('users.editOwn'); diff --git a/src/domain/users/controllers/class.editUser.php b/src/domain/users/controllers/class.editUser.php index c8b56e3599..c18a0ab24a 100644 --- a/src/domain/users/controllers/class.editUser.php +++ b/src/domain/users/controllers/class.editUser.php @@ -68,13 +68,12 @@ public function run() if ($values['user'] !== '') { - $helper = new core\helper(); - - if ($helper->validateEmail($values['user']) === 1) { + if (filter_var($values['user'], FILTER_VALIDATE_EMAIL)) { if ($changedEmail == 1) { if ($userRepo->usernameExist($row['username'], $id) === false) { $edit = true; + } else { $tpl->setNotification('USERNAME_EXISTS', 'error'); @@ -85,7 +84,7 @@ public function run() } } else { - $tpl->setNotification('NO_VALID_EMAIL_'.$helper->validateEmail($values['user']), 'error'); + $tpl->setNotification('NO_VALID_EMAIL', 'error'); } } else { diff --git a/src/domain/users/controllers/class.newUser.php b/src/domain/users/controllers/class.newUser.php index 172733eaea..69ebacdca8 100644 --- a/src/domain/users/controllers/class.newUser.php +++ b/src/domain/users/controllers/class.newUser.php @@ -21,12 +21,21 @@ public function run() $userRepo = new repositories\users(); $project = new repositories\projects(); + $values = array( + 'firstname' =>"", + 'lastname' => "", + 'user' => "", + 'phone' => "", + 'role' => "", + 'password' => "", + 'clientId' => "" + ); + //only Admins if ($_SESSION['userdata']['role'] == 'admin') { $projectrelation = array(); - $values = array(); if (isset($_POST['save'])) { $tempPasswordVar = $_POST['password']; @@ -42,8 +51,8 @@ public function run() //Validation if ($values['user'] !== '') { - $helper = new core\helper(); - if ($helper->validateEmail($values['user']) == 1) { + + if (filter_var($values['user'], FILTER_VALIDATE_EMAIL)) { if (password_verify($_POST['password'], $values['password']) && $_POST['password'] != '') { if ($userRepo->usernameExist($values['user']) === false) { @@ -70,7 +79,7 @@ public function run() $tpl->setNotification('USER_ADDED', 'success'); - header("Location: /users/showAll"); + $tpl->redirect(" /users/showAll"); } else { @@ -90,10 +99,9 @@ public function run() $tpl->setNotification('NO_USERNAME', 'error'); } - $tpl->assign('values', $values); - } + $tpl->assign('values', $values); $clients = new repositories\clients(); $tpl->assign('clients', $clients->getAll()); $tpl->assign('allProjects', $project->getAll()); From a7ce4768d50103726e7f402a95ff00f096683963 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 20 Jan 2020 10:17:15 -0800 Subject: [PATCH 3/6] - delete idea boards, lean canvas - rename idea boards, lean canvas, retrospectives --- config/settings.php | 2 +- .../controllers/class.advancedBoards.php | 25 +++++++- .../ideas/controllers/class.delCanvas.php | 13 ++--- .../ideas/controllers/class.showBoards.php | 24 +++++++- src/domain/ideas/repositories/class.ideas.php | 20 +++++++ .../ideas/templates/advancedBoards.tpl.php | 56 ++++++++++++------ src/domain/ideas/templates/delCanvas.tpl.php | 34 ++++++++--- src/domain/ideas/templates/showBoards.tpl.php | 57 +++++++++++++------ .../controllers/class.delCanvas.php | 13 ++--- .../controllers/class.showCanvas.php | 25 ++++++-- .../controllers/class.simpleCanvas.php | 25 ++++++-- .../repositories/class.leancanvas.php | 20 +++++++ .../leancanvas/templates/delCanvas.tpl.php | 31 +++++++--- .../leancanvas/templates/showCanvas.tpl.php | 43 +++++++++++++- .../leancanvas/templates/simpleCanvas.tpl.php | 43 +++++++++++++- .../repositories/class.retrospectives.php | 6 +- .../templates/delCanvas.tpl.php | 4 +- .../templates/showBoards.tpl.php | 12 ++-- 18 files changed, 355 insertions(+), 98 deletions(-) diff --git a/config/settings.php b/config/settings.php index 30d03c184e..6ebecbf35a 100644 --- a/config/settings.php +++ b/config/settings.php @@ -15,7 +15,7 @@ class settings { */ private $debug = 1; - public $appVersion = "2.0.4"; + public $appVersion = "2.0.5"; public $dbVersion = "2.0.4"; diff --git a/src/domain/ideas/controllers/class.advancedBoards.php b/src/domain/ideas/controllers/class.advancedBoards.php index cd300e9344..187f5c241c 100644 --- a/src/domain/ideas/controllers/class.advancedBoards.php +++ b/src/domain/ideas/controllers/class.advancedBoards.php @@ -52,9 +52,28 @@ public function run() $currentCanvasId = $ideaRepo->addCanvas($values); $allCanvas = $ideaRepo->getAllCanvas($_SESSION['currentProject']); - $_SESSION["msg"] = "NEW_CANVAS_ADDED"; - $_SESSION["msgT"] = "success"; - header("Location: /ideas/advancedBoards/".$currentCanvasId); + $tpl->setNotification('NEW_CANVAS_ADDED', 'success'); + + $_SESSION['currentIdeaCanvas'] = $currentCanvasId; + header("Location: /ideas/advancedBoards/"); + + } else { + $tpl->setNotification('ENTER_TITLE', 'error'); + } + + } + + //Edit Canvas + if (isset($_POST["editCanvas"]) === true && $currentCanvasId > 0) { + + if (isset($_POST['canvastitle']) === true) { + + $values = array("title" => $_POST['canvastitle'], "id" => $currentCanvasId); + $currentCanvasId = $ideaRepo->updateCanvas($values); + + $tpl->setNotification("Board edited", "success"); + $tpl->redirect("/ideas/advancedBoards/"); + } else { $tpl->setNotification('ENTER_TITLE', 'error'); diff --git a/src/domain/ideas/controllers/class.delCanvas.php b/src/domain/ideas/controllers/class.delCanvas.php index 522112b4e9..8388b321a4 100644 --- a/src/domain/ideas/controllers/class.delCanvas.php +++ b/src/domain/ideas/controllers/class.delCanvas.php @@ -18,26 +18,23 @@ public function run() { $tpl = new core\template(); - $leancanvasRepo = new repositories\leancanvas(); + $ideaRepo = new repositories\ideas(); if (isset($_GET['id'])) { $id = (int)($_GET['id']); } - $msgKey = ''; - if (isset($_POST['del']) && isset($id)) { - $leancanvasRepo->deleteCanvas($id); + $ideaRepo->deleteCanvas($id); - $_SESSION["msg"] = "CANVAS_DELETED"; - $_SESSION["msgT"] = "success"; - header("Location: /leancanvas/showCanvas/"); + $tpl->setNotification("Board successfully deleted", "success"); + $tpl->redirect("/ideas/showBoards"); } - $tpl->display('leancanvas.delCanvasItem'); + $tpl->display('ideas.delCanvas'); } diff --git a/src/domain/ideas/controllers/class.showBoards.php b/src/domain/ideas/controllers/class.showBoards.php index 5266533b77..70f5155591 100644 --- a/src/domain/ideas/controllers/class.showBoards.php +++ b/src/domain/ideas/controllers/class.showBoards.php @@ -59,8 +59,7 @@ public function run() $currentCanvasId = $ideaRepo->addCanvas($values); $allCanvas = $ideaRepo->getAllCanvas($_SESSION['currentProject']); - $_SESSION["msg"] = "NEW_CANVAS_ADDED"; - $_SESSION["msgT"] = "success"; + $tpl->setNotification('NEW_CANVAS_ADDED', 'success'); $mailer = new core\mailer(); $projectService = new services\projects(); @@ -72,7 +71,26 @@ public function run() $mailer->setHtml("A new idea board was created by " . $_SESSION["userdata"]["name"] . ": " . $values['title'] . ".
"); $mailer->sendMail($users, $_SESSION["userdata"]["name"]); - header("Location: /ideas/showBoards/".$currentCanvasId); + $_SESSION['currentIdeaCanvas'] = $currentCanvasId; + header("Location: /ideas/showBoards/"); + + } else { + $tpl->setNotification('ENTER_TITLE', 'error'); + } + + } + + //Edit Canvas + if (isset($_POST["editCanvas"]) === true && $currentCanvasId > 0) { + + if (isset($_POST['canvastitle']) === true) { + + $values = array("title" => $_POST['canvastitle'], "id" => $currentCanvasId); + $currentCanvasId = $ideaRepo->updateCanvas($values); + + $tpl->setNotification("Board edited", "success"); + $tpl->redirect("/ideas/showBoards/"); + } else { $tpl->setNotification('ENTER_TITLE', 'error'); diff --git a/src/domain/ideas/repositories/class.ideas.php b/src/domain/ideas/repositories/class.ideas.php index 00e89a5fa3..5e88b379aa 100644 --- a/src/domain/ideas/repositories/class.ideas.php +++ b/src/domain/ideas/repositories/class.ideas.php @@ -163,6 +163,26 @@ public function addCanvas($values) } + public function updateCanvas($values) + { + + $query = "UPDATE zp_canvas SET + title = :title + WHERE id = :id"; + + $stmn = $this->db->{'database'}->prepare($query); + + $stmn->bindValue(':title', $values['title'], PDO::PARAM_STR); + $stmn->bindValue(':id', $values['id'], PDO::PARAM_INT); + + $result = $stmn->execute(); + + $stmn->closeCursor(); + + return $result; + + } + public function editCanvasItem($values) { $sql = "UPDATE zp_canvas_items SET diff --git a/src/domain/ideas/templates/advancedBoards.tpl.php b/src/domain/ideas/templates/advancedBoards.tpl.php index ce9969ba72..e43b6b662d 100644 --- a/src/domain/ideas/templates/advancedBoards.tpl.php +++ b/src/domain/ideas/templates/advancedBoards.tpl.php @@ -3,6 +3,7 @@ defined('RESTRICTED') or die('Restricted access'); $allCanvas = $this->get("allCanvas"); $canvasLabels = $this->get("canvasLabels"); +$canvasTitle = ""; ?> diff --git a/src/domain/help/js/helperController.js b/src/domain/help/js/helperController.js index eb6150ac56..052834d64b 100644 --- a/src/domain/help/js/helperController.js +++ b/src/domain/help/js/helperController.js @@ -23,7 +23,11 @@ leantime.helperController = (function () { }, resizable: true, autoSizable: true, - callbacks: {} + callbacks: { + beforeShowCont: function () { + leantime.replaceSVGColors(); + } + } } ); }; diff --git a/src/domain/help/templates/advancedBoards.tpl.php b/src/domain/help/templates/advancedBoards.tpl.php index a808a296ab..0e1b3a7d34 100644 --- a/src/domain/help/templates/advancedBoards.tpl.php +++ b/src/domain/help/templates/advancedBoards.tpl.php @@ -6,7 +6,9 @@
- +
+ ";?>

Welcome to the organized idea board!


Ideas evolve, grow and mature. This is the place to keep track of them.
Move idea cards from one column to the next to reflect their current state.
This is a good place to start research, develop prototypes and validate these prototypes with a few customers before your start implementing.

diff --git a/src/domain/help/templates/backlog.tpl.php b/src/domain/help/templates/backlog.tpl.php index e0b7cb8ade..7c36910083 100644 --- a/src/domain/help/templates/backlog.tpl.php +++ b/src/domain/help/templates/backlog.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

Welcome to Your Backlog!


A backlog is the home of all of your to-dos; those you are working on currently and plan to work on.

To make progress towards completing your backlog we recommend working in short iterations - Sprints.
diff --git a/src/domain/help/templates/dashboard.tpl.php b/src/domain/help/templates/dashboard.tpl.php index 35af126538..721529a896 100644 --- a/src/domain/help/templates/dashboard.tpl.php +++ b/src/domain/help/templates/dashboard.tpl.php @@ -6,7 +6,7 @@

-

Welcome to leantime!

+

Welcome to Leantime!

We're glad you're here. Let's take a minute to get acquainted.



@@ -15,19 +15,32 @@
+
+ ";?> + +

1. Discover!

- +

Our Business Research section is your new home for your ideas. This section is designed to take you through the steps of customer development, problem research, and solution ideation.

+
+ ";?> +

2. Plan!

- +

Our roadmap is designed to take you from smaller manageable milestones to big picture completion. Plan for milestones about 3 months long and use these project markers to stay on target.

+
+ ";?> +

3. Track!

- +

This is where you’ll spend most of your time - doing. Plan your 2 week Sprints and execute successfully with the Kanban Board and our Backlog tools. Use Retrospectives to grow for the next Sprint.

diff --git a/src/domain/help/templates/fullLeanCanvas.tpl.php b/src/domain/help/templates/fullLeanCanvas.tpl.php index 46a7e57c4e..ef4dd06415 100644 --- a/src/domain/help/templates/fullLeanCanvas.tpl.php +++ b/src/domain/help/templates/fullLeanCanvas.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

Welcome to the Full Research Board!


The full research board will take you through the full idea validation process.
On this page, you'll again address your Customer Segment, Problem, Solution (but don't worry, if you filled that out on the Simple board, you'll see it again here!).
diff --git a/src/domain/help/templates/ideaBoard.tpl.php b/src/domain/help/templates/ideaBoard.tpl.php index 1a0a21b649..08997e590b 100644 --- a/src/domain/help/templates/ideaBoard.tpl.php +++ b/src/domain/help/templates/ideaBoard.tpl.php @@ -6,7 +6,9 @@

- +
+ ";?>

Welcome to the Idea Board!


This is the place to collect all of your ideas. Discuss new ones with your team and attach Milestones to see progress towards your ideas.



diff --git a/src/domain/help/templates/kanban.tpl.php b/src/domain/help/templates/kanban.tpl.php index 5bda3eedeb..ab9b4d80c7 100644 --- a/src/domain/help/templates/kanban.tpl.php +++ b/src/domain/help/templates/kanban.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

The Kanban Board


Kanban is the Japanese word for "card". Kanban boards were started by Toyota engineers in the 40s with Lean manufacturing.
It's used to visually share information and work progress quickly.
Kanban boards are useful to visualize work and status, to help manage active or in progress work, manage work flow and act quickly towards lean improvements.

diff --git a/src/domain/help/templates/mytimesheets.tpl.php b/src/domain/help/templates/mytimesheets.tpl.php index a63772c7c0..2ac1abf51b 100644 --- a/src/domain/help/templates/mytimesheets.tpl.php +++ b/src/domain/help/templates/mytimesheets.tpl.php @@ -6,7 +6,9 @@

-
+
+ ";?>

The Timesheets!

Timesheets are the place to track the actual hours worked on a To-Do.
This is helpful for billing purpose but also to validate how well you are planning your tasks upfront.
Overtime leantime can adjust due dates to account for planning discrepencies.

diff --git a/src/domain/help/templates/newProject.tpl.php b/src/domain/help/templates/newProject.tpl.php index 6ac39baddd..36c66d062d 100644 --- a/src/domain/help/templates/newProject.tpl.php +++ b/src/domain/help/templates/newProject.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

Welcome to your Project!


This is the place you'll describe, define, and set the parameters for your project. This is important as it's the piece that communicates to the
entire team what the project priorities, expectations, and guidelines are.


Things to think about here: the 4Cs.
Be Clear, be Concise, Complete and Credible.

diff --git a/src/domain/help/templates/projectSuccess.tpl.php b/src/domain/help/templates/projectSuccess.tpl.php index c7d6a8ec02..811dee0dc6 100644 --- a/src/domain/help/templates/projectSuccess.tpl.php +++ b/src/domain/help/templates/projectSuccess.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

Congratulations, on your project!


You can now go to Research to identify your Customer, Problem and Solution Fit.

Or, to skip research and go right into planning, go to the Roadmap

diff --git a/src/domain/help/templates/retrospectives.tpl.php b/src/domain/help/templates/retrospectives.tpl.php index e550b3e751..b62efa3d24 100644 --- a/src/domain/help/templates/retrospectives.tpl.php +++ b/src/domain/help/templates/retrospectives.tpl.php @@ -6,8 +6,10 @@
-
-

Welcome to retrospectives!


+
+ ";?> +

Welcome to Retrospectives!


Retrospectives are quick reflections about the work, team functioning, and of course progress.
This is where your team can take a moment to hone in on what went well, what didn't go well and what could be done differently next time.
We recommend running a review meeting in regular intervals, or at minimum, at the end of each Milestone.
diff --git a/src/domain/help/templates/roadmap.tpl.php b/src/domain/help/templates/roadmap.tpl.php index 538dd5f8c8..982b025a2b 100644 --- a/src/domain/help/templates/roadmap.tpl.php +++ b/src/domain/help/templates/roadmap.tpl.php @@ -6,8 +6,10 @@

-
-

Welcome to The Roadmap!


+
+ ";?> +

Welcome to Your Roadmap!


Roadmaps are helpful for scaling down large projects into smaller and more manageable chunks.

To create your roadmap, we recommend setting milestones that can be achieved within a 3 month time span.

Milestones are checkpoints on the way to project completion.
Simply speaking: If you're taking a cross country road trip, then each state you pass through could be a milestone.
diff --git a/src/domain/help/templates/showClients.tpl.php b/src/domain/help/templates/showClients.tpl.php index 8b37735d0a..caf0163ff8 100644 --- a/src/domain/help/templates/showClients.tpl.php +++ b/src/domain/help/templates/showClients.tpl.php @@ -6,7 +6,9 @@

-
+
+ ";?>

Welcome to Clients / Products!


Clients/Products organize your Projects into categories and allow you to isolate different groups.

As a consultant, you work with clients already and this would be the place to organize them.

diff --git a/src/domain/help/templates/showProjects.tpl.php b/src/domain/help/templates/showProjects.tpl.php index 99fe515da7..0b9063ecd2 100644 --- a/src/domain/help/templates/showProjects.tpl.php +++ b/src/domain/help/templates/showProjects.tpl.php @@ -6,7 +6,9 @@
-
+
+ ";?>

Welcome to Projects!


Projects are the heart of your business and leantime! Change, development, goals, and anything you can build or dream of will involve projects.
Project management is simply the process of ensuring that your projects are delivered timely, correctly, and with real business value.

diff --git a/src/domain/help/templates/simpleLeanCanvas.tpl.php b/src/domain/help/templates/simpleLeanCanvas.tpl.php index 70f80a4e4b..c3538908a6 100644 --- a/src/domain/help/templates/simpleLeanCanvas.tpl.php +++ b/src/domain/help/templates/simpleLeanCanvas.tpl.php @@ -6,7 +6,10 @@

-
+
+ ";?> +

Welcome to The Simple Research Board!


The foundation of any project is rooted here -- in your research. On this board, you'll focus on building for your customer by using the Problem Solution Fit.

In Problem Solution fit, you'll start with identifying who your customer is. Think about demographics, what they do, and what they need.
diff --git a/src/domain/ideas/templates/advancedBoards.tpl.php b/src/domain/ideas/templates/advancedBoards.tpl.php index e43b6b662d..245d68b58c 100644 --- a/src/domain/ideas/templates/advancedBoards.tpl.php +++ b/src/domain/ideas/templates/advancedBoards.tpl.php @@ -643,7 +643,12 @@ function tilt_direction(item) {

All out of ideas?


+ echo "

"; + echo"
"; + echo file_get_contents(ROOT."/images/svg/undraw_new_ideas_jdea.svg"); + echo"
"; + + echo"

Have an idea?


Start collecting all of your brilliant ideas right here.

Start a new idea board
"; } diff --git a/src/domain/ideas/templates/showBoards.tpl.php b/src/domain/ideas/templates/showBoards.tpl.php index ca361f537c..058acd468b 100644 --- a/src/domain/ideas/templates/showBoards.tpl.php +++ b/src/domain/ideas/templates/showBoards.tpl.php @@ -154,7 +154,12 @@

All out of ideas?


+ echo "

"; + echo"
"; + echo file_get_contents(ROOT."/images/svg/undraw_new_ideas_jdea.svg"); + echo"
"; + +echo"

Have an idea?


Start collecting all of your brilliant ideas right here.

Start a new idea board
"; } diff --git a/src/domain/leancanvas/templates/simpleCanvas.tpl.php b/src/domain/leancanvas/templates/simpleCanvas.tpl.php index 4f2fee70f5..a75ddb98d8 100644 --- a/src/domain/leancanvas/templates/simpleCanvas.tpl.php +++ b/src/domain/leancanvas/templates/simpleCanvas.tpl.php @@ -572,7 +572,13 @@ function tilt_direction(item) {

Research your next big product and collect your experiements here.


+ echo "

"; + + echo"
"; + echo file_get_contents(ROOT."/images/svg/undraw_design_data_khdb.svg"); + echo"
"; + + echo"

Research your next big product and collect your experiements here.


The lean canvas will guide your through a customer, problem and solution fit.
We suggest you create a new canvas for every product you start.

Create new plan
"; diff --git a/src/domain/projects/controllers/class.newProject.php b/src/domain/projects/controllers/class.newProject.php index c956062996..de3b73aed1 100644 --- a/src/domain/projects/controllers/class.newProject.php +++ b/src/domain/projects/controllers/class.newProject.php @@ -76,16 +76,17 @@ public function run() } else { + $projectName = $values['name']; $id = $projectRepo->addProject($values); $projectService->changeCurrentSessionProject($id); //With a new project create a canvas and an idea board: - $values = array("title" => $values['name']." Research", "author" => $_SESSION['userdata']["id"], "projectId" =>$_SESSION["currentProject"]); - $leancanvasRepo->addCanvas($values); + $canvasValues = array("title" => $projectName." Research", "author" => $_SESSION['userdata']["id"], "projectId" =>$_SESSION["currentProject"]); + $leancanvasRepo->addCanvas($canvasValues); //Create new Idea Board - $values = array("title" => $values['name']. " Ideas", "author" => $_SESSION['userdata']["id"], "projectId" => $_SESSION["currentProject"]); - $currentCanvasId = $ideaRepo->addCanvas($values); + $ideaValues = array("title" => $projectName. " Ideas", "author" => $_SESSION['userdata']["id"], "projectId" => $_SESSION["currentProject"]); + $currentCanvasId = $ideaRepo->addCanvas($ideaValues); //Create Todos to research projects and plan roadmap $ticketService->quickAddTicket(array("headline" =>"Conduct project research", "description" => "Go to the research section and fill out Customer, Problem and a Solution.
This will help your frame your roadmap and be targeted in your solution approach.", "status"=>"3", "sprint"=> "")); @@ -95,7 +96,7 @@ public function run() $mailer->setSubject("You have been added to a new project"); $actual_link = "http://$_SERVER[HTTP_HOST]"; - $mailer->setHtml("A new project was created and you are on it! Project name is [" . $id . "] - " . $values['name'] . " and it was created by " . $_SESSION["userdata"]["name"] . "
"); + $mailer->setHtml("A new project was created and you are on it! Project name is [" . $id . "] - " . $projectName . " and it was created by " . $_SESSION["userdata"]["name"] . "
"); $to = array(); @@ -128,9 +129,6 @@ public function run() $user = new repositories\users(); $tpl->assign('availableUsers', $user->getAll()); - - - $clients = new repositories\clients(); $tpl->assign('info', $msgKey); diff --git a/src/domain/retrospectives/templates/showBoards.tpl.php b/src/domain/retrospectives/templates/showBoards.tpl.php index 636639dea3..4e2dbc11cb 100644 --- a/src/domain/retrospectives/templates/showBoards.tpl.php +++ b/src/domain/retrospectives/templates/showBoards.tpl.php @@ -470,7 +470,12 @@ function tilt_direction(item) {

You don't have any previous retrospectives yet.


+ echo "

"; + echo"
"; + echo file_get_contents(ROOT."/images/svg/undraw_team_spirit_hrr4.svg"); + echo"
"; + +echo"

You don't have any previous retrospectives yet.


Start one now and discuss what went well and what you can improve on.
We suggest you have one every sprint or at the end of each milestone.

Start a retrospective
"; diff --git a/src/domain/tickets/templates/roadmap.tpl.php b/src/domain/tickets/templates/roadmap.tpl.php index e490d082e7..55b5fc6eaa 100644 --- a/src/domain/tickets/templates/roadmap.tpl.php +++ b/src/domain/tickets/templates/roadmap.tpl.php @@ -42,7 +42,15 @@

You don't have any milestones yet
Add a Milestone here

"; + echo"
"; + echo"
"; + echo file_get_contents(ROOT."/images/svg/undraw_adjustments_p22m.svg"); + echo"
"; +echo" +

You don't have any milestones yet
+ +
+ Add a Milestone

"; } ?> diff --git a/src/install.php b/src/install.php index 732abce14d..8fc645edc5 100644 --- a/src/install.php +++ b/src/install.php @@ -8,11 +8,12 @@ - - + + + "> - - + + <?php echo $_SESSION["companysettings.sitename"]; ?> diff --git a/src/login.php b/src/login.php index 4b81cccb27..8d26b96a36 100644 --- a/src/login.php +++ b/src/login.php @@ -1,8 +1,9 @@ - - + + + "> diff --git a/src/resetPassword.php b/src/resetPassword.php index bd35dfde00..83bf990ddf 100644 --- a/src/resetPassword.php +++ b/src/resetPassword.php @@ -1,8 +1,9 @@ - - + + + "> diff --git a/src/update.php b/src/update.php index 1f171b164f..49bec611b0 100644 --- a/src/update.php +++ b/src/update.php @@ -8,8 +8,9 @@ - - + + + ">