diff --git a/framework/base/helper.class.php b/framework/base/helper.class.php
index 54640f0971..54c7cc99ce 100644
--- a/framework/base/helper.class.php
+++ b/framework/base/helper.class.php
@@ -7,7 +7,7 @@
*
* The author disclaims copyright to this source code. In place of
* a legal notice, here is a blessing:
- *
+ *
* May you do good and not evil.
* May you find forgiveness for yourself and forgive others.
* May you share freely, never taking more than you give.
@@ -56,19 +56,19 @@ class baseHelper
* @param string|array $vars the params passed to the method, can be array('key' => 'value') or key1=value1&key2=value2) or key1=value1&key2=value2
* @param string $viewType the view type
* @param bool $onlyBody pass onlyBody=yes to the link thus the app can control the header and footer hide or show..
- * @param bool $PRJID set PRJ id in to session.
- * @param bool $removePRJ if true, remove PRJ param.
+ * @param bool $projectID set project id in to session.
+ * @param bool $removeProject if true, remove project param.
* @static
* @access public
* @return string the link string.
*/
- static public function createLink($moduleName, $methodName = 'index', $vars = '', $viewType = '', $onlyBody = false, $PRJID = 0, $removePRJ = false)
+ static public function createLink($moduleName, $methodName = 'index', $vars = '', $viewType = '', $onlyBody = false, $projectID = 0, $removeProject = false)
{
/* 设置$appName和$moduleName。Set appName and moduleName. */
global $app, $config;
- $PRJID = $PRJID ? $PRJID : $app->session->PRJ;
+ $projectID = $projectID ? $projectID : $app->session->project;
- if(strpos($moduleName, '.') !== false)
+ if(strpos($moduleName, '.') !== false)
{
list($appName, $moduleName) = explode('.', $moduleName);
}
@@ -88,7 +88,7 @@ class baseHelper
if($config->requestType == 'PATH_INFO2') $link .= '/';
/**
- * #1: RequestType为GET。When the requestType is GET.
+ * #1: RequestType为GET。When the requestType is GET.
* Input: moduleName=article&methodName=index&var1=value1. Output: ?m=article&f=index&var1=value1.
*
*/
@@ -99,11 +99,11 @@ class baseHelper
foreach($vars as $key => $value) $link .= "&$key=$value";
$link = self::processOnlyBodyParam($link, $onlyBody);
- return self::processPRJParam($link, $PRJID, $onlyBody, $moduleName, $removePRJ);
+ return self::processProjectParam($link, $projectID, $onlyBody, $moduleName, $removeProject);
}
/**
- * #2: 方法名不是默认值或者是默认值,但有传参。MethodName equals the default method or vars not empty.
+ * #2: 方法名不是默认值或者是默认值,但有传参。MethodName equals the default method or vars not empty.
* Input: moduleName=article&methodName=view. Output: article-view.html
* Input: moduleName=article&methodName=view. Output: article-index-abc.html
*
@@ -115,23 +115,23 @@ class baseHelper
$link .= '.' . $viewType;
$link = self::processOnlyBodyParam($link, $onlyBody);
- return self::processPRJParam($link, $PRJID, $onlyBody, $moduleName, $removePRJ);
+ return self::processProjectParam($link, $projectID, $onlyBody, $moduleName, $removeProject);
}
/**
- * #3: 方法名为默认值且没有传参且模块名为默认值。MethodName is the default and moduleName is default and vars empty.
+ * #3: 方法名为默认值且没有传参且模块名为默认值。MethodName is the default and moduleName is default and vars empty.
* Input: moduleName=index&methodName=index. Output: index.html
*
*/
if($moduleName == $config->default->module)
{
- $link .= $config->default->method . '.' . $viewType;
+ $link .= $config->default->method . '.' . $viewType;
$link = self::processOnlyBodyParam($link, $onlyBody);
- return self::processPRJParam($link, $PRJID, $onlyBody, $moduleName, $removePRJ);
+ return self::processProjectParam($link, $projectID, $onlyBody, $moduleName, $removeProject);
}
/**
- * #4: 方法名为默认值且没有传参且模块名不为默认值,viewType和app指定的相等。MethodName is default but moduleName not and viewType equal app's viewType..
+ * #4: 方法名为默认值且没有传参且模块名不为默认值,viewType和app指定的相等。MethodName is default but moduleName not and viewType equal app's viewType..
* Input: moduleName=article&methodName=index&viewType=html. Output: /article/
*
*/
@@ -139,44 +139,44 @@ class baseHelper
{
$link .= $moduleName . '/';
$link = self::processOnlyBodyParam($link, $onlyBody);
- return self::processPRJParam($link, $PRJID, $onlyBody, $moduleName, $removePRJ);
+ return self::processProjectParam($link, $projectID, $onlyBody, $moduleName, $removeProject);
}
/**
- * #5: 方法名为默认值且没有传参且模块名不为默认值,viewType有另外指定。MethodName is default but moduleName not and viewType no equls app's viewType.
+ * #5: 方法名为默认值且没有传参且模块名不为默认值,viewType有另外指定。MethodName is default but moduleName not and viewType no equls app's viewType.
* Input: moduleName=article&methodName=index&viewType=json. Output: /article.json
*
*/
$link .= $moduleName . '.' . $viewType;
$link = self::processOnlyBodyParam($link, $onlyBody);
- return self::processPRJParam($link, $PRJID, $onlyBody, $moduleName, $removePRJ);
+ return self::processProjectParam($link, $projectID, $onlyBody, $moduleName, $removeProject);
}
/**
- * 处理PRJ 参数。
- * Process the PRJID param in url.
- *
- * 如果传参的时候设定了$PRJID,在生成链接的时候继续追加。
+ * 处理project 参数。
+ * Process the projectID param in url.
+ *
+ * 如果传参的时候设定了$projectID,在生成链接的时候继续追加。
* If $progrmID in the url, append it to the link.
- *
- * @param string $link
- * @param int $PRJID
+ *
+ * @param string $link
+ * @param int $projectID
* @param bool $onlybody
* @param string $moduleName
- * @param bool $removePRJ
+ * @param bool $removeProject
* @static
* @access public
* @return string
*/
- public static function processPRJParam($link, $PRJID = '', $onlybody = false, $moduleName = '', $removePRJ = false)
+ public static function processProjectParam($link, $projectID = '', $onlybody = false, $moduleName = '', $removeProject = false)
{
global $config, $lang;
- if(!$PRJID || $removePRJ) return $link;
+ if(!$projectID || $removeProject) return $link;
$isProject = (zget($lang->navGroup, $moduleName) == 'project');
if(!$isProject and $moduleName != 'program') return $link;
- $link .= strpos($link, '?') === false ? "?PRJ=$PRJID" : "&PRJ=$PRJID";
+ $link .= strpos($link, '?') === false ? "?project=$projectID" : "&project=$projectID";
return $link;
}
@@ -186,9 +186,9 @@ class baseHelper
*
* 如果传参的时候设定了$onlyBody为真,或者当前页面请求中包含了onlybody=yes,在生成链接的时候继续追加。
* If $onlyBody set to true or onlybody=yes in the url, append onlyBody param to the link.
- *
- * @param string $link
- * @param bool $onlyBody
+ *
+ * @param string $link
+ * @param bool $onlyBody
* @static
* @access public
* @return string
@@ -204,7 +204,7 @@ class baseHelper
/**
* 检查是否是onlybody模式。
* Check in only body mode or not.
- *
+ *
* @access public
* @return void
*/
@@ -214,7 +214,7 @@ class baseHelper
}
/**
- * 使用helper::import()来引入文件,不要直接使用include或者require.
+ * 使用helper::import()来引入文件,不要直接使用include或者require.
* Using helper::import() to import a file, instead of include or require.
*
* @param string $file the file to be imported.
@@ -241,7 +241,7 @@ class baseHelper
/**
* 将数组或者列表转化成 IN( 'a', 'b') 的形式。
* Convert a list to IN('a', 'b') string.
- *
+ *
* @param string|array $idList 列表,可以是数组或者用逗号隔开的列表。The id lists, can be a array or a string joined with comma.
* @static
* @access public
@@ -249,11 +249,11 @@ class baseHelper
*/
static public function dbIN($idList)
{
- if(is_array($idList))
+ if(is_array($idList))
{
if(!function_exists('get_magic_quotes_gpc') or !get_magic_quotes_gpc())
{
- foreach($idList as $key=>$value) $idList[$key] = addslashes($value);
+ foreach($idList as $key=>$value) $idList[$key] = addslashes($value);
}
return "IN ('" . join("','", $idList) . "')";
}
@@ -266,7 +266,7 @@ class baseHelper
/**
* 安全的Base64编码,框架对'/'字符比较敏感,转换为'.'。
* Create safe base64 encoded string for the framework.
- *
+ *
* @param string $string the string to encode.
* @static
* @access public
@@ -280,7 +280,7 @@ class baseHelper
/**
* 解码base64,先将之前的'.' 转换回'/'
* Decode the string encoded by safe64Encode.
- *
+ *
* @param string $string the string to decode
* @static
* @access public
@@ -294,7 +294,7 @@ class baseHelper
/**
* JSON编码,自动处理转义的问题。
* JSON encode, process the slashes.
- *
+ *
* @param mixed $data the object to encode
* @static
* @access public
@@ -307,8 +307,8 @@ class baseHelper
/**
* Encrypt password.
- *
- * @param string $password
+ *
+ * @param string $password
* @static
* @access public
* @return string
@@ -341,8 +341,8 @@ class baseHelper
/**
* Decrypt password.
- *
- * @param string $password
+ *
+ * @param string $password
* @static
* @access public
* @return string
@@ -377,9 +377,9 @@ class baseHelper
/**
* 判断是否是utf8编码
* Judge a string is utf-8 or not.
- *
+ *
* @author hmdker@gmail.com
- * @param string $string
+ * @param string $string
* @see http://php.net/manual/en/function.mb-detect-encoding.php
* @static
* @access public
@@ -387,7 +387,7 @@ class baseHelper
*/
static public function isUTF8($string)
{
- $c = 0;
+ $c = 0;
$b = 0;
$bits = 0;
$len = strlen($string);
@@ -419,7 +419,7 @@ class baseHelper
/**
* 去掉UTF-8 Bom头。
* Remove UTF-8 Bom.
- *
+ *
* @param string $string
* @access public
* @return string
@@ -435,9 +435,9 @@ class baseHelper
* Enhanced substr version: support multibyte languages like Chinese.
*
* @param string $string
- * @param int $length
- * @param string $append
- * @return string
+ * @param int $length
+ * @param string $append
+ * @return string
*/
public static function substr($string, $length, $append = '')
{
@@ -453,7 +453,7 @@ class baseHelper
/**
* Get browser name and version.
- *
+ *
* @access public
* @return array
*/
@@ -489,8 +489,8 @@ class baseHelper
}
/**
- * Get client os from agent info.
- *
+ * Get client os from agent info.
+ *
* @static
* @access public
* @return string
@@ -525,17 +525,17 @@ class baseHelper
$osList['/webos/i'] = 'Mobile';
foreach ($osList as $regex => $value)
- {
- if(preg_match($regex, $_SERVER['HTTP_USER_AGENT'])) return $value;
- }
+ {
+ if(preg_match($regex, $_SERVER['HTTP_USER_AGENT'])) return $value;
+ }
return 'unknown';
}
-
+
/**
* 计算两个日期相差的天数,取整。
* Compute the diff days of two date.
- *
+ *
* @param string $date1 the first date.
* @param string $date2 the sencond date.
* @access public
@@ -549,7 +549,7 @@ class baseHelper
/**
* 获取当前时间,使用common语言文件定义的DT_DATETIME1常量。
* Get now time use the DT_DATETIME1 constant defined in the lang file.
- *
+ *
* @access public
* @return datetime now
*/
@@ -573,7 +573,7 @@ class baseHelper
/**
* 获取当前日期,使用common语言文件定义的DT_TIME1常量。
* Get now time use the DT_TIME1 constant defined in the lang file.
- *
+ *
* @access public
* @return date today
*/
@@ -585,7 +585,7 @@ class baseHelper
/**
* 判断日期是不是零。
* Judge a date is zero or not.
- *
+ *
* @access public
* @return bool
*/
@@ -597,7 +597,7 @@ class baseHelper
/**
* 列出目录中符合该正则表达式的文件。
* Get files match the pattern under a directory.
- *
+ *
* @access public
* @return array the files match the pattern
*/
@@ -614,8 +614,8 @@ class baseHelper
/**
* 切换目录。第一次调用的时候记录当前的路径,再次调用的时候切换回之前的路径。
* Change directory: first call, save the $cwd, secend call, change to $cwd.
- *
- * @param string $path
+ *
+ * @param string $path
* @static
* @access public
* @return void
@@ -639,7 +639,7 @@ class baseHelper
*
* @param string $domain
* @return string $siteCode
- **/
+ **/
public static function parseSiteCode($domain)
{
global $config;
@@ -674,7 +674,7 @@ class baseHelper
/**
* 检查是否是AJAX请求。
* Check is ajax request.
- *
+ *
* @static
* @access public
* @return bool
@@ -689,8 +689,8 @@ class baseHelper
/**
* 301跳转。
* Header 301 Moved Permanently.
- *
- * @param string $locate
+ *
+ * @param string $locate
* @access public
* @return void
*/
@@ -700,11 +700,11 @@ class baseHelper
die(header('Location:' . $locate));
}
- /**
+ /**
* 获取远程IP。
- * Get remote ip.
- *
- * @param bool $proxy
+ * Get remote ip.
+ *
+ * @param bool $proxy
* @access public
* @return string
*/
@@ -724,8 +724,8 @@ class baseHelper
/**
* Restart session.
- *
- * @param string $sessionID
+ *
+ * @param string $sessionID
* @static
* @access public
* @return void
@@ -741,8 +741,8 @@ class baseHelper
/**
* Check DB to repair table.
- *
- * @param object $exception
+ *
+ * @param object $exception
* @static
* @access public
* @return string
@@ -779,7 +779,7 @@ class baseHelper
*
* @param string $methodName the method name
* @param string|array $vars the params passed to the method, can be array('key' => 'value') or key1=value1&key2=value2)
- * @param string $viewType
+ * @param string $viewType
* @return string the link string.
*/
function inLink($methodName = 'index', $vars = '', $viewType = '')
@@ -806,7 +806,7 @@ function cycle($items)
/**
* 获取当前时间的Unix时间戳,精确到微妙。
* Get current microtime.
- *
+ *
* @access public
* @return float current time.
*/
@@ -819,8 +819,8 @@ function getTime()
/**
* 打印变量的信息
* dump a var.
- *
- * @param mixed $var
+ *
+ * @param mixed $var
* @access public
* @return void
*/
@@ -850,10 +850,10 @@ function isLocalIP()
/**
* 获取webRoot。
- * Get web root.
- *
+ * Get web root.
+ *
* @access public
- * @return string
+ * @return string
*/
function getWebRoot($full = false)
{
@@ -868,7 +868,7 @@ function getWebRoot($full = false)
}
$path = empty($path) ? '/' : preg_replace('/\/www$/', '/www/', $path);
}
-
+
if($full)
{
$http = (isset($_SERVER['HTTPS']) and strtolower($_SERVER['HTTPS']) != 'off') ? 'https://' : 'http://';
@@ -883,9 +883,9 @@ function getWebRoot($full = false)
/**
* 当数组/对象变量$var存在$key项时,返回存在的对应值或设定值,否则返回$key或不存在的设定值。
* When the $var has the $key, return it, esle result one default value.
- *
- * @param array|object $var
- * @param string|int $key
+ *
+ * @param array|object $var
+ * @param string|int $key
* @param mixed $valueWhenNone value when the key not exits.
* @param mixed $valueWhenExists value when the key exits.
* @access public
diff --git a/framework/base/router.class.php b/framework/base/router.class.php
index 27460a6248..847452b748 100644
--- a/framework/base/router.class.php
+++ b/framework/base/router.class.php
@@ -381,7 +381,7 @@ class baseRouter
$this->setErrorHandler();
$this->setTimezone();
$this->startSession();
- $this->setPRJ();
+ $this->setProject();
$this->setOpenApp();
if($this->config->framework->multiSite) $this->setSiteCode() && $this->loadExtraConfig();
@@ -855,15 +855,15 @@ class baseRouter
}
/**
- * 从Get里取progarm id 设置到session中。
- * Get progarm id from Get and set it to session.
+ * 从Get里取project id 设置到session中。
+ * Get project id from Get and set it to session.
*
* @access public
* @return void
*/
- public function setPRJ()
+ public function setProject()
{
- if(isset($_GET['PRJ'])) $this->session->set('PRJ', $_GET['PRJ']); //Set PRJ id into session.
+ if(isset($_GET['project'])) $this->session->set('project', $_GET['project']); //Set project id into session.
}
/**
diff --git a/framework/router.class.php b/framework/router.class.php
index aae0a3c0b2..816910706a 100755
--- a/framework/router.class.php
+++ b/framework/router.class.php
@@ -3,7 +3,7 @@
* 此文件包括ZenTaoPHP框架的三个类:router, config, lang。
* The router, config and lang class file of ZenTaoPHP framework.
*
- * The author disclaims copyright to this source code. In place of
+ * The author disclaims copyright to this source code. In place of
* a legal notice, here is a blessing:
*
* May you do good and not evil.
@@ -48,9 +48,9 @@ class router extends baseRouter
public $rawParams;
/**
- * 原始URI
- *
- * @var string
+ * 原始URI
+ *
+ * @var string
* @access public
*/
public $rawURI;
@@ -66,8 +66,8 @@ class router extends baseRouter
/**
* Get the $moduleRoot var.
- *
- * @param string $appName
+ *
+ * @param string $appName
* @access public
* @return string
*/
@@ -146,7 +146,7 @@ class router extends baseRouter
/**
* Set common lang.
- *
+ *
* @access public
* @return void
*/
@@ -203,7 +203,7 @@ class router extends baseRouter
$model = new stdclass();
$model->model = 'scrum';
- if($this->session->PRJ) $model = $this->dbh->query('SELECT model FROM' . TABLE_PROJECT . "WHERE id = {$this->session->PRJ}")->fetch();
+ if($this->session->project) $model = $this->dbh->query('SELECT model FROM' . TABLE_PROJECT . "WHERE id = {$this->session->project}")->fetch();
$iterationKey = $projectKey;
if(isset($model->model) && $model->model == 'waterfall') $projectKey = STAGE_KEY;
@@ -242,7 +242,7 @@ class router extends baseRouter
/* Get UR pairs and SR pairs. */
$URPairs = array();
$SRPairs = array();
- foreach($URSRList as $id => $value)
+ foreach($URSRList as $id => $value)
{
$URSR = json_decode($value->value);
$URPairs[$value->key] = $URSR->URName;
@@ -387,7 +387,7 @@ class router extends baseRouter
*
* @param bool $exitIfNone 没有找到该控制器文件的情况:如果该参数为true,则终止程序;如果为false,则打印错误日志
* The controller file was not found: if the parameter is true, the program is terminated;
- * if false, the error log is printed.
+ * if false, the error log is printed.
* @access public
* @return bool
*/
@@ -558,7 +558,7 @@ class router extends baseRouter
/**
* 获取$URL。
* Get the $URL.
- *
+ *
* @param bool $full true, the URI contains the webRoot, else only hte URI.
* @access public
* @return string
@@ -586,7 +586,7 @@ class router extends baseRouter
*/
public function mergeParams($defaultParams, $passedParams)
{
- if(isset($_GET['PRJ'])) $this->session->set('PRJ', $_GET['PRJ']);
+ if(isset($_GET['project'])) $this->session->set('project', $_GET['project']);
/* If the isFlow is true, reset the passed params. */
if($this->isFlow)
{
diff --git a/module/action/model.php b/module/action/model.php
index e8cde64950..a29e62af1c 100755
--- a/module/action/model.php
+++ b/module/action/model.php
@@ -214,7 +214,7 @@ class actionModel extends model
$actions = $this->dao->select('*')->from(TABLE_ACTION)
->beginIF($objectType == 'project')
->where("objectType IN('project', 'testtask', 'build')")
- ->andWhere('project')->eq((int)$objectID)
+ ->andWhere('execution')->eq((int)$objectID)
->fi()
->beginIF($objectType != 'project')
->where('objectType')->eq($objectType)
diff --git a/module/block/control.php b/module/block/control.php
index 8cc8d9d167..5cc5201c0b 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -1047,7 +1047,7 @@ class block extends control
/* Get projects. */
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project;
- $executions = $this->loadModel('project')->getOrderedExecutions($projectID, $status, $count);
+ $executions = $this->loadModel('execution')->getOrderedExecutions($projectID, $status, $count);
if(empty($executions))
{
$this->view->executions = $executions;
@@ -1588,7 +1588,7 @@ class block extends control
public function printProjectOverviewBlock()
{
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project;
- $executions = $this->loadModel('project')->getExecutionList($projectID);
+ $executions = $this->loadModel('execution')->getList($projectID);
$total = 0;
foreach($executions as $execution)
diff --git a/module/custom/view/browsestoryconcept.html.php b/module/custom/view/browsestoryconcept.html.php
index 9728ffb7c7..18928bebb7 100644
--- a/module/custom/view/browsestoryconcept.html.php
+++ b/module/custom/view/browsestoryconcept.html.php
@@ -26,7 +26,9 @@
custom->default;?> |
+ config->URAndSR):?>
custom->URConcept;?> |
+
custom->SRConcept;?> |
actions;?> |
@@ -37,7 +39,9 @@
custom->URSR) echo 'checked';?>> |
+ config->URAndSR):?>
|
+
|
custom->URSR ? "disabled=disabled" : '';?>
diff --git a/module/execution/control.php b/module/execution/control.php
index e1ab1c7de7..f230a8aa9f 100644
--- a/module/execution/control.php
+++ b/module/execution/control.php
@@ -146,7 +146,7 @@ class execution extends control
/* Get products by execution. */
$execution = $this->commonAction($executionID, $status);
$executionID = $execution->id;
- $products = $this->loadModel('product')->getProductPairsByExecution($executionID);
+ $products = $this->loadModel('product')->getProductPairsByProject($executionID);
setcookie('preExecutionID', $executionID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
/* Save the recently five executions visited in the cookie. */
diff --git a/module/execution/model.php b/module/execution/model.php
index 436d4d64a0..4e044607a9 100644
--- a/module/execution/model.php
+++ b/module/execution/model.php
@@ -2845,30 +2845,6 @@ class executionModel extends model
$this->loadModel('search')->setSearchParams($this->config->execution->search);
}
- /**
- * Build execution build search form.
- *
- * @param array $products
- * @param int $queryID
- * @param string $actionURL
- * @param string $type execution|execution
- * @access public
- * @return void
- */
- public function buildExecutionBuildSearchForm($products, $queryID, $actionURL, $type = 'execution')
- {
- $this->loadModel('build');
-
- /* Set search param. */
- if($type == 'execution') $this->config->build->search['module'] = 'executionBuild';
- if($type == 'execution') $this->config->build->search['module'] = 'executionBuild';
- $this->config->build->search['actionURL'] = $actionURL;
- $this->config->build->search['queryID'] = $queryID;
- $this->config->build->search['params']['product']['values'] = $products;
-
- $this->loadModel('search')->setSearchParams($this->config->build->search);
- }
-
/**
* Get Kanban tasks
*
diff --git a/module/product/control.php b/module/product/control.php
index dbe54bcad4..02db4712ca 100644
--- a/module/product/control.php
+++ b/module/product/control.php
@@ -83,6 +83,7 @@ class product extends control
$this->lang->product->mainMenuAction = $this->product->getProductMainAction();
$this->app->loadLang('my');
+ $this->app->loadLang('execution');
$this->app->loadLang('program');
/* Get PM id list. */
@@ -201,10 +202,10 @@ class product extends control
{
$this->session->set('currentProductType', $product->type);
$projectProducts = $this->product->getProductsByProject($this->session->project);
- $productPlans = $this->loadModel('project')->getPlans($projectProducts);
+ $productPlans = $this->loadModel('execution')->getPlans($projectProducts);
if($browseType == 'bybranch') $param = $branch;
- $stories = $this->story->getProjectStories($this->session->project, $productID, $branch, $sort, $browseType, $param, 'story', '', $pager);
+ $stories = $this->story->getExecutionStories($this->session->project, $productID, $branch, $sort, $browseType, $param, 'story', '', $pager);
}
/* Process the sql, get the conditon partion, save it to session. */
@@ -332,7 +333,7 @@ class product extends control
$this->view->qdUsers = $qdUsers;
$this->view->rdUsers = $rdUsers;
$this->view->users = $this->user->getPairs('nodeleted|noclosed');
- $this->view->programs = array('') + $this->loadModel('program')->getTopPGMPairs('', 'noclosed');
+ $this->view->programs = array('') + $this->loadModel('program')->getTopPairs('', 'noclosed');
$this->view->lines = $this->config->systemMode == 'new' ? array() : array('' => '') + $this->product->getLinePairs();
$this->view->URSRPairs = $this->loadModel('custom')->getURSRPairs();
@@ -484,7 +485,7 @@ class product extends control
$this->view->qdUsers = $qdUsers;
$this->view->rdUsers = $rdUsers;
$this->view->users = $this->user->getPairs('nodeleted|noclosed');
- $this->view->programs = array('') + $this->loadModel('program')->getTopPGMPairs();
+ $this->view->programs = array('') + $this->loadModel('program')->getTopPairs();
$this->view->lines = $lines;
$this->view->URSRPairs = $this->loadModel('custom')->getURSRPairs();
$this->view->canChangePGM = $canChangePGM;
@@ -1027,7 +1028,7 @@ class product extends control
$this->view->title = $this->lang->product->line;
$this->view->position[] = $this->lang->product->line;
- $this->view->programs = array('') + $this->loadModel('program')->getTopPGMPairs();
+ $this->view->programs = array('') + $this->loadModel('program')->getTopPairs();
$this->view->lines = $this->dao->select('*')->from(TABLE_MODULE)->where('type')->eq('line')->andWhere('deleted')->eq(0)->orderBy('`order`')->fetchAll();
$this->display();
}
diff --git a/module/product/view/browse.html.php b/module/product/view/browse.html.php
index d113442d97..b9169996f8 100644
--- a/module/product/view/browse.html.php
+++ b/module/product/view/browse.html.php
@@ -175,11 +175,11 @@ $isProjectStory = $this->app->rawModule == 'projectstory';
else
{
echo "';
echo "';
}
?>
diff --git a/module/product/view/project.html.php b/module/product/view/project.html.php
index 7645c461ab..b78e2856e3 100644
--- a/module/product/view/project.html.php
+++ b/module/product/view/project.html.php
@@ -12,10 +12,10 @@
diff --git a/module/productplan/lang/de.php b/module/productplan/lang/de.php
index 3bfec9020d..f2cc6ab8b5 100644
--- a/module/productplan/lang/de.php
+++ b/module/productplan/lang/de.php
@@ -30,7 +30,7 @@ $lang->productplan->linkedStories = 'Verknüpfte Storys';
$lang->productplan->unlinkedStories = 'Unverknüpfte Storys';
$lang->productplan->updateOrder = 'Sortierung';
$lang->productplan->createChildren = "Create Child Plans";
-$lang->productplan->createExecution = "Create {$lang->sprintCommon}";
+$lang->productplan->createExecution = "Create {$lang->executionCommon}";
$lang->productplan->linkBug = "Bug Verknüpfen";
$lang->productplan->unlinkBug = "Bug Verknpfung aufheben";
@@ -60,7 +60,7 @@ $lang->productplan->future = 'Wartend';
$lang->productplan->stories = 'Storys';
$lang->productplan->bugs = 'Bugs';
$lang->productplan->hour = $lang->hourCommon;
-$lang->productplan->execution = $lang->sprintCommon;
+$lang->productplan->execution = $lang->executionCommon;
$lang->productplan->parent = "Parent Plan";
$lang->productplan->parentAB = "Parent";
$lang->productplan->children = "Child Plan";
diff --git a/module/productplan/lang/en.php b/module/productplan/lang/en.php
index c808277943..72054c84db 100644
--- a/module/productplan/lang/en.php
+++ b/module/productplan/lang/en.php
@@ -30,7 +30,7 @@ $lang->productplan->linkedStories = 'Linked Stories';
$lang->productplan->unlinkedStories = 'Unlinked Stories';
$lang->productplan->updateOrder = 'Order';
$lang->productplan->createChildren = "Create Child Plans";
-$lang->productplan->createExecution = "Create {$lang->sprintCommon}";
+$lang->productplan->createExecution = "Create {$lang->executionCommon}";
$lang->productplan->linkBug = "Link Bug";
$lang->productplan->unlinkBug = "Unlink Bug";
@@ -60,7 +60,7 @@ $lang->productplan->future = 'TBD';
$lang->productplan->stories = 'Story';
$lang->productplan->bugs = 'Bug';
$lang->productplan->hour = $lang->hourCommon;
-$lang->productplan->execution = $lang->sprintCommon;
+$lang->productplan->execution = $lang->executionCommon;
$lang->productplan->parent = "Parent Plan";
$lang->productplan->parentAB = "Parent";
$lang->productplan->children = "Child Plan";
diff --git a/module/productplan/lang/fr.php b/module/productplan/lang/fr.php
index b787717ff8..c2ce442c2a 100644
--- a/module/productplan/lang/fr.php
+++ b/module/productplan/lang/fr.php
@@ -30,7 +30,7 @@ $lang->productplan->linkedStories = 'Stories Planifiées';
$lang->productplan->unlinkedStories = 'Stories non Planifiées';
$lang->productplan->updateOrder = 'Ordre';
$lang->productplan->createChildren = "Créer Sous-Plans";
-$lang->productplan->createExecution = "Create {$lang->sprintCommon}";
+$lang->productplan->createExecution = "Create {$lang->executionCommon}";
$lang->productplan->linkBug = "Planifier Bug";
$lang->productplan->unlinkBug = "Retirer Bug";
@@ -60,7 +60,7 @@ $lang->productplan->future = 'A Définir';
$lang->productplan->stories = 'Story';
$lang->productplan->bugs = 'Bug';
$lang->productplan->hour = $lang->hourCommon;
-$lang->productplan->execution = $lang->sprintCommon;
+$lang->productplan->execution = $lang->executionCommon;
$lang->productplan->parent = "Plan Parent";
$lang->productplan->parentAB = "Parent";
$lang->productplan->children = "Sous-Plan";
diff --git a/module/productplan/lang/vi.php b/module/productplan/lang/vi.php
index 1d2d2714c3..ec97bffbdf 100644
--- a/module/productplan/lang/vi.php
+++ b/module/productplan/lang/vi.php
@@ -30,7 +30,7 @@ $lang->productplan->linkedStories = 'Câu chuyện liên kết';
$lang->productplan->unlinkedStories = 'Câu chuyện chưa liên kết';
$lang->productplan->updateOrder = 'Sắp xếp';
$lang->productplan->createChildren = "Tạo kế hoạch con";
-$lang->productplan->createExecution = "Create {$lang->sprintCommon}";
+$lang->productplan->createExecution = "Create {$lang->executionCommon}";
$lang->productplan->linkBug = "Liên kết Bug";
$lang->productplan->unlinkBug = "Hủy liên kết Bug";
@@ -60,7 +60,7 @@ $lang->productplan->future = 'TBD';
$lang->productplan->stories = 'Câu chuyện';
$lang->productplan->bugs = 'Bug';
$lang->productplan->hour = $lang->hourCommon;
-$lang->productplan->execution = $lang->sprintCommon;
+$lang->productplan->execution = $lang->executionCommon;
$lang->productplan->parent = "Kế hoạch mẹ";
$lang->productplan->parentAB = "Mẹ";
$lang->productplan->children = "Kế hoạch con";
diff --git a/module/productplan/lang/zh-cn.php b/module/productplan/lang/zh-cn.php
index f6a399b838..ce6cc37c57 100644
--- a/module/productplan/lang/zh-cn.php
+++ b/module/productplan/lang/zh-cn.php
@@ -30,7 +30,7 @@ $lang->productplan->linkedStories = $lang->SRCommon;
$lang->productplan->unlinkedStories = "未关联{$lang->SRCommon}";
$lang->productplan->updateOrder = '排序';
$lang->productplan->createChildren = "创建子计划";
-$lang->productplan->createExecution = "创建{$lang->sprintCommon}";
+$lang->productplan->createExecution = "创建{$lang->executionCommon}";
$lang->productplan->linkBug = "关联Bug";
$lang->productplan->unlinkBug = "移除Bug";
@@ -60,7 +60,7 @@ $lang->productplan->future = '待定';
$lang->productplan->stories = "{$lang->SRCommon}数";
$lang->productplan->bugs = 'Bug数';
$lang->productplan->hour = $lang->hourCommon;
-$lang->productplan->execution = $lang->sprintCommon;
+$lang->productplan->execution = $lang->executionCommon;
$lang->productplan->parent = "父计划";
$lang->productplan->parentAB = "父";
$lang->productplan->children = "子计划";
diff --git a/module/project/control.php b/module/project/control.php
index bcebdd472b..0bd75d88e2 100644
--- a/module/project/control.php
+++ b/module/project/control.php
@@ -13,6 +13,7 @@ class project extends control
public function __construct($moduleName = '', $methodName = '')
{
parent::__construct($moduleName, $methodName);
+ $this->loadModel('program');
$this->loadModel('execution');
$this->loadModel('group');
}
@@ -152,7 +153,7 @@ class project extends control
foreach($projects as $id => $name)
{
$active = $data->cpoyProjectID == $id ? 'active' : '';
- $html .= "";
+ $html .= "";
}
echo $html;
}
@@ -172,7 +173,7 @@ class project extends control
$project = $this->project->getByID($projectID);
if(empty($project) || $project->type != 'project') die(js::error($this->lang->notFound) . js::locate('back'));
- if(!$projectID) $this->locate($this->createLink('project', 'browse'));
+ if(!$projectID) $this->locate($this->createLink('project', 'browse'));
setCookie("lastProject", $projectID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
$this->view->title = $this->lang->project->common . $this->lang->colon . $this->lang->project->index;
@@ -185,7 +186,7 @@ class project extends control
/**
* Project list.
*
- * @param int $projectID
+ * @param int $programID
* @param string $browseType
* @param int $param
* @param string $orderBy
@@ -195,7 +196,7 @@ class project extends control
* @access public
* @return void
*/
- public function browse($projectID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
+ public function browse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
{
if($this->session->moreProjectLink) $this->lang->project->mainMenuAction = html::a($this->session->moreProjectLink, ' ' . $this->lang->goback, '', "class='btn btn-link'");
$this->app->session->set('projectBrowse', $this->app->getURI(true));
@@ -210,15 +211,15 @@ class project extends control
$projectTitle = $this->loadModel('setting')->getItem('owner=' . $this->app->user->account . '&module=project&key=projectTitle');
$order = explode('_', $orderBy);
$sortField = zget($this->config->project->sortFields, $order[0], 'id') . '_' . $order[1];
- $projectStats = $this->project->getStats($projectID, $browseType, $queryID, $sortField, $pager, $projectTitle);
+ $projectStats = $this->program->getProjectStats($programID, $browseType, $queryID, $sortField, $pager, $projectTitle);
$this->view->title = $this->lang->project->browse;
$this->view->position[] = $this->lang->project->browse;
$this->view->projectStats = $projectStats;
$this->view->pager = $pager;
- $this->view->projectID = $projectID;
- $this->view->project = $this->project->getByID($projectID);
+ $this->view->programID = $programID;
+ $this->view->program = $this->program->getByID($programID);
$this->view->projectTree = $this->project->getTreeMenu(0, array('projectmodel', 'createManageLink'), 0, 'list');
$this->view->users = $this->loadModel('user')->getPairs('noletter|pofirst|nodeleted');
$this->view->browseType = $browseType;
@@ -385,9 +386,9 @@ class project extends control
$linkedBranches = array();
$productPlans = array(0 => '');
- $allProducts = $this->project->getPGMProductPairs($project->parent, 'assign', 'noclosed');
+ $allProducts = $this->program->getProductPairs($project->parent, 'assign', 'noclosed');
$linkedProducts = $this->project->getProducts($projectID);
- $parentProject = $this->project->getPGMByID($projectID);
+ $parentProject = $this->program->getByID($project->parent);
/* If the story of the product which linked the project, you don't allow to remove the product. */
$unmodifiableProducts = array();
@@ -414,7 +415,7 @@ class project extends control
$this->view->PMUsers = $this->loadModel('user')->getPairs('noclosed|nodeleted|pmfirst', $project->PM);
$this->view->users = $this->user->getPairs('noclosed|nodeleted');
$this->view->project = $project;
- $this->view->projectList = $this->project->getParentPairs();
+ $this->view->projectList = $this->program->getParentPairs();
$this->view->projectID = $projectID;
$this->view->allProducts = array('0' => '') + $allProducts;
$this->view->productPlans = $productPlans;
@@ -497,7 +498,7 @@ class project extends control
$products = $this->loadModel('product')->getProductsByProject($projectID);;
$linkedBranches = array();
foreach($products as $product)
- {
+ {
if($product->branch) $linkedBranches[$product->branch] = $product->branch;
}
@@ -505,7 +506,7 @@ class project extends control
$this->app->loadClass('pager', $static = true);
$pager = new pager(0, 30, 1);
- $this->view->title = $this->lang->project->view;
+ $this->view->title = $this->lang->project->view;
$this->view->position = $this->lang->project->view;
$this->view->projectID = $projectID;
$this->view->project = $this->project->getByID($projectID);
@@ -515,7 +516,7 @@ class project extends control
$this->view->teamMembers = $this->project->getTeamMembers($projectID);
$this->view->statData = $this->project->getStatData($projectID);
$this->view->workhour = $this->project->getWorkhour($projectID);
- $this->view->planGroup = $this->loadModel('project')->getPlans($products);;
+ $this->view->planGroup = $this->loadModel('execution')->getPlans($products);;
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products), '', $linkedBranches);
$this->view->dynamics = $this->loadModel('action')->getDynamic('all', 'all', 'date_desc', $pager, 'all', $projectID);
@@ -1052,7 +1053,7 @@ class project extends control
*/
public function whitelist($programID = 0, $projectID = 0, $module = 'project', $from = 'project', $objectType = 'project', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
- if($from == 'project')
+ if($from == 'project')
{
$this->lang->navGroup->project = 'project';
$this->lang->project->menu = $this->lang->scrum->setMenu;
diff --git a/module/project/model.php b/module/project/model.php
index c5077f2201..9704e0f6e7 100644
--- a/module/project/model.php
+++ b/module/project/model.php
@@ -335,7 +335,7 @@ class projectModel extends model
*/
public function getWorkhour($projectID)
{
- $executions = $this->loadModel('project')->getExecutionPairs($projectID);
+ $executions = $this->loadModel('execution')->getPairs($projectID);
$total = $this->dao->select('
ROUND(SUM(estimate), 2) AS totalEstimate,
@@ -371,7 +371,7 @@ class projectModel extends model
*/
public function getStatData($projectID)
{
- $executions = $this->loadModel('project')->getExecutionPairs($projectID);
+ $executions = $this->loadModel('execution')->getPairs($projectID);
$storyCount = $this->dao->select('count(t2.story) as storyCount')->from(TABLE_STORY)->alias('t1')
->leftJoin(TABLE_PROJECTSTORY)->alias('t2')->on('t1.id = t2.story')
->where('t2.project')->eq($projectID)
@@ -536,6 +536,30 @@ class projectModel extends model
->get();
}
+ /**
+ * Build project build search form.
+ *
+ * @param array $products
+ * @param int $queryID
+ * @param string $actionURL
+ * @param string $type execution|execution
+ * @access public
+ * @return void
+ */
+ public function buildProjectBuildSearchForm($products, $queryID, $actionURL, $type = 'execution')
+ {
+ $this->loadModel('build');
+
+ /* Set search param. */
+ if($type == 'execution') $this->config->build->search['module'] = 'executionBuild';
+ if($type == 'execution') $this->config->build->search['module'] = 'executionBuild';
+ $this->config->build->search['actionURL'] = $actionURL;
+ $this->config->build->search['queryID'] = $queryID;
+ $this->config->build->search['params']['product']['values'] = $products;
+
+ $this->loadModel('search')->setSearchParams($this->config->build->search);
+ }
+
/**
* Get project pairs by model and project.
*
diff --git a/module/project/view/activate.html.php b/module/project/view/activate.html.php
new file mode 100644
index 0000000000..d8f34124cc
--- /dev/null
+++ b/module/project/view/activate.html.php
@@ -0,0 +1,80 @@
+
+ * @package execution
+ * @version $Id: suspend.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
+ * @link http://www.zentao.net
+ */
+?>
+
+
+
+
+
+
+
+ id;?>
+ name'>" . $execution->name . '') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
+
+ arrow . $lang->execution->activate;?>
+
+
+
+
+
+
+
+
+
diff --git a/module/project/view/browse.html.php b/module/project/view/browse.html.php
index 5239b1bb39..9d58555b6b 100644
--- a/module/project/view/browse.html.php
+++ b/module/project/view/browse.html.php
@@ -13,7 +13,7 @@
@@ -21,7 +21,7 @@ js::set('browseType', $browseType);
@@ -30,13 +30,13 @@ js::set('browseType', $browseType);
$label";?>
{$pager->recTotal}";?>
-
+
$lang->project->mine), '', $this->cookie->projectMine ? 'checked=checked' : '');?>
recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";
+ $vars = "programID=$programID&browseType=$browseType¶m=$param&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";
$setting = $this->datatable->getSetting('project');
?>
@@ -94,7 +94,7 @@ js::set('browseType', $browseType);
from = 'project';?>
- project->printCell($value, $project, $users, $projectID);?>
+ project->printCell($value, $project, $users, $programID);?>
diff --git a/module/projectbuild/control.php b/module/projectbuild/control.php
index 9101714918..9237ec454e 100644
--- a/module/projectbuild/control.php
+++ b/module/projectbuild/control.php
@@ -22,8 +22,9 @@ class projectBuild extends control
public function browse($projectID = 0, $type = 'all', $param = 0)
{
$this->loadModel('project');
+ $this->loadModel('execution');
$this->loadModel('build');
- $project = $this->loadModel('program')->getPRJByID($projectID);
+ $project = $this->project->getByID($projectID);
/* Get products' list. */
$products = $this->project->getProducts($projectID, false);
@@ -34,9 +35,9 @@ class projectBuild extends control
$queryID = ($type == 'bysearch') ? (int)$param : 0;
$actionURL = $this->createLink('projectbuild', 'browse', "projectID=$projectID&type=bysearch&queryID=myQueryID");
- $projects = $this->project->getExecutionsByProject($projectID, 'all', '', true);
+ $executions = $this->execution->getByProject($projectID, 'all', '', true);
$this->config->build->search['fields']['project'] = $this->project->lang->executionCommon;
- $this->config->build->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => array('' => '') + $projects);
+ $this->config->build->search['params']['project'] = array('operator' => '=', 'control' => 'select', 'values' => array('' => '') + $executions);
$this->project->buildProjectBuildSearchForm($products, $queryID, $actionURL, 'project');
@@ -57,9 +58,9 @@ class projectBuild extends control
}
/* Header and position. */
- $this->view->title = $project->name . $this->lang->colon . $this->lang->project->build;
+ $this->view->title = $project->name . $this->lang->colon . $this->lang->execution->build;
$this->view->position[] = html::a(inlink('browse', "projectID=$projectID"), $project->name);
- $this->view->position[] = $this->lang->project->build;
+ $this->view->position[] = $this->lang->execution->build;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->view->buildsTotal = count($builds);
@@ -68,7 +69,7 @@ class projectBuild extends control
$this->view->product = $type == 'product' ? $param : 'all';
$this->view->project = $project;
$this->view->products = $products;
- $this->view->projects = $projects;
+ $this->view->executions = $executions;
$this->view->type = $type;
$this->display();
diff --git a/module/projectbuild/view/browse.html.php b/module/projectbuild/view/browse.html.php
index 3d0d8ac270..87cf981441 100644
--- a/module/projectbuild/view/browse.html.php
+++ b/module/projectbuild/view/browse.html.php
@@ -106,7 +106,7 @@
-
+
build->create, "id='createBuildButton'", 'btn btn-primary');?>
diff --git a/module/stakeholder/control.php b/module/stakeholder/control.php
index 5ae8584db8..8adad8d7a1 100644
--- a/module/stakeholder/control.php
+++ b/module/stakeholder/control.php
@@ -1,7 +1,7 @@
display();
}
- /**
+ /**
* Create a stakeholder.
*
* @param int programID
@@ -50,7 +50,7 @@ class stakeholder extends control
$response['message'] = $this->lang->saveSuccess;
if(!$stakeholderID or dao::isError())
- {
+ {
$response['result'] = 'fail';
$response['message'] = dao::getError();
$this->send($response);
@@ -74,7 +74,7 @@ class stakeholder extends control
$this->lang->program->switcherMenu = $this->program->getSwitcher($programID, true);
$this->program->setViewMenu($programID);
- $this->view->members = $this->loadModel('project')->getProjectTeamMemberPairs($programID);
+ $this->view->members = $this->loadModel('project')->getTeamMemberPairs($programID);
}
else
{
@@ -89,19 +89,19 @@ class stakeholder extends control
$this->display();
}
- /**
+ /**
* Batch create stakeholders.
*
* @access public
* @return void
*/
- public function batchCreate($dept = '', $parentID = 0)
- {
+ public function batchCreate($dept = '', $parentID = 0)
+ {
if($_POST)
- {
+ {
$this->stakeholder->batchCreate();
die(js::locate($this->createLink('stakeholder', 'browse'), 'parent'));
- }
+ }
$this->loadModel('user');
$this->loadModel('dept');
@@ -122,7 +122,7 @@ class stakeholder extends control
$this->display();
}
- /**
+ /**
* Edit a stakeholder.
*
* @param int $stakeholderID
@@ -140,7 +140,7 @@ class stakeholder extends control
$response['message'] = $this->lang->saveSuccess;
if(dao::isError())
- {
+ {
$response['result'] = 'fail';
$response['message'] = dao::getError();
$this->send($response);
@@ -170,7 +170,7 @@ class stakeholder extends control
$this->display();
}
- /**
+ /**
* Ajax get members.
*
* @param string $user
@@ -180,11 +180,11 @@ class stakeholder extends control
*/
public function ajaxGetMembers($user = '', $programID = 0)
{
- $members = $programID == 0 ? $this->loadModel('execution')->getTeamMemberPairs($this->session->project) : $this->loadModel('project')->getProjectTeamMemberPairs($programID);
+ $members = $programID == 0 ? $this->loadModel('execution')->getTeamMemberPairs($this->session->project) : $this->loadModel('project')->getTeamMemberPairs($programID);
die(html::select('user', $members, $user, "class='form-control chosen'"));
}
- /**
+ /**
* Ajax get company user.
*
* @param string $user
@@ -194,14 +194,14 @@ class stakeholder extends control
*/
public function ajaxGetCompanyUser($user = '', $programID = 0)
{
- $members = $programID == 0 ? $this->loadModel('execution')->getTeamMemberPairs($this->session->project) : $this->loadModel('project')->getProjectTeamMemberPairs($programID);
+ $members = $programID == 0 ? $this->loadModel('execution')->getTeamMemberPairs($this->session->project) : $this->loadModel('project')->getTeamMemberPairs($programID);
$users = $this->loadModel('user')->getPairs('noclosed');
$companyUsers = array('' => '') + array_diff($users, $members);
die(html::select('user', $companyUsers, $user, "class='form-control chosen'"));
}
- /**
+ /**
* Ajax get outside user.
*
* @access public
@@ -214,7 +214,7 @@ class stakeholder extends control
die(html::select('user', $users, '', "class='form-control chosen' onchange=changeUser(this.value);"));
}
- /**
+ /**
* Ajax get control.
*
* @access public
@@ -235,21 +235,21 @@ class stakeholder extends control
if(isset($stakeholders['inside']))
{
$insideList = array();
- foreach($stakeholders['inside'] as $user)
+ foreach($stakeholders['inside'] as $user)
{
$partake = isset($partakeList->{$user->account}) ? $partakeList->{$user->account} : '';
$insideList[] = "" . html::select("partake[$activityID][$user->account]", $this->lang->stakeholder->planField->partakeList, $partake, "class='form-control'") . ' | ';
- }
+ }
}
if(isset($stakeholders['outside']))
{
$outsideList = array();
- foreach($stakeholders['outside'] as $user)
+ foreach($stakeholders['outside'] as $user)
{
$partake = isset($partakeList->{$user->account}) ? $partakeList->{$user->account} : '';
$outsideList[] = "" . html::select("partake[$activityID][$user->account]", $this->lang->stakeholder->planField->partakeList, $partake, "class='form-control'") . ' | ';
- }
+ }
}
$partakeList = array_merge($insideList, $outsideList);
diff --git a/module/story/model.php b/module/story/model.php
index e9efb568d4..fceb411967 100644
--- a/module/story/model.php
+++ b/module/story/model.php
@@ -2367,9 +2367,9 @@ class storyModel extends model
$stories = $this->dao->select('distinct t1.*, t2.*,t3.branch as productBranch,t4.type as productType,t2.version as version')->from(TABLE_PROJECTSTORY)->alias('t1')
->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
- ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t3')->on('t1.execution = t3.project')
+ ->leftJoin(TABLE_PROJECTPRODUCT)->alias('t3')->on('t1.project = t3.project')
->leftJoin(TABLE_PRODUCT)->alias('t4')->on('t2.product = t4.id')
- ->where('t1.execution')->eq((int)$executionID)
+ ->where('t1.project')->eq((int)$executionID)
->andWhere('t2.type')->eq($storyType)
->beginIF($excludeStories)->andWhere('t2.id')->notIN($excludeStories)->fi()
->beginIF($execution->type == 'project')
|