Merged in luisfernandosl/processmaker/BUG-554 (pull request #939)

BUG 554 "Se puede crear dashboards con el..." SOLVED
This commit is contained in:
Julio Cesar Laura Avendaño
2014-10-16 09:06:01 -04:00
2 changed files with 70 additions and 28 deletions

View File

@@ -462,5 +462,31 @@ class Dashboard extends Controller
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
}

View File

@@ -209,6 +209,14 @@ Ext.onReady(function() {
text: _('ID_SAVE'),
handler: function () {
if (dashletInstanceFrm.getForm().isValid()) {
Ext.Ajax.request({
url: "verifyTitleDashlet",
method: "POST",
params: dashletInstanceFrm.getForm().getFieldValues(),
success: function (response, opts) {
var dataResponse = Ext.util.JSON.decode(response.responseText);
if (dataResponse.message == "OK") {
var myMask = new Ext.LoadMask(Ext.getBody(), {msg: _('ID_SAVING_LABEL') + '.' + _('ID_PLEASE_WAIT') });
myMask.show();
Ext.Ajax.request({
@@ -217,7 +225,7 @@ Ext.onReady(function() {
params: dashletInstanceFrm.getForm().getFieldValues(),
success: function (result, request) {
myMask.hide();
var dataResponse = Ext.util.JSON.decode(result.responseText)
var dataResponse = Ext.util.JSON.decode(result.responseText);
switch (dataResponse.status) {
case 'OK':
window.location.href = 'dashletsList';
@@ -232,6 +240,14 @@ Ext.onReady(function() {
Ext.MessageBox.alert( _('ID_ALERT'), _('ID_AJAX_COMMUNICATION_FAILED') );
}
});
} else {
Ext.MessageBox.alert(_("ID_ERROR"), _("ID_NAME_EXISTS"));
}
},
failure: function (response, opts) {
//
}
});
}
else {
Ext.MessageBox.alert(_('ID_INVALID_DATA'), _('ID_CHECK_FIELDS_MARK_RED'));