per-board "Emphasize due date" with global default (v1.4)
This commit is contained in:
45
Helper/OrganonProjectHelper.php
Normal file
45
Helper/OrganonProjectHelper.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace Kanboard\Plugin\OrganonTweaks\Helper;
|
||||
|
||||
use Kanboard\Core\Base;
|
||||
|
||||
/**
|
||||
* Per-board helper for OrganonTweaks.
|
||||
*
|
||||
* Resolves the 3-state "emphasize due date" setting for the CURRENT board (read from the route
|
||||
* project_id, which the router populates for pretty URLs before the layout renders):
|
||||
* per-board '1' -> on, '0' -> off, 'default'/absent -> follow the LIVE global default.
|
||||
*/
|
||||
class OrganonProjectHelper extends Base
|
||||
{
|
||||
const EMPHASIZE_KEY = 'organon_tweaks_emphasize_duedate';
|
||||
const EMPHASIZE_DEFAULT_KEY = 'organon_tweaks_emphasize_duedate_default';
|
||||
|
||||
/**
|
||||
* Should the current board emphasize the due date? Board pages only (project_id in the route).
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isEmphasizeDueDate()
|
||||
{
|
||||
$project_id = $this->request->getIntegerParam('project_id');
|
||||
|
||||
if ($project_id <= 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$value = $this->projectMetadataModel->get($project_id, self::EMPHASIZE_KEY, 'default');
|
||||
|
||||
if ($value === '1') {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ($value === '0') {
|
||||
return false;
|
||||
}
|
||||
|
||||
// 'default' (or absent) -> follow the live global default.
|
||||
return (int) $this->configModel->get(self::EMPHASIZE_DEFAULT_KEY, 0) === 1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user