Merge code from github to bitbucket 2014-08-14

This commit is contained in:
Julio Cesar Laura
2014-08-14 13:53:06 -04:00
37 changed files with 484 additions and 154 deletions

View File

@@ -577,7 +577,7 @@ class Cases
if ($jump != '') {
$aCases = $oAppDel->LoadParallel($sAppUid);
$aFields['TAS_UID'] = '';
$aFields['CURRENT_USER'] = '';
$aFields['CURRENT_USER'] = array();
foreach ($aCases as $key => $value) {
$oCurUser->load($value['USR_UID']);
$aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
@@ -5069,7 +5069,8 @@ class Cases
"INPUT" => Array(),
"OUTPUT" => Array(),
"CASES_NOTES" => 0,
"MSGS_HISTORY" => Array()
"MSGS_HISTORY" => Array(),
"SUMMARY_FORM" => 0
);
//permissions per user
@@ -5226,6 +5227,7 @@ class Cases
$oDataset->next();
}
$RESULT['CASES_NOTES'] = 1;
$RESULT['SUMMARY_FORM'] = 1;
// Message History
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
@@ -5373,6 +5375,9 @@ class Cases
case 'CASES_NOTES':
$RESULT['CASES_NOTES'] = 1;
break;
case 'SUMMARY_FORM':
$RESULT['SUMMARY_FORM'] = 1;
break;
case 'MSGS_HISTORY':
// Permission
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
@@ -5424,7 +5429,8 @@ class Cases
"INPUT_DOCUMENTS" => $RESULT['INPUT'],
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'],
"CASES_NOTES" => $RESULT['CASES_NOTES'],
"MSGS_HISTORY" => $RESULT['MSGS_HISTORY']
"MSGS_HISTORY" => $RESULT['MSGS_HISTORY'],
"SUMMARY_FORM" => $RESULT['SUMMARY_FORM']
);
}

View File

