Merge branch 'master' of git://github.com/colosa/processmaker into BUG-14056-3

This commit is contained in:
Luis Fernando Saisa Lopez
2014-05-20 14:38:43 -04:00
8 changed files with 122 additions and 17 deletions

View File

@@ -197,7 +197,7 @@ class Installer
$db_text = "<?php\n" . "// Processmaker configuration\n" . "define ('DB_ADAPTER', 'mysql' );\n" . "define ('DB_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_NAME', '" . $wf . "' );\n" . "define ('DB_USER', '" . (($this->cc_status == 1) ? $wf : $this->options['database']['username']) . "' );\n" . "define ('DB_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_RBAC_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_RBAC_NAME', '" . $rb . "' );\n" . "define ('DB_RBAC_USER', '" . (($this->cc_status == 1) ? $rb : $this->options['database']['username']) . "' );\n" . "define ('DB_RBAC_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n" . "define ('DB_REPORT_HOST', '" . $this->options['database']['hostname'] . ":" . $myPort . "' );\n" . "define ('DB_REPORT_NAME', '" . $rp . "' );\n" . "define ('DB_REPORT_USER', '" . (($this->cc_status == 1) ? $rp : $this->options['database']['username']) . "' );\n" . "define ('DB_REPORT_PASS', '" . (($this->cc_status == 1) ? $this->options['password'] : $this->options['database']['password']) . "' );\n";
if (defined('PARTNER_FLAG') || isset($_REQUEST['PARTNER_FLAG'])) {
$db_text .= "define ('PARTNER_FLAG', " . ((defined('PARTNER_FLAG')) ? PARTNER_FLAG : ((isset($_REQUEST['PARTNER_FLAG'])) ? $_REQUEST['PARTNER_FLAG']:'false')) . ");\n";
$db_text .= "define ('PARTNER_FLAG', " . ((defined('PARTNER_FLAG') && PARTNER_FLAG != '') ? PARTNER_FLAG : ((isset($_REQUEST['PARTNER_FLAG'])) ? $_REQUEST['PARTNER_FLAG']:'false')) . ");\n";
if (defined('SYSTEM_NAME')) {
$db_text .= " define ('SYSTEM_NAME', '" . SYSTEM_NAME . "');\n";
}

View File

@@ -212,6 +212,7 @@ class PMDashlet extends DashletInstance implements DashletInterface
$criteria->addSelectColumn( DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES );
$criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' );
$criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'EVERYBODY' );
$dataset = DashletInstancePeer::doSelectRS( $criteria );
@@ -239,6 +240,7 @@ class PMDashlet extends DashletInstance implements DashletInterface
$criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'USER' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $userUid );
$dataset = DashletInstancePeer::doSelectRS( $criteria );
@@ -268,6 +270,7 @@ class PMDashlet extends DashletInstance implements DashletInterface
$criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'DEPARTMENT' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $depUid );
$dataset = DashletInstancePeer::doSelectRS( $criteria );
@@ -299,6 +302,7 @@ class PMDashlet extends DashletInstance implements DashletInterface
$criteria->addSelectColumn( DashletPeer::DAS_CLASS );
$criteria->addSelectColumn( DashletPeer::DAS_TITLE );
$criteria->addJoin( DashletInstancePeer::DAS_UID, DashletPeer::DAS_UID, Criteria::INNER_JOIN );
$criteria->add( DashletInstancePeer::DAS_INS_STATUS, '1' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_TYPE, 'GROUP' );
$criteria->add( DashletInstancePeer::DAS_INS_OWNER_UID, $grpUid );
$dataset = DashletInstancePeer::doSelectRS( $criteria );

View File

@@ -176,7 +176,7 @@ class Dashboard extends Controller
if (! isset( $_SESSION['USER_LOGGED'] )) {
throw new Exception( G::LoadTranslation('ID_SESSION_EXPIRED') );
}
return $this->pmDashlet->getDashletsInstancesForUser( $_SESSION['USER_LOGGED'] );
return $this->pmDashlet->getDashletsInstancesForUser( $_SESSION['USER_LOGGED']);
} catch (Exception $error) {
throw $error;
}

View File

