* Code review for issue api.
This commit is contained in:
@@ -10,12 +10,15 @@ class issueEntry extends Entry
|
||||
{
|
||||
public function get($issueID)
|
||||
{
|
||||
/* If $issueID has '-', go to productIssue entry point for Gitlab. */
|
||||
if(strpos($issueID, '-') !== FALSE) return $this->fetch('productIssue', 'get', array('issueID' => $issueID));
|
||||
|
||||
$control = $this->loadController('issue', 'view');
|
||||
$control->view($issueID);
|
||||
|
||||
$data = $this->getData();
|
||||
if(!$data or (isset($data->message) and $data->message == '404 Not found')) return $this->send404();
|
||||
if(isset($data->status) and $data->status == 'success') $this->send(200, $this->format($data->data->issue, 'createdDate:time,editedDate:time,assignedDate:time'));
|
||||
if(isset($data->status) and $data->status == 'success') return $this->send(200, $this->format($data->data->issue, 'createdDate:time,editedDate:time,assignedDate:time'));
|
||||
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
|
||||
|
||||
$this->sendError(400, 'error');
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* 禅道API的issues资源类
|
||||
* 版本V1
|
||||
@@ -18,12 +17,13 @@ class issuesEntry extends entry
|
||||
if(!isset($data->status)) return $this->sendError(400, 'error');
|
||||
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
|
||||
|
||||
$pager = $data->data->pager;
|
||||
$pager = $data->data->pager;
|
||||
$result = array();
|
||||
foreach($data->data->issues as $issue)
|
||||
{
|
||||
$result[] = $this->format($issue, 'createdDate:time,editedDate:time,assignedDate:time');
|
||||
}
|
||||
|
||||
return $this->send(200, array('page' => $pager->pageID, 'total' => $pager->recTotal, 'limit' => $pager->recPerPage, 'issues' => $result));
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ class riskEntry extends Entry
|
||||
|
||||
$data = $this->getData();
|
||||
if(!$data or (isset($data->message) and $data->message == '404 Not found')) return $this->send404();
|
||||
if(isset($data->status) and $data->status == 'success') $this->send(200, $this->format($data->data->risk, 'createdDate:time,editedDate:time'));
|
||||
if(isset($data->status) and $data->status == 'success') return $this->send(200, $this->format($data->data->risk, 'createdDate:time,editedDate:time'));
|
||||
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
|
||||
|
||||
$this->sendError(400, 'error');
|
||||
@@ -42,7 +42,6 @@ class riskEntry extends Entry
|
||||
$control = $this->loadController('risk', 'delete');
|
||||
$control->delete($riskID, 'true');
|
||||
|
||||
$this->getData();
|
||||
$this->sendSuccess(200, 'success');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* 禅道API的risks资源类
|
||||
* 版本V1
|
||||
@@ -18,18 +17,19 @@ class risksEntry extends entry
|
||||
if(!isset($data->status)) return $this->sendError(400, 'error');
|
||||
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
|
||||
|
||||
$pager = $data->data->pager;
|
||||
$pager = $data->data->pager;
|
||||
$result = array();
|
||||
foreach($data->data->risks as $risk)
|
||||
{
|
||||
$result[] = $this->format($risk, 'createdDate:time,editedDate:time');
|
||||
}
|
||||
|
||||
return $this->send(200, array('page' => $pager->pageID, 'total' => $pager->recTotal, 'limit' => $pager->recPerPage, 'risks' => $result));
|
||||
}
|
||||
|
||||
public function post($projectID = 0)
|
||||
{
|
||||
if((int)$projectID <= 0) $this->sendError(400, 'The id of project is wrong.');
|
||||
if((int)$projectID <= 0) return $this->sendError(400, 'The id of project is wrong.');
|
||||
|
||||
$fields = 'source,name,category,strategy,status,impact,probability,rate,identifiedDate,plannedClosedDate,actualClosedDate,resolvedBy,assignedTo,prevention,remedy,resolution';
|
||||
$this->batchSetPost($fields);
|
||||
|
||||
@@ -18,6 +18,7 @@ class testtaskEntry extends entry
|
||||
if(!isset($data->data->task)) $this->sendError(400, 'error');
|
||||
|
||||
$testtask = $data->data->task;
|
||||
|
||||
$this->send(200, $this->format($testtask, 'realFinishedDate:time'));
|
||||
}
|
||||
|
||||
@@ -27,6 +28,7 @@ class testtaskEntry extends entry
|
||||
$control->delete($testtaskID, 'yes');
|
||||
|
||||
$this->getData();
|
||||
|
||||
$this->sendSuccess(200, 'success');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,12 +17,13 @@ class testtasksEntry extends entry
|
||||
if(!isset($data->status)) return $this->sendError(400, 'error');
|
||||
if(isset($data->status) and $data->status == 'fail') return $this->sendError(400, $data->message);
|
||||
|
||||
$pager = $data->data->pager;
|
||||
$pager = $data->data->pager;
|
||||
$result = array();
|
||||
foreach($data->data->tasks as $testtask)
|
||||
{
|
||||
$result[] = $this->format($testtask, 'realFinishedDate:time');
|
||||
}
|
||||
|
||||
return $this->send(200, array('page' => $pager->pageID, 'total' => $pager->recTotal, 'limit' => $pager->recPerPage, 'testtasks' => $result));
|
||||
}
|
||||
}
|
||||
|
||||
+5
-5
@@ -287,7 +287,7 @@ $filter->doc->showfiles->get['recPerPage'] = 'int';
|
||||
$filter->doc->showfiles->get['recTotal'] = 'int';
|
||||
$filter->doc->showfiles->get['title'] = 'reg::any';
|
||||
|
||||
$filter->file->download->get['charset'] = 'reg::lang';
|
||||
$filter->file->download->get['charset'] = 'reg::lang';
|
||||
|
||||
$filter->mail->batchdelete->get['idList'] = 'reg::idList';
|
||||
|
||||
@@ -330,10 +330,10 @@ $filter->repo->default->get['repoPath'] = 'reg::base64';
|
||||
$filter->repo->default->get['path'] = 'reg::base64';
|
||||
$filter->repo->default->get['entry'] = 'reg::base64';
|
||||
|
||||
$filter->repo->default->cookie['repoBranch'] = 'reg::any';
|
||||
$filter->repo->diff->cookie['arrange'] = 'reg::word';
|
||||
$filter->repo->diff->cookie['repoPairs'] = 'array';
|
||||
$filter->repo->view->cookie['repoPairs'] = 'array';
|
||||
$filter->repo->default->cookie['repoBranch'] = 'reg::any';
|
||||
$filter->repo->diff->cookie['arrange'] = 'reg::word';
|
||||
$filter->repo->diff->cookie['repoPairs'] = 'array';
|
||||
$filter->repo->view->cookie['repoPairs'] = 'array';
|
||||
$filter->repo->ajaxsynccommit->cookie['syncBranch'] = 'reg::any';
|
||||
|
||||
$filter->webhook->bind->get['selectedDepts'] = 'reg::checked';
|
||||
|
||||
+3
-5
@@ -42,8 +42,10 @@ $routes['/user'] = 'user';
|
||||
$routes['/programs'] = 'programs';
|
||||
$routes['/programs/:id'] = 'program';
|
||||
|
||||
$routes['/issues/:issueID'] = 'productIssue';
|
||||
$routes['/products/:productID/issues'] = 'productIssues';
|
||||
$routes['/projects/:projectID/issues'] = 'issues';
|
||||
$routes['/issues'] = 'issues';
|
||||
$routes['/issues/:issueID'] = 'issue';
|
||||
|
||||
$routes['/todos'] = 'todos';
|
||||
$routes['/todos/:id'] = 'todo';
|
||||
@@ -55,8 +57,4 @@ $routes['/projects/:project/risks'] = 'risks';
|
||||
$routes['/risks'] = 'risks';
|
||||
$routes['/risks/:id'] = 'risk';
|
||||
|
||||
$routes['/projects/:project/questions'] = 'issues';
|
||||
$routes['/questions'] = 'issues';
|
||||
$routes['/questions/:id'] = 'issue';
|
||||
|
||||
$config->routes = $routes;
|
||||
|
||||
@@ -509,4 +509,23 @@ class baseEntry
|
||||
return $value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取其他方法的执行结果。
|
||||
* Fetch result of other method.
|
||||
*
|
||||
* @param string $entry
|
||||
* @param string $method
|
||||
* @param array $params
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function fetch($entry, $method, $params = array())
|
||||
{
|
||||
include($this->app->appRoot . "api/{$this->app->version}/entries/" . strtolower($entry) . ".php");
|
||||
|
||||
$entryName = $entry . 'Entry';
|
||||
$entry = new $entryName();
|
||||
return call_user_func_array(array($entry, $method), $params);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user