diff --git a/module/common/lang/menu.php b/module/common/lang/menu.php index 04ab7a34d0..755a609abf 100644 --- a/module/common/lang/menu.php +++ b/module/common/lang/menu.php @@ -534,13 +534,13 @@ $lang->admin->menu->dev['menuOrder'][10] = 'db'; $lang->admin->menu->dev['menuOrder'][15] = 'editor'; $lang->admin->menu->dev['menuOrder'][20] = 'entry'; -$lang->admin->menu->system['subMenu'] = new stdclass(); -$lang->admin->menu->system['subMenu']->data = array('link' => "{$lang->admin->data}|backup|index", 'subModule' => 'action'); -$lang->admin->menu->system['subMenu']->safe = array('link' => "$lang->security|admin|safe", 'alias' => 'checkweak'); -$lang->admin->menu->system['subMenu']->cron = array('link' => "{$lang->admin->cron}|cron|index", 'subModule' => 'cron'); -$lang->admin->menu->system['subMenu']->timezone = array('link' => "$lang->timezone|custom|timezone"); -$lang->admin->menu->system['subMenu']->buildIndex = array('link' => "{$lang->admin->buildIndex}|search|buildindex|"); -$lang->admin->menu->system['subMenu']->jira = array('link' => "{$lang->convert->importJira}|convert|jira|", 'subModule' => 'convert'); +$lang->admin->menu->system['subMenu'] = new stdclass(); +$lang->admin->menu->system['subMenu']->data = array('link' => "{$lang->admin->data}|backup|index", 'subModule' => 'action'); +$lang->admin->menu->system['subMenu']->safe = array('link' => "$lang->security|admin|safe", 'alias' => 'checkweak'); +$lang->admin->menu->system['subMenu']->cron = array('link' => "{$lang->admin->cron}|cron|index", 'subModule' => 'cron'); +$lang->admin->menu->system['subMenu']->timezone = array('link' => "$lang->timezone|custom|timezone"); +$lang->admin->menu->system['subMenu']->buildIndex = array('link' => "{$lang->admin->buildIndex}|search|buildindex|"); +$lang->admin->menu->system['subMenu']->convertJira = array('link' => "{$lang->convert->importJira}|convert|convertjira|", 'subModule' => 'convert'); $lang->admin->dividerMenu = ',company,message,system,'; diff --git a/module/convert/config.php b/module/convert/config.php index 9c5aff8f35..cf47ac451f 100644 --- a/module/convert/config.php +++ b/module/convert/config.php @@ -8,7 +8,7 @@ define('JIRA_ISSUELINK', '`issuelink`'); define('JIRA_ISSUELINKTYPE', '`issuelinktype`'); define('JIRA_ISSUESTATUS', '`issuestatus`'); define('JIRA_RESOLUTION', '`resolution`'); -define('JIRA_PROJECTVERSION', '`projectversion`'); +define('JIRA_BUILD', '`projectversion`'); define('JIRA_NODEASSOCIATION', '`nodeassociation`'); define('JIRA_FILEATTACHMENT', '`fileattachment`'); define('JIRA_TMPRELATION', '`jiratmprelation`'); diff --git a/module/convert/control.php b/module/convert/control.php index cdf3fd6792..0db409d0fa 100644 --- a/module/convert/control.php +++ b/module/convert/control.php @@ -254,7 +254,7 @@ class convert extends control * @access public * @return void */ - public function jira() + public function convertJira() { $this->view->title = $this->lang->convert->jira->method; $this->display(); diff --git a/module/convert/model.php b/module/convert/model.php index 1621664b24..9c70dc054a 100644 --- a/module/convert/model.php +++ b/module/convert/model.php @@ -94,6 +94,53 @@ class convertModel extends model $this->session->set('state', $state); } + /** + * Get jira data. + * + * @param int $module + * @access public + * @return void + */ + public function getJiraData($module = '', $lastID = 0, $limit = 0) + { + $dataList = array(); + if($module == 'user') + { + $dataList = $this->dao->dbh($this->sourceDBH)->select('t1.`ID`, t1.`lower_user_name` as account, t1.`lower_display_name` as realname, t1.`lower_email_address` as email, t1.created_date as `join`, t2.user_key as userCode')->from(JIRA_USERINFO)->alias('t1') + ->leftJoin(JIRA_USER)->alias('t2')->on('t1.`lower_user_name` = t2.`lower_user_name`') + ->where(1) + ->beginIF($lastID)->andWhere('t1.ID')->gt($lastID)->fi() + ->orderBy('t1.ID asc')->limit($limit) + ->fetchAll('ID'); + } + elseif($module == 'project') + { + $dataList = $this->dao->dbh($this->sourceDBH)->select('*')->from(JIRA_PROJECT) + ->where(1) + ->beginIF($lastID)->andWhere('ID')->gt($lastID)->fi() + ->orderBy('ID asc')->limit($limit) + ->fetchAll('ID'); + } + elseif($module == 'issue') + { + $dataList = $this->dao->dbh($this->sourceDBH)->select('*')->from(JIRA_ISSUE) + ->where(1) + ->beginIF($lastID)->andWhere('ID')->gt($lastID)->fi() + ->orderBy('ID asc')->limit($limit) + ->fetchAll('ID'); + } + elseif($module == 'build') + { + $dataList = $this->dao->dbh($this->sourceDBH)->select('*')->from(JIRA_BUILD) + ->where(1) + ->beginIF($lastID)->andWhere('ID')->gt($lastID)->fi() + ->orderBy('ID asc')->limit($limit) + ->fetchAll('ID'); + } + + return $dataList; + } + /** * Import jira from db. * @@ -130,6 +177,7 @@ class convertModel extends model if($module == 'user') $this->importJiraUser($dataList); if($module == 'project') $this->importJiraProject($dataList); if($module == 'issue') $this->importJiraIssue($dataList); + if($module == 'build') $this->importJiraBuild($dataList); return array('type' => $module, 'count' => count($dataList), 'lastID' => max(array_keys($dataList))); } @@ -139,45 +187,6 @@ class convertModel extends model return array('finished' => true); } - /** - * Get jira data. - * - * @param int $module - * @access public - * @return void - */ - public function getJiraData($module = '', $lastID = 0, $limit = 0) - { - $dataList = array(); - if($module == 'user') - { - $dataList = $this->dao->dbh($this->sourceDBH)->select('t1.`ID`, t1.`lower_user_name` as account, t1.`lower_display_name` as realname, t1.`lower_email_address` as email, t1.created_date as `join`, t2.user_key as userCode')->from(JIRA_USERINFO)->alias('t1') - ->leftJoin(JIRA_USER)->alias('t2')->on('t1.`lower_user_name` = t2.`lower_user_name`') - ->where(1) - ->beginIF($lastID)->andWhere('t1.ID')->gt($lastID)->fi() - ->orderBy('t1.ID asc')->limit($limit) - ->fetchAll('ID'); - } - elseif($module == 'project') - { - $dataList = $this->dao->dbh($this->sourceDBH)->select('*')->from(JIRA_PROJECT) - ->where(1) - ->beginIF($lastID)->andWhere('ID')->gt($lastID)->fi() - ->orderBy('ID asc')->limit($limit) - ->fetchAll('ID'); - } - elseif($module == 'issue') - { - $dataList = $this->dao->dbh($this->sourceDBH)->select('*')->from(JIRA_ISSUE) - ->where(1) - ->beginIF($lastID)->andWhere('ID')->gt($lastID)->fi() - ->orderBy('ID asc')->limit($limit) - ->fetchAll('ID'); - } - - return $dataList; - } - public function importJiraUser($dataList) { $localUsers = $this->dao->dbh($this->dbh)->select('account')->from(TABLE_USER)->where('deleted')->eq('0')->fetchPairs(); @@ -539,21 +548,21 @@ class convertModel extends model } } + public function importJiraBuild($dataList) + { + } + public function convertStatus($objectType, $jiraStatus) { - $relations = $this->session->jiraRelation; - $status = 'active'; if($objectType == 'task') $status = 'wait'; + $relations = $this->session->jiraRelation; - $arrayKey = "{$objectType}Status"; - foreach($relations['jiraStatus'] as $id => $jiraCode) - { - if($jiraCode == $jiraStatus) - { - if(!empty($relations[$arrayKey][$id])) $status = $relations[$arrayKey][$id]; - } - } + $arrayKey = "{$objectType}Status"; + $jiraStatusList = array_flip($relations['jiraStatus']); + $statusID = $jiraStatusList[$jiraStatus]; + + if(!empty($relations[$arrayKey][$statusID])) $status = $relations[$arrayKey][$statusID]; return $status; } @@ -563,13 +572,10 @@ class convertModel extends model $stage = 'wait'; $relations = $this->session->jiraRelation; - foreach($relations['jiraStatus'] as $id => $jiraCode) - { - if($jiraCode == $jiraStatus) - { - if(!empty($relations['storyStage'][$id])) $stage = $relations['storyStage'][$id]; - } - } + $jiraStatusList = array_flip($relations['jiraStatus']); + $stageID = $jiraStatusList[$jiraStatus]; + + if(!empty($relations['storyStage'][$stageID])) $stage = $relations['storyStage'][$stageID]; return $stage; } diff --git a/module/convert/view/jira.html.php b/module/convert/view/convertjira.html.php similarity index 100% rename from module/convert/view/jira.html.php rename to module/convert/view/convertjira.html.php