Merged colosa/processmaker into master

This commit is contained in:
william barra
2015-03-18 08:50:25 -04:00
8 changed files with 81 additions and 77 deletions

View File

@@ -24,8 +24,8 @@ if ($actionAjax == "streaming") {
$file = \G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
$realPath = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '.' . $ext;
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '.' . $ext;
if (file_exists( $realPath )) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);

View File

@@ -130,7 +130,13 @@ if (isset( $oProcessFieds['PRO_DEBUG'] ) && $oProcessFieds['PRO_DEBUG']) {
}
//cleaning debug variables
if (! isset( $_GET['breakpoint'] )) {
$flagExecuteBeforeTriggers = !isset($_GET["breakpoint"]);
if (isset($_GET["TYPE"]) && $_GET["TYPE"] == "OUTPUT_DOCUMENT" && isset($_GET["ACTION"]) && $_GET["ACTION"] != "GENERATE") {
$flagExecuteBeforeTriggers = false;
}
if ($flagExecuteBeforeTriggers) {
if (isset( $_SESSION['TRIGGER_DEBUG']['info'] )) {
unset( $_SESSION['TRIGGER_DEBUG']['info'] );
}

View File

@@ -403,8 +403,8 @@ class Light
//$app_uid = \G::getPathFromUID($oAppDocument->Fields['APP_UID']);
$file = \G::getPathFromFileUID($oAppDocument->Fields['APP_UID'], $sAppDocUid);
$realPath = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . $app_uid . '/' . $file[0] . $file[1] . '.' . $ext;
$realPath = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '_' . $iDocVersion . '.' . $ext;
$realPath1 = PATH_DOCUMENT . G::getPathFromUID($app_uid) . '/' . $file[0] . $file[1] . '.' . $ext;
$width = isset($fileData['width']) ? $fileData['width']:null;
$height = isset($fileData['height']) ? $fileData['height']:null;
@@ -604,8 +604,9 @@ class Light
*/
public function getInformation($userUid, $type, $app_uid)
{
//$response = array();
$response = array();
switch ($type) {
case 'unassigned':
case 'paused':
case 'participated':
$oCase = new \Cases();

View File

@@ -611,52 +611,18 @@ class Light extends Api
}
/**
* @url POST /case/:app_uid/input-document
* @url POST /case/:app_uid/upload/location
*
* @param string $app_uid { @min 32}{@max 32}
* @param string $tas_uid {@min 32}{@max 32}
* @param string $app_doc_comment
* @param string $inp_doc_uid {@min 32}{@max 32}
*/
public function doPostInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid)
{
try {
$userUid = $this->getUserId();
$inputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument();
$file = $inputDocument->addCasesInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $userUid);
$response = $this->parserInputDocument($file);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
return $response;
}
public function parserInputDocument ($data)
{
$structure = array(
'app_doc_uid' => 'fileId',
'app_doc_filename' => 'fileName',
'app_doc_version' => 'version'
);
$response = $this->replaceFields($data, $structure);
return $response;
}
/**
* @url POST /case/:app_uid/input-document/location
*
* @param string $app_uid { @min 32}{@max 32}
* @param string $tas_uid {@min 32}{@max 32}
* @param string $app_doc_comment
* @param string $inp_doc_uid {@min 32}{@max 32}
* @param float $latitude {@min -90}{@max 90}
* @param string $app_uid { @min 32}{@max 32}
* @param float $latitude {@min -90}{@max 90}
* @param float $longitude {@min -180}{@max 180}
*/
public function postInputDocumentLocation($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $latitude, $longitude)
public function postInputDocumentLocation($app_uid, $latitude, $longitude)
{
try {
$userUid = $this->getUserId();
$inputDocument = new \ProcessMaker\BusinessModel\Cases\InputDocument();
$oMobile = new \ProcessMaker\BusinessModel\Light();
$url = "http://maps.googleapis.com/maps/api/staticmap?center=".$latitude.','.$longitude."&format=jpg&size=600x600&zoom=15&markers=color:blue%7Clabel:S%7C".$latitude.','.$longitude;
$imageLocation = imagecreatefromjpeg($url);
$tmpfname = tempnam("php://temp","pmm");
@@ -668,17 +634,21 @@ class Light extends Api
$_FILES["form"]["error"] = 0;
$sizes = getimagesize($tmpfname);
$_FILES["form"]["size"] = ($sizes['0'] * $sizes['1']);
$file = $inputDocument->addCasesInputDocument($app_uid, $tas_uid, $app_doc_comment, $inp_doc_uid, $userUid);
$request_data = array(array('name' => $_FILES["form"]["name"]));
$file = $oMobile->postUidUploadFiles($userUid, $app_uid, $request_data);
$strPathName = PATH_DOCUMENT . G::getPathFromUID($app_uid) . PATH_SEP;
$strFileName = $file->app_doc_uid . "_" . $file->app_doc_version . ".jpg";
copy($tmpfname, $strPathName . "/" . $strFileName);
$response = $this->parserInputDocument($file);
$strFileName = $file[0]['appDocUid'] . "_" . $file[0]['docVersion'] . ".jpg";
if (! is_dir( $strPathName )) {
G::verifyPath( $strPathName, true );
}
copy($tmpfname, $strPathName . $strFileName);
unlink($tmpfname);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
return $response;
return $file;
}
/**

View File

@@ -1739,6 +1739,16 @@ function copymoveCtx(e) {
copymove('moveExecute');
}
var loader = new Ext.tree.TreeLoader({
preloadChildren : true,
dataUrl : '../appFolder/appFolderAjax.php',
baseParams : {
action : 'expandNode',
sendWhat : 'dirs',
renderTree : 1
}
});
var documentsTab = {
id : 'documents',
// title : 'Documents',
@@ -1772,15 +1782,7 @@ var documentsTab = {
}
],
// rootVisible: false,
loader : new Ext.tree.TreeLoader({
preloadChildren : true,
dataUrl : '../appFolder/appFolderAjax.php',
baseParams : {
action : 'expandNode',
sendWhat : 'dirs',
renderTree : 1
}
}),
loader : loader,
containerScroll : true,
enableDD : true,
ddGroup : 'TreeDD',
@@ -1834,10 +1836,10 @@ var documentsTab = {
return true;
}
},
'beforenodedrop' : {
fn : function(e) {
dropEvent = e;
copymoveCtx(e);
'nodedrop' : {
fn : function(e) {
dropEvent = e;
copymoveCtx(e);
datastore.reload();
}
},

View File

@@ -82,12 +82,14 @@
<nav>
<ul>
<li><a href="#" ><span class="mafe-button-close" ></span></a></li>
<li><a href="#" class="mafe-button-save"></a></li>
<li class="mafe-save-process"><a href="#" class="mafe-button-save"></a></li>
<li><a href="#" class="mafe-button-export-process"></a></li>
<li><a class="mafe-button-export-bpmn-process"></a></li>
<li><a href="#" class="mafe-button-undo"></a> <a href="#" class="mafe-button-redo"></a></li>
<li></li>
<li class="mafe-undo"><a href="#"><span class="mafe-button-undo"></span></a></li>
<li class="mafe-redo"><a href="#"><span class="mafe-button-redo"></span></a></li>
<li><a href="#" title="" class="mafe-button-fullscreen"></a></li>
<li></li>
</ul>
</nav>

View File

@@ -254,7 +254,7 @@ clientSetup.application = {
data: [["20"], ["30"], ["40"], ["50"], ["100"]],
autoLoad: true
});
//Components
var winData = new Ext.Window({
layout: "fit",
@@ -289,7 +289,11 @@ clientSetup.application = {
id: "txtName",
name: "txtName",
fieldLabel: "Name"
fieldLabel: "Name",
validator: function(value){
var val = (value=='')? false: true;
return val;
}
},
{
xtype: "label",
@@ -320,8 +324,15 @@ clientSetup.application = {
id: "txtWebSite",
name: "txtWebSite",
fieldLabel: "Web Site",
vtype: "url"
fieldLabel: "Web Site",
validator: function (value){
var regexpUrl = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
var regexStringIp = new RegExp(regexpUrl);
var regexpIpAdress = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g;
var regexNumberIp = new RegExp(regexpIpAdress);
var result = (value.match(regexStringIp) || value.match(regexNumberIp))? true : false;
return result;
}
},
{
xtype: "label",
@@ -345,7 +356,7 @@ clientSetup.application = {
fieldLabel: "&nbsp;",
labelSeparator: "",
html: "<span style=\"font-size: 11px;\">" + "here should we return after successfully authenticating? For @Anywhere applications, only the domain specified in the callback will be used. OAuth 1.0a applications should explicitly specify their oauth_callback URL on the request token step, regardless of the value given here. To restrict your application from using callbacks, leave this field blank." + "</span>"
html: "<span style=\"font-size: 11px;\">" + "URL where redirected after successfully authenticating (calling the {workspace}/oauth2/authorize endpoint). This URL typically contains code to get the access token from the {workspace}/oauth2/token endpoint. To prevent your application from using callbacks, leave this field blank." + "</span>"
}
]
})
@@ -499,7 +510,7 @@ clientSetup.application = {
var btnDetail = new Ext.Action({
id: "btnDetail",
text: _("ID_DETAIL"),
text: _("ID_DETAILS"),
iconCls: "button_menu_ext ss_sprite ss_zoom",
handler: function ()
@@ -695,7 +706,7 @@ clientSetup.application = {
items: [grdpnlMain]
});
}
}
Ext.onReady(clientSetup.application.init, clientSetup.application);
Ext.onReady(clientSetup.application.init, clientSetup.application);

View File

@@ -4,6 +4,8 @@
*/
var _NODE_SELECTED;
var flagRenderTabLog = false;
var main = function(){
var cookiep = new Ext.state.CookieProvider();
@@ -130,7 +132,19 @@ var main = function(){
activeTab:this.items.indexOf(this.getActiveTab())
};
},
items: items
items: items,
listeners: {
tabchange: function (tabpanel, tab)
{
if (tab.id == "logs" && flagRenderTabLog) {
tab.getLoader().load(tab.root);
}
if (tab.id == "logs") {
flagRenderTabLog = true;
}
}
}
}),
{
region: 'center',
@@ -166,5 +180,3 @@ new Ext.KeyMap(document, {
});
Ext.onReady(main);