@@ -49,6 +49,15 @@ class p11835 extends patch
return patch::$isPathchable;
}
public static function pmVersion($version)
{
if (preg_match("/^\D*([\d\.]+)\D*$/", $version, $matches)) {
$version = $matches[1];
}
return $version;
}
/*
* Note.- Use after DB was upgraded.
* Set the patch, setting all the TAS_GROUP_VARIABLE to ''
@@ -83,7 +92,38 @@ class p11835 extends patch
$aRow = $recordSet->getRow();
}
}
echo $count. " records where patched to use SELF_SERVICE feature.\n";
//Fix BUG-15394
G::LoadClass("configuration");
$conf = new Configurations();
if (!$conf->exists("HOTFIX")) {
//HOTFIX, Create empty record
$conf->aConfig = array();
$conf->saveConfig("HOTFIX", "");
}
$arrayHotfix = $conf->getConfiguration("HOTFIX", "");
$arrayHotfix = (is_array($arrayHotfix))? $arrayHotfix : array($arrayHotfix);
$pmVersion = self::pmVersion(System::getVersion()) . "";
if (($pmVersion == "2.5.2.4" || $pmVersion == "2.8") && !in_array("15394", $arrayHotfix)) {
$cnn = Propel::getConnection("workflow");
$stmt = $cnn->prepareStatement("UPDATE USERS_PROPERTIES SET USR_LOGGED_NEXT_TIME = 0");
$rs = $stmt->executeQuery();
//HOTFIX, Update record (add 15394)
$arrayHotfix[] = "15394";
$conf->aConfig = $arrayHotfix;
$conf->saveConfig("HOTFIX", "");
}
//echo
echo $count . " records where patched to use SELF_SERVICE feature.\n";
}
}

View File

@@ -42,6 +42,7 @@ define('PM_CREATE_NEW_DELEGATION', 1013);
define('PM_SINGLE_SIGN_ON', 1014);
define('PM_GET_CASES_AJAX_LISTENER', 1015);
define('PM_BEFORE_CREATE_USER', 1016);
define('PM_AFTER_LOGIN', 1017);

View File

@@ -3639,6 +3639,10 @@ class processMap
$sObjectType = G::LoadTranslation('MSGS_HISTORY');
$sObject = G::LoadTranslation('ID_ALL');
break;
case 'SUMMARY_FORM':
$sObjectType = G::LoadTranslation('ID_SUMMARY_FORM');
$sObject = G::LoadTranslation('ID_ALL');
break;
default:
$sObjectType = G::LoadTranslation('ID_ALL');
$sObject = G::LoadTranslation('ID_ALL');

View File

@@ -1142,7 +1142,7 @@ class System
@preg_match( $patt, $content, $match );
if (is_array( $match ) && count( $match ) > 0 && isset( $match[1] )) {
$newUrl = 'sys/' . $conf['lang'] . '/' . $conf['skin'] . '/login/login';
$newUrl = "sys/" . (($conf["lang"] != "")? $conf["lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $conf["skin"] . "/login/login";
$newMetaStr = str_replace( $match[1], $newUrl, $match[0] );
$newContent = str_replace( $match[0], $newMetaStr, $content );

View File

@@ -532,6 +532,29 @@ class workspaceTools
$oCriteria->add(ConfigurationPeer::OBJ_UID, array("todo", "draft", "sent", "unassigned", "paused", "cancelled"), Criteria::NOT_IN);
ConfigurationPeer::doDelete($oCriteria);
// end of reset
//close connection
$connection = Propel::getConnection( 'workflow' );
$sql_sleep = "SELECT * FROM information_schema.processlist WHERE command = 'Sleep' and user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;";
$stmt_sleep = $connection->createStatement();
$rs_sleep = $stmt_sleep->executeQuery( $sql_sleep, ResultSet::FETCHMODE_ASSOC );
while ($rs_sleep->next()) {
$row_sleep = $rs_sleep->getRow();
$oStatement_sleep = $connection->prepareStatement( "kill ". $row_sleep['ID'] );
$oStatement_sleep->executeQuery();
}
$sql_query = "SELECT * FROM information_schema.processlist WHERE user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;";
$stmt_query = $connection->createStatement();
$rs_query = $stmt_query->executeQuery( $sql_query, ResultSet::FETCHMODE_ASSOC );
while ($rs_query->next()) {
$row_query = $rs_query->getRow();
$oStatement_query = $connection->prepareStatement( "kill ". $row_query['ID'] );
$oStatement_query->executeQuery();
}
}
/**

View File

@@ -1051,8 +1051,8 @@ class AppCacheView extends BaseAppCacheView
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL)->addAnd(
$criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED"))
)->addOr(
//Completed - getCompleted()
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)->addAnd(
$criteria->getNewCriterion(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL))
);
if (!$doCount) {

View File

@@ -211,6 +211,8 @@ class AppDelegation extends BaseAppDelegation
public function LoadParallel ($AppUid)
{
$aCases = array();
$c = new Criteria( 'workflow' );
$c->addSelectColumn( AppDelegationPeer::APP_UID );
$c->addSelectColumn( AppDelegationPeer::DEL_INDEX );

View File

@@ -844,7 +844,9 @@ class OutputDocument extends BaseOutputDocument
//$pdf->SetFont('dejavusans', '', 14, '', true);
// Detect chinese, japanese, thai
if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) {
$pdf->SetFont('kozminproregular');
$fileArialunittf = PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "fonts" . PATH_SEP . "arialuni.ttf";
$pdf->SetFont((!file_exists($fileArialunittf))? "kozminproregular" : $pdf->addTTFfont($fileArialunittf, "TrueTypeUnicode", "", 32));
}
// Add a page

View File

@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ProcessMaker 2.5.2.3\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2014-07-03 12:29:08\n"
"PO-Revision-Date: 2014-07-22 13:19:57\n"
"Last-Translator: \n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
@@ -5032,8 +5032,8 @@ msgstr "To delete a language you should select a item from the list first."
# TRANSLATION
# LABEL/ID_DELETE_LANGUAGE_CONFIRM
#: LABEL/ID_DELETE_LANGUAGE_CONFIRM
msgid "Do you want remove the language \"{0}\" ?"
msgstr "Do you want remove the language \"{0}\" ?"
msgid "Are you sure you want to delete the language \"{0}\"?"
msgstr "Are you sure you want to delete the language \"{0}\"?"
# TRANSLATION
# LABEL/ID_DELETE_LANGUAGE
@@ -16339,6 +16339,18 @@ msgstr "The variable \"{0}\" required the variables \"{1}\" for the query."
msgid "The Output Document with {0}: {1} it's assigned in \"{2}\"."
msgstr "The Output Document with {0}: {1} it's assigned in \"{2}\"."
# TRANSLATION
# LABEL/ID_EXISTS_FILES
#: LABEL/ID_EXISTS_FILES
msgid "The file exists."
msgstr "The file exists."
# TRANSLATION
# LABEL/ID_FILENAME_REQUIRED
#: LABEL/ID_FILENAME_REQUIRED
msgid "The filename is required."
msgstr "The filename is required."
# additionalTables/additionalTablesData.xml?ADD_TAB_NAME
# additionalTables/additionalTablesData.xml
#: text - ADD_TAB_NAME

View File

@@ -30,6 +30,7 @@ class Admin extends Controller
$timeZonesList = array_keys( $timeZonesList );
$mainController = new Main();
$languagesList = $mainController->getLanguagesList();
$languagesList[] = array ("", G::LoadTranslation("ID_USE_LANGUAGE_URL"));
$sysConf = System::getSystemConfiguration( PATH_CONFIG . 'env.ini' );
foreach ($skinsList['skins'] as $skin) {

View File

@@ -119,7 +119,7 @@ class adminProxy extends HttpProxyController
$this->success = true;
$this->restart = $restart;
$this->url = '/sys' . SYS_SYS . '/' . $sysConf['default_lang'] . '/' . $sysConf['default_skin'] . $urlPart;
$this->url = "/sys" . SYS_SYS . "/" . (($sysConf["default_lang"] != "")? $sysConf["default_lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $sysConf["default_skin"] . $urlPart;
$this->message = 'Saved Successfully';
}

View File

@@ -334,6 +334,7 @@ class Ajax
$processData['PRO_AUTHOR'] = '(USER DELETED)';
}
G::LoadClass('configuration');
$conf = new Configurations();
$conf->getFormats();
$processData['PRO_CREATE_DATE'] = $conf->getSystemDate($processData['PRO_CREATE_DATE']);
@@ -809,7 +810,7 @@ class Ajax
public function dynaformViewFromHistory()
{
?>
<link rel="stylesheet" type="text/css" href="/css/classic.css" />
<link rel="stylesheet" type="text/css" href="/css/<?php echo SYS_SKIN; ?>.css" />
<script type="text/javascript">
//!Code that simulated reload library javascript maborak

View File

@@ -47,6 +47,12 @@ try {
}
$applicationFields = $case->loadCase( $_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX'] );
$respView = $case->getAllObjectsFrom( $applicationFields['PRO_UID'], $_REQUEST['APP_UID'], $applicationFields['TAS_UID'], $_SESSION['USER_LOGGED'], 'VIEW' );
if ($respView['SUMMARY_FORM'] == 0) {
throw new Exception( G::LoadTranslation( 'ID_SUMMARY_FORM_NO_PERMISSIONS' ) );
}
if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) {
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#';

View File

@@ -93,7 +93,7 @@ try {
}
if (!isset($uid) || $uid < 0) {
if (isset($_SESSION['FAILED_LOGINS'])) {
if (isset($_SESSION['FAILED_LOGINS']) && ($uid == -1 || $uid == -2)) {
$_SESSION['FAILED_LOGINS']++;
}
if (!defined('PPP_FAILED_LOGINS')) {
@@ -113,8 +113,13 @@ try {
$oStatement = $oConnection->prepareStatement("UPDATE USERS SET USR_STATUS = 'INACTIVE' WHERE USR_UID = '" . $sUserUID . "'");
$oStatement->executeQuery();
unset($_SESSION['FAILED_LOGINS']);
G::SendMessageText(G::LoadTranslation('ID_ACCOUNT') . ' "' . $usr . '" ' . G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN'), 'warning');
$errLabel = G::LoadTranslation('ID_ACCOUNT') . ' "' . $usr . '" ' . G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN');
}
//Log failed authentications
$message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . G::getIpAddress() . " | WS: " . SYS_SYS;
$message .= " | BROWSER: " . $_SERVER['HTTP_USER_AGENT'] ." | \n" ;
G::log($message, PATH_DATA, 'loginFailed.log');
}
}
@@ -131,20 +136,6 @@ try {
}
}
//LOG Filed authentications
$filedTimes = (defined(PPP_FAILED_LOGINS)) ? PPP_FAILED_LOGINS : 3;
if($_SESSION['FAILED_LOGINS'] > $filedTimes){
$ip = G::getIpAddress();
$browser = $_SERVER['HTTP_USER_AGENT'];
$path = PATH_DATA;
$message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . $ip . " | WS: " . SYS_SYS . " | BROWSER: " .$browser ." | \n" ;
$file = "loginFailed.log";
G::log($message, $path, $file);
}
G::header("location: $loginUrl");
die;
}
@@ -200,7 +191,7 @@ try {
$lang = $frm['USER_LANG'];
}
} else {
if (defined('SYS_LANG')) {
if (defined("SYS_LANG") && SYS_LANG != "") {
$lang = SYS_LANG;
} else {
$lang = 'en';
@@ -319,6 +310,12 @@ try {
$oHeadPublisher->addExtJsScript('login/init', false); //adding a javascript file .js
$oHeadPublisher->assign('uriReq', $sLocation);
$oPluginRegistry =& PMPluginRegistry::getSingleton();
if ($oPluginRegistry->existsTrigger ( PM_AFTER_LOGIN )) {
$oPluginRegistry->executeTriggers ( PM_AFTER_LOGIN , $_SESSION['USER_LOGGED'] );
}
G::RenderPage('publish', 'extJs');
//G::header('Location: ' . $sLocation);
die;

View File

@@ -149,9 +149,14 @@ G::LoadClass('configuration');
$oConf = new Configurations();
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
$aFields['USER_LANG'] = isset($oConf->aConfig['login_defaultLanguage'])
? $oConf->aConfig['login_defaultLanguage']
: 'en';
$myUrl = explode("/", $_SERVER["REQUEST_URI"]);
if (isset($myUrl) && $myUrl != "") {
$aFields["USER_LANG"] = $myUrl[2];
} else {
$aFields["USER_LANG"] = isset($oConf->aConfig["login_defaultLanguage"])? $oConf->aConfig["login_defaultLanguage"] : SYS_LANG;
}
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php');

View File

@@ -488,6 +488,22 @@ try {
// ';
// $oHeadPublisher->addScriptCode($jscriptCode);
$_REQUEST['fcontent'] = $fcontent;
preg_match_all('/\@(?:([\>])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))((?:\s*\[[\'"]?\w+[\'"]?\])+)?/',$fcontent,$matches);
foreach ($matches[0] as $key => $value) {
preg_match('/(\!--)'.$value.'(-->)/',$fcontent, $match);
if (count($match)==0) {
$fcontent = preg_replace ('/'.$value.'/i','<!--'.$value.'-->',$fcontent);
}
}
preg_match_all('/\@(?:([\<])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))((?:\s*\[[\'"]?\w+[\'"]?\])+)?/',$fcontent,$matches);
foreach ($matches[0] as $key => $value) {
preg_match('/(\!--)'.$value.'(-->)/',$fcontent, $match);
if (count($match)==0) {
$fcontent = preg_replace ('/'.$value.'/i','<!--'.$value.'-->',$fcontent);
}
}
//if($extion[count($extion)-1]=='html' || $extion[count($extion)-1]=='txt'){
$aData = Array('pro_uid' => $_REQUEST['pro_uid'], 'fcontent' => $fcontent, 'filename' => $_REQUEST['filename']);
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_FileEdit', '', $aData);
@@ -695,6 +711,21 @@ try {
//$json = new Services_JSON();
$sOutput = Bootstrap::json_encode($response);
break;
case "verifyNameFile":
$response = array();
$status = "OK";
$filename = $_POST["filename"];
$pathDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST["pro_uid"] . PATH_SEP;
if (file_exists($pathDirectory . PATH_SEP . $filename)) {
$status = "ERROR";
}
$response["status"] = $status;
echo Bootstrap::json_encode($response);
break;
}
if (isset($sOutput)) {
die($sOutput);

View File

@@ -152,17 +152,25 @@ try {
$oContent = new Content();
$aRow = $oDataset->getRow();
//THERE IS NO ANY CASE STARTED FROM THES LANGUAGE
if ($aRow[0] == 0) { //so we can delete this language
try {
Content::removeLanguageContent( $locale );
$trn->removeTranslationEnvironment( $locale );
echo G::LoadTranslation( 'ID_LANGUAGE_DELETED_SUCCESSFULLY' );
} catch (Exception $e) {
echo $e->getMessage();
}
if($locale != "en"){ //Default Lengage 'en'
if($locale != SYS_LANG){ //Current lenguage
//THERE IS NO ANY CASE STARTED FROM THES LANGUAGE
if ($aRow[0] == 0) { //so we can delete this language
try {
Content::removeLanguageContent( $locale );
$trn->removeTranslationEnvironment( $locale );
echo G::LoadTranslation( 'ID_LANGUAGE_DELETED_SUCCESSFULLY' );
} catch (Exception $e) {
echo $e->getMessage();
}
} else {
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE' ) );
}
} else {
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE_CURRENTLY' ) );
}
} else {
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE' ) );
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE_DEFAULT' ) );
}
break;
}

View File

@@ -14,6 +14,8 @@ switch ($request) {
);
}
$result->rows[] = array ("LAN_ID" => "", "LAN_NAME" => G::LoadTranslation("ID_USE_LANGUAGE_URL"));
print (G::json_encode( $result )) ;
break;
case 'saveSettings':

View File

@@ -1,4 +1,6 @@
<?php
global $RBAC;
$RBAC->requirePermissions( 'PM_USERS' );
//calculating the max upload file size;
$POST_MAX_SIZE = ini_get( 'post_max_size' );

View File

@@ -1589,4 +1589,11 @@ td.x-cnotes-label {
padding-bottom: 15px;
padding-left: 3px;
padding-right: 3px;
}
}
.x-grid3-cell-inner, .x-grid3-hd-inner {
overflow:hidden;
padding:3px 3px 3px 5px;
white-space:normal;
}

View File

@@ -1673,3 +1673,9 @@ td.x-cnotes-label {
#ext-comp-1010.xtb-text {
font-size: 9px;
}
.x-grid3-cell-inner, .x-grid3-hd-inner {
overflow:hidden;
padding:3px 3px 3px 5px;
white-space:normal;
}

View File

@@ -66,6 +66,7 @@ Ext.onReady(function() {
name: 'DAS_INS_TITLE',
fieldLabel: _('ID_TITLE'),
allowBlank: false,
maxLength: 200,
width: 320,
listeners: {
blur: function() {

View File

@@ -185,6 +185,11 @@ Ext.onReady(function(){
}
});
function formatLineWrap(value){
str = '<div class="title-dashboard-text">'+value+'</div>';
return str;
}
cmodel = new Ext.grid.ColumnModel({
defaults: {
width: 50,
@@ -192,7 +197,7 @@ Ext.onReady(function(){
},
columns: [
{id:'DAS_INS_UID', dataIndex: 'DAS_INS_UID', hidden:true, hideable:false},
{header: _("ID_TITLE"), dataIndex: "DAS_INS_TITLE", width: 150, hidden: false, align: "left"},
{header: _("ID_TITLE"), dataIndex: "DAS_INS_TITLE", width: 150, hidden: false, align: "left", renderer : formatLineWrap},
{header: _("ID_DASHLET"), dataIndex: "DAS_TITLE", width: 200, hidden: false, align: "left"},
{header: _('ID_VERSION'), dataIndex: 'DAS_VERSION', width: 60, hidden: false, align: 'center'},
{header: _('ID_ASSIGNED_TO'), dataIndex: 'DAS_INS_OWNER_TITLE', width: 200, hidden: false, align: 'center'},

View File

@@ -144,7 +144,7 @@
&nbsp;<?php echo "$node_name";?>
</td>
<td><p style="font-size:12px; color:#1C3166; font-weight:bold">
<?php if( isset($node['__CONTENT__'][SYS_LANG]['__VALUE__']) ){
<?php if (isset($node["__CONTENT__"][SYS_LANG]["__VALUE__"]) && $node["__CONTENT__"][SYS_LANG]["__VALUE__"] != "") {
if( strlen($node['__CONTENT__'][SYS_LANG]['__VALUE__']) > 30 ){
$label = substr(trim(strip_tags(G::stripCDATA($node['__CONTENT__'][SYS_LANG]['__VALUE__']))), 0, 30 ) . '...';
} else {

View File

@@ -275,6 +275,7 @@ Ext.onReady(function(){
region: 'center',
xtype : 'fieldset',
labelWidth: 200,
autoScroll: true,
items:[
{
xtype : 'displayfield',
@@ -683,6 +684,7 @@ Ext.onReady(function(){
region: 'center',
xtype : 'panel',
bodyStyle : 'background:none;padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;font-size:1.2em;',
autoScroll: true,
items:[
{
xtype:'fieldset',

View File

@@ -622,12 +622,14 @@ render_lastlogin = function(v){
//Load Grid By Default
GridByDefault = function(){
searchText.reset();
infoGrid.store.load();
store.setBaseParam( 'textFilter', '');
store.load();
};
//Do Search Function
DoSearch = function(){
infoGrid.store.load({params: {textFilter: searchText.getValue()}});
store.setBaseParam( 'textFilter', searchText.getValue());
store.load();
};
//Delete User Function

View File

@@ -1,51 +1,85 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="processes_EditObjectPermission" width="100%" enableTemplate="1">
<TITLE type="title">
<en><![CDATA[Edit Specific Permission]]></en>
</TITLE>
<LANG type="private"/>
<PRO_UID type="hidden"/>
<OP_UID type="hidden"/>
<OP_CASE_STATUS type="dropdown" mode="edit">
<en><![CDATA[Status Case]]><option name="ALL"><![CDATA[ALL]]></option><option name="DRAFT"><![CDATA[DRAFT]]></option><option name="TO_DO"><![CDATA[TO_DO]]></option><option name="PAUSED"><![CDATA[PAUSED]]></option><option name="COMPLETED"><![CDATA[COMPLETED]]></option></en>
</OP_CASE_STATUS>
<TAS_UID type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Target Task]]><option name=""><![CDATA[All Tasks]]></option></en></TAS_UID>
<GROUP_USER type="text" mode="view">
<en><![CDATA[Group or User]]></en>
</GROUP_USER>
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER"/>
<OP_TASK_SOURCE type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Origin Task]]><option name=""><![CDATA[All Tasks]]></option></en></OP_TASK_SOURCE>
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
<en><![CDATA[Participation required?]]></en>
</OP_PARTICIPATE>
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
<en><![CDATA[Type]]><option name="ANY"><![CDATA[All]]></option><option name="DYNAFORM"><![CDATA[Dynaform]]></option><option name="INPUT"><![CDATA[Input Document]]></option><option name="OUTPUT"><![CDATA[Output Document]]></option><option name="CASES_NOTES"><![CDATA[Cases Notes]]></option><option name="MSGS_HISTORY"><![CDATA[Messages History]]></option></en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
<TITLE type="title">
<en>Edit Specific Permission</en>
</TITLE>
<LANG type="private"/>
<PRO_UID type="hidden"/>
<OP_UID type="hidden"/>
<OP_CASE_STATUS type="dropdown" mode="edit">
<en>Status Case
<option name="ALL">ALL</option>
<option name="DRAFT">DRAFT</option>
<option name="TO_DO">TO_DO</option>
<option name="PAUSED">PAUSED</option>
<option name="COMPLETED">COMPLETED</option>
</en>
</OP_CASE_STATUS>
<TAS_UID type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]>
<en>Target Task
<option name="">All Tasks</option>
</en>
</TAS_UID>
<GROUP_USER type="text" mode="view">
<en>Group or User</en>
</GROUP_USER>
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
<OP_TASK_SOURCE type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
</OP_TASK_SOURCE>
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
<en>Participation required?</en>
</OP_PARTICIPATE>
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
<en>Type
<option name="ANY">All</option>
<option name="DYNAFORM">Dynaform</option>
<option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option>
<option name="CASES_NOTES">Cases Notes</option>
<option name="MSGS_HISTORY">Messages History</option>
</en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allObjects
<en><![CDATA[Object]]><option name=""><![CDATA[All]]></option></en>
<en>Object
<option name="">All</option>
</en>
</ALL>
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allDynaforms
<en><![CDATA[DynaForm]]><option name=""><![CDATA[All]]></option></en>
<en>DynaForm<option name="">All</option></en>
</DYNAFORMS>
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allInputs
<en><![CDATA[Input Document]]><option name=""><![CDATA[All]]></option></en>
<en>Input Document<option name="">All</option></en>
</INPUTS>
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allOutputs
<en><![CDATA[Output Document]]><option name=""><![CDATA[All]]></option></en>
<en>Output Document<option name="">All</option></en>
</OUTPUTS>
<OP_ACTION type="dropdown" mode="edit">
<en><![CDATA[Permission]]><option name="VIEW"><![CDATA[View]]></option><option name="BLOCK"><![CDATA[Block]]></option><option name="DELETE"><![CDATA[Delete]]></option><option name="RESEND"><![CDATA[Resend]]></option></en>
</OP_ACTION>
<CREATE type="button" onclick="saveObjectPermission(this.form);">
<en><![CDATA[Save]]></en>
</CREATE>
<ID_DELETE type="private"/>
<ID_RESEND type="private"/>
<JS type="javascript"><![CDATA[
<OP_ACTION type="dropdown" mode="edit">
<en>Permission
<option name="VIEW">View</option>
<option name="BLOCK">Block</option>
<option name="DELETE">Delete</option>
<option name="RESEND">Resend</option>
</en>
</OP_ACTION>
<CREATE type="button" onclick="saveObjectPermission(this.form);">
<en>Save</en>
</CREATE>
<ID_DELETE type="private"/>
<ID_RESEND type="private"/>
<JS type="javascript"><![CDATA[
var aOptions = [];
var getOptions = function() {
var oAux = getField('OP_ACTION');

View File

@@ -146,25 +146,48 @@ function showCreateEmptyOptions(e, MAIN_DIRECTORY){
}
function saveEmptyFile(){
var fileName = getField('emptyfilename').value + ".html";
fileName = fileName.trim();
var fileName = getField("emptyfilename").value.trim();
var oRPC = new leimnud.module.rpc.xmlhttp({
url : 'processes_Ajax',
args: 'action=saveFile&filename='+fileName+'&pro_uid='+CURRENT_PRO_UID+'&MAIN_DIRECTORY='+CURRENT_MAIN_DIRECTORY+'&fcontent='
});
if(fileName != "") {
fileName = fileName + ".html";
fileName = fileName.trim();
oRPC.callback = function(rpc){
showCreateEmptyOptionsPanel.remove();
/// goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
if(typeof(CURRENT_MAIN_DIRECTORY) != "undefined" ) {
goToDirectory(CURRENT_PRO_UID, CURRENT_MAIN_DIRECTORY, '');
} else {
goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
}
editFile(CURRENT_PRO_UID, fileName)
}.extend(this);
oRPC.make();
var rpcAjax = new leimnud.module.rpc.xmlhttp({
url: "processes_Ajax",
method: "POST",
args: "action=verifyNameFile&filename=" + fileName + "&pro_uid=" + CURRENT_PRO_UID + "&MAIN_DIRECTORY=" + CURRENT_MAIN_DIRECTORY + "&fcontent="
});
rpcAjax.callback = function (rpc)
{
var response = rpc.xmlhttp.responseText.parseJSON();
var status = response.status;
if (status == "OK") {
var oRPC = new leimnud.module.rpc.xmlhttp({
url : 'processes_Ajax',
args: 'action=saveFile&filename='+fileName+'&pro_uid='+CURRENT_PRO_UID+'&MAIN_DIRECTORY='+CURRENT_MAIN_DIRECTORY+'&fcontent='
});
oRPC.callback = function(rpc){
showCreateEmptyOptionsPanel.remove();
/// goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
if(typeof(CURRENT_MAIN_DIRECTORY) != "undefined" ) {
goToDirectory(CURRENT_PRO_UID, CURRENT_MAIN_DIRECTORY, '');
} else {
goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
}
editFile(CURRENT_PRO_UID, fileName)
}.extend(this);
oRPC.make();
} else {
new leimnud.module.app.alert().make({label: _("ID_EXISTS_FILES")});
}
}.extend(this);
rpcAjax.make();
} else {
new leimnud.module.app.alert().make({label: _("ID_FILENAME_REQUIRED")});
}
}
function xReaload(){

View File

@@ -1,53 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<dynaForm name="processes_NewObjectPermission" width="100%" enableTemplate="1">
<TITLE type="title">
<en><![CDATA[New Specific Permission]]></en>
</TITLE>
<LANG type="private"/>
<PRO_UID type="hidden"/>
<OP_CASE_STATUS type="dropdown" mode="edit">
<en><![CDATA[Status Case]]><option name="ALL"><![CDATA[All]]></option><option name="DRAFT"><![CDATA[DRAFT]]></option><option name="TO_DO"><![CDATA[TO DO]]></option><option name="PAUSED"><![CDATA[PAUSED]]></option><option name="COMPLETED"><![CDATA[COMPLETED]]></option></en>
</OP_CASE_STATUS>
<TAS_UID type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Target Task]]><option name=""><![CDATA[All Tasks]]></option></en></TAS_UID>
<GROUP_USER type="text" mode="view">
<en><![CDATA[Group or User]]></en>
</GROUP_USER>
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER"/>
<OP_TASK_SOURCE type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Origin Task]]><option name=""><![CDATA[All Tasks]]></option></en></OP_TASK_SOURCE>
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
<en><![CDATA[Participation required?]]></en>
</OP_PARTICIPATE>
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
<en><![CDATA[Type]]><option name="ANY"><![CDATA[All]]></option><option name="DYNAFORM"><![CDATA[Dynaform]]></option><option name="INPUT"><![CDATA[Input Document]]></option><option name="OUTPUT"><![CDATA[Output Document]]></option><option name="CASES_NOTES"><![CDATA[Cases Notes]]></option><option name="MSGS_HISTORY"><![CDATA[Messages History]]></option></en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
<TITLE type="title">
<en>New Specific Permission</en>
</TITLE>
<LANG type="private"/>
<PRO_UID type="hidden"/>
<OP_CASE_STATUS type="dropdown" mode="edit">
<en>Status Case
<option name="ALL">All</option>
<option name="DRAFT">DRAFT</option>
<option name="TO_DO">TO DO</option>
<option name="PAUSED">PAUSED</option>
<option name="COMPLETED">COMPLETED</option>
</en>
</OP_CASE_STATUS>
<TAS_UID type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]>
<en>Target Task
<option name="">All Tasks</option>
</en>
</TAS_UID>
<GROUP_USER type="text" mode="view">
<en>Group or User</en>
</GROUP_USER>
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
<OP_TASK_SOURCE type="dropdown" mode="edit">
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
</OP_TASK_SOURCE>
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
<en>Participation required?</en>
</OP_PARTICIPATE>
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
<en>Type
<option name="ANY">All</option>
<option name="DYNAFORM">Dynaform</option>
<option name="INPUT">Input Document</option>
<option name="OUTPUT">Output Document</option>
<option name="CASES_NOTES">Cases Notes</option>
<option name="MSGS_HISTORY">Messages History</option>
</en>
</OP_OBJ_TYPE>
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allObjects
<en><![CDATA[Object]]><option name=""><![CDATA[All]]></option></en>
<en>Object
<option name="">All</option>
</en>
</ALL>
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allDynaforms
<en><![CDATA[DynaForm]]><option name=""><![CDATA[All]]></option></en>
<en>DynaForm<option name="">All</option></en>
</DYNAFORMS>
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allInputs
<en><![CDATA[Input Document]]><option name=""><![CDATA[All]]></option></en>
<en>Input Document<option name="">All</option></en>
</INPUTS>
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
SELECT * FROM allOutputs
<en><![CDATA[Output Document]]><option name=""><![CDATA[All]]></option></en>
<en>Output Document<option name="">All</option></en>
</OUTPUTS>
<OP_ACTION type="dropdown" mode="edit">
<en><![CDATA[Permission]]><option name="VIEW"><![CDATA[View]]></option><option name="BLOCK"><![CDATA[Block]]></option></en>
</OP_ACTION>
<BTN_CANCEL type="button" onclick="cancel();">
<en><![CDATA[Cancel]]></en>
</BTN_CANCEL>
<CREATE type="button" onclick="saveObjectPermission(this.form);">
<en><![CDATA[Create]]></en>
</CREATE>
<ID_DELETE type="private"/>
<ID_RESEND type="private"/>
<JS type="javascript"><![CDATA[
<OP_ACTION type="dropdown" mode="edit">
<en>Permission
<option name="VIEW">View</option>
<option name="BLOCK">Block</option>
</en>
</OP_ACTION>
<BTN_CANCEL type="button" onclick="cancel();">
<en>Cancel</en>
</BTN_CANCEL>
<CREATE type="button" onclick="saveObjectPermission(this.form);">
<en>Create</en>
</CREATE>
<ID_DELETE type="private"/>
<ID_RESEND type="private"/>
<JS type="javascript"><![CDATA[
var aOptions = [];
var getOptions = function() {
var oAux = getField('OP_ACTION');
@@ -259,4 +293,4 @@ function cancel(){
}
]]></JS>
</dynaForm>
</dynaForm>

View File

@@ -227,7 +227,7 @@
if (!file_exists(PATH_HTML . 'index.html')) { // if not, create it from template
file_put_contents(
PATH_HTML . 'index.html',
G::parseTemplate(PATH_TPL . 'index.html', array('lang' => SYS_LANG, 'skin' => SYS_SKIN))
G::parseTemplate(PATH_TPL . "index.html", array("lang" => ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en"), "skin" => SYS_SKIN))
);
}

View File

@@ -473,7 +473,7 @@ if (Bootstrap::isPMUnderUpdating()) {
// verify if index.html exists
if (! file_exists( PATH_HTML . 'index.html' )) { // if not, create it from template
file_put_contents( PATH_HTML . 'index.html', Bootstrap::parseTemplate( PATH_TPL . 'index.html', array ('lang' => SYS_LANG,'skin' => SYS_SKIN
file_put_contents( PATH_HTML . "index.html", Bootstrap::parseTemplate( PATH_TPL . "index.html", array ("lang" => ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en"), "skin" => SYS_SKIN
) ) );
}