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

This commit is contained in:
Brayan Osmar Pereyra Suxo
2014-04-24 08:37:23 -04:00
34 changed files with 2825 additions and 516 deletions

View File

@@ -234,8 +234,6 @@ Scenario Outline: Sends variables to a case
Scenario Outline: Route a case to the next task in the process
Given PUT this data:
"""

View File

@@ -54,7 +54,7 @@ Scenario Outline: Create a new case Impersonate (Negative Test)
Scenario Outline: Create a case, derivate and cancel. then try do pause or route
#Create case
#Create case
Given POST this data:
"""
{
@@ -67,7 +67,7 @@ Scenario Outline: Create a case, derivate and cancel. then try do pause or route
Then the response status code should be 200
And store "app_uid" in session array as variable "app_uid_<case_number>"
#Send some variables
#Send some variables
And PUT this data:
"""
{
@@ -81,7 +81,8 @@ Scenario Outline: Create a case, derivate and cancel. then try do pause or route
And the content type is "application/json"
And the response charset is "UTF-8"
And the type is "object"
#Cancel case
#Cancel case
And PUT this data:
"""
{
@@ -94,7 +95,7 @@ Scenario Outline: Create a case, derivate and cancel. then try do pause or route
And the response charset is "UTF-8"
And the type is "object"
#Route case: it should not allow
#Route case: it should not allow
And PUT this data:
"""
{
@@ -106,7 +107,7 @@ Scenario Outline: Create a case, derivate and cancel. then try do pause or route
Then the response status code should be 400
And the response status message should have the following text "<error_message_route>"
#Pause case
#Pause case
And PUT this data:
"""
{
@@ -117,22 +118,22 @@ Scenario Outline: Create a case, derivate and cancel. then try do pause or route
Then the response status code should be 400
And the response status message should have the following text "<error_message_pause>"
#Delete case
And PUT this data:
"""
{
}
"""
And that I want to delete a resource with the key "app_uid" stored in session array as variable "app_uid_<case_number>"
And I request "cases"
Then the response status code should be 200
And the content type is "application/json"
And the response charset is "UTF-8"
And the type is "object"
Examples:
| Description | case_number | pro_uid | tas_uid | error_message_route | error_message_pause |
| Create new case with process "Derivation rules - sequential" | 1 | 99209594750ec27ea338927000421575 | 68707275350ec281ada1c95068712556 | This case delegation is already closed | This case delegation is already closed |
#Delete case
Scenario Outline: Delete a case created previously in this script
Given that I want to delete a resource with the key "app_uid" stored in session array as variable "app_uid_<app_uid_number>"
And I request "cases"
And the content type is "application/json"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Examples:
| app_uid_number |
| 1 |

View File

@@ -292,13 +292,13 @@ Scenario Outline: Get paging of list Participated
| high number for start | 1000 | 1 | 0 | 200 |
| high number for start | 1000 | 0 | 0 | 200 |
| empty result | 1 | 0 | 30 | 200 |
| empty string | 1 | 10000 | 30 | 200 |
| empty string | 1 | 10000 | 57 | 200 |
| invalid start | b | 25 | 25 | 200 |
| invalid limit | 1 | c | 30 | 200 |
| start equals zero | 0 | 20 | 20 | 200 |
| search 0 | 0 | 0 | 30 | 200 |
| search 0 | 0 | 100 | 30 | 200 |
| negative numbers in start | -10 | 25 | 15 | 200 |
| search 0 | 0 | 100 | 57 | 200 |
| negative numbers in start | -10 | 25 | 25 | 200 |
| negative numbers in limit | 1 | -25 | 25 | 200 |
| real numbers | 0.0 | 1.0 | 1 | 200 |
| real numbers in start | 0.0 | 12 | 12 | 200 |
@@ -610,13 +610,13 @@ Scenario Outline: Get paging of list Advanced Search
| high number for start | 1000 | 1 | 0 | 200 |
| high number for start | 1000 | 0 | 0 | 200 |
| empty result | 1 | 0 | 30 | 200 |
| empty string | 1 | 10000 | 30 | 200 |
| empty string | 1 | 10000 | 57 | 200 |
| invalid start | b | 25 | 25 | 200 |
| invalid limit | 1 | c | 30 | 200 |
| start equals zero | 0 | 20 | 20 | 200 |
| search 0 | 0 | 0 | 30 | 200 |
| search 0 | 0 | 100 | 30 | 200 |
| negative numbers in start | -10 | 25 | 15 | 200 |
| search 0 | 0 | 100 | 57 | 200 |
| negative numbers in start | -10 | 25 | 25 | 200 |
| negative numbers in limit | 1 | -25 | 25 | 200 |
| real numbers | 0.0 | 1.0 | 1 | 200 |
| real numbers in start | 0.0 | 12 | 12 | 200 |

View File

@@ -13,7 +13,6 @@ Scenario: Returns a list of the uploaded documents for a given case
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "array"
And the response has 10 records
Scenario: Returns an uploaded documents for a given case

View File

@@ -13,7 +13,7 @@ Scenario: Returns a list of the uploaded documents for a given case
Then the response status code should be 400
Scenario Outline: Post metadata and then upload documents for a given case
Given POST upload an input document "<document_file>" to "cases/<case_uid>/input-document"
Given POST this data:
"""
{
@@ -24,12 +24,14 @@ Scenario Outline: Post metadata and then upload documents for a given case
}
"""
And I request "cases/<case_uid>/input-document"
Then the response status code should be 400
And the response status message should have the following text "<error_message>"
Examples:
| app_doc_uid_number | document_file | case_uid | inp_doc_uid | tas_uid | app_doc_comment |
| 1 | /inexistent_test1.html | 170220159534214f642abb8058832933 | 68671480353319e5e1dee74089764900 | 19582733053319e304cfa76025663570 | comment 1 |
| 1 | /home/wendy/uploadfiles/test1.html | 170220159534214f642abb8058832933 | 68671480353319e5e1dee74089764900 | | comment 1 |
| 1 | /home/wendy/uploadfiles/test1.html | 170220159534214f642abb8058832933 | | 19582733053319e304cfa76025663570 | comment 1 |
| test_description | case_uid | inp_doc_uid | tas_uid | app_doc_comment | error_message |
| Incorrect tas_uid | 170220159534214f642abb8058832933 | 68671480353319e5e1dee74089764900 | | comment 1 | tas_uid |
| Incorrect inp_doc_uid | 170220159534214f642abb8058832933 | | 19582733053319e304cfa76025663570 | comment 1 | inp_doc_uid |
| No file | 170220159534214f642abb8058832933 | 68671480353319e5e1dee74089764900 | 19582733053319e304cfa76025663570 | comment 1 | filename |

View File

@@ -1,29 +1,21 @@
@ProcessMakerMichelangelo @RestAPI
Feature: Output Documents cases
Requirements:
Requirements:
a workspace with one case of the process "Test Output Document Case"
and there are six Output Documents in the process
Background:
Background:
Given that I have a valid access_token
Scenario: Returns a list of the generated documents for a given cases
Scenario: Returns a list of the generated documents for a given cases
Given I request "cases/33125846153383cecdf64f1079330191/output-documents"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "array"
And the response has 1 records
Scenario: Returns a generated document for a given case
Given I request "cases/33125846153383cecdf64f1079330191/output-document/75468909953383d0bc42f96046736849"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Scenario: Generate or regenerates an output documents for a given case
Scenario: Generate or regenerates an output documents for a given case
Given POST this data:
"""
{
@@ -37,11 +29,15 @@ Scenario: Generate or regenerates an output documents for a given case
And the type is "array"
And store "app_doc_uid" in session array as variable "app_doc_uid_0"
Scenario: Returns a generated document for a given case
Given I request "cases/33125846153383cecdf64f1079330191/output-document/app_doc_uid" with the key "app_doc_uid" stored in session array as variable "app_doc_uid_0"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "object"
Scenario: Delete an uploaded or generated document from a case.
And that I want to delete a resource with the key "app_doc_uid_0" stored in session array
Given I request "output-document"
Scenario: Delete an uploaded or generated document from a case.
Given that I want to delete a resource with the key "app_doc_uid_0" stored in session array
And I request "cases/33125846153383cecdf64f1079330191/output-document"
Then the response status code should be 200
And the content type is "application/json"
And the response charset is "UTF-8"

View File

@@ -1,14 +1,14 @@
@ProcessMakerMichelangelo @RestAPI
Feature: Output Documents cases Main Tests
Requirements:
Requirements:
a workspace with one case of the process "Test Output Document Case"
and there are six Output Documents in the process
Background:
Background:
Given that I have a valid access_token
Scenario Outline: Generate or regenerates an output documents for a given case
Scenario Outline: Generate or regenerates an output documents for a given case
Given POST this data:
"""
{
@@ -33,49 +33,34 @@ Scenario Outline: Generate or regenerates an output documents for a given case
| Generate "output document with pdf security" | 5 | 8594478445331eff2d30767061922215 |
Scenario: Returns a list of the generated documents for a given cases
Scenario: Returns a list of the generated documents for a given cases
Given I request "cases/33125846153383cecdf64f1079330191/output-documents"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "array"
And the response has 6 records
And the "app_doc_filename" property in row 0 equals "output document new version.pdf"
And the "app_doc_filename" property in row 1 equals "output document with pdf security.pdf"
And the "app_doc_filename" property in row 2 equals "output document only pdf.pdf"
And the "app_doc_filename" property in row 3 equals "output document only doc.doc"
And the "app_doc_filename" property in row 4 equals "output document with versioning.pdf"
And the "app_doc_filename" property in row 5 equals "output document old version.pdf"
Scenario Outline: Returns an generated document for a given case
Scenario Outline: Returns an generated document for a given case
Given I request "cases/33125846153383cecdf64f1079330191/output-document/app_doc_uid" with the key "app_doc_uid" stored in session array as variable "app_doc_uid_<app_doc_uid_number>"
Then the response status code should be 200
And the response charset is "UTF-8"
And the type is "Object"
And the "app_doc_uid" property equals "<app_doc_uid>"
And the type is "array"
And the "app_doc_filename" property equals "<app_doc_filename>"
And the "doc_uid" property equals "<doc_uid>"
And the "app_doc_version" property equals "<app_doc_version>"
And the "app_doc_create_date" property equals "<app_doc_create_date>"
And the "app_doc_create_user" property equals "<app_doc_create_user>"
And the "app_doc_type" property equals "<app_doc_type>"
And the "app_doc_index" property equals "<app_doc_index>"
And the "app_doc_link" property equals "<app_doc_link>"
Examples:
| test_description | app_doc_uid_number | app_doc_filename | doc_uid | app_doc_version | app_doc_create_date | app_doc_create_user | app_doc_type | app_doc_index | app_doc_link |
| Get Output "output document new version.pdf" | 1 | output document new version.pdf | 3391282325331ee81c84715031595672 | 1 | 2014-03-26 12:29:30 | , Administrator (admin) | OUTPUT BOTH | 1 | cases/cases_ShowOutputDocument?a=3000248055333006ab56a01005891659&v=1&ext=pdf&random=1256696859 |
| Get Output "output document old version.pdf" | 2 | output document old version.pdf | 7385645355331ee70ea6a87029841722 | 1 | 2014-03-26 12:29:33 | , Administrator (admin) | OUTPUT BOTH | 2 | cases/cases_ShowOutputDocument?a=8865432395333006d75d824038425476&v=1&ext=pdf&random=1838956992 |
| Get Output "output document only doc.doc" | 3 | output document only doc.doc | 2087233055331ef4127d238097105696 | 1 | 2014-03-26 12:29:35 | , Administrator (admin) | OUTPUT DOC | 3 | cases/cases_ShowOutputDocument?a=4447256265333006fe6fb00061503934&v=1&ext=doc&random=949245639 |
| Get Output "output document only pdf.pdf" | 4 | output document only pdf.pdf | 7074907425331ef837aa8b2055964905 | 1 | 2014-03-26 12:29:38 | , Administrator (admin) | OUTPUT PDF | 4 | cases/cases_ShowOutputDocument?a=828039615533300724fdcb6091842678&v=1&ext=pdf&random=401448562 |
| Get Output "output document with pdf security.pdf" | 5 | output document with pdf security.pdf | 8594478445331eff2d30767061922215 | 1 | 2014-03-26 12:29:40 | , Administrator (admin) | OUTPUT BOTH | 5 | cases/cases_ShowOutputDocument?a=25293137553330074713ab9073501576&v=1&ext=pdf&random=324546362 |
| Get Output "output document with versioning.pdf" | 6 | output document with versioning.pdf | 5961108155331efc976cee7011445347 | 1 | 2014-03-26 12:29:42 | , Administrator (admin) | OUTPUT BOTH | 6 | cases/cases_ShowOutputDocument?a=354826487533300769e65e0027827984&v=1&ext=pdf&random=1682978530 |
| test_description | app_doc_uid_number | app_doc_filename | doc_uid | app_doc_create_user | app_doc_type |
| Get Output "output document only doc.doc" | 1 | output document only doc.doc | 2087233055331ef4127d238097105696 | , Administrator (admin) | OUTPUT DOC |
| Get Output "output document with versioning.pdf" | 2 | output document with versioning.pdf | 5961108155331efc976cee7011445347 | , Administrator (admin) | OUTPUT BOTH |
| Get Output "output document only pdf.pdf" | 3 | output document only pdf.pdf | 7074907425331ef837aa8b2055964905 | , Administrator (admin) | OUTPUT PDF |
| Get Output "output document old version.pdf" | 4 | output document old version.pdf | 7385645355331ee70ea6a87029841722 | , Administrator (admin) | OUTPUT BOTH |
| Get Output "output document with pdf security.pdf" | 5 | output document with pdf security.pdf| 8594478445331eff2d30767061922215 | , Administrator (admin) | OUTPUT BOTH |
Scenario Outline: Delete an uploaded or generated document from a case.
Scenario Outline: Delete an uploaded or generated document from a case.
Given that I want to delete a resource with the key "app_doc_uid" stored in session array as variable "app_doc_uid_<app_doc_uid_number>"
And I request "cases/33125846153383cecdf64f1079330191/output-document"
And the response status code should be 200
@@ -91,6 +76,3 @@ Scenario Outline: Delete an uploaded or generated document from a case.
| 3 |
| 4 |
| 5 |

View File

@@ -0,0 +1,6 @@
<?php
class WebEntry extends BaseWebEntry
{
//
}

View File

@@ -0,0 +1,6 @@
<?php
class WebEntryPeer extends BaseWebEntryPeer
{
//
}

View File

@@ -0,0 +1,94 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'WEB_ENTRY' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class WebEntryMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.WebEntryMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('WEB_ENTRY');
$tMap->setPhpName('WebEntry');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('WE_UID', 'WeUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRO_UID', 'ProUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('TAS_UID', 'TasUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('DYN_UID', 'DynUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('USR_UID', 'UsrUid', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('WE_METHOD', 'WeMethod', 'string', CreoleTypes::VARCHAR, false, 4);
$tMap->addColumn('WE_INPUT_DOCUMENT_ACCESS', 'WeInputDocumentAccess', 'int', CreoleTypes::INTEGER, false, null);
$tMap->addColumn('WE_DATA', 'WeData', 'string', CreoleTypes::LONGVARCHAR, false, null);
$tMap->addColumn('WE_CREATE_USR_UID', 'WeCreateUsrUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('WE_UPDATE_USR_UID', 'WeUpdateUsrUid', 'string', CreoleTypes::VARCHAR, false, 32);
$tMap->addColumn('WE_CREATE_DATE', 'WeCreateDate', 'int', CreoleTypes::TIMESTAMP, true, null);
$tMap->addColumn('WE_UPDATE_DATE', 'WeUpdateDate', 'int', CreoleTypes::TIMESTAMP, false, null);
} // doBuild()
} // WebEntryMapBuilder

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,622 @@
<?php
require_once 'propel/util/BasePeer.php';
// The object class -- needed for instanceof checks in this class.
// actual class may be a subclass -- as returned by WebEntryPeer::getOMClass()
include_once 'classes/model/WebEntry.php';
/**
* Base static class for performing query and update operations on the 'WEB_ENTRY' table.
*
*
*
* @package workflow.classes.model.om
*/
abstract class BaseWebEntryPeer
{
/** the default database name for this class */
const DATABASE_NAME = 'workflow';
/** the table name for this class */
const TABLE_NAME = 'WEB_ENTRY';
/** A class that can be returned by this peer. */
const CLASS_DEFAULT = 'classes.model.WebEntry';
/** The total number of columns. */
const NUM_COLUMNS = 12;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
/** the column name for the WE_UID field */
const WE_UID = 'WEB_ENTRY.WE_UID';
/** the column name for the PRO_UID field */
const PRO_UID = 'WEB_ENTRY.PRO_UID';
/** the column name for the TAS_UID field */
const TAS_UID = 'WEB_ENTRY.TAS_UID';
/** the column name for the DYN_UID field */
const DYN_UID = 'WEB_ENTRY.DYN_UID';
/** the column name for the USR_UID field */
const USR_UID = 'WEB_ENTRY.USR_UID';
/** the column name for the WE_METHOD field */
const WE_METHOD = 'WEB_ENTRY.WE_METHOD';
/** the column name for the WE_INPUT_DOCUMENT_ACCESS field */
const WE_INPUT_DOCUMENT_ACCESS = 'WEB_ENTRY.WE_INPUT_DOCUMENT_ACCESS';
/** the column name for the WE_DATA field */
const WE_DATA = 'WEB_ENTRY.WE_DATA';
/** the column name for the WE_CREATE_USR_UID field */
const WE_CREATE_USR_UID = 'WEB_ENTRY.WE_CREATE_USR_UID';
/** the column name for the WE_UPDATE_USR_UID field */
const WE_UPDATE_USR_UID = 'WEB_ENTRY.WE_UPDATE_USR_UID';
/** the column name for the WE_CREATE_DATE field */
const WE_CREATE_DATE = 'WEB_ENTRY.WE_CREATE_DATE';
/** the column name for the WE_UPDATE_DATE field */
const WE_UPDATE_DATE = 'WEB_ENTRY.WE_UPDATE_DATE';
/** The PHP to DB Name Mapping */
private static $phpNameMap = null;
/**
* holds an array of fieldnames
*
* first dimension keys are the type constants
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('WeUid', 'ProUid', 'TasUid', 'DynUid', 'UsrUid', 'WeMethod', 'WeInputDocumentAccess', 'WeData', 'WeCreateUsrUid', 'WeUpdateUsrUid', 'WeCreateDate', 'WeUpdateDate', ),
BasePeer::TYPE_COLNAME => array (WebEntryPeer::WE_UID, WebEntryPeer::PRO_UID, WebEntryPeer::TAS_UID, WebEntryPeer::DYN_UID, WebEntryPeer::USR_UID, WebEntryPeer::WE_METHOD, WebEntryPeer::WE_INPUT_DOCUMENT_ACCESS, WebEntryPeer::WE_DATA, WebEntryPeer::WE_CREATE_USR_UID, WebEntryPeer::WE_UPDATE_USR_UID, WebEntryPeer::WE_CREATE_DATE, WebEntryPeer::WE_UPDATE_DATE, ),
BasePeer::TYPE_FIELDNAME => array ('WE_UID', 'PRO_UID', 'TAS_UID', 'DYN_UID', 'USR_UID', 'WE_METHOD', 'WE_INPUT_DOCUMENT_ACCESS', 'WE_DATA', 'WE_CREATE_USR_UID', 'WE_UPDATE_USR_UID', 'WE_CREATE_DATE', 'WE_UPDATE_DATE', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
);
/**
* holds an array of keys for quick access to the fieldnames array
*
* first dimension keys are the type constants
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('WeUid' => 0, 'ProUid' => 1, 'TasUid' => 2, 'DynUid' => 3, 'UsrUid' => 4, 'WeMethod' => 5, 'WeInputDocumentAccess' => 6, 'WeData' => 7, 'WeCreateUsrUid' => 8, 'WeUpdateUsrUid' => 9, 'WeCreateDate' => 10, 'WeUpdateDate' => 11, ),
BasePeer::TYPE_COLNAME => array (WebEntryPeer::WE_UID => 0, WebEntryPeer::PRO_UID => 1, WebEntryPeer::TAS_UID => 2, WebEntryPeer::DYN_UID => 3, WebEntryPeer::USR_UID => 4, WebEntryPeer::WE_METHOD => 5, WebEntryPeer::WE_INPUT_DOCUMENT_ACCESS => 6, WebEntryPeer::WE_DATA => 7, WebEntryPeer::WE_CREATE_USR_UID => 8, WebEntryPeer::WE_UPDATE_USR_UID => 9, WebEntryPeer::WE_CREATE_DATE => 10, WebEntryPeer::WE_UPDATE_DATE => 11, ),
BasePeer::TYPE_FIELDNAME => array ('WE_UID' => 0, 'PRO_UID' => 1, 'TAS_UID' => 2, 'DYN_UID' => 3, 'USR_UID' => 4, 'WE_METHOD' => 5, 'WE_INPUT_DOCUMENT_ACCESS' => 6, 'WE_DATA' => 7, 'WE_CREATE_USR_UID' => 8, 'WE_UPDATE_USR_UID' => 9, 'WE_CREATE_DATE' => 10, 'WE_UPDATE_DATE' => 11, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
);
/**
* @return MapBuilder the map builder for this peer
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function getMapBuilder()
{
include_once 'classes/model/map/WebEntryMapBuilder.php';
return BasePeer::getMapBuilder('classes.model.map.WebEntryMapBuilder');
}
/**
* Gets a map (hash) of PHP names to DB column names.
*
* @return array The PHP to DB name map for this peer
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
* @deprecated Use the getFieldNames() and translateFieldName() methods instead of this.
*/
public static function getPhpNameMap()
{
if (self::$phpNameMap === null) {
$map = WebEntryPeer::getTableMap();
$columns = $map->getColumns();
$nameMap = array();
foreach ($columns as $column) {
$nameMap[$column->getPhpName()] = $column->getColumnName();
}
self::$phpNameMap = $nameMap;
}
return self::$phpNameMap;
}
/**
* Translates a fieldname to another type
*
* @param string $name field name
* @param string $fromType One of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @param string $toType One of the class type constants
* @return string translated name of the field.
*/
static public function translateFieldName($name, $fromType, $toType)
{
$toNames = self::getFieldNames($toType);
$key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null;
if ($key === null) {
throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true));
}
return $toNames[$key];
}
/**
* Returns an array of of field names.
*
* @param string $type The type of fieldnames to return:
* One of the class type constants TYPE_PHPNAME,
* TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
* @return array A list of field names
*/
static public function getFieldNames($type = BasePeer::TYPE_PHPNAME)
{
if (!array_key_exists($type, self::$fieldNames)) {
throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.');
}
return self::$fieldNames[$type];
}
/**
* Convenience method which changes table.column to alias.column.
*
* Using this method you can maintain SQL abstraction while using column aliases.
* <code>
* $c->addAlias("alias1", TablePeer::TABLE_NAME);
* $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
* </code>
* @param string $alias The alias for the current table.
* @param string $column The column name for current table. (i.e. WebEntryPeer::COLUMN_NAME).
* @return string
*/
public static function alias($alias, $column)
{
return str_replace(WebEntryPeer::TABLE_NAME.'.', $alias.'.', $column);
}
/**
* Add all the columns needed to create a new object.
*
* Note: any columns that were marked with lazyLoad="true" in the
* XML schema will not be added to the select list and only loaded
* on demand.
*
* @param criteria object containing the columns to add.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function addSelectColumns(Criteria $criteria)
{
$criteria->addSelectColumn(WebEntryPeer::WE_UID);
$criteria->addSelectColumn(WebEntryPeer::PRO_UID);
$criteria->addSelectColumn(WebEntryPeer::TAS_UID);
$criteria->addSelectColumn(WebEntryPeer::DYN_UID);
$criteria->addSelectColumn(WebEntryPeer::USR_UID);
$criteria->addSelectColumn(WebEntryPeer::WE_METHOD);
$criteria->addSelectColumn(WebEntryPeer::WE_INPUT_DOCUMENT_ACCESS);
$criteria->addSelectColumn(WebEntryPeer::WE_DATA);
$criteria->addSelectColumn(WebEntryPeer::WE_CREATE_USR_UID);
$criteria->addSelectColumn(WebEntryPeer::WE_UPDATE_USR_UID);
$criteria->addSelectColumn(WebEntryPeer::WE_CREATE_DATE);
$criteria->addSelectColumn(WebEntryPeer::WE_UPDATE_DATE);
}
const COUNT = 'COUNT(WEB_ENTRY.WE_UID)';
const COUNT_DISTINCT = 'COUNT(DISTINCT WEB_ENTRY.WE_UID)';
/**
* Returns the number of rows matching criteria.
*
* @param Criteria $criteria
* @param boolean $distinct Whether to select only distinct columns (You can also set DISTINCT modifier in Criteria).
* @param Connection $con
* @return int Number of matching rows.
*/
public static function doCount(Criteria $criteria, $distinct = false, $con = null)
{
// we're going to modify criteria, so copy it first
$criteria = clone $criteria;
// clear out anything that might confuse the ORDER BY clause
$criteria->clearSelectColumns()->clearOrderByColumns();
if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
$criteria->addSelectColumn(WebEntryPeer::COUNT_DISTINCT);
} else {
$criteria->addSelectColumn(WebEntryPeer::COUNT);
}
// just in case we're grouping: add those columns to the select statement
foreach ($criteria->getGroupByColumns() as $column) {
$criteria->addSelectColumn($column);
}
$rs = WebEntryPeer::doSelectRS($criteria, $con);
if ($rs->next()) {
return $rs->getInt(1);
} else {
// no rows returned; we infer that means 0 matches.
return 0;
}
}
/**
* Method to select one object from the DB.
*
* @param Criteria $criteria object used to create the SELECT statement.
* @param Connection $con
* @return WebEntry
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doSelectOne(Criteria $criteria, $con = null)
{
$critcopy = clone $criteria;
$critcopy->setLimit(1);
$objects = WebEntryPeer::doSelect($critcopy, $con);
if ($objects) {
return $objects[0];
}
return null;
}
/**
* Method to do selects.
*
* @param Criteria $criteria The Criteria object used to build the SELECT statement.
* @param Connection $con
* @return array Array of selected Objects
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doSelect(Criteria $criteria, $con = null)
{
return WebEntryPeer::populateObjects(WebEntryPeer::doSelectRS($criteria, $con));
}
/**
* Prepares the Criteria object and uses the parent doSelect()
* method to get a ResultSet.
*
* Use this method directly if you want to just get the resultset
* (instead of an array of objects).
*
* @param Criteria $criteria The Criteria object used to build the SELECT statement.
* @param Connection $con the connection to use
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
* @return ResultSet The resultset object with numerically-indexed fields.
* @see BasePeer::doSelect()
*/
public static function doSelectRS(Criteria $criteria, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
if (!$criteria->getSelectColumns()) {
$criteria = clone $criteria;
WebEntryPeer::addSelectColumns($criteria);
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
// BasePeer returns a Creole ResultSet, set to return
// rows indexed numerically.
return BasePeer::doSelect($criteria, $con);
}
/**
* The returned array will contain objects of the default type or
* objects that inherit from the default.
*
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function populateObjects(ResultSet $rs)
{
$results = array();
// set the class once to avoid overhead in the loop
$cls = WebEntryPeer::getOMClass();
$cls = Propel::import($cls);
// populate the object(s)
while ($rs->next()) {
$obj = new $cls();
$obj->hydrate($rs);
$results[] = $obj;
}
return $results;
}
/**
* Returns the TableMap related to this peer.
* This method is not needed for general use but a specific application could have a need.
* @return TableMap
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function getTableMap()
{
return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME);
}
/**
* The class that the Peer will make instances of.
*
* This uses a dot-path notation which is tranalted into a path
* relative to a location on the PHP include_path.
* (e.g. path.to.MyClass -> 'path/to/MyClass.php')
*
* @return string path.to.ClassName
*/
public static function getOMClass()
{
return WebEntryPeer::CLASS_DEFAULT;
}
/**
* Method perform an INSERT on the database, given a WebEntry or Criteria object.
*
* @param mixed $values Criteria or WebEntry object containing data that is used to create the INSERT statement.
* @param Connection $con the connection to use
* @return mixed The new primary key.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doInsert($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
} else {
$criteria = $values->buildCriteria(); // build Criteria from WebEntry object
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
try {
// use transaction because $criteria could contain info
// for more than one table (I guess, conceivably)
$con->begin();
$pk = BasePeer::doInsert($criteria, $con);
$con->commit();
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
return $pk;
}
/**
* Method perform an UPDATE on the database, given a WebEntry or Criteria object.
*
* @param mixed $values Criteria or WebEntry object containing data create the UPDATE statement.
* @param Connection $con The connection to use (specify Connection exert more control over transactions).
* @return int The number of affected rows (if supported by underlying database driver).
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doUpdate($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$selectCriteria = new Criteria(self::DATABASE_NAME);
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
$comparison = $criteria->getComparison(WebEntryPeer::WE_UID);
$selectCriteria->add(WebEntryPeer::WE_UID, $criteria->remove(WebEntryPeer::WE_UID), $comparison);
} else {
$criteria = $values->buildCriteria(); // gets full criteria
$selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
}
// set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
return BasePeer::doUpdate($selectCriteria, $criteria, $con);
}
/**
* Method to DELETE all rows from the WEB_ENTRY table.
*
* @return int The number of affected rows (if supported by underlying database driver).
*/
public static function doDeleteAll($con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$affectedRows = 0; // initialize var to track total num of affected rows
try {
// use transaction because $criteria could contain info
// for more than one table or we could emulating ON DELETE CASCADE, etc.
$con->begin();
$affectedRows += BasePeer::doDeleteAll(WebEntryPeer::TABLE_NAME, $con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Method perform a DELETE on the database, given a WebEntry or Criteria object OR a primary key value.
*
* @param mixed $values Criteria or WebEntry object or primary key or array of primary keys
* which is used to create the DELETE statement
* @param Connection $con the connection to use
* @return int The number of affected rows (if supported by underlying database driver).
* This includes CASCADE-related rows
* if supported by native driver or if emulated using Propel.
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function doDelete($values, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(WebEntryPeer::DATABASE_NAME);
}
if ($values instanceof Criteria) {
$criteria = clone $values; // rename for clarity
} elseif ($values instanceof WebEntry) {
$criteria = $values->buildPkeyCriteria();
} else {
// it must be the primary key
$criteria = new Criteria(self::DATABASE_NAME);
$criteria->add(WebEntryPeer::WE_UID, (array) $values, Criteria::IN);
}
// Set the correct dbName
$criteria->setDbName(self::DATABASE_NAME);
$affectedRows = 0; // initialize var to track total num of affected rows
try {
// use transaction because $criteria could contain info
// for more than one table or we could emulating ON DELETE CASCADE, etc.
$con->begin();
$affectedRows += BasePeer::doDelete($criteria, $con);
$con->commit();
return $affectedRows;
} catch (PropelException $e) {
$con->rollback();
throw $e;
}
}
/**
* Validates all modified columns of given WebEntry object.
* If parameter $columns is either a single column name or an array of column names
* than only those columns are validated.
*
* NOTICE: This does not apply to primary or foreign keys for now.
*
* @param WebEntry $obj The object to validate.
* @param mixed $cols Column name or array of column names.
*
* @return mixed TRUE if all columns are valid or the error message of the first invalid column.
*/
public static function doValidate(WebEntry $obj, $cols = null)
{
$columns = array();
if ($cols) {
$dbMap = Propel::getDatabaseMap(WebEntryPeer::DATABASE_NAME);
$tableMap = $dbMap->getTable(WebEntryPeer::TABLE_NAME);
if (! is_array($cols)) {
$cols = array($cols);
}
foreach ($cols as $colName) {
if ($tableMap->containsColumn($colName)) {
$get = 'get' . $tableMap->getColumn($colName)->getPhpName();
$columns[$colName] = $obj->$get();
}
}
} else {
}
return BasePeer::doValidate(WebEntryPeer::DATABASE_NAME, WebEntryPeer::TABLE_NAME, $columns);
}
/**
* Retrieve a single object by pkey.
*
* @param mixed $pk the primary key.
* @param Connection $con the connection to use
* @return WebEntry
*/
public static function retrieveByPK($pk, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$criteria = new Criteria(WebEntryPeer::DATABASE_NAME);
$criteria->add(WebEntryPeer::WE_UID, $pk);
$v = WebEntryPeer::doSelect($criteria, $con);
return !empty($v) > 0 ? $v[0] : null;
}
/**
* Retrieve multiple objects by pkey.
*
* @param array $pks List of primary keys
* @param Connection $con the connection to use
* @throws PropelException Any exceptions caught during processing will be
* rethrown wrapped into a PropelException.
*/
public static function retrieveByPKs($pks, $con = null)
{
if ($con === null) {
$con = Propel::getConnection(self::DATABASE_NAME);
}
$objs = null;
if (empty($pks)) {
$objs = array();
} else {
$criteria = new Criteria();
$criteria->add(WebEntryPeer::WE_UID, $pks, Criteria::IN);
$objs = WebEntryPeer::doSelect($criteria, $con);
}
return $objs;
}
}
// static code to register the map builder for this Peer with the main Propel class
if (Propel::isInit()) {
// the MapBuilder classes register themselves with Propel during initialization
// so we need to load them here.
try {
BaseWebEntryPeer::getMapBuilder();
} catch (Exception $e) {
Propel::log('Could not initialize Peer: ' . $e->getMessage(), Propel::LOG_ERR);
}
} else {
// even if Propel is not yet initialized, the map builder class can be registered
// now and then it will be loaded when Propel initializes.
require_once 'classes/model/map/WebEntryMapBuilder.php';
Propel::registerMapBuilder('classes.model.map.WebEntryMapBuilder');
}

View File

@@ -3058,6 +3058,33 @@
<column name="PRF_UPDATE_DATE" type="TIMESTAMP" required="false" />
</table>
<table name="WEB_ENTRY">
<vendor type="mysql">
<parameter name="Name" value="WEB_ENTRY" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="WE_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRO_UID" type="VARCHAR" size="32" required="true" />
<column name="TAS_UID" type="VARCHAR" size="32" required="true" />
<column name="DYN_UID" type="VARCHAR" size="32" required="true" />
<column name="USR_UID" type="VARCHAR" size="32" default="" />
<column name="WE_METHOD" type="VARCHAR" size="4" default="HTML" />
<column name="WE_INPUT_DOCUMENT_ACCESS" type="INTEGER" default="0" />
<column name="WE_DATA" type="LONGVARCHAR" default="" />
<column name="WE_CREATE_USR_UID" type="VARCHAR" size="32" default="" required="true" />
<column name="WE_UPDATE_USR_UID" type="VARCHAR" size="32" default="" />
<column name="WE_CREATE_DATE" type="TIMESTAMP" required="true" />
<column name="WE_UPDATE_DATE" type="TIMESTAMP" />
</table>
<!--
OAUTH TABLES DEFINITION
-->

View File

@@ -3184,3 +3184,51 @@ CREATE TABLE [APP_SOLR_QUEUE]
[APP_UPDATED] TINYINT default 1 NOT NULL,
CONSTRAINT APP_SOLR_QUEUE_PK PRIMARY KEY ([APP_UID])
);
/* ---------------------------------------------------------------------- */
/* WEB_ENTRY */
/* ---------------------------------------------------------------------- */
IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'WEB_ENTRY')
BEGIN
DECLARE @reftable_70 nvarchar(60), @constraintname_70 nvarchar(60)
DECLARE refcursor CURSOR FOR
select reftables.name tablename, cons.name constraintname
from sysobjects tables,
sysobjects reftables,
sysobjects cons,
sysreferences ref
where tables.id = ref.rkeyid
and cons.id = ref.constid
and reftables.id = ref.fkeyid
and tables.name = 'WEB_ENTRY'
OPEN refcursor
FETCH NEXT from refcursor into @reftable_70, @constraintname_70
while @@FETCH_STATUS = 0
BEGIN
exec ('alter table ' + @reftable_70 + ' drop constraint ' + @constraintname_70)
FETCH NEXT from refcursor into @reftable_70, @constraintname_70
END
CLOSE refcursor
DEALLOCATE refcursor
DROP TABLE [WEB_ENTRY]
END
CREATE TABLE WEB_ENTRY
(
WE_UID VARCHAR(32) NOT NULL,
PRO_UID VARCHAR(32) NOT NULL,
TAS_UID VARCHAR(32) NOT NULL,
DYN_UID VARCHAR(32) NOT NULL,
USR_UID VARCHAR(32) DEFAULT '',
WE_METHOD VARCHAR(4) DEFAULT 'HTML',
WE_INPUT_DOCUMENT_ACCESS INT DEFAULT 0,
WE_DATA NVARCHAR(MAX),
WE_CREATE_USR_UID VARCHAR(32) DEFAULT '' NOT NULL,
WE_UPDATE_USR_UID VARCHAR(32) DEFAULT '',
WE_CREATE_DATE CHAR(19) NOT NULL,
WE_UPDATE_DATE CHAR(19),
CONSTRAINT WEB_ENTRY_PK PRIMARY KEY (WE_UID)
);

View File

@@ -1495,6 +1495,31 @@ CREATE TABLE `PROCESS_FILES`
`PRF_UPDATE_DATE` DATETIME,
PRIMARY KEY (`PRF_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Application files metadata';
#-----------------------------------------------------------------------------
#-- WEB_ENTRY
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS WEB_ENTRY;
CREATE TABLE WEB_ENTRY
(
WE_UID VARCHAR(32) NOT NULL,
PRO_UID VARCHAR(32) NOT NULL,
TAS_UID VARCHAR(32) NOT NULL,
DYN_UID VARCHAR(32) NOT NULL,
USR_UID VARCHAR(32) DEFAULT '',
WE_METHOD VARCHAR(4) DEFAULT 'HTML',
WE_INPUT_DOCUMENT_ACCESS INTEGER DEFAULT 0,
WE_DATA MEDIUMTEXT,
WE_CREATE_USR_UID VARCHAR(32) DEFAULT '' NOT NULL,
WE_UPDATE_USR_UID VARCHAR(32) DEFAULT '',
WE_CREATE_DATE DATETIME NOT NULL,
WE_UPDATE_DATE DATETIME,
PRIMARY KEY (WE_UID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#-----------------------------------------------------------------------------
#-- OAUTH_ACCESS_TOKENS
#-----------------------------------------------------------------------------
@@ -2034,3 +2059,4 @@ CREATE TABLE `BPMN_DOCUMENTATION`
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -1798,3 +1798,30 @@ CREATE TABLE "APP_SOLR_QUEUE"
ALTER TABLE "APP_SOLR_QUEUE"
ADD CONSTRAINT "APP_SOLR_QUEUE_PK"
PRIMARY KEY ("APP_UID");
/* -----------------------------------------------------------------------
WEB_ENTRY
----------------------------------------------------------------------- */
DROP TABLE WEB_ENTRY CASCADE CONSTRAINTS;
CREATE TABLE WEB_ENTRY
(
WE_UID VARCHAR2(32) NOT NULL,
PRO_UID VARCHAR2(32) NOT NULL,
TAS_UID VARCHAR2(32) NOT NULL,
DYN_UID VARCHAR2(32) NOT NULL,
USR_UID VARCHAR2(32) DEFAULT '',
WE_METHOD VARCHAR2(4) DEFAULT 'HTML',
WE_INPUT_DOCUMENT_ACCESS NUMBER DEFAULT 0,
WE_DATA VARCHAR2(2000),
WE_CREATE_USR_UID VARCHAR2(32) DEFAULT '' NOT NULL,
WE_UPDATE_USR_UID VARCHAR2(32) DEFAULT '',
WE_CREATE_DATE DATE NOT NULL,
WE_UPDATE_DATE DATE
);
ALTER TABLE WEB_ENTRY
ADD CONSTRAINT WEB_ENTRY_PK
PRIMARY KEY (WE_UID);

View File

@@ -283,11 +283,11 @@ class Calendar
}
/**
* Create Group
* Create Calendar
*
* @param array $arrayData Data
*
* return array Return data of the new Group created
* return array Return data of the new Calendar created
*/
public function create($arrayData)
{

View File

@@ -310,7 +310,6 @@ class CaseScheduler
$sDaysPerformTask = '';
$sWeeks = '';
$sMonths = '';
$sMonths = '';
$sStartDay = '';
$nSW = 0;
$aData['SCH_DAYS_PERFORM_TASK'] = '';
@@ -609,7 +608,6 @@ class CaseScheduler
$sDaysPerformTask = '';
$sWeeks = '';
$sMonths = '';
$sMonths = '';
$sStartDay = '';
$nSW = 0;
$aData['SCH_DAYS_PERFORM_TASK'] = '';

View File

@@ -276,7 +276,7 @@ class Cases
//Complete empty values
$applicationUid = $data["APP_UID"]; //APP_UID
//Get all the indexes returned by Solr as columns
for($i = count($columsToInclude); $i <= count($data) - 1; $i++) {
for ($i = count($columsToInclude); $i <= count($data) - 1; $i++) {
if (is_array($data[$columsToIncludeFinal[$i]])) {
foreach ($data[$columsToIncludeFinal[$i]] as $delIndex) {
$delIndexes[] = $delIndex;
@@ -305,8 +305,7 @@ class Cases
foreach ($indexes as $index) {
$row = $aaappsDBData[$index];
}
if(!isset($row))
{
if (!isset($row)) {
continue;
}
\G::LoadClass('wsBase');
@@ -501,7 +500,7 @@ class Cases
$oDataset->next();
}
//Return
if(empty($result)) {
if (empty($result)) {
throw (new \Exception('Incorrect or unavailable information about this case: ' .$applicationUid));
} else {
return $result;

View File

@@ -14,10 +14,6 @@ class InputDocument
public function getCasesInputDocuments($applicationUid, $userUid)
{
try {
$oApplication = \ApplicationPeer::retrieveByPk($applicationUid);
if (!is_object($oApplication)) {
throw (new \Exception("The Application with app_uid: '$applicationUid' doesn't exist!"));
}
$sApplicationUID = $applicationUid;
$sUserUID = $userUid;
\G::LoadClass('case');
@@ -62,10 +58,6 @@ class InputDocument
public function getCasesInputDocument($applicationUid, $userUid, $inputDocumentUid)
{
try {
$oAppDocument = \AppDocumentPeer::retrieveByPK( $inputDocumentUid, 1 );
if (is_null( $oAppDocument ) || $oAppDocument->getAppDocStatus() == 'DELETED') {
throw (new \Exception('This input document with inp_doc_uid: '.$inputDocumentUid.' doesn\'t exist!'));
}
$sApplicationUID = $applicationUid;
$sUserUID = $userUid;
\G::LoadClass('case');
@@ -90,6 +82,10 @@ class InputDocument
$docrow['app_doc_index'] = $row['APP_DOC_INDEX'];
$docrow['app_doc_link'] = 'cases/' . $row['DOWNLOAD_LINK'];
if ($docrow['app_doc_uid'] == $inputDocumentUid) {
$oAppDocument = \AppDocumentPeer::retrieveByPK( $inputDocumentUid, $row['DOC_VERSION'] );
if (is_null( $oAppDocument )) {
throw (new \Exception('This input document with id: '.$inputDocumentUid.' doesn\'t exist!'));
}
$result = $docrow;
}
}
@@ -183,12 +179,14 @@ class InputDocument
//Triggers
$arrayTrigger = $case->loadTriggers($taskUid, "INPUT_DOCUMENT", $inputDocumentUid, "AFTER");
//Add Input Document
if (empty($_FILES)) {
throw (new \Exception('This document filename doesn\'t exist!'));
}
if (!$_FILES["form"]["error"]) {
$_FILES["form"]["error"] = 0;
}
if (isset($_FILES) && isset($_FILES["form"]) && count($_FILES["form"]) > 0) {
$appDocUid = $case->addInputDocument(
$inputDocumentUid,
$appDocUid = $case->addInputDocument($inputDocumentUid,
$appDocUid,
$docVersion,
$appDocType,
@@ -201,19 +199,15 @@ class InputDocument
"xmlform",
$_FILES["form"]["name"],
$_FILES["form"]["error"],
$_FILES["form"]["tmp_name"]
);
$_FILES["form"]["tmp_name"]);
}
//Trigger - Execute after - Start
$arrayField["APP_DATA"] = $case->executeTriggers(
$taskUid,
$arrayField["APP_DATA"] = $case->executeTriggers ($taskUid,
"INPUT_DOCUMENT",
$inputDocumentUid,
"AFTER",
$arrayField["APP_DATA"]
);
$arrayField["APP_DATA"]);
//Trigger - Execute after - End
//Save data
$arrayData = array();
$arrayData["APP_NUMBER"] = $arrayField["APP_NUMBER"];
@@ -228,4 +222,3 @@ class InputDocument
}
}
}

View File

@@ -56,10 +56,6 @@ class OutputDocument
public function getCasesOutputDocument($applicationUid, $userUid, $applicationDocumentUid)
{
try {
$oAppDocument = \AppDocumentPeer::retrieveByPK( $applicationDocumentUid, 1 );
if (is_null( $oAppDocument ) || $oAppDocument->getAppDocStatus() == 'DELETED') {
throw (new \Exception('This output document with id: '.$applicationDocumentUid.' doesn\'t exist!'));
}
$sApplicationUID = $applicationUid;
$sUserUID = $userUid;
\G::LoadClass('case');
@@ -84,6 +80,10 @@ class OutputDocument
$docrow['app_doc_index'] = $row['APP_DOC_INDEX'];
$docrow['app_doc_link'] = 'cases/' . $row['DOWNLOAD_LINK'];
if ($docrow['app_doc_uid'] == $applicationDocumentUid) {
$oAppDocument = \AppDocumentPeer::retrieveByPK( $applicationDocumentUid, $row['DOC_VERSION'] );
if (is_null( $oAppDocument )) {
throw (new \Exception('This output document with id: '.$applicationDocumentUid.' doesn\'t exist!'));
}
$result = $docrow;
}
}
@@ -104,13 +104,14 @@ class OutputDocument
public function removeOutputDocument($applicationDocumentUid)
{
try {
$oAppDocument = \AppDocumentPeer::retrieveByPK( $applicationDocumentUid, 1 );
$oAppDocumentVersion = new \AppDocument();
$lastDocVersion = $oAppDocumentVersion->getLastAppDocVersion($applicationDocumentUid);
$oAppDocument = \AppDocumentPeer::retrieveByPK( $applicationDocumentUid, $lastDocVersion);
if (is_null( $oAppDocument ) || $oAppDocument->getAppDocStatus() == 'DELETED') {
throw (new \Exception('This output document with id: '.$applicationDocumentUid.' doesn\'t exist!'));
}
\G::LoadClass('wsBase');
$ws = new \wsBase();
$ws->removeDocument($applicationDocumentUid);
$aFields = array ('APP_DOC_UID' => $applicationDocumentUid,'DOC_VERSION' => $lastDocVersion,'APP_DOC_STATUS' => 'DELETED');
$oAppDocument->update( $aFields );
} catch (\Exception $e) {
throw $e;
}
@@ -269,6 +270,11 @@ class OutputDocument
}
}
$g->sessionVarRestore();
$oAppDocument = \AppDocumentPeer::retrieveByPK( $aFields['APP_DOC_UID'], $lastDocVersion);
if ($oAppDocument->getAppDocStatus() == 'DELETED') {
$oAppDocument->setAppDocStatus('ACTIVE');
$oAppDocument->save();
}
$response = $this->getCasesOutputDocument($applicationUid, $userUid, $aFields['APP_DOC_UID']);
return $response;
} catch (\Exception $e) {
@@ -628,3 +634,4 @@ class OutputDocument
}
}
}

View File

@@ -267,7 +267,7 @@ class OutputDocument
$aData['out_doc_pdf_security_open_password'] = \G::encrypt( $aData['out_doc_pdf_security_open_password'], $outDocUid );
$aData['out_doc_pdf_security_owner_password'] = \G::encrypt( $aData['out_doc_pdf_security_owner_password'], $outDocUid );
}
$this->updateOutputDocument($sProcessUID, $aData, $outDocUid, 1);
$this->updateOutputDocument($sProcessUID, $aData, 1, $outDocUid);
//Return
unset($aData["PRO_UID"]);
$aData = array_change_key_case($aData, CASE_LOWER);
@@ -287,7 +287,7 @@ class OutputDocument
*
* @access public
*/
public function updateOutputDocument($sProcessUID, $aData, $sOutputDocumentUID = '', $sFlag)
public function updateOutputDocument($sProcessUID, $aData, $sFlag, $sOutputDocumentUID = '')
{
$oConnection = \Propel::getConnection(\OutputDocumentPeer::DATABASE_NAME);
$pemission = $aData['out_doc_pdf_security_permissions'];

View File

@@ -1456,39 +1456,6 @@ class Process
}
}
/**
* Get all Web Entries of a Process
*
* @param string $processUid Unique id of Process
*
* return array Return an array with all Web Entries of a Process
*/
public function getWebEntries($processUid)
{
try {
$arrayWebEntry = array();
//Verify data
//Get data
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$webEntry->setFormatFieldNameInUppercase($this->formatFieldNameInUppercase);
$webEntry->setArrayFieldNameForException($this->arrayFieldNameForException);
$arrayWebEntryData = $webEntry->getData($processUid);
foreach ($arrayWebEntryData as $index => $value) {
$row = $value;
$arrayWebEntry[] = $webEntry->getWebEntryDataFromRecord($row);
}
//Return
return $arrayWebEntry;
} catch (\Exception $e) {
throw $e;
}
}
/**
* Get field names which are primary key in a PM Table
*

View File

@@ -1031,3 +1031,4 @@ class ProcessSupervisor
$oCriteria->save();
}
}

View File

@@ -209,7 +209,7 @@ class ProjectUser
*
* @access public
*/
public function postProjectWsUserCanStartTask($sProcessUID, $sActivityUID, $oData)
public function projectWsUserCanStartTask($sProcessUID, $sActivityUID, $oData)
{
try {
$oProcess = \ProcessPeer::retrieveByPK( $sProcessUID );

View File

@@ -207,7 +207,6 @@ class User
public function create($arrayData)
{
try {
global $RBAC;
require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Users.php");
$arrayData = array_change_key_case($arrayData, CASE_UPPER);
$form = $arrayData;

File diff suppressed because it is too large Load Diff

View File

@@ -81,3 +81,4 @@ class InputDocument extends Api
}
}
}

View File

@@ -175,26 +175,6 @@ class Project extends Api
}
}
/**
* @url GET /:prj_uid/web-entries
*
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doGetWebEntries($prj_uid)
{
try {
$process = new \ProcessMaker\BusinessModel\Process();
$process->setFormatFieldNameInUppercase(false);
$process->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$response = $process->getWebEntries($prj_uid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:prj_uid/variables
*

View File

@@ -86,7 +86,7 @@ class OutputDocuments extends Api
try {
$request_data = (array)($request_data);
$outputDocument = new \ProcessMaker\BusinessModel\OutputDocument();
$arrayData = $outputDocument->updateOutputDocument($prjUid, $request_data, $outputDocumentUid, 0);
$outputDocument->updateOutputDocument($prjUid, $request_data, 0, $outputDocumentUid);
} catch (\Exception $e) {
//Response
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());

View File

@@ -81,7 +81,7 @@ class ProjectUsers extends Api
try {
$request_data = (array)($request_data);
$user = new \ProcessMaker\BusinessModel\ProjectUser();
$objectData = $user->postProjectWsUserCanStartTask($prj_uid, $act_uid, $request_data);
$objectData = $user->projectWsUserCanStartTask($prj_uid, $act_uid, $request_data);
//Response
$response = $objectData;
} catch (\Exception $e) {

View File

@@ -11,21 +11,51 @@ use \Luracast\Restler\RestException;
*/
class WebEntry extends Api
{
private $webEntry;
/**
* @url GET /:prj_uid/web-entry/:tas_uid/:dyn_uid
* Constructor of the class
*
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $tas_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
* return void
*/
public function doGetWebEntry($dyn_uid, $tas_uid, $prj_uid)
public function __construct()
{
try {
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$webEntry->setFormatFieldNameInUppercase(false);
$webEntry->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$this->webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$response = $webEntry->getWebEntry($prj_uid, $tas_uid, $dyn_uid);
$this->webEntry->setFormatFieldNameInUppercase(false);
$this->webEntry->setArrayFieldNameForException(array("processUid" => "prj_uid"));
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:prj_uid/web-entries
*
* @param string $prj_uid {@min 32}{@max 32}
*/
public function doGetWebEntries($prj_uid)
{
try {
$response = $this->webEntry->getWebEntries($prj_uid);
return $response;
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
/**
* @url GET /:prj_uid/web-entry/:we_uid
*
* @param string $prj_uid {@min 32}{@max 32}
* @param string $we_uid {@min 32}{@max 32}
*/
public function doGetWebEntry($prj_uid, $we_uid)
{
try {
$response = $this->webEntry->getWebEntry($we_uid);
return $response;
} catch (\Exception $e) {
@@ -44,11 +74,7 @@ class WebEntry extends Api
public function doPostWebEntry($prj_uid, $request_data)
{
try {
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$webEntry->setFormatFieldNameInUppercase(false);
$webEntry->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$arrayData = $webEntry->create($prj_uid, $request_data);
$arrayData = $this->webEntry->create($prj_uid, $this->getUserId(), $request_data);
$response = $arrayData;
@@ -59,20 +85,31 @@ class WebEntry extends Api
}
/**
* @url DELETE /:prj_uid/web-entry/:tas_uid/:dyn_uid
* @url PUT /:prj_uid/web-entry/:we_uid
*
* @param string $dyn_uid {@min 32}{@max 32}
* @param string $tas_uid {@min 32}{@max 32}
* @param string $prj_uid {@min 32}{@max 32}
* @param string $we_uid {@min 32}{@max 32}
* @param array $request_data
*/
public function doDeleteWebEntry($dyn_uid, $tas_uid, $prj_uid)
public function doPutWebEntry($prj_uid, $we_uid, $request_data)
{
try {
$webEntry = new \ProcessMaker\BusinessModel\WebEntry();
$webEntry->setFormatFieldNameInUppercase(false);
$webEntry->setArrayFieldNameForException(array("processUid" => "prj_uid"));
$arrayData = $this->webEntry->update($we_uid, $this->getUserId(), $request_data);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}
}
$webEntry->delete($prj_uid, $tas_uid, $dyn_uid);
/**
* @url DELETE /:prj_uid/web-entry/:we_uid
*
* @param string $prj_uid {@min 32}{@max 32}
* @param string $we_uid {@min 32}{@max 32}
*/
public function doDeleteWebEntry($prj_uid, $we_uid)
{
try {
$this->webEntry->delete($we_uid);
} catch (\Exception $e) {
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
}

View File

@@ -202,7 +202,7 @@ Ext.onReady(function(){
// TODO Labels for var 'type' are hardcoded, they must be replaced on the future
var color = r.get('PROJECT_TYPE') == 'bpmn'? 'green': 'blue';
var type = r.get('PROJECT_TYPE') == 'bpmn'? ' (BPMN Project)': '';
return v + ' ' + String.format("<font color='{0}'>{1}</font>", color, type);
return Ext.util.Format.htmlEncode(v) + ' ' + String.format("<font color='{0}'>{1}</font>", color, type);
}},
{header: _('ID_TYPE'), dataIndex: 'PROJECT_TYPE', width: 60, hidden:false},
{header: _('ID_CATEGORY'), dataIndex: 'PRO_CATEGORY_LABEL', width: 100, hidden:false},