@@ -235,7 +235,7 @@ unset($FieldAttributes['SAVELABEL']);
foreach ($FieldAttributes as $key => $value) {
switch (gettype($value)) {
case 'string':
if (!empty($value)) {
if (!empty($value) || $value !== '') {
$FieldAttrib[strtolower($key)] = $value;
} else {
if ($_POST["form"]["TYPE"] == "link" && $key == "TARGET_SEL") {

View File

@@ -41,8 +41,21 @@ $oTemplatePower->newBlock('users');
$oTemplatePower->assign('USR_UID', $aUser['USR_UID']);
$oTemplatePower->assign('USR_FULLNAME', $aData['USR_FIRSTNAME'] . ' ' . $aData['USR_LASTNAME'] . ' (' . $aData['USR_USERNAME'] . ')');
*/
$userName = 'admin';
require_once 'classes/model/Users.php';
$oCriteria = new Criteria( 'workflow' );
$oCriteria->addSelectColumn( UsersPeer::USR_USERNAME);
$oCriteria->add( UsersPeer::USR_UID, '00000000000000000000000000000001', Criteria::IN );
$oDataset = UsersPeer::doSelectRS( $oCriteria );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$aData = array ();
if ($oDataset->next()) {
$aData = $oDataset->getRow();
$userName = $aData['USR_USERNAME'];
}
$oTemplatePower->assign("URL_MABORAK_JS", G::browserCacheFilesUrl("/js/maborak/core/maborak.js"));
$oTemplatePower->assign("name", $userName);
$G_PUBLISH->AddContent( 'template', '', '', '', $oTemplatePower );

View File

@@ -303,7 +303,25 @@ switch ($_POST['action']) {
$aUserProperty['USR_LOGGED_NEXT_TIME'] = $form['USR_LOGGED_NEXT_TIME'];
$aUserProperty['USR_PASSWORD_HISTORY'] = serialize($aHistory);
$oUserProperty->update($aUserProperty);
} else {
require_once 'classes/model/Users.php';
$oUser = new Users();
$aUser = $oUser->load($aData['USR_UID']);
require_once 'classes/model/UsersProperties.php';
$oUserProperty = new UsersProperties();
$aUserProperty = $oUserProperty->loadOrCreateIfNotExists($aData['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array($aUser['USR_PASSWORD']))));
$aUserProperty['USR_LOGGED_NEXT_TIME'] = $form['USR_LOGGED_NEXT_TIME'];
$oUserProperty->update($aUserProperty);
}
} else {
require_once 'classes/model/Users.php';
$oUser = new Users();
$aUser = $oUser->load($aData['USR_UID']);
require_once 'classes/model/UsersProperties.php';
$oUserProperty = new UsersProperties();
$aUserProperty = $oUserProperty->loadOrCreateIfNotExists($aData['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array($aUser['USR_PASSWORD']))));
$aUserProperty['USR_LOGGED_NEXT_TIME'] = $form['USR_LOGGED_NEXT_TIME'];
$oUserProperty->update($aUserProperty);
}
$aData['USR_FIRSTNAME'] = $form['USR_FIRSTNAME'];
$aData['USR_LASTNAME'] = $form['USR_LASTNAME'];
@@ -510,8 +528,8 @@ switch ($_POST['action']) {
require_once 'classes/model/UsersProperties.php';
$oUserProperty = new UsersProperties();
$aFieldsUserProperty = $oUserProperty->load($_POST['USR_UID']);
$aFields['USR_LOGGED_NEXT_TIME'] = $aFieldsUserProperty['USR_LOGGED_NEXT_TIME'];
$aUserProperty = $oUserProperty->loadOrCreateIfNotExists($aFields['USR_UID'], array('USR_PASSWORD_HISTORY' => serialize(array($aFields['USR_PASSWORD']))));
$aFields['USR_LOGGED_NEXT_TIME'] = $aUserProperty['USR_LOGGED_NEXT_TIME'];
$result->success = true;
$result->user = $aFields;

View File

@@ -43,6 +43,7 @@ var smodel;
var newButton;
var editButton;
var deleteButton;
var statusButton;
//var searchButton;
//var searchText;
//var clearTextButton;
@@ -74,6 +75,13 @@ Ext.onReady(function(){
disabled: true
});
statusButton = new Ext.Action({
text: _('ID_STATUS'),
iconCls: 'silk-add',
handler: statusDashletInstance,
disabled: true
});
/*searchButton = new Ext.Action({
text: _('ID_SEARCH'),
handler: doSearch
@@ -105,10 +113,10 @@ Ext.onReady(function(){
});*/
contextMenu = new Ext.menu.Menu({
items: [editButton, deleteButton]
items: [editButton, deleteButton, statusButton]
});
actionButtons = [newButton, '-', editButton, deleteButton/*, {xtype: 'tbfill'}, searchText, clearTextButton, searchButton*/];
actionButtons = [newButton, '-', editButton, deleteButton, statusButton/*, {xtype: 'tbfill'}, searchText, clearTextButton, searchButton*/];
smodel = new Ext.grid.RowSelectionModel({
singleSelect: true,
@@ -116,6 +124,7 @@ Ext.onReady(function(){
rowselect: function(sm, index, record){
editButton.enable();
deleteButton.enable();
statusButton.enable();
if (typeof(_rowselect) !== 'undefined') {
if (Ext.isArray(_rowselect)) {
for (var i = 0; i < _rowselect.length; i++) {
@@ -125,10 +134,20 @@ Ext.onReady(function(){
}
}
}
if( record.data.DAS_INS_STATUS == 1 ){
statusButton.setIconClass('icon-activate');
statusButton.setText( _('ID_DEACTIVATE') );
} else {
statusButton.setIconClass('icon-deactivate');
statusButton.setText( _('ID_ACTIVATE') );
}
},
rowdeselect: function(sm, index, record){
editButton.disable();
deleteButton.disable();
statusButton.disable();
if (typeof(_rowdeselect) !== 'undefined') {
if (Ext.isArray(_rowdeselect)) {
for (var i = 0; i < _rowdeselect.length; i++) {
@@ -156,7 +175,8 @@ Ext.onReady(function(){
{name : 'DAS_VERSION'},
{name : 'DAS_INS_OWNER_TITLE'},
{name : 'DAS_INS_UPDATE_DATE'},
{name : 'DAS_INS_STATUS_LABEL'}
{name : 'DAS_INS_STATUS_LABEL'},
{name : 'DAS_INS_STATUS'}
]
}),
sortInfo: {
@@ -352,6 +372,7 @@ deleteDashletInstance = function(){
//doSearch();
editButton.disable();
deleteButton.disable();
statusButton.disable();
infoGrid.store.load();
},
failure: function(r, o){
@@ -362,3 +383,54 @@ deleteDashletInstance = function(){
});
}
};
//Status Dashlet Instance Action
statusDashletInstance = function(){
var rows = infoGrid.getSelectionModel().getSelections();
if( rows.length > 0 ) {
for(i=0; i<rows.length; i++) {
var status;
if(rows[i].data.DAS_INS_STATUS == 1){
status = 0;
} else {
status = 1;
}
var data = {
DAS_INS_UID: rows[i].data.DAS_INS_UID,
DAS_INS_TITLE: rows[i].data.DAS_INS_TITLE,
DAS_UID: rows[i].data.DAS_INS_UID,
DAS_INS_STATUS: status,
DAS_STATUS: status
};
Ext.Ajax.request({
url: 'saveDashletInstance',
method: 'POST',
params: data,
success: function (result, request) {
editButton.disable();
deleteButton.disable();
statusButton.disable();
statusButton.setIconClass('silk-add');
statusButton.setText( _('ID_STATUS') );
infoGrid.store.load();
},
failure: function (result, request) {
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_AJAX_COMMUNICATION_FAILED') );
}
});
}
} else {
Ext.Msg.show({
title:'',
msg: _('ID_NO_SELECTION_WARNING'),
buttons: Ext.Msg.INFO,
fn: function(){},
animEl: 'elId',
icon: Ext.MessageBox.INFO,
buttons: Ext.MessageBox.OK
});
}
};

View File

@@ -71,19 +71,17 @@
<span class="cLow"><strong>Get Started</strong></span>
<p><span class="cLow">Welcome to ProcessMaker!</span></p>
<p><span class="cLow">To get started, log in using the following credentials. You can change them later:</span></p>
<span class="cNeg">Username:</span><span class="cLow"> admin</span><br>
<span class="cNeg">Password:</span><span class="cLow"> admin</span>
<p><span class="cLow">We suggest you follow our 7 easy videos to automate your workflow. You can see a demo of each step at&nbsp;<a target="_blank" href="http://www.processmaker.com/demos/">http://www.processmaker.com/demos/</a> </span></p>
<span class="cNeg">Username:</span><span class="cLow"> {name}</span><br>
<span class="cNeg">Password:</span><span class="cLow"> The password introduced at the time of installing the application</span>
<p><span class="cLow">We suggest you follow our 7 easy videos to automate your workflow. You can see a demo of each step at&nbsp;<a target="_blank" href="http://www.processmaker.com/demos/">http://www.processmaker.com/demos/</a> </span></p>
<span class="cLow">Other Resources:</span><br/><br/>
<span class="cLow">Other Resources:</span><br/><br/>
<span class="cLow"><a target="_blank" href="http://library.processmaker.com">PM Library </a>- Import Templates</span><br/>
<span class="cLow"><a target="_blank" href="http://wiki.processmaker.com">PM Wiki </a>- Manuals</span><br/>
<span class="cLow"><a target="_blank" href="http://wiki.processmaker.com">PM Wiki </a>- Manuals</span><br/>
<span class="cLow"><a target="_blank" href="http://forum.processmaker.com">PM Forum </a>- Ask Questions</span><br/>
<span class="cLow"><a target="_blank" href="http://forum.processmaker.com">PM Forum </a>- Ask Questions</span><br/>
<p><span class="cLow">We hope you enjoy using ProcessMaker. For more information about our enterprise support and consulting services <a target="_blank" href="http://www.processmaker.com/contact-us">contact us.</a>
<p><span class="cLow">We hope you enjoy using ProcessMaker. For more information about our enterprise support and consulting services <a target="_blank" href="http://www.processmaker.com/contact-us">contact us.</a>
</span></p>
<p><span class="cLow">The ProcessMaker Team</span></p>