Merged in luisfernandosl/processmaker/BUG-554 (pull request #939)
BUG 554 "Se puede crear dashboards con el..." SOLVED
This commit is contained in:
@@ -154,7 +154,7 @@ class Dashboard extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function renderDashletInstance ($data)
|
public function renderDashletInstance ($data)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if (! isset( $data->DAS_INS_UID )) {
|
if (! isset( $data->DAS_INS_UID )) {
|
||||||
$data->DAS_INS_UID = '';
|
$data->DAS_INS_UID = '';
|
||||||
@@ -211,7 +211,7 @@ class Dashboard extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function getDashletsInstances ($data)
|
public function getDashletsInstances ($data)
|
||||||
{
|
{
|
||||||
$this->setResponseType( 'json' );
|
$this->setResponseType( 'json' );
|
||||||
$result = new stdclass();
|
$result = new stdclass();
|
||||||
$result->status = 'OK';
|
$result->status = 'OK';
|
||||||
@@ -241,7 +241,7 @@ class Dashboard extends Controller
|
|||||||
}
|
}
|
||||||
$dashlets = $this->getDashlets();
|
$dashlets = $this->getDashlets();
|
||||||
$this->setJSVar( 'storeDasUID', $dashlets );
|
$this->setJSVar( 'storeDasUID', $dashlets );
|
||||||
|
|
||||||
if ($data->DAS_INS_UID != '') {
|
if ($data->DAS_INS_UID != '') {
|
||||||
$this->pmDashlet->setup( $data->DAS_INS_UID );
|
$this->pmDashlet->setup( $data->DAS_INS_UID );
|
||||||
$this->setJSVar( 'dashletInstance', $this->pmDashlet->getDashletInstance() );
|
$this->setJSVar( 'dashletInstance', $this->pmDashlet->getDashletInstance() );
|
||||||
@@ -446,12 +446,12 @@ class Dashboard extends Controller
|
|||||||
while ($row = $dataset->getRow()) {
|
while ($row = $dataset->getRow()) {
|
||||||
if (strstr($row['DAS_TITLE'], '*')) {
|
if (strstr($row['DAS_TITLE'], '*')) {
|
||||||
$row['DAS_TITLE'] = str_replace('*', '', $row['DAS_TITLE']);
|
$row['DAS_TITLE'] = str_replace('*', '', $row['DAS_TITLE']);
|
||||||
$row['DAS_TITLE'] = G::LoadTranslationPlugin('advancedDashboards', $row['DAS_TITLE']);
|
$row['DAS_TITLE'] = G::LoadTranslationPlugin('advancedDashboards', $row['DAS_TITLE']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->pmDashlet->verifyPluginDashlet($row['DAS_CLASS'])) {
|
if ($this->pmDashlet->verifyPluginDashlet($row['DAS_CLASS'])) {
|
||||||
$dashlets[] = array ($row['DAS_UID'],$row['DAS_TITLE']);
|
$dashlets[] = array ($row['DAS_UID'],$row['DAS_TITLE']);
|
||||||
|
|
||||||
}
|
}
|
||||||
$dataset->next();
|
$dataset->next();
|
||||||
}
|
}
|
||||||
@@ -462,5 +462,31 @@ class Dashboard extends Controller
|
|||||||
return $dashlets;
|
return $dashlets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function verifyTitleDashlet ($data)
|
||||||
|
{
|
||||||
|
$this->setResponseType("json");
|
||||||
|
|
||||||
|
$response = new stdclass();
|
||||||
|
$response->message = "OK";
|
||||||
|
$criteria = new Criteria("workflow");
|
||||||
|
|
||||||
|
$criteria->addSelectColumn(DashletInstancePeer::DAS_INS_ADDITIONAL_PROPERTIES);
|
||||||
|
$rsCriteria = DashletInstancePeer::doSelectRS($criteria);
|
||||||
|
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
|
||||||
|
while ($rsCriteria->next()) {
|
||||||
|
$row = $rsCriteria->getRow();
|
||||||
|
$arrayField = unserialize($row["DAS_INS_ADDITIONAL_PROPERTIES"]);
|
||||||
|
|
||||||
|
if (isset($arrayField["DAS_INS_TITLE"]) && $arrayField["DAS_INS_TITLE"] != "") {
|
||||||
|
if ($data->DAS_INS_TITLE == $arrayField["DAS_INS_TITLE"]) {
|
||||||
|
$response->message = "ERROR";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
|
||||||
// Functions for the dasboards administration module - End
|
// Functions for the dasboards administration module - End
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -209,29 +209,45 @@ Ext.onReady(function() {
|
|||||||
text: _('ID_SAVE'),
|
text: _('ID_SAVE'),
|
||||||
handler: function () {
|
handler: function () {
|
||||||
if (dashletInstanceFrm.getForm().isValid()) {
|
if (dashletInstanceFrm.getForm().isValid()) {
|
||||||
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _('ID_SAVING_LABEL') + '.' + _('ID_PLEASE_WAIT') });
|
Ext.Ajax.request({
|
||||||
myMask.show();
|
url: "verifyTitleDashlet",
|
||||||
Ext.Ajax.request({
|
method: "POST",
|
||||||
url: 'saveDashletInstance',
|
params: dashletInstanceFrm.getForm().getFieldValues(),
|
||||||
method: 'POST',
|
success: function (response, opts) {
|
||||||
params: dashletInstanceFrm.getForm().getFieldValues(),
|
var dataResponse = Ext.util.JSON.decode(response.responseText);
|
||||||
success: function (result, request) {
|
|
||||||
myMask.hide();
|
if (dataResponse.message == "OK") {
|
||||||
var dataResponse = Ext.util.JSON.decode(result.responseText)
|
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _('ID_SAVING_LABEL') + '.' + _('ID_PLEASE_WAIT') });
|
||||||
switch (dataResponse.status) {
|
myMask.show();
|
||||||
case 'OK':
|
Ext.Ajax.request({
|
||||||
window.location.href = 'dashletsList';
|
url: 'saveDashletInstance',
|
||||||
break;
|
method: 'POST',
|
||||||
default:
|
params: dashletInstanceFrm.getForm().getFieldValues(),
|
||||||
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_FAILED_DASHBOARD INSTANCE') );
|
success: function (result, request) {
|
||||||
break;
|
myMask.hide();
|
||||||
}
|
var dataResponse = Ext.util.JSON.decode(result.responseText);
|
||||||
},
|
switch (dataResponse.status) {
|
||||||
failure: function (result, request) {
|
case 'OK':
|
||||||
myMask.hide();
|
window.location.href = 'dashletsList';
|
||||||
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_AJAX_COMMUNICATION_FAILED') );
|
break;
|
||||||
}
|
default:
|
||||||
});
|
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_FAILED_DASHBOARD INSTANCE') );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
failure: function (result, request) {
|
||||||
|
myMask.hide();
|
||||||
|
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_AJAX_COMMUNICATION_FAILED') );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_NAME_EXISTS"));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
failure: function (response, opts) {
|
||||||
|
//
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Ext.MessageBox.alert(_('ID_INVALID_DATA'), _('ID_CHECK_FIELDS_MARK_RED'));
|
Ext.MessageBox.alert(_('ID_INVALID_DATA'), _('ID_CHECK_FIELDS_MARK_RED'));
|
||||||
|
|||||||
Reference in New Issue
Block a user