Merge branch 'master' of bitbucket.org:colosa/processmaker

This commit is contained in:
Brayan Osmar Pereyra Suxo
2014-03-20 15:11:30 -04:00
15 changed files with 1404 additions and 1293 deletions

View File

@@ -174,14 +174,16 @@ printf ( "mafe-{$hashVendors}.js file has %d bytes\n", filesize("{$rootPath}/wor
out("=> compresing and combining css files", 'info');
$cssFiles = array (
"workflow/public_html/lib/pmUI/pmui.min.css",
"workflow/public_html/lib/mafe/mafe.min.css",
"gulliver/js/codemirror/lib/codemirror.css",
"gulliver/js/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css",
"gulliver/js/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css",
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css",
"gulliver/js/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css"
"gulliver/js/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css",
"workflow/public_html/lib/pmUI/pmui.min.css",
"workflow/public_html/lib/mafe/mafe.min.css"
);
$bigHandler = fopen ("{$rootPath}/workflow/public_html/lib/css/mafe-{$hashVendors}.css", "w");
foreach ($cssFiles as $cssFile) {

View File

@@ -20,16 +20,17 @@ Background:
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
And the "dep_uid" property equals "12921473252d567506e6e63079240767"
And the "dep_parent" property equals ""
And the "dep_title" property equals "Sales Division"
And the "dep_status" property equals "ACTIVE"
And the "dep_manager" property equals ""
And the "dep_manager" property equals "38102442252d5671a629009013495090"
And the "dep_ldap_dn" property equals ""
And the "dep_last" property equals "0"
And the "dep_manager_username" property equals ""
And the "dep_manager_lastname" property equals ""
And the "dep_manager_username" property equals "dylan"
And the "dep_manager_firstname" property equals "Dylan"
And the "dep_manager_lastname" property equals "Burns"
And the "has_children" property equals "0"
Scenario: Create a new department in the workspace
Given POST this data:

View File

@@ -20,14 +20,16 @@ Background:
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
And the "dep_uid" property equals "12921473252d567506e6e63079240767"
And the "dep_parent" property equals ""
And the "dep_title" property equals "Sales Division"
And the "dep_status" property equals "ACTIVE"
And the "dep_manager" property equals ""
And the "dep_manager" property equals "38102442252d5671a629009013495090"
And the "dep_ldap_dn" property equals ""
And the "dep_last" property equals "0"
And the "dep_manager_username" property equals ""
And the "dep_manager_lastname" property equals ""
And the "dep_manager_username" property equals "dylan"
And the "dep_manager_firstname" property equals "Dylan"
And the "dep_manager_lastname" property equals "Burns"
And the "has_children" property equals "0"

View File

@@ -25,4 +25,13 @@ Scenario Outline: Create a new departments in the workspace with bad parameters
| test_description | dep_title | dep_parent | dep_status | error_code | error_message |
| without dep_title | | | ACTIVE | 400 | dep_title |
| Invalid dep_parent | Department 2 | 28036030000000000000005009591640 | ACTIVE | 400 | dep_parent |
| Invalid dep_status | Department 3 | | TRIGGER | 400 | dep_status |
| Invalid dep_status | Department 3 | | TRIGGER | 400 | dep_status |
Scenario: Delete a department when have asigned user (negative tests)
Given that I want to delete a resource with the key "15978182252d5674d210310076985235"
And I request "department/15978182252d5674d210310076985235"
Then the response status code should be 400
And the response status message should have the following text "<cannot be deleted>"

View File

@@ -92,7 +92,7 @@ Scenario Outline: Create a new case in workspace with process "Derivation rules
Scenario: Create a new case Impersonate in workspace with process "Derivation rules - sequential"
Scenario Outline: Create a new case Impersonate in workspace with process "Derivation rules - sequential"
Given POST this data:
"""
{
@@ -107,7 +107,13 @@ Scenario: Create a new case Impersonate in workspace with process "Derivation ru
And the response charset is "UTF-8"
And the content type is "application/json"
And the type is "object"
And store "caseId" in session array as variable "case1"
And store "caseId" in session array as variable "caseId_<case_number>"
And store "caseNumber" in session array as variable "caseNumber_<case_number>"
Examples:
| case_number |
| 1 |
Scenario: Reassigns a case to a different user
@@ -127,6 +133,8 @@ Scenario: Reassigns a case to a different user
And the type is "object"
Scenario: Autoderivate a case to the next task in the process
Given PUT this data:
"""

View File

@@ -142,46 +142,12 @@ Scenario Outline: Create new Trigger: createDWS
And store "tri_uid" in session array as variable "tri_uid<i>"
Examples:
| i | lib_name | fn_name | tri_title | tri_description | tri_type | tri_params.input.sharepointServer | tri_params.input.auth | tri_params.input.name | tri_params.input.users | tri_params.input.title | tri_params.input.documents | tri_params.output.tri_answer |
| 1 | pmTrSharepoint | createDWS | Sharepoint 1 | | SCRIPT | @@SERVER | username:password | Test DWS | @@users | Test DWS | /files/test.doc | $respuesta |
| i | Description | lib_name | fn_name | tri_title | tri_description | tri_type | tri_params.input.sharepointServer | tri_params.input.auth | tri_params.input.name | tri_params.input.users | tri_params.input.title | tri_params.input.documents | tri_params.output.tri_answer |
| 1 | Create pmTrSharpoint | pmTrSharepoint | createDWS | Sharepoint 1 | | SCRIPT | @@SERVER | username:password | Test DWS | @@users | Test DWS | /files/test.doc | $respuesta |
| 2 | Create a trigger without sending fields not required | pmTrSharepoint | createDWS | Sharepoint 2 | | SCRIPT | @@SERVER | username:password | Test DWS 1 | @@users | Test DWS | /files/test.doc | |
Scenario Outline: Create new Trigger: createDWS (no enviar campos no requeridos)
Given POST this data:
"""
{
"tri_title": "<tri_title>",
"tri_description": "<tri_description>",
"tri_type": "<tri_type>",
"tri_params": {
"input": {
"sharepointServer": "<tri_params.input.sharepointServer>",
"auth": "<tri_params.input.auth>",
"name": "<tri_params.input.name>",
"users": "<tri_params.input.users>",
"title": "<tri_params.input.title>",
"documents": "<tri_params.input.documents>"
},
"output": {
"tri_answer": "<tri_params.output.tri_answer>"
}
}
}
"""
And I request "project/14414793652a5d718b65590036026581/trigger-wizard/<lib_name>/<fn_name>"
And the content type is "application/json"
Then the response status code should be 201
And the response charset is "UTF-8"
And the type is "object"
And store "tri_uid" in session array as variable "tri_uid<i>"
Examples:
| i | lib_name | fn_name | tri_title | tri_description | tri_type | tri_params.input.sharepointServer | tri_params.input.auth | tri_params.input.name | tri_params.input.users | tri_params.input.title | tri_params.input.documents | tri_params.output.tri_answer |
| 2 | pmTrSharepoint | createDWS | Sharepoint 1 | | SCRIPT | @@SERVER | username:password | Test DWS | @@users | Test DWS | /files/test.doc | $respuesta |
Scenario Outline: Update Trigger
Given PUT this data:
"""
@@ -280,6 +246,7 @@ Scenario Outline: Create new Trigger: createDWS
| i |
| 0 |
| 1 |
| 2 |
Scenario: Get a List of triggers of a project

View File

@@ -344,8 +344,8 @@ class WebApplication
set_include_path(get_include_path() . PATH_SEPARATOR . PATH_WORKSPACE);
// smarty constants
// define( "PATH_SMARTY_C", PATH_C . "smarty" . PATH_SEP . "c" );
// define( "PATH_SMARTY_CACHE", PATH_C . "smarty" . PATH_SEP . "cache" );
define( "PATH_SMARTY_C", PATH_C . "smarty" . PATH_SEP . "c" );
define( "PATH_SMARTY_CACHE", PATH_C . "smarty" . PATH_SEP . "cache" );
define("PATH_DATA_SITE", PATH_DATA . "sites/" . SYS_SYS . "/");
define("PATH_DOCUMENT", PATH_DATA_SITE . "files/");
@@ -366,6 +366,33 @@ class WebApplication
echo "WARNING! No server info found!";
}
/**
* Global definitions, before it was the defines.php file
*/
// URL Key
define( "URL_KEY", 'c0l0s40pt1mu59r1m3' );
// Other definitions
define( 'TIMEOUT_RESPONSE', 100 ); //web service timeout
define( 'APPLICATION_CODE', 'ProcessMaker' ); //to login like workflow system
define( 'MAIN_POFILE', 'processmaker' );
define( 'PO_SYSTEM_VERSION', 'PM 4.0.1' );
// Environment definitions
define( 'G_PRO_ENV', 'PRODUCTION' );
define( 'G_DEV_ENV', 'DEVELOPMENT' );
define( 'G_TEST_ENV', 'TEST' );
// Number of files per folder at PATH_UPLOAD (cases documents)
define( 'APPLICATION_DOCUMENTS_PER_FOLDER', 1000 );
// Server of ProcessMaker Library
define( 'PML_SERVER', 'http://library.processmaker.com' );
define( 'PML_WSDL_URL', PML_SERVER . '/syspmLibrary/en/green/services/wsdl' );
define( 'PML_UPLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/uploadProcess' );
define( 'PML_DOWNLOAD_URL', PML_SERVER . '/syspmLibrary/en/green/services/download' );
// create memcached singleton
//\Bootstrap::LoadClass("memcached");
//$memcache = PMmemcached::getSingleton( SYS_SYS );

View File

@@ -159,6 +159,7 @@ class Bootstrap
self::registerClass("XmlForm_Field_cellMark", PATH_GULLIVER . "class.xmlformExtension.php");
self::registerClass("XmlForm_Field_DVEditor", PATH_GULLIVER . "class.xmlformExtension.php");
self::registerClass("XmlForm_Field_FastSearch", PATH_GULLIVER . "class.xmlformExtension.php");
self::registerClass("xmlformTemplate", PATH_GULLIVER . "class.xmlformTemplate.php");
self::registerClass("ymlDomain", PATH_GULLIVER . "class.ymlDomain.php");
self::registerClass("ymlTestCases", PATH_GULLIVER . "class.ymlTestCases.php");
@@ -743,7 +744,7 @@ class Bootstrap
* @param array list plugins active
* @return void
*/
public function LoadTranslationPlugins ($lang = SYS_LANG, $listPluginsActive)
public static function LoadTranslationPlugins ($lang = SYS_LANG, $listPluginsActive)
{
if ( ! ( is_array ( $listPluginsActive ) ) ) {
return null;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -139,6 +139,24 @@ class PMPluginRegistry
return self::$instance;
}
/**
* Load the singleton instance from a serialized stored file
*
* @param $file
* @return PMPluginRegistry
* @throws Exception
*/
public static function loadSingleton($file)
{
self::$instance = unserialize(file_get_contents($file));
if (! is_object(self::$instance) || get_class(self::$instance) != "PMPluginRegistry") {
throw new Exception("Can't load main PMPluginRegistry object.");
}
return self::$instance;
}
/**
* This function generates a storable representation of a value
* param

View File

@@ -155,13 +155,6 @@ class CaseTracker
//Array DB
$arrayCaseTrackerObject = array();
$arrayCaseTrackerObject[] = array(
"obj_uid" => "char",
"obj_title" => "char",
"obj_description" => "char",
"obj_type" => "char"
);
$delimiter = \DBAdapter::getStringDelimiter();
//DynaForms
@@ -297,13 +290,13 @@ class CaseTracker
);
}
$arrayAvailableCaseTrackerObject = \ProcessMaker\Util\ArrayUtil::sort(
$arrayAvailableCaseTrackerObject,
$arrayCaseTrackerObject = \ProcessMaker\Util\ArrayUtil::sort(
$arrayCaseTrackerObject,
array("obj_type", "obj_title"),
SORT_ASC
);
return $arrayAvailableCaseTrackerObject;
return $arrayCaseTrackerObject;
} catch (\Exception $e) {
throw $e;
}
@@ -390,8 +383,6 @@ class CaseTracker
);
}
//Set data
\G::LoadClass("ArrayPeer");
$arraydbCaseTrackerObject = \ProcessMaker\Util\ArrayUtil::sort($arraydbCaseTrackerObject, array("cto_position"), SORT_ASC);
return $arrayCaseTrackerObject;

View File

@@ -477,6 +477,11 @@ class WebEntry
case "HTML":
global $G_FORM;
if (! class_exists("Smarty")) {
$loader = \Maveriks\Util\ClassLoader::getInstance();
$loader->addClass("Smarty", PATH_THIRDPARTY . "smarty".PATH_SEP."libs".PATH_SEP."Smarty.class.php");
}
$G_FORM = new \Form($processUid . "/" . $dynaFormUid, PATH_DYNAFORM, SYS_LANG, false);
$G_FORM->action = $http . $_SERVER["HTTP_HOST"] . "/sys" . SYS_SYS . "/" . SYS_LANG . "/" . SYS_SKIN . "/services/cases_StartExternal.php";

View File

@@ -27,7 +27,6 @@
* this file is used initialize main variables, redirect and dispatch all requests
*/
function transactionLog($transactionName){
if (extension_loaded('newrelic')) {
$baseName="ProcessMaker";
@@ -609,12 +608,13 @@ Bootstrap::LoadClass( 'plugin' );
//here we are loading all plugins registered
//the singleton has a list of enabled plugins
$sSerializedFile = PATH_DATA_SITE . 'plugin.singleton';
$oPluginRegistry = & PMPluginRegistry::getSingleton();
if (file_exists( $sSerializedFile )) {
$oPluginRegistry->unSerializeInstance( file_get_contents( $sSerializedFile ) );
$oPluginRegistry = PMPluginRegistry::loadSingleton($sSerializedFile);
$attributes = $oPluginRegistry->getAttributes();
Bootstrap::LoadTranslationPlugins( defined( 'SYS_LANG' ) ? SYS_LANG : "en" , $attributes);
} else{
$oPluginRegistry = PMPluginRegistry::getSingleton();
}
// setup propel definitions and logging