From db9961bf29a0bf950e53ebb601de04e43b14978c Mon Sep 17 00:00:00 2001 From: daitingting Date: Tue, 13 Jun 2023 07:04:18 +0000 Subject: [PATCH] * Set custom cols for bug in dashboard. --- module/datatable/config.php | 15 +-- module/my/config.php | 37 ------ module/my/config/table.php | 226 ------------------------------------ module/my/control.php | 2 +- module/my/model.php | 1 - module/my/ui/bug.html.php | 23 ++-- 6 files changed, 21 insertions(+), 283 deletions(-) diff --git a/module/datatable/config.php b/module/datatable/config.php index 21a146d44c..1929f2601a 100644 --- a/module/datatable/config.php +++ b/module/datatable/config.php @@ -1,11 +1,12 @@ datatable->moduleAlias['product-browse'] = 'story'; -$config->datatable->moduleAlias['execution-story'] = 'story'; -$config->datatable->moduleAlias['execution-task'] = 'task'; -$config->datatable->moduleAlias['testtask-cases'] = 'testcase'; -$config->datatable->moduleAlias['program-project'] = 'project'; -$config->datatable->moduleAlias['project-bug'] = 'bug'; -$config->datatable->moduleAlias['execution-bug'] = 'bug'; +$config->datatable->moduleAlias['product-browse'] = 'story'; +$config->datatable->moduleAlias['execution-story'] = 'story'; +$config->datatable->moduleAlias['execution-task'] = 'task'; +$config->datatable->moduleAlias['testtask-cases'] = 'testcase'; +$config->datatable->moduleAlias['program-project'] = 'project'; +$config->datatable->moduleAlias['project-bug'] = 'bug'; +$config->datatable->moduleAlias['execution-bug'] = 'bug'; +$config->datatable->moduleAlias['my-bug'] = 'bug'; $config->datatable->noProductModule = ',review,'; diff --git a/module/my/config.php b/module/my/config.php index e63e3a8e1f..65179ec54a 100644 --- a/module/my/config.php +++ b/module/my/config.php @@ -68,40 +68,3 @@ $config->my->project->actionList['whitelist']['url'] = helper::createLink('proj $config->my->project->actionList['delete']['icon'] = 'trash'; $config->my->project->actionList['delete']['hint'] = $lang->project->delete; $config->my->project->actionList['delete']['url'] = helper::createLink('project', 'delete', 'projectID={id}'); - -$app->loadLang('bug'); -$config->my->bug = new stdclass(); -$config->my->bug->actionList = array(); -$config->my->bug->actionList['confirm']['icon'] = 'ok'; -$config->my->bug->actionList['confirm']['text'] = $lang->bug->abbr->confirmed; -$config->my->bug->actionList['confirm']['hint'] = $lang->bug->abbr->confirmed; -$config->my->bug->actionList['confirm']['url'] = helper::createLink('bug', 'confirm',"bugID={id}"); -$config->my->bug->actionList['confirm']['data-toggle'] = 'modal'; - -$config->my->bug->actionList['resolve']['icon'] = 'checked'; -$config->my->bug->actionList['resolve']['text'] = $lang->bug->resolve; -$config->my->bug->actionList['resolve']['hint'] = $lang->bug->resolve; -$config->my->bug->actionList['resolve']['url'] = helper::createLink('bug', 'resolve',"bugID={id}"); -$config->my->bug->actionList['resolve']['data-toggle'] = 'modal'; - -$config->my->bug->actionList['close']['icon'] = 'off'; -$config->my->bug->actionList['close']['text'] = $lang->bug->close; -$config->my->bug->actionList['close']['hint'] = $lang->bug->close; -$config->my->bug->actionList['close']['url'] = helper::createLink('bug', 'close',"bugID={id}"); -$config->my->bug->actionList['close']['data-toggle'] = 'modal'; - -$config->my->bug->actionList['activate']['icon'] = 'magic'; -$config->my->bug->actionList['activate']['text'] = $lang->bug->activate; -$config->my->bug->actionList['activate']['hint'] = $lang->bug->activate; -$config->my->bug->actionList['activate']['url'] = helper::createLink('bug', 'activate',"bugID={id}"); -$config->my->bug->actionList['activate']['data-toggle'] = 'modal'; - -$config->my->bug->actionList['edit']['icon'] = 'edit'; -$config->my->bug->actionList['edit']['text'] = $lang->bug->edit; -$config->my->bug->actionList['edit']['hint'] = $lang->bug->edit; -$config->my->bug->actionList['edit']['url'] = helper::createLink('bug', 'edit',"bugID={id}"); - -$config->my->bug->actionList['copy']['icon'] = 'copy'; -$config->my->bug->actionList['copy']['text'] = $lang->bug->copy; -$config->my->bug->actionList['copy']['hint'] = $lang->bug->copy; -$config->my->bug->actionList['copy']['url'] = helper::createLink('bug', 'create',"productID={product}&branch={branch}&extra=bugID={id}"); diff --git a/module/my/config/table.php b/module/my/config/table.php index 05ccd09e8d..d294b34ef0 100644 --- a/module/my/config/table.php +++ b/module/my/config/table.php @@ -797,232 +797,6 @@ $config->my->execution->dtable->fieldList['subStatus']['type'] = 'text'; $config->my->execution->dtable->fieldList['subStatus']['group'] = '5'; $config->my->execution->dtable->fieldList['subStatus']['hidden'] = true; -$config->my->bug->dtable = new stdclass(); -$config->my->bug->dtable->fieldList['id']['name'] = 'id'; -$config->my->bug->dtable->fieldList['id']['title'] = $lang->idAB; -$config->my->bug->dtable->fieldList['id']['type'] = 'checkID'; -$config->my->bug->dtable->fieldList['id']['group'] = 'left'; - -$config->my->bug->dtable->fieldList['title']['name'] = 'title'; -$config->my->bug->dtable->fieldList['title']['title'] = $lang->bug->title; -$config->my->bug->dtable->fieldList['title']['type'] = 'title'; -$config->my->bug->dtable->fieldList['title']['minWidth'] = '200'; -$config->my->bug->dtable->fieldList['title']['fixed'] = 'left'; -$config->my->bug->dtable->fieldList['title']['link'] = array('module' => 'bug', 'method' => 'view', 'params' => 'bugID={id}'); -$config->my->bug->dtable->fieldList['title']['group'] = 'left'; - -$config->my->bug->dtable->fieldList['severity']['name'] = 'severity'; -$config->my->bug->dtable->fieldList['severity']['title'] = $lang->bug->severity; -$config->my->bug->dtable->fieldList['severity']['type'] = 'severity'; -$config->my->bug->dtable->fieldList['severity']['group'] = '2'; - -$config->my->bug->dtable->fieldList['pri']['name'] = 'pri'; -$config->my->bug->dtable->fieldList['pri']['title'] = $lang->bug->pri; -$config->my->bug->dtable->fieldList['pri']['type'] = 'pri'; -$config->my->bug->dtable->fieldList['pri']['group'] = '2'; - -$config->my->bug->dtable->fieldList['status']['name'] = 'status'; -$config->my->bug->dtable->fieldList['status']['title'] = $lang->bug->abbr->status; -$config->my->bug->dtable->fieldList['status']['type'] = 'status'; -$config->my->bug->dtable->fieldList['status']['statusMap'] = $lang->bug->statusList; -$config->my->bug->dtable->fieldList['status']['group'] = '2'; - -$config->my->bug->dtable->fieldList['type']['name'] = 'type'; -$config->my->bug->dtable->fieldList['type']['title'] = $lang->bug->type; -$config->my->bug->dtable->fieldList['type']['type'] = 'category'; -$config->my->bug->dtable->fieldList['type']['map'] = $lang->bug->typeList; -$config->my->bug->dtable->fieldList['type']['group'] = '2'; -$config->my->bug->dtable->fieldList['type']['hidden'] = true; - -$config->my->bug->dtable->fieldList['product']['name'] = 'productName'; -$config->my->bug->dtable->fieldList['product']['title'] = $lang->bug->product; -$config->my->bug->dtable->fieldList['product']['type'] = 'text'; -$config->my->bug->dtable->fieldList['product']['group'] = '3'; - -$config->my->bug->dtable->fieldList['project']['name'] = 'project'; -$config->my->bug->dtable->fieldList['project']['title'] = $lang->bug->project; -$config->my->bug->dtable->fieldList['project']['type'] = 'text'; -$config->my->bug->dtable->fieldList['project']['group'] = '3'; -$config->my->bug->dtable->fieldList['project']['hidden'] = true; - -$config->my->bug->dtable->fieldList['execution']['name'] = 'execution'; -$config->my->bug->dtable->fieldList['execution']['title'] = $lang->bug->execution; -$config->my->bug->dtable->fieldList['execution']['type'] = 'text'; -$config->my->bug->dtable->fieldList['execution']['group'] = '3'; -$config->my->bug->dtable->fieldList['execution']['hidden'] = true; - -$config->my->bug->dtable->fieldList['plan']['name'] = 'plan'; -$config->my->bug->dtable->fieldList['plan']['title'] = $lang->bug->plan; -$config->my->bug->dtable->fieldList['plan']['width'] = 120; -$config->my->bug->dtable->fieldList['plan']['group'] = '3'; -$config->my->bug->dtable->fieldList['plan']['hidden'] = true; - -$config->my->bug->dtable->fieldList['openedBuild']['name'] = 'openedBuild'; -$config->my->bug->dtable->fieldList['openedBuild']['title'] = $lang->bug->openedBuild; -$config->my->bug->dtable->fieldList['openedBuild']['type'] = 'text'; -$config->my->bug->dtable->fieldList['openedBuild']['group'] = '3'; -$config->my->bug->dtable->fieldList['openedBuild']['hidden'] = true; - -$config->my->bug->dtable->fieldList['openedBy']['name'] = 'openedBy'; -$config->my->bug->dtable->fieldList['openedBy']['title'] = $lang->bug->abbr->openedBy; -$config->my->bug->dtable->fieldList['openedBy']['type'] = 'user'; -$config->my->bug->dtable->fieldList['openedBy']['group'] = '4'; - -$config->my->bug->dtable->fieldList['openedDate']['name'] = 'openedDate'; -$config->my->bug->dtable->fieldList['openedDate']['title'] = $lang->bug->abbr->openedDate; -$config->my->bug->dtable->fieldList['openedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['openedDate']['group'] = '4'; - -$config->my->bug->dtable->fieldList['confirmed']['name'] = 'confirmed'; -$config->my->bug->dtable->fieldList['confirmed']['title'] = $lang->bug->confirmed; -$config->my->bug->dtable->fieldList['confirmed']['type'] = 'category'; -$config->my->bug->dtable->fieldList['confirmed']['map'] = $lang->bug->confirmedList; -$config->my->bug->dtable->fieldList['confirmed']['group'] = '5'; - -$config->my->bug->dtable->fieldList['assignedTo']['name'] = 'assignedTo'; -$config->my->bug->dtable->fieldList['assignedTo']['title'] = $lang->bug->assignedTo; -$config->my->bug->dtable->fieldList['assignedTo']['type'] = 'assign'; -$config->my->bug->dtable->fieldList['assignedTo']['assignLink'] = array('module' => 'bug', 'method' => 'assignTo', 'params' => 'bugID={id}'); -$config->my->bug->dtable->fieldList['assignedTo']['group'] = '5'; - -$config->my->bug->dtable->fieldList['assignedDate']['name'] = 'assignedDate'; -$config->my->bug->dtable->fieldList['assignedDate']['title'] = $lang->bug->assignedDate; -$config->my->bug->dtable->fieldList['assignedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['assignedDate']['group'] = '5'; -$config->my->bug->dtable->fieldList['assignedDate']['hidden'] = true; - -$config->my->bug->dtable->fieldList['deadline']['name'] = 'deadline'; -$config->my->bug->dtable->fieldList['deadline']['title'] = $lang->bug->deadline; -$config->my->bug->dtable->fieldList['deadline']['type'] = 'date'; -$config->my->bug->dtable->fieldList['deadline']['group'] = '5'; -$config->my->bug->dtable->fieldList['deadline']['hidden'] = true; - -$config->my->bug->dtable->fieldList['resolvedBy']['name'] = 'resolvedBy'; -$config->my->bug->dtable->fieldList['resolvedBy']['title'] = $lang->bug->resolvedBy; -$config->my->bug->dtable->fieldList['resolvedBy']['type'] = 'user'; -$config->my->bug->dtable->fieldList['resolvedBy']['group'] = '6'; -$config->my->bug->dtable->fieldList['resolvedBy']['hidden'] = true; - -$config->my->bug->dtable->fieldList['resolution']['name'] = 'resolution'; -$config->my->bug->dtable->fieldList['resolution']['title'] = $lang->bug->resolution; -$config->my->bug->dtable->fieldList['resolution']['type'] = 'category'; -$config->my->bug->dtable->fieldList['resolution']['map'] = $lang->bug->resolutionList; -$config->my->bug->dtable->fieldList['resolution']['group'] = '6'; - -$config->my->bug->dtable->fieldList['toTask']['name'] = 'toTaskName'; -$config->my->bug->dtable->fieldList['toTask']['title'] = $lang->bug->toTask; -$config->my->bug->dtable->fieldList['toTask']['type'] = 'text'; -$config->my->bug->dtable->fieldList['toTask']['link'] = array('module' => 'task', 'method' => 'view', 'params' => 'taskID={toTask}'); -$config->my->bug->dtable->fieldList['toTask']['group'] = '6'; -$config->my->bug->dtable->fieldList['toTask']['hidden'] = true; - -$config->my->bug->dtable->fieldList['resolvedDate']['name'] = 'assignedDate'; -$config->my->bug->dtable->fieldList['resolvedDate']['title'] = $lang->bug->abbr->resolvedDate; -$config->my->bug->dtable->fieldList['resolvedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['resolvedDate']['group'] = '6'; -$config->my->bug->dtable->fieldList['resolvedDate']['hidden'] = true; - -$config->my->bug->dtable->fieldList['resolvedBuild']['name'] = 'resolvedBuild'; -$config->my->bug->dtable->fieldList['resolvedBuild']['title'] = $lang->bug->resolvedBuild; -$config->my->bug->dtable->fieldList['resolvedBuild']['type'] = 'text'; -$config->my->bug->dtable->fieldList['resolvedBuild']['group'] = '6'; -$config->my->bug->dtable->fieldList['resolvedBuild']['hidden'] = true; - -$config->my->bug->dtable->fieldList['os']['name'] = 'os'; -$config->my->bug->dtable->fieldList['os']['title'] = $lang->bug->os; -$config->my->bug->dtable->fieldList['os']['type'] = 'category'; -$config->my->bug->dtable->fieldList['os']['map'] = $lang->bug->osList; -$config->my->bug->dtable->fieldList['os']['group'] = '7'; -$config->my->bug->dtable->fieldList['os']['hidden'] = true; - -$config->my->bug->dtable->fieldList['browser']['name'] = 'browser'; -$config->my->bug->dtable->fieldList['browser']['title'] = $lang->bug->browser; -$config->my->bug->dtable->fieldList['browser']['type'] = 'category'; -$config->my->bug->dtable->fieldList['browser']['map'] = $lang->bug->browserList; -$config->my->bug->dtable->fieldList['browser']['group'] = '7'; -$config->my->bug->dtable->fieldList['browser']['hidden'] = true; - -$config->my->bug->dtable->fieldList['activatedCount']['name'] = 'activatedCount'; -$config->my->bug->dtable->fieldList['activatedCount']['title'] = $lang->bug->abbr->activatedCount; -$config->my->bug->dtable->fieldList['activatedCount']['type'] = 'count'; -$config->my->bug->dtable->fieldList['activatedCount']['group'] = '8'; -$config->my->bug->dtable->fieldList['activatedCount']['hidden'] = true; - -$config->my->bug->dtable->fieldList['activatedDate']['name'] = 'activatedDate'; -$config->my->bug->dtable->fieldList['activatedDate']['title'] = $lang->bug->activatedDate; -$config->my->bug->dtable->fieldList['activatedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['activatedDate']['group'] = '8'; -$config->my->bug->dtable->fieldList['activatedDate']['hidden'] = true; - -$config->my->bug->dtable->fieldList['story']['name'] = 'storyName'; -$config->my->bug->dtable->fieldList['story']['title'] = $lang->bug->story; -$config->my->bug->dtable->fieldList['story']['type'] = 'text'; -$config->my->bug->dtable->fieldList['story']['link'] = array('module' => 'story', 'method' => 'view', 'params' => 'storyID={story}'); -$config->my->bug->dtable->fieldList['story']['group'] = '8'; -$config->my->bug->dtable->fieldList['story']['hidden'] = true; - -$config->my->bug->dtable->fieldList['task']['name'] = 'taskName'; -$config->my->bug->dtable->fieldList['task']['title'] = $lang->bug->task; -$config->my->bug->dtable->fieldList['task']['type'] = 'text'; -$config->my->bug->dtable->fieldList['task']['link'] = array('module' => 'task', 'method' => 'view', 'params' => 'taskID={task}'); -$config->my->bug->dtable->fieldList['task']['group'] = '8'; -$config->my->bug->dtable->fieldList['task']['hidden'] = true; - -$config->my->bug->dtable->fieldList['mailto']['name'] = 'mailto'; -$config->my->bug->dtable->fieldList['mailto']['title'] = $lang->bug->mailto; -$config->my->bug->dtable->fieldList['mailto']['type'] = 'user'; -$config->my->bug->dtable->fieldList['mailto']['group'] = '9'; -$config->my->bug->dtable->fieldList['mailto']['hidden'] = true; - -$config->my->bug->dtable->fieldList['keywords']['name'] = 'keywords'; -$config->my->bug->dtable->fieldList['keywords']['title'] = $lang->bug->keywords; -$config->my->bug->dtable->fieldList['keywords']['type'] = 'text'; -$config->my->bug->dtable->fieldList['keywords']['group'] = '9'; -$config->my->bug->dtable->fieldList['keywords']['hidden'] = true; - -$config->my->bug->dtable->fieldList['lastEditedBy']['name'] = 'lastEditedBy'; -$config->my->bug->dtable->fieldList['lastEditedBy']['title'] = $lang->bug->lastEditedBy; -$config->my->bug->dtable->fieldList['lastEditedBy']['type'] = 'user'; -$config->my->bug->dtable->fieldList['lastEditedBy']['group'] = '10'; -$config->my->bug->dtable->fieldList['lastEditedBy']['hidden'] = true; - -$config->my->bug->dtable->fieldList['lastEditedDate']['name'] = 'lastEditedDate'; -$config->my->bug->dtable->fieldList['lastEditedDate']['title'] = $lang->bug->abbr->lastEditedDate; -$config->my->bug->dtable->fieldList['lastEditedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['lastEditedDate']['group'] = '10'; -$config->my->bug->dtable->fieldList['lastEditedDate']['hidden'] = true; - -$config->my->bug->dtable->fieldList['closedBy']['name'] = 'closedBy'; -$config->my->bug->dtable->fieldList['closedBy']['title'] = $lang->bug->closedBy; -$config->my->bug->dtable->fieldList['closedBy']['type'] = 'user'; -$config->my->bug->dtable->fieldList['closedBy']['group'] = '10'; -$config->my->bug->dtable->fieldList['closedBy']['hidden'] = true; - -$config->my->bug->dtable->fieldList['closedDate']['name'] = 'closedDate'; -$config->my->bug->dtable->fieldList['closedDate']['title'] = $lang->bug->closedDate; -$config->my->bug->dtable->fieldList['closedDate']['type'] = 'date'; -$config->my->bug->dtable->fieldList['closedDate']['group'] = '10'; -$config->my->bug->dtable->fieldList['closedDate']['hidden'] = true; - -$config->my->bug->dtable->fieldList['module']['name'] = 'module'; -$config->my->bug->dtable->fieldList['module']['title'] = $lang->bug->module; -$config->my->bug->dtable->fieldList['module']['type'] = 'text'; -$config->my->bug->dtable->fieldList['module']['hidden'] = true; - -$config->my->bug->dtable->fieldList['branch']['name'] = 'branch'; -$config->my->bug->dtable->fieldList['branch']['title'] = $lang->bug->branch; -$config->my->bug->dtable->fieldList['branch']['type'] = 'text'; -$config->my->bug->dtable->fieldList['branch']['hidden'] = true; - -$config->my->bug->dtable->fieldList['actions']['name'] = 'actions'; -$config->my->bug->dtable->fieldList['actions']['title'] = $lang->actions; -$config->my->bug->dtable->fieldList['actions']['type'] = 'actions'; -$config->my->bug->dtable->fieldList['actions']['width'] = '140'; -$config->my->bug->dtable->fieldList['actions']['sortType'] = false; -$config->my->bug->dtable->fieldList['actions']['fixed'] = 'right'; -$config->my->bug->dtable->fieldList['actions']['list'] = $config->my->bug->actionList; -$config->my->bug->dtable->fieldList['actions']['menu'] = array('confirm', 'resolve', 'close|activate', 'edit', 'copy'); - $config->my->doc = new stdclass(); $config->my->doc->actionList = array(); $config->my->doc->actionList['edit']['icon'] = 'edit'; diff --git a/module/my/control.php b/module/my/control.php index 95a9e1e590..b756c130fe 100755 --- a/module/my/control.php +++ b/module/my/control.php @@ -567,7 +567,7 @@ EOF; } else { - $bugs = $this->loadModel('bug')->getUserBugs($this->app->user->account, $type, $sort, 0, $pager, 0, $queryID); + $bugs = $this->bug->getUserBugs($this->app->user->account, $type, $sort, 0, $pager, 0, $queryID); } $bugs = $this->bug->batchAppendDelayedDays($bugs); diff --git a/module/my/model.php b/module/my/model.php index 9fed6f7521..89f087c991 100644 --- a/module/my/model.php +++ b/module/my/model.php @@ -641,7 +641,6 @@ class myModel extends model { $rawMethod = $this->app->rawMethod; $this->loadModel('bug'); - $this->app->loadConfig('bug'); $products = $this->loadModel('product')->getPairs('', 0, '', 'all'); diff --git a/module/my/ui/bug.html.php b/module/my/ui/bug.html.php index 633b210bf9..20387ccd75 100644 --- a/module/my/ui/bug.html.php +++ b/module/my/ui/bug.html.php @@ -31,23 +31,20 @@ $canBatchClose = common::hasPriv('bug', 'batchClose') && strtolower($type) $canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo'); $canBatchAction = $canBatchEdit || $canBatchConfirm || $canBatchClose || $canBatchAssignTo; -if($type == 'openedBy') unset($config->my->bug->dtable->fieldList['openedBy']); -if($type == 'assignedTo') unset($config->my->bug->dtable->fieldList['assignedTo']); -if($type == 'resolvedBy') unset($config->my->bug->dtable->fieldList['resolvedBy']); -if($app->rawMethod != 'work') unset($config->my->bug->dtable->fieldList['deadline']); -if(!$canBatchAction) $config->my->bug->dtable->fieldList['id']['type'] = 'id'; +if($type == 'openedBy') unset($config->bug->dtable->fieldList['openedBy']); +if($type == 'assignedTo') unset($config->bug->dtable->fieldList['assignedTo']); +if($type == 'resolvedBy') unset($config->bug->dtable->fieldList['resolvedBy']); +if($app->rawMethod != 'work') unset($config->bug->dtable->fieldList['deadline']); +if(!$canBatchAction) $config->bug->dtable->fieldList['id']['type'] = 'id'; $projectBrowseLink = createLink('project', 'browse'); $productLink = explode('-', $config->productLink); $param = $config->productLink == 'product-all' ? '' : "productID={product}"; $productBrowseLink = createLink('product', $productLink[1], $param); -$config->my->bug->dtable->fieldList['product']['link'] = 'RAWJSRAWJS'; +$config->bug->dtable->fieldList['product']['link'] = 'RAWJSRAWJS'; foreach($bugs as $bug) $bug->canBeChanged = common::canBeChanged('bug', $bug); -$bugs = initTableData($bugs, $config->my->bug->dtable->fieldList, $this->bug); -$bugs = array_values($bugs); - $footToolbar = $canBatchAction ? array('items' => array ( array('text' => $lang->edit, 'className' => 'batch-btn ' . ($canBatchEdit ? '' : 'hidden'), 'data-url' => createLink('bug', 'batchEdit')), @@ -69,10 +66,14 @@ menu set::items($assignedToItems) ); +$cols = $this->loadModel('datatable')->getSetting('my'); +$bugs = initTableData($bugs, $cols, $this->bug); + dtable ( - set::cols($config->my->bug->dtable->fieldList), - set::data($bugs), + set::cols($cols), + set::data(array_values($bugs)), + set::customCols(array('url' => createLink('datatable', 'ajaxcustom', "module=my&method=bug"), 'hint' => $app->lang->datatable->custom)), set::userMap($users), set::onRenderCell(jsRaw('window.onRenderBugNameCell')), set::checkable($canBatchAction),