Merge branch '2.0-dev' of git.colosa.net:processmaker into 2.0-dev

This commit is contained in:
Fernando Ontiveros
2011-10-31 18:46:31 -04:00
4 changed files with 51 additions and 5 deletions

View File

@@ -107,20 +107,39 @@ class PMDashlet extends DashletInstance implements DashletInterface {
public function getDashletsInstancesForUser($userUid) {
try {
$dashletsInstances = array();
// Include required classes
//
require_once 'classes/model/Department.php';
// Check for "public" dashlets
// ToDo: Next release
// Check for the direct assignments
// ToDo: Next release
// Check for department assigments
//
$departmentInstance = new Department();
$departments = $departmentInstance->getDepartmentsForUser($userUid);
foreach ($departments as $depUid => $department) {
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_UID);
$criteria->addSelectColumn(DashletPeer::DAS_TITLE);
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT');
$criteria->add(DashletInstancePeer::DAS_INS_OWNER_UID, $depUid);
$dataset = DashletInstancePeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
while ($row = $dataset->getRow()) {
if (!isset($dashletsInstances[$row['DAS_INS_UID']])) {
$dashletsInstances[$row['DAS_INS_UID']] = $row;
}
$dataset->next();
}
}
// Check for group assignments
// ToDo: Next release
// Check for role assigments
// ToDo: Next release
// Check for permission assigments
// ToDo: Next release
return array_values($dashletsInstances);
}
catch (Exception $error) {
throw $error;

View File

@@ -591,4 +591,31 @@ function getDepartments( $DepParent ) {
return $aRows;
}
function getDepartmentsForUser($userUid) {
$criteria = new Criteria('workflow');
$criteria->addSelectColumn(UsersPeer::DEP_UID);
$criteria->addAsColumn('DEP_TITLE', 'C.CON_VALUE');
$criteria->addAlias('C', 'CONTENT');
$criteria->addJoin(UsersPeer::DEP_UID, DepartmentPeer::DEP_UID, Criteria::LEFT_JOIN);
$delimiter = DBAdapter::getStringDelimiter();
$conditions = array();
$conditions [] = array(DepartmentPeer::DEP_UID, 'C.CON_ID');
$conditions [] = array('C.CON_CATEGORY', $delimiter . 'DEPO_TITLE' . $delimiter);
$conditions [] = array('C.CON_LANG', $delimiter . SYS_LANG . $delimiter);
$criteria->addJoinMC($conditions, Criteria::LEFT_JOIN);
$criteria->add(UsersPeer::USR_UID, $userUid);
$criteria->add(UsersPeer::DEP_UID, '', Criteria::NOT_EQUAL);
$dataset = DepartmentPeer::doSelectRS($criteria);
$dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC);
$dataset->next();
$departments = array();
while ($row = $dataset->getRow()) {
if (!isset($departments[$row['DEP_UID']])) {
$departments[$row['DEP_UID']] = $row;
}
$dataset->next();
}
return $departments;
}
} // Department

View File

@@ -259,7 +259,7 @@ var dynaformEditor={
clientWinSize = getClientWindowSize();
startJSCodePress();
jsEditor = CodeMirror.fromTextArea('form[JS]', {
height: (clientWinSize.height - 120) + "px",
height: (clientWinSize.height - 140) + "px",
width: (_BROWSER.name == 'msie' ? '100%' : '98%'),
parserfile: ["tokenizejavascript.js", "parsejavascript.js"],
stylesheet: ["css/jscolors.css"],

View File

@@ -20,7 +20,7 @@ SELECT XMLNODE_NAME AS UID, XMLNODE_NAME AS NAME FROM dynaForm WHERE TYPE = "jav
<en>Code</en>
</JS>
<PME_RESIZE_JS type="javascript">
<PME_RESIZE_JS type="javascript"><![CDATA[
getField('JS_TITLE').style.font ="9pt tahoma";
function resizeJSEditor(){
try{
@@ -44,6 +44,6 @@ function startJSCodePress()
dynaformEditor.changeJavascriptCode();
};
}
</PME_RESIZE_JS>
]]></PME_RESIZE_JS>
</dynaForm>