Merge remote branch 'upstream/master' into BUG-9863

This commit is contained in:
jennylee
2012-10-08 10:02:14 -04:00
7 changed files with 132 additions and 18 deletions

View File

@@ -95,15 +95,15 @@ function run_upgrade($command, $args)
if (defined('PATH_C')) {
rm_dir(PATH_C, true);
}
$workspaces = get_workspaces_from_args($args);
$workspaces = get_workspaces_from_args($command);
$count = count($workspaces);
$first = true;
$errors = false;
$buildCacheView = array_key_exists("buildACV", $command);
$buildCacheView = array_key_exists("buildACV", $args);
foreach ($workspaces as $index => $workspace) {
try {
CLI::logging("Upgrading workspaces ($index/$count): " . CLI::info($workspace->name) . "\n");
$workspace->upgrade($first, $buildCacheView);
$workspace->upgrade($first, $buildCacheView, $workspace->name);
$workspace->close();
$first = false;
} catch (Exception $e) {

View File

@@ -1653,6 +1653,43 @@ class wsBase
}
}
/**
* get all variables the system and case selected
* @param string $caseId
*
* @return $result will return an object
*/
public function getVariablesNames($caseId)
{
try {
$oCase = new Cases();
$caseFields = $oCase->loadCase($caseId);
$oldFields = $caseFields['APP_DATA'];
$resFields = array();
foreach ($oldFields as $key => $val) {
$node = new stdClass();
$node->name = $key;
$resFields[] = $node;
}
$result = new wsGetVariableResponse(
0,
count($resFields) . G::loadTranslation('ID_VARIABLES_SENT'), $resFields
);
return $result;
} catch (Exception $e) {
$result = new wsGetVariableResponse(100, $e->getMessage(), null);
return $result;
}
}
/**
* new Case begins a new case under the name of the logged-in user.
* @param string $processId

View File

@@ -290,7 +290,7 @@ class workspaceTools {
* Upgrade this workspace Content.
*
*/
public function upgradeContent() {
public function upgradeContent($workSpace=SYS_SYS) {
$this->initPropel(true);
require_once('classes/model/Language.php');
G::LoadThirdParty('pear/json', 'class.json');
@@ -304,7 +304,7 @@ class workspaceTools {
}
require_once('classes/model/Content.php');
$regenerateContent = new Content();
$regenerateContent->regenerateContent($arrayLang);
$regenerateContent->regenerateContent($arrayLang, $workSpace);
}
/**

View File

@@ -276,7 +276,7 @@ class Content extends BaseContent {
*
* @param array $langs
*/
function regenerateContent($langs)
function regenerateContent($langs, $workSpace=SYS_SYS)
{
//Search the language
$key = array_search('en',$langs);
@@ -312,18 +312,25 @@ class Content extends BaseContent {
$sql = " SELECT CON_ID, CON_CATEGORY, CON_LANG, CON_PARENT, CON_VALUE
FROM CONTENT
ORDER BY CON_ID, CON_CATEGORY, CON_LANG, CON_PARENT ";
ORDER BY CON_ID, CON_CATEGORY, CON_PARENT, CON_LANG";
G::LoadClass("wsTools");
$workSpace = new workspaceTools($workSpace);
$workSpace->getDBInfo();
$link = mysql_pconnect($workSpace->dbHost, $workSpace->dbUser, $workSpace->dbPass)
or die ("Could not connect");
mysql_select_db($workSpace->dbName, $link);
mysql_query('SET OPTION SQL_BIG_SELECTS=1');
$result = mysql_unbuffered_query($sql);
$result = mysql_unbuffered_query($sql, $link);
$list = array();
$default = array();
$sw = array('CON_ID'=>'','CON_CATEGORY'=>'','CON_PARENT'=>'');
while ($row = mysql_fetch_assoc($result)) {
if ($sw['CON_ID'] == $row['CON_ID'] && $sw['CON_CATEGORY'] == $row['CON_CATEGORY'] && $sw['CON_PARENT'] == $row['CON_PARENT']) {
$list[] = $row;
if ($sw['CON_LANG'] == $langs[$key]) {
$default = $row;
}
} else {
$this->rowsClustered++;
if (count($langs) != count($list)) {
@@ -342,6 +349,9 @@ class Content extends BaseContent {
$default = array();
$list[] = $row;
}
if ($sw['CON_LANG'] == $langs[$key]) {
$default = $row;
}
$this->rowsProcessed++;
}
if (count($langs) != count($list)) {
@@ -352,11 +362,13 @@ class Content extends BaseContent {
mysql_free_result($result);
$total = $this->rowsProcessed + $this->rowsInserted;
CLI::logging("Rows Processed ---> $this->rowsProcessed ..... \n");
CLI::logging("Rows Clustered ---> $this->rowsClustered ..... \n");
CLI::logging("Rows Unchanged ---> $this->rowsUnchanged ..... \n");
CLI::logging("Rows Inserted ---> $this->rowsInserted ..... \n");
CLI::logging("Rows Total ---> $total ..... \n");
if (!isset($_SERVER['SERVER_NAME'])) {
CLI::logging("Rows Processed ---> $this->rowsProcessed ..... \n");
CLI::logging("Rows Clustered ---> $this->rowsClustered ..... \n");
CLI::logging("Rows Unchanged ---> $this->rowsUnchanged ..... \n");
CLI::logging("Rows Inserted ---> $this->rowsInserted ..... \n");
CLI::logging("Rows Total ---> $total ..... \n");
}
}
function checkLanguage($content, $default)

View File

@@ -308,6 +308,11 @@
<xs:element name="value" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="variableListNameStruct">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="variableListRequest">
<xs:complexType>
<xs:sequence>
@@ -325,6 +330,16 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getVariablesNamesResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="status_code" type="xs:integer"/>
<xs:element name="message" type="xs:string"/>
<xs:element name="timestamp" type="xs:string"/>
<xs:element name="variables" minOccurs="0" maxOccurs="unbounded" type="xs0:variableListNameStruct"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getVariablesRequest">
<xs:complexType>
<xs:sequence>
@@ -334,6 +349,14 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getVariablesNamesRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="sessionId" type="xs:string"/>
<xs:element name="caseId" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="newCaseRequest">
<xs:complexType>
<xs:sequence>
@@ -920,6 +943,12 @@
<message name="getVariablesResponse">
<part name="parameters" element="xs0:getVariablesResponse"/>
</message>
<message name="getVariablesNamesRequest">
<part name="parameters" element="xs0:getVariablesNamesRequest"/>
</message>
<message name="getVariablesNamesResponse">
<part name="parameters" element="xs0:getVariablesNamesResponse"/>
</message>
<message name="sendMessageRequest">
<part name="parameters" element="xs0:sendMessageRequest"/>
</message>
@@ -1102,6 +1131,10 @@
<input message="xs0:getVariablesRequest"/>
<output message="xs0:getVariablesResponse"/>
</operation>
<operation name="getVariablesNames">
<input message="xs0:getVariablesNamesRequest"/>
<output message="xs0:getVariablesNamesResponse"/>
</operation>
<operation name="sendMessage">
<input message="xs0:sendMessageRequest"/>
<output message="xs0:pmResponse"/>
@@ -1363,6 +1396,15 @@
<soap12:body use="literal"/>
</output>
</operation>
<operation name="getVariablesNames">
<soap12:operation soapAction="urn:getVariablesNames" soapActionRequired="true" style="document"/>
<input>
<soap12:body use="literal"/>
</input>
<output>
<soap12:body use="literal"/>
</output>
</operation>
<operation name="sendMessage">
<soap12:operation soapAction="urn:sendMessage" soapActionRequired="true" style="document"/>
<input>

View File

@@ -516,6 +516,28 @@ function GetVariables($params)
return $res;
}
function GetVariablesNames($params)
{
$vsResult = isValidSession($params->sessionId);
if ($vsResult->status_code !== 0) {
return $vsResult;
}
if (ifPermission($params->sessionId, 'PM_CASES') == 0) {
$result = new wsGetVariableResponse(2, "You do not have privileges", null);
return $result;
}
$ws = new wsBase();
$res = $ws->getVariablesNames($params->caseId);
return $res;
}
function DerivateCase($params)
{
$oSession = new Sessions();
@@ -1169,6 +1191,7 @@ $server->addFunction("removeDocument");
$server->addFunction("SendMessage");
$server->addFunction("SendVariables");
$server->addFunction("GetVariables");
$server->addFunction("GetVariablesNames");
$server->addFunction("DerivateCase");
$server->addFunction("RouteCase");
$server->addFunction("executeTrigger");

View File

@@ -73,7 +73,7 @@ try {
G::LoadClass("wsTools");
$renegerateContent = new workspaceTools(SYS_SYS);
$renegerateContent->upgradeContent();
$messs = $renegerateContent->upgradeContent();
$result->msg = G::LoadTranslation('IMPORT_LANGUAGE_SUCCESS') . "\n";
$result->msg .= "PO File num. records: " . $importResults->recordsCount . "\n";
@@ -83,7 +83,7 @@ try {
if( $importResults->errMsg != '' ){
$result->msg .= "Errors registered: \n" . $importResults->errMsg . "\n";
}
//$result->msg = htmlentities($result->msg);
$result->success = true;