From ae708a712a5dd932c01e734f8450b899b1407a70 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Tue, 20 Dec 2016 20:06:39 -0500 Subject: Offer the possibility to override internal formatter objects from plugins --- doc/plugin-overrides.markdown | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'doc') diff --git a/doc/plugin-overrides.markdown b/doc/plugin-overrides.markdown index 96a09e47..b9372bdf 100644 --- a/doc/plugin-overrides.markdown +++ b/doc/plugin-overrides.markdown @@ -40,3 +40,34 @@ You can still use the original template using the "kanboard:" prefix: ```php render('kanboard:header') ?> ``` + +Formatter Overrides +------------------- + +Here an example to override formatter objects in Kanboard: + +```php +class MyFormatter extends UserAutoCompleteFormatter { + + public function format() + { + $users = parent::format(); + + foreach ($users as &$user) { + $user['label'] = 'something'; // Do something useful here + } + + return $users; + } +} + +class Plugin extends Base +{ + public function initialize() + { + $this->container['userAutoCompleteFormatter'] = $this->container->factory(function ($c) { + return new MyFormatter($c); + }); + } +} +``` -- cgit v1.2.3 From 9d5d389de841705450190fb1ebbaa11393870dfe Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Tue, 20 Dec 2016 20:27:23 -0500 Subject: Display user full name in auto-complete field value --- app/Formatter/UserAutoCompleteFormatter.php | 4 ++-- doc/plugin-overrides.markdown | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/app/Formatter/UserAutoCompleteFormatter.php b/app/Formatter/UserAutoCompleteFormatter.php index 32a83608..c81af00a 100644 --- a/app/Formatter/UserAutoCompleteFormatter.php +++ b/app/Formatter/UserAutoCompleteFormatter.php @@ -24,11 +24,11 @@ class UserAutoCompleteFormatter extends BaseFormatter implements FormatterInterf $users = $this->query->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name')->findAll(); foreach ($users as &$user) { - $user['value'] = $user['username'].' (#'.$user['id'].')'; - if (empty($user['name'])) { + $user['value'] = $user['username'].' (#'.$user['id'].')'; $user['label'] = $user['username']; } else { + $user['value'] = $user['name'].' (#'.$user['id'].')'; $user['label'] = $user['name'].' ('.$user['username'].')'; } } diff --git a/doc/plugin-overrides.markdown b/doc/plugin-overrides.markdown index b9372bdf..3b94bd60 100644 --- a/doc/plugin-overrides.markdown +++ b/doc/plugin-overrides.markdown @@ -47,8 +47,8 @@ Formatter Overrides Here an example to override formatter objects in Kanboard: ```php -class MyFormatter extends UserAutoCompleteFormatter { - +class MyFormatter extends UserAutoCompleteFormatter +{ public function format() { $users = parent::format(); -- cgit v1.2.3