234 lines
17 KiB
PHP
234 lines
17 KiB
PHP
<?php
|
|
global $config;
|
|
$config->pivot = new stdclass();
|
|
|
|
$config->pivot->maxFeatureItem = 5;
|
|
|
|
$config->pivot->fileType = array('xlsx' => 'xlsx', 'xls' => 'xls', 'html' => 'html', 'mht' => 'mht');
|
|
$config->pivot->realStep = array('1' => '1', '2' => '2', '3' => '4', '4' => '3', '5' => '5');
|
|
|
|
$config->pivot->create = new stdclass();
|
|
$config->pivot->create->requiredFields = 'type,group';
|
|
|
|
$config->pivot->edit = new stdclass();
|
|
$config->pivot->edit->requiredFields = 'type,group';
|
|
|
|
$config->pivot->design = new stdclass();
|
|
$config->pivot->design->requiredFields = 'group';
|
|
|
|
$config->pivot->scopeOptionList = array('user', 'product', 'project', 'execution', 'dept', 'product.status', 'product.type', 'productplan.status', 'project.status', 'project.type', 'project.model', 'project.projectType', 'execution.status', 'execution.type');
|
|
|
|
$config->pivot->multiColumn = array('cluBarX' => 'yaxis', 'cluBarY' => 'yaxis', 'radar' => 'yaxis', 'line' => 'yaxis', 'stackedBar' => 'yaxis', 'stackedBarY' => 'yaxis');
|
|
|
|
$config->pivot->userFields = array('assignedTo', 'createdBy', 'openedBy', 'resolvedBy', 'closedBy', 'finishedBy', 'account', 'user');
|
|
|
|
$config->pivot->checkForm = array();
|
|
$config->pivot->checkForm['line'] = array('cantequal' => 'xaxis,yaxis');
|
|
$config->pivot->checkForm['cluBarX'] = array('cantequal' => 'xaxis,yaxis');
|
|
$config->pivot->checkForm['cluBarY'] = array('cantequal' => 'xaxis,yaxis');
|
|
$config->pivot->checkForm['radar'] = array('cantequal' => 'xaxis,yaxis');
|
|
$config->pivot->checkForm['stackedBar'] = array('cantequal' => 'xaxis,yaxis');
|
|
$config->pivot->checkForm['stackedBarY'] = array('cantequal' => 'xaxis,yaxis');
|
|
global $lang;
|
|
$config->pivot->settings = array();
|
|
$config->pivot->settings['cluBarX'] = array();
|
|
$config->pivot->settings['cluBarX']['xaxis'] = array();
|
|
$config->pivot->settings['cluBarX']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['cluBarX']['yaxis'] = array();
|
|
$config->pivot->settings['cluBarX']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['cluBarX']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['cluBarY'] = array();
|
|
$config->pivot->settings['cluBarY']['xaxis'] = array();
|
|
$config->pivot->settings['cluBarY']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['cluBarY']['yaxis'] = array();
|
|
$config->pivot->settings['cluBarY']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['cluBarY']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['stackedBarY'] = array();
|
|
$config->pivot->settings['stackedBarY']['xaxis'] = array();
|
|
$config->pivot->settings['stackedBarY']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['stackedBarY']['yaxis'] = array();
|
|
$config->pivot->settings['stackedBarY']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['stackedBarY']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['line'] = array();
|
|
$config->pivot->settings['line']['xaxis'] = array();
|
|
$config->pivot->settings['line']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['line']['yaxis'] = array();
|
|
$config->pivot->settings['line']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['line']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['pie'] = array();
|
|
$config->pivot->settings['pie']['group'] = array();
|
|
$config->pivot->settings['pie']['group'][] = array('field' => 'group', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
|
|
$config->pivot->settings['pie']['metric'] = array();
|
|
$config->pivot->settings['pie']['metric'][] = array('field' => 'metric', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
|
|
$config->pivot->settings['pie']['stat'] = array();
|
|
$config->pivot->settings['pie']['stat'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['radar'] = array();
|
|
$config->pivot->settings['radar']['xaxis'] = array();
|
|
$config->pivot->settings['radar']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['radar']['yaxis'] = array();
|
|
$config->pivot->settings['radar']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['radar']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['stackedBar'] = array();
|
|
$config->pivot->settings['stackedBar']['xaxis'] = array();
|
|
$config->pivot->settings['stackedBar']['xaxis'][] = array('field' => 'xaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 4);
|
|
|
|
$config->pivot->settings['stackedBar']['yaxis'] = array();
|
|
$config->pivot->settings['stackedBar']['yaxis'][] = array('field' => 'yaxis', 'type' => 'select', 'options' => 'field', 'required' => true, 'placeholder' => $lang->pivot->chooseField, 'col' => 2);
|
|
$config->pivot->settings['stackedBar']['yaxis'][] = array('field' => 'agg', 'type' => 'select', 'options' => 'aggList', 'required' => false, 'placeholder' => $lang->pivot->aggType, 'col' => 2);
|
|
|
|
$config->pivot->settings['testingReport'] = array('field' => array('type' => 'td'));
|
|
|
|
$config->pivot->transTypes = array();
|
|
$config->pivot->transTypes['int'] = 'number';
|
|
$config->pivot->transTypes['float'] = 'number';
|
|
$config->pivot->transTypes['double'] = 'number';
|
|
$config->pivot->transTypes['datetime'] = 'date';
|
|
$config->pivot->transTypes['date'] = 'date';
|
|
|
|
global $config, $app, $lang;
|
|
$config->pivot->drillObjectFields = array();
|
|
$config->pivot->drillObjectFields['program'] = array('id', 'name', 'status', 'PM', 'budget', 'progress', 'begin', 'end');
|
|
$config->pivot->drillObjectFields['project'] = array('id', 'name', 'status', 'PM', 'model', 'budget', 'progress', 'estimate', 'consumed', 'begin', 'end');
|
|
$config->pivot->drillObjectFields['execution'] = array('id', 'name', 'status', 'PM', 'budget', 'progress', 'estimate', 'consumed', 'begin', 'end');
|
|
$config->pivot->drillObjectFields['product'] = array('id', 'name', 'status', 'PO', 'totalEpics', 'totalRequirements', 'totalStories', 'unresolvedBugs', 'plans', 'releases');
|
|
$config->pivot->drillObjectFields['productplan'] = array('id', 'title', 'status', 'begin', 'end');
|
|
$config->pivot->drillObjectFields['release'] = array('id', 'name', 'status', 'date');
|
|
$config->pivot->drillObjectFields['story'] = array('id', 'title', 'pri', 'status', 'stage', 'estimate', 'openedBy', 'reviewer', 'assignedTo');
|
|
$config->pivot->drillObjectFields['task'] = array('id', 'name', 'pri', 'status', 'type', 'estimate', 'consumed', 'left', 'assignedTo', 'closedReason');
|
|
$config->pivot->drillObjectFields['bug'] = array('id', 'title', 'severity', 'pri', 'status', 'confirmed', 'resolution', 'resolvedBy', 'openedBy', 'assignedTo');
|
|
$config->pivot->drillObjectFields['testcase'] = array('id', 'title', 'lastRunner', 'lastRunResult', 'pri', 'status', 'openedBy', 'reviewedBy');
|
|
$config->pivot->drillObjectFields['doc'] = array('id', 'title', 'addedBy', 'addedDate', 'editedBy', 'editedDate');
|
|
$config->pivot->drillObjectFields['feedback'] = array('id', 'title', 'pri', 'status', 'type', 'assignedTo', 'solution', 'openedBy');
|
|
$config->pivot->drillObjectFields['ticket'] = array('id', 'title', 'pri', 'status', 'type', 'assignedTo', 'openedBy');
|
|
$config->pivot->drillObjectFields['productLine'] = array();
|
|
$config->pivot->drillObjectFields['user'] = array();
|
|
|
|
$app->loadLang('project');
|
|
$app->loadLang('product');
|
|
$app->loadLang('user');
|
|
$app->loadLang('ticket');
|
|
$app->loadLang('release');
|
|
|
|
$config->pivot->objectTableFields = new stdclass();
|
|
$config->pivot->objectTableFields->productLine = array();
|
|
$config->pivot->objectTableFields->productLine['id']['title'] = $lang->idAB;
|
|
$config->pivot->objectTableFields->productLine['id']['type'] = 'id';
|
|
$config->pivot->objectTableFields->productLine['name']['title'] = $lang->product->line;
|
|
$config->pivot->objectTableFields->productLine['name']['type'] = 'title';
|
|
$config->pivot->objectTableFields->productLine['root']['title'] = $lang->product->program;
|
|
$config->pivot->objectTableFields->productLine['root']['type'] = 'title';
|
|
$config->pivot->objectTableFields->productLine['root']['link'] = array('url' => array('module' => 'program', 'method' => 'project', "programID={root}"), 'target' => '_blank');
|
|
|
|
$config->pivot->objectTableFields->project = array();
|
|
$config->pivot->objectTableFields->project['model']['title'] = $lang->project->model;
|
|
$config->pivot->objectTableFields->project['model']['map'] = $lang->project->modelList;
|
|
$config->pivot->objectTableFields->project['model']['width'] = 120;
|
|
$config->pivot->objectTableFields->project['consumed']['type'] = 'number';
|
|
|
|
$config->pivot->objectTableFields->user = array();
|
|
$config->pivot->objectTableFields->user['id']['title'] = $lang->idAB;
|
|
$config->pivot->objectTableFields->user['id']['type'] = 'id';
|
|
$config->pivot->objectTableFields->user['id']['sort'] = false;
|
|
$config->pivot->objectTableFields->user['realname']['title'] = $lang->user->realname;
|
|
$config->pivot->objectTableFields->user['realname']['type'] = 'title';
|
|
$config->pivot->objectTableFields->user['realname']['sort'] = false;
|
|
$config->pivot->objectTableFields->user['account']['title'] = $lang->user->account;
|
|
$config->pivot->objectTableFields->user['gender']['title'] = $lang->user->gender;
|
|
$config->pivot->objectTableFields->user['gender']['map'] = $lang->user->genderList;
|
|
$config->pivot->objectTableFields->user['role']['title'] = $lang->user->role;
|
|
$config->pivot->objectTableFields->user['role']['map'] = $lang->user->roleList;
|
|
|
|
if($config->edition != 'open')
|
|
{
|
|
$config->pivot->objectTableFields->ticket = array();
|
|
$config->pivot->objectTableFields->ticket['id']['name'] = 'id';
|
|
$config->pivot->objectTableFields->ticket['id']['title'] = $lang->idAB;
|
|
$config->pivot->objectTableFields->ticket['id']['type'] = 'id';
|
|
$config->pivot->objectTableFields->ticket['id']['sortType'] = false;
|
|
|
|
$config->pivot->objectTableFields->ticket['title']['name'] = 'title';
|
|
$config->pivot->objectTableFields->ticket['title']['type'] = 'title';
|
|
$config->pivot->objectTableFields->ticket['title']['title'] = $lang->ticket->title;
|
|
$config->pivot->objectTableFields->ticket['title']['link'] = array('module' => 'ticket', 'method' => 'view', 'params' => "ticketID={id}");
|
|
|
|
$config->pivot->objectTableFields->ticket['pri']['name'] = 'pri';
|
|
$config->pivot->objectTableFields->ticket['pri']['type'] = 'pri';
|
|
$config->pivot->objectTableFields->ticket['pri']['title'] = $lang->ticket->pri;
|
|
|
|
$config->pivot->objectTableFields->ticket['status']['name'] = 'status';
|
|
$config->pivot->objectTableFields->ticket['status']['title'] = $lang->ticket->status;
|
|
$config->pivot->objectTableFields->ticket['status']['type'] = 'status';
|
|
$config->pivot->objectTableFields->ticket['status']['statusMap'] = $lang->ticket->statusList;
|
|
$config->pivot->objectTableFields->ticket['status']['sortType'] = false;
|
|
|
|
$config->pivot->objectTableFields->ticket['type']['name'] = 'type';
|
|
$config->pivot->objectTableFields->ticket['type']['title'] = $lang->ticket->type;
|
|
$config->pivot->objectTableFields->ticket['type']['type'] = 'category';
|
|
$config->pivot->objectTableFields->ticket['type']['map'] = $lang->ticket->typeList;
|
|
|
|
$config->pivot->objectTableFields->ticket['assignedTo']['name'] = 'assignedTo';
|
|
$config->pivot->objectTableFields->ticket['assignedTo']['title'] = $lang->ticket->assignedTo;
|
|
$config->pivot->objectTableFields->ticket['assignedTo']['type'] = 'user';
|
|
$config->pivot->objectTableFields->ticket['assignedTo']['sortType'] = false;
|
|
|
|
$config->pivot->objectTableFields->ticket['estimate']['title'] = $lang->ticket->estimate;
|
|
$config->pivot->objectTableFields->ticket['estimate']['type'] = 'number';
|
|
|
|
$config->pivot->objectTableFields->ticket['openedBy']['name'] = 'openedBy';
|
|
$config->pivot->objectTableFields->ticket['openedBy']['title'] = $lang->ticket->openedBy;
|
|
$config->pivot->objectTableFields->ticket['openedBy']['type'] = 'user';
|
|
$config->pivot->objectTableFields->ticket['openedBy']['sortType'] = false;
|
|
}
|
|
|
|
$config->pivot->objectTableFields->story = array();
|
|
$config->pivot->objectTableFields->story['title']['title'] = $lang->pivot->drill->storyName;
|
|
$config->pivot->objectTableFields->story['title']['link'] = array('url' => helper::createLink('{type}', 'view', 'storyID={id}'), 'target' => '_blank');
|
|
$config->pivot->objectTableFields->story['reviewer']['name'] = 'reviewedBy';
|
|
$config->pivot->objectTableFields->story['reviewer']['type'] = 'user';
|
|
|
|
$config->pivot->objectTableFields->testcase = array();
|
|
$config->pivot->objectTableFields->testcase['id']['name'] = 'id';
|
|
$config->pivot->objectTableFields->testcase['title']['link'] = array('module' => 'testcase', 'method' => 'view', 'params' => "caseID={id}", 'target' => '_blank');
|
|
|
|
$config->pivot->objectTableFields->release = array();
|
|
$config->pivot->objectTableFields->release['stories']['name'] = 'stories';
|
|
$config->pivot->objectTableFields->release['stories']['title'] = $lang->pivot->drill->releaseStories;
|
|
$config->pivot->objectTableFields->release['bugs']['name'] = 'bugs';
|
|
$config->pivot->objectTableFields->release['bugs']['title'] = $lang->release->bugs;
|
|
$config->pivot->objectTableFields->release['leftBugs']['name'] = 'leftBugs';
|
|
$config->pivot->objectTableFields->release['leftBugs']['title'] = $lang->release->leftBugs;
|
|
|
|
$config->pivot->objectTableFields->product = array();
|
|
$config->pivot->objectTableFields->product['id']['name'] = 'id';
|
|
$config->pivot->objectTableFields->product['id']['title'] = $lang->idAB;
|
|
$config->pivot->objectTableFields->product['id']['type'] = 'id';
|
|
$config->pivot->objectTableFields->product['unresolvedBugs']['title'] = $lang->pivot->drill->activatedBug;
|
|
$config->pivot->objectTableFields->product['plans']['title'] = $lang->product->plans;
|
|
$config->pivot->objectTableFields->product['releases']['title'] = $lang->product->releases;
|
|
$config->pivot->objectTableFields->product['status']['name'] = 'status';
|
|
$config->pivot->objectTableFields->product['status']['title'] = $lang->statusAB;
|
|
$config->pivot->objectTableFields->product['status']['type'] = 'status';
|
|
$config->pivot->objectTableFields->product['status']['statusMap'] = $lang->product->statusList;
|
|
|
|
$config->pivot->objectTableFields->product['totalEpics']['width'] = 100;
|
|
$config->pivot->objectTableFields->product['totalRequirements']['width'] = 100;
|
|
$config->pivot->objectTableFields->product['totalStories']['width'] = 100;
|
|
$config->pivot->objectTableFields->product['unresolvedBugs']['width'] = 100;
|
|
|
|
$config->pivot->userTypeCols = array('assignedTo', 'openedBy', 'closedBy', 'resolvedBy', 'finishedBy', 'reviewer', 'reviewedBy', 'createdBy', 'editedBy', 'lastEditedBy', 'lastRunner', 'addedBy', 'modifiedBy', 'deletedBy', 'confirmedBy', 'PO', 'PM', 'account', 'user');
|
|
$config->pivot->nameTypeCols = array('title', 'name');
|
|
$config->pivot->reuseDtableFields = array('name', 'title', 'type', 'width', 'sortType', 'checkbox', 'link', 'map', 'statusMap');
|