diff --git a/module/program/lang/de.php b/module/program/lang/de.php index 3c66da2c6c..b99c8d0df9 100644 --- a/module/program/lang/de.php +++ b/module/program/lang/de.php @@ -223,3 +223,4 @@ $lang->program->project = 'Projects'; $lang->program->totalBugs = 'Total Bugs'; $lang->program->latestReleaseDate = 'Latest Release Date'; $lang->program->latestRelease = 'Latest Release'; +$lang->program->manageLine = 'Verwalte Produktlinie'; diff --git a/module/program/lang/en.php b/module/program/lang/en.php index 1a2e41e2eb..6429aac2e8 100644 --- a/module/program/lang/en.php +++ b/module/program/lang/en.php @@ -223,3 +223,4 @@ $lang->program->project = 'Projects'; $lang->program->totalBugs = 'Total Bugs'; $lang->program->latestReleaseDate = 'Latest Release Date'; $lang->program->latestRelease = 'Latest Release'; +$lang->program->manageLine = 'Manage Product Line'; diff --git a/module/program/lang/fr.php b/module/program/lang/fr.php index e887e094d4..35ca7d59e8 100644 --- a/module/program/lang/fr.php +++ b/module/program/lang/fr.php @@ -223,3 +223,4 @@ $lang->program->project = 'Projects'; $lang->program->totalBugs = 'Total Bugs'; $lang->program->latestReleaseDate = 'Latest Release Date'; $lang->program->latestRelease = 'Latest Release'; +$lang->program->manageLine = 'Gérer Ligne Produit'; diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php index 9b97b8cc62..8cd1db26d5 100644 --- a/module/program/lang/zh-cn.php +++ b/module/program/lang/zh-cn.php @@ -223,3 +223,4 @@ $lang->program->project = '项目'; $lang->program->totalBugs = 'Bug总数'; $lang->program->latestReleaseDate = '最新发布时间'; $lang->program->latestRelease = '最新发布'; +$lang->program->manageLine = '维护产品线'; diff --git a/module/program/ui/productview.html.php b/module/program/ui/productview.html.php index 1568d1216c..0f5bc6fd8f 100644 --- a/module/program/ui/productview.html.php +++ b/module/program/ui/productview.html.php @@ -12,6 +12,51 @@ declare(strict_types=1); namespace zin; +/* Closure creating program buttons. */ +$fnGenerateCreateProgramBtns = function() use ($lang, $browseType) +{ + $items = array(); + + hasPriv('program', 'create') ? $items[] = array + ( + 'text' => $lang->program->create, + 'icon' => 'plus', + 'url' => createLink('program', 'create') + ) : null; + + hasPriv('product', 'create') ? $items[] = array + ( + 'text' => $lang->program->createProduct, + 'icon' => 'plus', + 'url' => createLink('product', 'create') + ) : null; + + hasPriv('product', 'manageLine') ? $items[] = array + ( + 'text' => $lang->program->manageLine, + 'icon' => 'edit', + 'data-toggle' => 'modal', + 'data-url' => createLink('product', 'manageLine', $browseType) + ) : null; + + return inputGroup + ( + hasPriv('program', 'create') ? btn + ( + setClass('btn primary'), + set::icon('plus'), + set::text($lang->program->create), + set::url(createLink('program', 'create')) + ) : null, + !empty($items) ? dropdown + ( + setClass('btn primary'), + span(setClass('caret')), + set::items($items), + ) : null + ); +}; + /* Generate cols for the data table. */ $fnGenerateCols = function() { @@ -231,18 +276,7 @@ toolbar 'class'=> 'ghost', 'url' => createLink('program', 'exportTable') ))), - item(set(array( - 'text' => $lang->program->createProduct, - 'icon' => 'plus', - 'class'=> 'btn secondary', - 'url' => createLink('program', 'exportTable') - ))), - item(set(array( - 'text' => $lang->program->create, - 'icon' => 'plus', - 'class'=> 'btn primary', - 'url' => createLink('program', 'create') - ))), + $fnGenerateCreateProgramBtns() ); dtable