Merge branch 'master' of bitbucket.org:colosa/processmaker
This commit is contained in:
140
build-vendor.php
140
build-vendor.php
@@ -8,6 +8,8 @@
|
||||
* @author Erik Amaru Ortiz
|
||||
*/
|
||||
|
||||
$rootPath = __DIR__;
|
||||
|
||||
$config = @parse_ini_file("workflow/engine/config/env.ini");
|
||||
|
||||
$debug = !empty($config) && isset($config['debug']) ? $config['debug'] : 0;
|
||||
@@ -32,7 +34,6 @@ if (in_array('--no-ansi', $argv)) {
|
||||
|
||||
$vendorDir = dirname(__FILE__) . DS . 'vendor';
|
||||
|
||||
|
||||
if (! is_dir($vendorDir )) {
|
||||
echo "Vendor directory is missing!" . PHP_EOL;
|
||||
exit();
|
||||
@@ -43,18 +44,144 @@ $projects = array(
|
||||
'colosa/pmUI'
|
||||
);
|
||||
|
||||
out("build-vendor.php", 'purple');
|
||||
|
||||
|
||||
out("generating files for ", 'purple', false);
|
||||
out( $debug ? 'debug' : 'production', 'success', false);
|
||||
out(" mode", 'purple');
|
||||
|
||||
foreach ($projects as $project) {
|
||||
echo PHP_EOL;
|
||||
out("=> Building project: ", 'info', false);
|
||||
echo $project.' '.PHP_EOL;
|
||||
chdir($vendorDir.DS.$project);
|
||||
if ($debug)
|
||||
echo `rake pmBuildDebug`;
|
||||
else
|
||||
echo `rake pmBuild`;
|
||||
out("Completed!", 'success');
|
||||
if ($debug) {
|
||||
exec ('rake pmBuildDebug', $output, $exitCode );
|
||||
} else {
|
||||
exec ('rake pmBuild', $output, $exitCode );
|
||||
}
|
||||
|
||||
if ($exitCode) {
|
||||
out("$project executed with errors!", 'error');
|
||||
foreach ($output as $line) {
|
||||
print "$line\n";
|
||||
}
|
||||
echo PHP_EOL;
|
||||
die;
|
||||
} else {
|
||||
foreach ($output as $line) {
|
||||
print "$line\n";
|
||||
}
|
||||
out("$project completed", 'success');
|
||||
echo PHP_EOL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//the script is completed if the option is Debug = 1
|
||||
if ($debug) {
|
||||
echo PHP_EOL;
|
||||
die;
|
||||
}
|
||||
|
||||
out("=> compresing and combining js files", 'info');
|
||||
|
||||
$jsFiles = array (
|
||||
"workflow/public_html/lib/js/wz_jsgraphics.js",
|
||||
"workflow/public_html/lib/js/jquery-1.10.2.min.js",
|
||||
"workflow/public_html/lib/js/underscore-min.js",
|
||||
"workflow/public_html/lib/js/jquery-ui-1.10.3.custom.min.js",
|
||||
"workflow/public_html/lib/js/jquery.layout.min.js",
|
||||
"workflow/public_html/lib/js/restclient.min.js",
|
||||
"workflow/public_html/lib/pmUI/pmui.min.js",
|
||||
"workflow/public_html/lib/mafe/mafe.min.js",
|
||||
"workflow/public_html/lib/mafe/designer.min.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/tiny_mce.js",
|
||||
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/pmGrids/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/pmSimpleUploader/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/pmVariablePicker/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js",
|
||||
"gulliver/js/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js",
|
||||
|
||||
"gulliver/js/codemirror/lib/codemirror.js",
|
||||
"gulliver/js/codemirror/mode/javascript/javascript.js",
|
||||
"gulliver/js/codemirror/addon/edit/matchbrackets.js",
|
||||
"gulliver/js/codemirror/mode/htmlmixed/htmlmixed.js",
|
||||
"gulliver/js/codemirror/mode/xml/xml.js",
|
||||
"gulliver/js/codemirror/mode/css/css.js",
|
||||
"gulliver/js/codemirror/mode/clike/clike.js",
|
||||
"gulliver/js/codemirror/mode/php/php.js",
|
||||
);
|
||||
$bigHandler = fopen ("{$rootPath}/workflow/public_html/lib/js/big.js", "w");
|
||||
foreach ($jsFiles as $jsFile) {
|
||||
$fileContent = file_get_contents("{$rootPath}/$jsFile");
|
||||
fprintf($bigHandler, "%s\n\n", $fileContent);
|
||||
printf (" - File %s added to big.js\n", basename($jsFile));
|
||||
}
|
||||
fclose ($bigHandler);
|
||||
printf ( "big.js file has %d bytes\n", filesize("{$rootPath}/workflow/public_html/lib/js/big.js"));
|
||||
|
||||
|
||||
|
||||
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"
|
||||
);
|
||||
$bigHandler = fopen ("{$rootPath}/workflow/public_html/lib/css/big.css", "w");
|
||||
foreach ($cssFiles as $cssFile) {
|
||||
$fileContent = file_get_contents("{$rootPath}/$cssFile");
|
||||
fprintf($bigHandler, "%s\n\n", $fileContent);
|
||||
printf (" - File %s added to big.css\n", basename($cssFile));
|
||||
}
|
||||
fclose ($bigHandler);
|
||||
printf ( "big.css file has %d bytes\n", filesize("{$rootPath}/workflow/public_html/lib/css/big.css"));
|
||||
|
||||
echo PHP_EOL;
|
||||
|
||||
|
||||
@@ -71,6 +198,7 @@ function out($text, $color = null, $newLine = true)
|
||||
$styles = array(
|
||||
'success' => "\033[0;35;32m%s\033[0m",
|
||||
'error' => "\033[0;35;31m%s\033[0m",
|
||||
'purple' => "\033[0;35;35m%s\033[0m",
|
||||
'info' => "\033[1;33;34m%s\033[0m"
|
||||
);
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ Feature: Files Manager Resources
|
||||
|
||||
#Para que funcione este test, debe existir el archivo que se quiere subir
|
||||
Scenario: Post files
|
||||
Given POST I want to upload the file "/home/daniel/test.txt" to path "public". Url to create prf_uid "project/1265557095225ff5c688f46031700471/file-manager" and updload "project/1265557095225ff5c688f46031700471/file-manager/upload"
|
||||
Given POST I want to upload the file "/home/daniel/test.txt" to path "public". Url to create prf_uid "project/1265557095225ff5c688f46031700471/file-manager" and updload "project/1265557095225ff5c688f46031700471/file-manager"
|
||||
|
||||
Scenario: Delete file
|
||||
Given that I want to delete a "public/test.txt"
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
@ProcessMakerMichelangelo @RestAPI
|
||||
Feature: Files Manager Resources
|
||||
|
||||
Background:
|
||||
Given that I have a valid access_token
|
||||
|
||||
Scenario: Get a list of main process files manager
|
||||
Given I request "project/1265557095225ff5c688f46031700471/file-manager"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario: Get a list public folder of process files manager
|
||||
Given I request "project/1265557095225ff5c688f46031700471/file-manager?path=public"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario: Get a list templates folder of process files manager
|
||||
Given I request "project/1265557095225ff5c688f46031700471/file-manager?path=templates"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "array"
|
||||
|
||||
Scenario Outline: Post files
|
||||
Given POST this data:
|
||||
"""
|
||||
{
|
||||
"prf_filename": "<file_name>",
|
||||
"prf_path": "<path>",
|
||||
"prf_content": "<content>"
|
||||
}
|
||||
"""
|
||||
And I request "project/1265557095225ff5c688f46031700471/file-manager"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "<type>"
|
||||
And store "prf_uid" in session array as variable "prf_uid<i>"
|
||||
|
||||
Examples:
|
||||
| test_description | file_name | path | content | http_code | type |
|
||||
| into public folder | testbehat.txt | public/ | test | 200 | object |
|
||||
| into maintemplates folder | testbehat.txt | templates/ | test | 200 | object |
|
||||
| into public subfolder | testbehat.txt | public/test_folder | test | 200 | object |
|
||||
| into public subfolder | testbehat.txt | templates/test_folder | test | 200 | object |
|
||||
|
||||
Scenario Outline: Post files
|
||||
Given PUT this data:
|
||||
"""
|
||||
{
|
||||
"prf_filename": "<file_name>",
|
||||
"prf_content": "<content>"
|
||||
}
|
||||
"""
|
||||
And I request "project/1265557095225ff5c688f46031700471/file-manager?path=<path>"
|
||||
Then the response status code should be <http_code>
|
||||
And the response charset is "UTF-8"
|
||||
And the content type is "application/json"
|
||||
And the type is "<type>"
|
||||
|
||||
Examples:
|
||||
| test_description | file_name | path | content | http_code | type |
|
||||
| put into public folder | testbehat.txt | public/ | put test | 200 | object |
|
||||
| put into maintemplates folder | testbehat.txt | templates/ | put test | 200 | object |
|
||||
| put into public subfolder | testbehat.txt | public/test_folder | put test | 200 | object |
|
||||
| put into public subfolder | testbehat.txt | templates/test_folder | put test | 200 | object |
|
||||
|
||||
|
||||
Scenario Outline: Delete file
|
||||
Given that I want to delete a "<path>"
|
||||
And I request "project/1265557095225ff5c688f46031700471/file-manager?path=<path>"
|
||||
And the content type is "application/json"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
|
||||
Examples:
|
||||
| test_description | path |
|
||||
| delete public folder | public/testbehat.txt |
|
||||
| delete maintemplates folder | templates/testbehat.txt |
|
||||
| delete public subfolder | public/test_folder/testbehat.txt |
|
||||
| delete public subfolder | templates/test_folder/testbehat.txt |
|
||||
|
||||
#Para que funcione este test, debe existir el archivo que se quiere subir
|
||||
Scenario: Post files
|
||||
Given POST I want to upload the file "/home/daniel/test.txt" to path "public". Url to create prf_uid "project/1265557095225ff5c688f46031700471/file-manager" and updload "project/1265557095225ff5c688f46031700471/file-manager/upload"
|
||||
|
||||
Scenario: Delete file
|
||||
Given that I want to delete a "public/test.txt"
|
||||
And I request "project/1265557095225ff5c688f46031700471/file-manager?path=public/test.txt"
|
||||
And the content type is "application/json"
|
||||
Then the response status code should be 200
|
||||
And the response charset is "UTF-8"
|
||||
@@ -95,6 +95,27 @@ Feature: User Main Tests
|
||||
| Create user Vacation | 5 | micaela | sanchez | micaela | micaela@gmail.com | sancjh #544 | 555-6652 | US | FL | MIA | 555-6655-555 | Gerencia | | 2016-02-15 | | VACATION | PROCESSMAKER_OPERATOR | sample | sample |
|
||||
|
||||
|
||||
#Para que funcione este test, debe existir el archivo que se quiere subir
|
||||
#GET /api/1.0/{workspace}/user/{usr_uid}
|
||||
# Upload a image
|
||||
Scenario: Upload a image
|
||||
Given POST I want to upload the image "/home/daniel/pic3.jpg" to user "00000000000000000000000000000001". Url "user/"
|
||||
|
||||
|
||||
# Upload a image
|
||||
Scenario Outline: Upload a image
|
||||
Given POST I want to upload the image "<usr_photo>" to user with the key "usr_uid" stored in session array as variable "usr_uid_<usr_number>". Url "user/"
|
||||
|
||||
Examples:
|
||||
|
||||
| Test_description | usr_number | usr_photo |
|
||||
| Create without replaced by, calendar | 1 | /home/wendy/photo/pic1.jpg |
|
||||
| Create without calendar | 2 | /home/wendy/photo/pic2.jpg |
|
||||
| Create with all fields | 3 | /home/wendy/photo/pic3.jpg |
|
||||
| Create user Inactive | 4 | ~/userPhoto/abcd.jpg |
|
||||
| Create user Vacation | 5 | ~/userPhoto/abcd.jpg |
|
||||
|
||||
|
||||
Scenario: Get the users List when there are exactly 63 users
|
||||
And I request "users"
|
||||
And the content type is "application/json"
|
||||
|
||||
@@ -209,7 +209,7 @@ Requirements:
|
||||
Given POST this data:
|
||||
"""
|
||||
{
|
||||
"dyn_uid": "<92562207752ceef36c7d874048012431>"
|
||||
"dyn_uid": "92562207752ceef36c7d874048012431"
|
||||
}
|
||||
"""
|
||||
And I request "project/85794888452ceeef3675164057928956/process-supervisor/dynaform"
|
||||
|
||||
@@ -1329,18 +1329,22 @@ class RestContext extends BehatContext
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL,$postUrl);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, array('prf_filename'=>$sfile, "prf_path" => $path, "prf_content" => ""));
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, array('prf_filename'=>$sfile, "prf_path" => $path, "prf_content" => null));
|
||||
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
$postResult = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$aResult = explode(",",$postResult);
|
||||
$aFileUid = explode(":",$aResult[0]);
|
||||
$prfUid = trim(str_replace('"','',$aFileUid[1]));
|
||||
$postResult = (array)json_decode($postResult);
|
||||
if (sizeof($postResult) > 2) {
|
||||
$prfUid = $postResult["prf_uid"];
|
||||
} else {
|
||||
var_dump($postResult["error"]);
|
||||
}
|
||||
$url = $url.$prfUid."/upload";
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL,$url);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER,$headr);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, array('my_file'=>'@'.$prfFile, 'prf_uid' => $prfUid));
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, array('prf_file'=>'@'.$prfFile));
|
||||
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
$postResult = curl_exec($ch);
|
||||
@@ -1355,6 +1359,7 @@ class RestContext extends BehatContext
|
||||
{
|
||||
$baseUrl = $this->getParameter('base_url');
|
||||
$url = $baseUrl.$url.$usrUid."/image-upload";
|
||||
|
||||
$accesstoken = $this->getParameter('access_token');
|
||||
$headr = array();
|
||||
$headr[] = 'Authorization: Bearer '.$accesstoken;
|
||||
@@ -1365,8 +1370,36 @@ class RestContext extends BehatContext
|
||||
curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
$postResult = curl_exec($ch);
|
||||
|
||||
if( $postResult === false)
|
||||
{
|
||||
//trigger_error(curl_error($ch));
|
||||
throw new Exception("Image upload failed ($imageFile):\n\n"
|
||||
. curl_error($ch));
|
||||
}
|
||||
curl_close($ch);
|
||||
echo $postResult;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @Given /^POST I want to upload the image "([^"]*)" to user with the key "([^"]*)" stored in session array as variable "([^"]*)"\. Url "([^"]*)"$/
|
||||
*/
|
||||
public function postIWantToUploadTheImageToUserWithTheKeyStoredInSessionArrayAsVariableUsrUidUrl($imageFile, $varName, $sessionVarName, $url)
|
||||
{
|
||||
if (file_exists("session.data")) {
|
||||
$sessionData = json_decode(file_get_contents("session.data"));
|
||||
} else {
|
||||
$sessionData = array();
|
||||
}
|
||||
if (!isset($sessionData->$sessionVarName) ) {
|
||||
$varValue = '';
|
||||
} else {
|
||||
$varValue = $sessionData->$sessionVarName;
|
||||
}
|
||||
|
||||
$usrUid = $varValue;
|
||||
|
||||
$this->postIWantToUploadTheImageToUser($imageFile, $usrUid, $url);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Reset */
|
||||
.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left}
|
||||
.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000}
|
||||
.o2k7Skin table td {vertical-align:middle}
|
||||
.o2k7Skin table td {vertical-align:top; background-color: white;}
|
||||
|
||||
/* Containers */
|
||||
.o2k7Skin table {background:transparent}
|
||||
|
||||
26
update
Executable file
26
update
Executable file
@@ -0,0 +1,26 @@
|
||||
|
||||
echo "<h1>Michelangelo Update</h1><h2>Changelog Processmaker</h2><code>" > temp.txt
|
||||
|
||||
git pull
|
||||
git log -n 20 --relative-date --graph --format=short >> temp.txt
|
||||
|
||||
|
||||
|
||||
cd vendor/colosa/pmUI
|
||||
echo "</code><br><h2>Changelog pmUI</h2><br><code>" >> ../../../temp.txt
|
||||
git pull
|
||||
git log -n 20 --relative-date --graph --format=short >> ../../../temp.txt
|
||||
|
||||
cd ../MichelangeloFE
|
||||
echo "</code><br><h2>Changelog MichelangeloFE</h2><br><code>" >> ../../../temp.txt
|
||||
git pull
|
||||
git log -n 20 --relative-date --graph --format=short >> ../../../temp.txt
|
||||
|
||||
|
||||
cd ../../../
|
||||
echo "</code><br><h2>build-vendor.php</h2><br><code>" >> temp.txt
|
||||
php build-vendor.php >> temp.txt
|
||||
|
||||
sed ':a;N;$!ba;s/\n/<br>/g' temp.txt > workflow/public_html/build-log.html
|
||||
|
||||
echo "update executed succesfully, check the log in http://<server>/build-log.html "
|
||||
@@ -88,7 +88,7 @@ $r = 0;
|
||||
foreach ($dependentFields as $d) {
|
||||
$sendContent[$r] = new stdclass();
|
||||
$sendContent[$r]->name = $d;
|
||||
$sendContent[$r]->content = null;
|
||||
$sendContent[$r]->content = new stdclass();
|
||||
foreach ($G_FORM->fields[$d] as $attribute => $value) {
|
||||
switch ($attribute) {
|
||||
case 'type':
|
||||
@@ -108,7 +108,7 @@ function toJSArray ($array)
|
||||
{
|
||||
$result = array ();
|
||||
foreach ($array as $k => $v) {
|
||||
$o = null;
|
||||
$o = new stdclass();
|
||||
$o->key = $k;
|
||||
$o->value = $v;
|
||||
$result[] = $o;
|
||||
|
||||
@@ -92,7 +92,8 @@ class FilesManager
|
||||
} else {
|
||||
$editable = 'false';
|
||||
}
|
||||
$aTheFiles[] = array( 'prf_filename' => $aFile['FILE'],
|
||||
$aTheFiles[] = array( 'prf_uid' => $oProcessFiles->getPrfUid(),
|
||||
'prf_filename' => $aFile['FILE'],
|
||||
'usr_uid' => $oProcessFiles->getUsrUid(),
|
||||
'prf_update_usr_uid' => $oProcessFiles->getPrfUpdateUsrUid(),
|
||||
'prf_path' => $sMainDirectory. PATH_SEP .$sSubDirectory,
|
||||
@@ -103,7 +104,8 @@ class FilesManager
|
||||
'prf_content' => $fcontent);
|
||||
|
||||
} else {
|
||||
$aTheFiles[] = array('prf_filename' => $aFile['FILE'],
|
||||
$aTheFiles[] = array('prf_uid' => $oProcessFiles->getPrfUid(),
|
||||
'prf_filename' => $aFile['FILE'],
|
||||
'usr_uid' => '',
|
||||
'prf_update_usr_uid' => '',
|
||||
'prf_path' => $sMainDirectory. PATH_SEP .$sSubDirectory,
|
||||
@@ -336,7 +338,8 @@ class FilesManager
|
||||
'prf_type' => $oProcessFiles->getPrfType(),
|
||||
'prf_editable' => $sEditable,
|
||||
'prf_create_date' => $oProcessFiles->getPrfCreateDate(),
|
||||
'prf_update_date' => $oProcessFiles->getPrfUpdateDate());
|
||||
'prf_update_date' => $oProcessFiles->getPrfUpdateDate(),
|
||||
'prf_content' => $content);
|
||||
return $oProcessFile;
|
||||
} catch (Exception $e) {
|
||||
throw $e;
|
||||
@@ -402,44 +405,41 @@ class FilesManager
|
||||
/**
|
||||
*
|
||||
* @param string $sProcessUID {@min 32} {@max 32}
|
||||
* @param string $path
|
||||
* @param string $prfUid {@min 32} {@max 32}
|
||||
*
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function downloadProcessFilesManager($sProcessUID, $path)
|
||||
public function downloadProcessFilesManager($sProcessUID, $prfUid)
|
||||
{
|
||||
try {
|
||||
$sMainDirectory = current(explode("/", $path));
|
||||
if ($sMainDirectory != 'public' && $sMainDirectory != 'templates') {
|
||||
throw (new \Exception( 'invalid value specified for `prf_path`. Expecting `templates/` or `public/`'));
|
||||
$path = '';
|
||||
$criteria = new \Criteria("workflow");
|
||||
$criteria->addSelectColumn(\ProcessFilesPeer::PRF_PATH);
|
||||
$criteria->add(\ProcessFilesPeer::PRF_UID, $prfUid, \Criteria::EQUAL);
|
||||
$rsCriteria = \ProcessFilesPeer::doSelectRS($criteria);
|
||||
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||
$rsCriteria->next();
|
||||
while ($aRow = $rsCriteria->getRow()) {
|
||||
$path = $aRow['PRF_PATH'];
|
||||
$rsCriteria->next();
|
||||
}
|
||||
if ($sMainDirectory == 'templates') {
|
||||
$sMainDirectory = 'mailTemplates';
|
||||
if ($path == ''){
|
||||
throw new \Exception('invalid value specified for `prf_uid`.');
|
||||
}
|
||||
$sfile = end(explode("/",$path));
|
||||
$sSubDirectorytemp = substr($path, strpos($path, "/")+1);
|
||||
if (strstr($sSubDirectorytemp,'/')) {
|
||||
$sSubDirectory = str_replace('/'.$sfile,"",$sSubDirectorytemp);
|
||||
$sSubDirectoryCheck = str_replace($sfile,"",$sSubDirectorytemp);
|
||||
$sFile = end(explode("/",$path));
|
||||
$sPath = str_replace($sFile,'',$path);
|
||||
$sSubDirectory = str_replace('/','',str_replace($sProcessUID,'',substr($sPath,(strpos($sPath, $sProcessUID)))));
|
||||
$sMainDirectory = str_replace(substr($sPath, strpos($sPath, $sProcessUID)),'', $sPath);
|
||||
if ($sMainDirectory == PATH_DATA_MAILTEMPLATES){
|
||||
$sMainDirectory = 'mainTemplates';
|
||||
} else {
|
||||
$sSubDirectory = '';
|
||||
$sSubDirectoryCheck = '';
|
||||
$sMainDirectory = 'public';
|
||||
}
|
||||
switch ($sMainDirectory) {
|
||||
case 'mailTemplates':
|
||||
$sDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sSubDirectoryCheck . $sfile;
|
||||
break;
|
||||
case 'public':
|
||||
$sDirectory = PATH_DATA_PUBLIC . $sProcessUID . PATH_SEP . $sSubDirectoryCheck . $sfile;
|
||||
break;
|
||||
default:
|
||||
$sDirectory = PATH_DATA_MAILTEMPLATES . $sProcessUID . PATH_SEP . $sfile;
|
||||
break;
|
||||
}
|
||||
if (file_exists(PATH_SEP.$sDirectory)) {
|
||||
if (file_exists($path)) {
|
||||
$oProcessMap = new \processMap(new \DBConnection());
|
||||
$oProcessMap->downloadFile($sProcessUID,$sMainDirectory,$sSubDirectory,$sfile);
|
||||
$oProcessMap->downloadFile($sProcessUID,$sMainDirectory,$sSubDirectory,$sFile);
|
||||
die();
|
||||
} else {
|
||||
throw (new \Exception( 'invalid value specified for `path`.'));
|
||||
}
|
||||
|
||||
@@ -150,26 +150,26 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
|
||||
public function removeGateway($gatUid)
|
||||
{
|
||||
$gatewayData = $this->getGateway($gatUid);
|
||||
$flowsDest = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_DEST, $gatUid);
|
||||
// $gatewayData = $this->getGateway($gatUid);
|
||||
// $flowsDest = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_DEST, $gatUid);
|
||||
|
||||
foreach ($flowsDest as $flowDest) {
|
||||
switch ($flowDest->getFloElementOriginType()) {
|
||||
case "bpmnActivity":
|
||||
$actUid = $flowDest->getFloElementOrigin();
|
||||
$flowsOrigin = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $gatUid);
|
||||
|
||||
foreach ($flowsOrigin as $flowOrigin) {
|
||||
switch ($flowOrigin->getFloElementDestType()) {
|
||||
case "bpmnActivity":
|
||||
$toActUid = $flowOrigin->getFloElementDest();
|
||||
$this->wp->removeRouteFromTo($actUid, $toActUid);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
// foreach ($flowsDest as $flowDest) {
|
||||
// switch ($flowDest->getFloElementOriginType()) {
|
||||
// case "bpmnActivity":
|
||||
// $actUid = $flowDest->getFloElementOrigin();
|
||||
// $flowsOrigin = \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $gatUid);
|
||||
//
|
||||
// foreach ($flowsOrigin as $flowOrigin) {
|
||||
// switch ($flowOrigin->getFloElementDestType()) {
|
||||
// case "bpmnActivity":
|
||||
// $toActUid = $flowOrigin->getFloElementDest();
|
||||
// $this->wp->removeRouteFromTo($actUid, $toActUid);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
parent::removeGateway($gatUid);
|
||||
}
|
||||
@@ -298,6 +298,10 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
\BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE => "bpmnGateway"
|
||||
));
|
||||
|
||||
if ($gatewayFlows > 0) {
|
||||
$this->wp->resetTaskRoutes($activity["ACT_UID"]);
|
||||
}
|
||||
|
||||
foreach ($gatewayFlows as $gatewayFlow) {
|
||||
$gatewayFlow = $gatewayFlow->toArray();
|
||||
|
||||
@@ -475,19 +479,6 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
return empty($result) ? null : $result;
|
||||
}
|
||||
|
||||
protected static function findInArray($value, $key, $list)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
foreach ($list as $item) {
|
||||
if (array_key_exists($key, $item) && $item[$key] == $value) {
|
||||
$result[] = $item;
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function remove()
|
||||
{
|
||||
parent::remove();
|
||||
|
||||
@@ -195,8 +195,8 @@ class Workflow extends Handler
|
||||
{
|
||||
try {
|
||||
self::log("Remove Task: $tasUid");
|
||||
$task = new Task();
|
||||
$task->remove($tasUid);
|
||||
$task = new Tasks();
|
||||
$task->deleteTask($tasUid);
|
||||
self::log("Remove Task Success!");
|
||||
} catch (\Exception $e) {
|
||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||
@@ -275,18 +275,18 @@ class Workflow extends Handler
|
||||
}
|
||||
|
||||
if ($type != 'SEQUENTIAL' && $type != 'SEC-JOIN' && $type != 'DISCRIMINATOR') {
|
||||
if ($this->getNumberOfRoutes($this->proUid, $fromTasUid, $toTasUid, $type) > 0) {
|
||||
throw new \LogicException("Unexpected behaviour");
|
||||
}
|
||||
//if ($this->getNumberOfRoutes($this->proUid, $fromTasUid, $toTasUid, $type) > 0) {
|
||||
//throw new \LogicException("Unexpected behaviour");
|
||||
//}
|
||||
}
|
||||
|
||||
//if ($delete || $type == 'SEQUENTIAL' || $type == 'SEC-JOIN' || $type == 'DISCRIMINATOR') {
|
||||
$oTasks = new Tasks();
|
||||
$oTasks->deleteAllRoutesOfTask($this->proUid, $fromTasUid);
|
||||
//$oTasks = new Tasks();
|
||||
//$oTasks->deleteAllRoutesOfTask($this->proUid, $fromTasUid);
|
||||
//}
|
||||
|
||||
$result = $this->saveNewPattern($this->proUid, $fromTasUid, $toTasUid, $type, $delete);
|
||||
self::log("Add Route Success! -> ", $result);
|
||||
self::log("Add Route Success! - ROU_UID: ", $result);
|
||||
|
||||
return $result;
|
||||
} catch (\Exception $e) {
|
||||
@@ -295,6 +295,12 @@ class Workflow extends Handler
|
||||
}
|
||||
}
|
||||
|
||||
public function resetTaskRoutes($actUid)
|
||||
{
|
||||
$oTasks = new Tasks();
|
||||
$oTasks->deleteAllRoutesOfTask($this->proUid, $actUid);
|
||||
}
|
||||
|
||||
public function updateRoute($rouUid, $routeData)
|
||||
{
|
||||
$routeData['ROU_UID'] = $rouUid;
|
||||
|
||||
@@ -116,15 +116,15 @@ class FilesManager extends Api
|
||||
|
||||
/**
|
||||
* @param string $prjUid {@min 32} {@max 32}
|
||||
* @param string $path
|
||||
* @param string $prfUid {@min 32} {@max 32}
|
||||
*
|
||||
* @url GET /:prjUid/file-manager/download
|
||||
* @url GET /:prjUid/file-manager/:prfUid/download
|
||||
*/
|
||||
public function doGetProcessFilesManagerDownload($prjUid, $path)
|
||||
public function doGetProcessFilesManagerDownload($prjUid, $prfUid)
|
||||
{
|
||||
try {
|
||||
$filesManager = new \BusinessModel\FilesManager();
|
||||
$filesManager->downloadProcessFilesManager($prjUid, $path);
|
||||
$filesManager->downloadProcessFilesManager($prjUid, $prfUid);
|
||||
} catch (\Exception $e) {
|
||||
//response
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
@@ -144,6 +144,9 @@ class ProcessFilesManagerStructure
|
||||
*/
|
||||
public $prf_path;
|
||||
|
||||
/**
|
||||
* @var string {@from body}
|
||||
*/
|
||||
public $prf_content;
|
||||
}
|
||||
|
||||
|
||||
@@ -346,37 +346,46 @@ class BpmnWorkflowTest extends \PHPUnit_Framework_TestCase
|
||||
*/
|
||||
function testActivityToInclusiveGatewayToActivityFlowsMultiple($bwap)
|
||||
{
|
||||
/*$actUid1 = $bwap->addActivity(array(
|
||||
$actUid1 = $bwap->addActivity(array(
|
||||
"ACT_NAME" => "Activity #1",
|
||||
"BOU_X" => 198,
|
||||
"BOU_Y" => 56
|
||||
"BOU_X" => 311,
|
||||
"BOU_Y" => 26
|
||||
));
|
||||
$actUid2 = $bwap->addActivity(array(
|
||||
"ACT_NAME" => "Activity #2",
|
||||
"BOU_X" => 198,
|
||||
"BOU_Y" => 250
|
||||
"BOU_X" => 99,
|
||||
"BOU_Y" => 200
|
||||
));
|
||||
$actUid3 = $bwap->addActivity(array(
|
||||
"ACT_NAME" => "Activity #3",
|
||||
"BOU_X" => 310,
|
||||
"BOU_Y" => 200
|
||||
));
|
||||
$actUid4 = $bwap->addActivity(array(
|
||||
"ACT_NAME" => "Activity #4",
|
||||
"BOU_X" => 542,
|
||||
"BOU_Y" => 200
|
||||
));
|
||||
$gatUid = $bwap->addGateway(array(
|
||||
"GAT_NAME" => "Gateway #1",
|
||||
"GAT_TYPE" => "INCLUSIVE",
|
||||
"GAT_DIRECTION" => "DIVERGING",
|
||||
"BOU_X" => 256,
|
||||
"BOU_Y" => 163
|
||||
"BOU_X" => 369,
|
||||
"BOU_Y" => 123
|
||||
));
|
||||
|
||||
$flowUid1 = $bwap->addFlow(array(
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $actUid1,
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnActivity',
|
||||
'FLO_ELEMENT_DEST' => $gatUid,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnGateway',
|
||||
'FLO_X1' => 273,
|
||||
'FLO_Y1' => 273,
|
||||
'FLO_X2' => 163,
|
||||
'FLO_Y2' => 163,
|
||||
'FLO_X1' => 386,
|
||||
'FLO_Y1' => 174,
|
||||
'FLO_X2' => 206,
|
||||
'FLO_Y2' => 206,
|
||||
));
|
||||
|
||||
$flowUid1 = $bwap->addFlow(array(
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $gatUid,
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnGateway',
|
||||
@@ -387,8 +396,133 @@ class BpmnWorkflowTest extends \PHPUnit_Framework_TestCase
|
||||
'FLO_X2' => 249,
|
||||
'FLO_Y2' => 249,
|
||||
));
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $gatUid,
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnGateway',
|
||||
'FLO_ELEMENT_DEST' => $actUid3,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnActivity',
|
||||
'FLO_X1' => 386,
|
||||
'FLO_Y1' => 174,
|
||||
'FLO_X2' => 206,
|
||||
'FLO_Y2' => 206,
|
||||
));
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $gatUid,
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnGateway',
|
||||
'FLO_ELEMENT_DEST' => $actUid4,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnActivity',
|
||||
'FLO_X1' => 386,
|
||||
'FLO_Y1' => 617,
|
||||
'FLO_X2' => 207,
|
||||
'FLO_Y2' => 207,
|
||||
));
|
||||
|
||||
$bwap->mapBpmnFlowsToWorkflowRoutes();
|
||||
|
||||
$this->assertCount(4, $bwap->getActivities());
|
||||
$this->assertCount(1, $bwap->getGateways());
|
||||
$this->assertCount(4, $bwap->getFlows());
|
||||
$this->assertCount(1, \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_DEST, $gatUid));
|
||||
$this->assertCount(3, \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $gatUid));
|
||||
|
||||
$wp = Project\Workflow::load($bwap->getUid());
|
||||
|
||||
$this->assertCount(4, $wp->getTasks());
|
||||
$this->assertCount(3, $wp->getRoutes());
|
||||
$this->assertCount(3, \Route::findAllBy(\RoutePeer::TAS_UID, $actUid1));
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::ROU_NEXT_TASK, $actUid2));
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::ROU_NEXT_TASK, $actUid3));
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::ROU_NEXT_TASK, $actUid4));
|
||||
|
||||
return array($actUid2, $actUid3, $actUid4);
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testNew
|
||||
* @depends testActivityToInclusiveGatewayToActivityFlowsMultiple
|
||||
* @param \ProcessMaker\Project\Adapter\BpmnWorkflow $bwap
|
||||
* @param array $activitiesUid
|
||||
*/
|
||||
function testActivityToInclusiveGatewayToActivityFlowsMultipleJoin($bwap, $activitiesUid)
|
||||
{
|
||||
$gatUid = $bwap->addGateway(array(
|
||||
"GAT_NAME" => "Gateway #2",
|
||||
"GAT_TYPE" => "INCLUSIVE",
|
||||
"GAT_DIRECTION" => "CONVERGING",
|
||||
"BOU_X" => 369,
|
||||
"BOU_Y" => 338
|
||||
));
|
||||
$actUid5 = $bwap->addActivity(array(
|
||||
"ACT_NAME" => "Activity #5",
|
||||
"BOU_X" => 312,
|
||||
"BOU_Y" => 464
|
||||
));
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $activitiesUid[0],
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnActivity',
|
||||
'FLO_ELEMENT_DEST' => $gatUid,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnGateway',
|
||||
'FLO_X1' => 174,
|
||||
'FLO_Y1' => 365,
|
||||
'FLO_X2' => 355,
|
||||
'FLO_Y2' => 355,
|
||||
));
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $activitiesUid[1],
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnActivity',
|
||||
'FLO_ELEMENT_DEST' => $gatUid,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnGateway',
|
||||
'FLO_X1' => 385,
|
||||
'FLO_Y1' => 382,
|
||||
'FLO_X2' => 338,
|
||||
'FLO_Y2' => 338,
|
||||
));
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $activitiesUid[2],
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnActivity',
|
||||
'FLO_ELEMENT_DEST' => $gatUid,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnGateway',
|
||||
'FLO_X1' => 617,
|
||||
'FLO_Y1' => 398,
|
||||
'FLO_X2' => 355,
|
||||
'FLO_Y2' => 355,
|
||||
));
|
||||
|
||||
$bwap->addFlow(array(
|
||||
'FLO_TYPE' => 'SEQUENCE',
|
||||
'FLO_ELEMENT_ORIGIN' => $gatUid,
|
||||
'FLO_ELEMENT_ORIGIN_TYPE' => 'bpmnGateway',
|
||||
'FLO_ELEMENT_DEST' => $actUid5,
|
||||
'FLO_ELEMENT_DEST_TYPE' => 'bpmnActivity',
|
||||
'FLO_X1' => 382,
|
||||
'FLO_Y1' => 387,
|
||||
'FLO_X2' => 463,
|
||||
'FLO_Y2' => 463,
|
||||
));
|
||||
|
||||
$bwap->mapBpmnFlowsToWorkflowRoutes();
|
||||
|
||||
$this->assertCount(8, $bwap->getFlows());
|
||||
$this->assertCount(5, $bwap->getActivities());
|
||||
$this->assertCount(2, $bwap->getGateways());
|
||||
$this->assertCount(3, \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_DEST, $gatUid));
|
||||
$this->assertCount(1, \BpmnFlow::findAllBy(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN, $gatUid));
|
||||
|
||||
$wp = Project\Workflow::load($bwap->getUid());
|
||||
|
||||
$this->assertCount(5, $wp->getTasks());
|
||||
$this->assertCount(6, $wp->getRoutes());
|
||||
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::TAS_UID, $activitiesUid[0]));
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::TAS_UID, $activitiesUid[1]));
|
||||
$this->assertCount(1, \Route::findAllBy(\RoutePeer::TAS_UID, $activitiesUid[2]));
|
||||
$this->assertCount(3, \Route::findAllBy(\RoutePeer::ROU_NEXT_TASK, $actUid5));
|
||||
|
||||
$bwap->mapBpmnFlowsToWorkflowRoutes();*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -38,29 +38,6 @@
|
||||
{foreach from=$designerCacheFile item=file}
|
||||
<script type="text/javascript" src="/lib-dev/mafe/{$file}"></script>
|
||||
{/foreach}
|
||||
{else}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/lib/pmUI/pmui.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/mafe/mafe.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery.layout.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery-ui-1.10.3.custom.min.css" />
|
||||
<!--<link rel="stylesheet" type="text/css" href="/lib/css/jquery.dataTables.css">-->
|
||||
|
||||
<script type="text/javascript">
|
||||
var prj_uid = "{$prj_uid}";
|
||||
var credentials = "{$credentials}";
|
||||
</script>
|
||||
<script type="text/javascript" src="/lib/js/wz_jsgraphics.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery-1.10.2.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/underscore-min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery-ui-1.10.3.custom.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery.layout.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/restclient.min.js"></script>
|
||||
<!--<script type="text/javascript" src="/lib/js/jquery.dataTables.min.js"></script>-->
|
||||
<script type="text/javascript" src="/lib/pmUI/pmui.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/mafe.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/designer.min.js"></script>
|
||||
{/if}
|
||||
|
||||
<!-- tinyMCE -->
|
||||
<script type="text/javascript" src="/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
|
||||
@@ -76,5 +53,50 @@
|
||||
<script type="text/javascript" src="/js/codemirror/mode/css/css.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/clike/clike.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/php/php.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/js/codemirror/doc/docs.css"/>
|
||||
|
||||
{else}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/big.css" />
|
||||
<!--
|
||||
<link rel="stylesheet" type="text/css" href="/lib/pmUI/pmui.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/mafe/mafe.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery.layout.css" />
|
||||
<link rel="stylesheet" type="text/css" href="/lib/css/jquery-ui-1.10.3.custom.min.css" />
|
||||
!-->
|
||||
<!--<link rel="stylesheet" type="text/css" href="/lib/css/jquery.dataTables.css">-->
|
||||
|
||||
<script type="text/javascript">
|
||||
var prj_uid = "{$prj_uid}";
|
||||
var credentials = "{$credentials}";
|
||||
</script>
|
||||
<script type="text/javascript" src="/lib/js/big.js"></script>
|
||||
<!--
|
||||
<script type="text/javascript" src="/lib/js/wz_jsgraphics.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery-1.10.2.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/underscore-min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery-ui-1.10.3.custom.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/jquery.layout.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/js/restclient.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/pmUI/pmui.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/mafe.min.js"></script>
|
||||
<script type="text/javascript" src="/lib/mafe/designer.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="/lib/js/tiny_mce.js"></script>
|
||||
|
||||
<script type="text/javascript" src="/js/codemirror/lib/codemirror.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/javascript/javascript.js"></script>
|
||||
|
||||
<script type="text/javascript" src="/js/codemirror/addon/edit/matchbrackets.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/htmlmixed/htmlmixed.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/xml/xml.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/css/css.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/clike/clike.js"></script>
|
||||
<script type="text/javascript" src="/js/codemirror/mode/php/php.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/js/codemirror/lib/codemirror.css"/>
|
||||
|
||||
!-->
|
||||
|
||||
|
||||
{/if}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user