BUG 8667 "copy", dentro de calendar, muestra un mensaje erroneo solved

- se encontro muchos errores dentro de calendario,
- resolviendo, copiar, editar, y validar que no se repita el nombre del calendario
This commit is contained in:
Alvaro Campos
2012-04-26 11:32:57 -04:00
parent 55ac075100
commit 97c383ea3e
3 changed files with 158 additions and 18 deletions

View File

@@ -142,6 +142,41 @@ class adminProxy extends HttpProxyController
return array('success' => true, 'message'=>'done', 'users'=>$retRow); return array('success' => true, 'message'=>'done', 'users'=>$retRow);
} }
function calendarValidate($httpData) {
$httpData=array_unique($httpData);
$message = '';
$oldName = isset($httpData['oldName'])? $httpData['oldName']:'';
switch ($httpData['action']){
case 'calendarName':
require_once ('classes/model/CalendarDefinition.php');
$oCalendar = new CalendarDefinition();
$aCalendars = $oCalendar->getCalendarList(false,true);
$aCalendarDefinitions = end($aCalendars);
foreach($aCalendarDefinitions as $aDefinitions) {
if (trim($_POST['name'])==''){
$validated = false;
$message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
break;
}
if ($aDefinitions['CALENDAR_NAME']!=$httpData['name']){
$validated = true;
} else {
if ($aDefinitions['CALENDAR_NAME']!=$oldName) {
$validated = false;
$message = G::loadTranslation('ID_CALENDAR_INVALID_NAME');
break;
}
}
}
break;
case 'calendarDates':
$validated = false;
$message = G::loadTranslation('ID_CALENDAR_INVALID_WORK_DATES');
break;
}
return $message;
}
function uxGroupUpdate($httpData) function uxGroupUpdate($httpData)
{ {
require_once 'classes/model/Groupwf.php'; require_once 'classes/model/Groupwf.php';

View File

@@ -8,8 +8,17 @@
comboStatusStore = new Ext.data.SimpleStore({ comboStatusStore = new Ext.data.SimpleStore({
fields: ['id','value'], fields: ['id','value'],
data: [['- ALL -','- ALL -'],['SUN','SUN'],['MON','MON'],['TUE','TUE'],['WED','WED'],['THU','THU'],['FRI','FRI'],['SAT','SAT']] data: [['- ALL -','- ALL -'],['SUN','SUN'],['MON','MON'],['TUE','TUE'],['WED','WED'],['THU','THU'],['FRI','FRI'],['SAT','SAT']]
}); });
var get = '';
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
get = vars[0];
var message = '';
function workHourCompositeFieldInterfaz(i){ function workHourCompositeFieldInterfaz(i){
//!dataSystem //!dataSystem
var d = new Date(); var d = new Date();
@@ -374,8 +383,10 @@ Ext.onReady( function() {
var s = grid.getSelectionModel().getSelections(); var s = grid.getSelectionModel().getSelections();
// console.log( 's[i]=', s[i].data.name); // console.log( 's[i]=', s[i].data.name);
for(var i = 0, r; r = s[i]; i++){ for(var i = 0, r; r = s[i]; i++){
if(s[i].data.name!='- ALL -') if(s[i].data.name!='- ALL -')
store.remove(r); store.remove(r);
else
PMExt.error( _('ID_ERROR'), _('ID_NODELETEOPTIONALL'));
} }
} }
}], }],
@@ -698,14 +709,51 @@ Ext.onReady( function() {
{ {
xtype:'fieldset', xtype:'fieldset',
title: _('ID_CALENDAR_DEFINITION'), title: _('ID_CALENDAR_DEFINITION'),
items: [ items: [{
xtype:'label',
text: _('ID_CALENDAR_INVALID_NAME'),
name: 'idInvalidCalendarName',
id:'idInvalidCalendarName',
style:'color:red; padding:125px; ',
hidden: true,
bodyStyle:'text-align:right;',//'padding:25px',
anchor:'90%'
},
{ {
id : 'dynaformCalendarName' , id : 'dynaformCalendarName' ,
xtype : 'textfield' , xtype : 'textfield' ,
width : 200 , width : 200 ,
fieldLabel : _('ID_NAME') , fieldLabel : _('ID_NAME') ,
name : 'name' , name : 'name' ,
allowBlank : false allowBlank : false,
listeners: {
change: function(){
Ext.getCmp('idInvalidCalendarName').hide();
var validateMessage = '';
var canlendarName = Ext.getCmp('dynaformCalendarName').getValue();
var oldName = '';
if (name!='') {
oldName = '&oldName='+name;
}
Ext.Ajax.request( {
url: '../adminProxy/calendarValidate',
params: {
action : 'calendarName',
oldName : "",
name : canlendarName
},
success: function(resp){
if (resp.responseText != '[]')
message = resp.responseText;
else
message = '';
}
});
},
focus: function(){
$message = '';
}
}
}, },
{ {
id : 'dynaformCalendarDescription' , id : 'dynaformCalendarDescription' ,
@@ -743,7 +791,7 @@ Ext.onReady( function() {
{ {
id : 'workDays', id : 'workDays',
xtype: 'fieldset', xtype: 'fieldset',
title: _('ID_WORK_DAYS'), title: _('ID_WORK_DAYS')+' <i>('+_('ID_3DAYSMINIMUM')+')</i>',
items: [ items: [
{//8 {//8
id : 'dynaformCalendarWorkDays', id : 'dynaformCalendarWorkDays',
@@ -883,7 +931,12 @@ Ext.onReady( function() {
buttons:[ buttons:[
{ {
text: fields['NEWCALENDAR']=='YES'?_("ID_CREATE") : _("ID_UPDATE"), text: fields['NEWCALENDAR']=='YES'?_("ID_CREATE") : _("ID_UPDATE"),
handler: function() { handler: function() {
if(message!=''){
Ext.getCmp('idInvalidCalendarName').show();
Ext.getCmp('dynaformCalendarName').focus();
return false;
}
var flag = 0; var flag = 0;
gridHoliday.store.each(function(record) { gridHoliday.store.each(function(record) {
var start = record.data['startDate']; var start = record.data['startDate'];
@@ -926,7 +979,7 @@ Ext.onReady( function() {
dynaformCalendarWorkDaysArrayChecked = dynaformCalendarWorkDaysArray[i].checked; dynaformCalendarWorkDaysArrayChecked = dynaformCalendarWorkDaysArray[i].checked;
dynaformCalendarWorkDaysArrayName = dynaformCalendarWorkDaysArray[i].name; dynaformCalendarWorkDaysArrayName = dynaformCalendarWorkDaysArray[i].name;
if(dynaformCalendarWorkDaysArrayChecked==true) { if(dynaformCalendarWorkDaysArrayChecked==true) {
arrayDayinCheckbox[i]=(dynaformCalendarWorkDaysArray[i].boxLabel); arrayDayinCheckbox[indexAuxiliar]=(dynaformCalendarWorkDaysArray[i].boxLabel);
index = parseInt(dynaformCalendarWorkDaysArrayName.substring(1,2),10); index = parseInt(dynaformCalendarWorkDaysArrayName.substring(1,2),10);
dynaformCalendarWorkDaysArrayCheckedArray[indexAuxiliar] = index; dynaformCalendarWorkDaysArrayCheckedArray[indexAuxiliar] = index;
@@ -1064,7 +1117,7 @@ Ext.onReady( function() {
} }
} }
if (flagDay < arrayDayinCheckboxSize) if (flagDay < arrayDayinCheckboxSize)
Ext.Msg.alert( _('ID_ERROR'), _('ID_SELECT_ALL')); PMExt.error( _('ID_ERROR'), _('ID_SELECT_ALL'));
else { else {
Ext.Ajax.request( { Ext.Ajax.request( {
url: '../adminProxy/calendarSave', url: '../adminProxy/calendarSave',
@@ -1100,7 +1153,33 @@ Ext.onReady( function() {
else { else {
Ext.Msg.alert( _('ID_ERROR'), _('ID_MESSAGE_EMPTY_DATE_FIELD')); Ext.Msg.alert( _('ID_ERROR'), _('ID_MESSAGE_EMPTY_DATE_FIELD'));
} }
} return true;
},
listeners: {
mouseover: function () {
Ext.getCmp('idInvalidCalendarName').hide();
var validateMessage = '';
var canlendarName = Ext.getCmp('dynaformCalendarName').getValue();
var oldName = '';
if (name!='') {
oldName = '&oldName='+name;
}
Ext.Ajax.request( {
url: '../adminProxy/calendarValidate',
params: {
action : 'calendarName',
oldName : "",
name : canlendarName
},
success: function(resp){
if (resp.responseText != '[]')
message = resp.responseText;
else
message = '';
}
});
}
}
}, },
{ {
text:_("ID_CANCEL"), text:_("ID_CANCEL"),
@@ -1114,7 +1193,8 @@ Ext.onReady( function() {
} }
] ]
}); });
//Ext.getCmp('idInvalidCalendarName').setVisible(false);
//[ DATA EDIT //[ DATA EDIT
calendarWorkDayStatusReset(); calendarWorkDayStatusReset();
var workDayEquivalenceArray = new Array(); var workDayEquivalenceArray = new Array();
@@ -1142,9 +1222,8 @@ Ext.onReady( function() {
existDayKey++; existDayKey++;
} }
eval('var existDayObject = {'+existDayArray.join(',')+'};'); eval('var existDayObject = {'+existDayArray.join(',')+'};');
var dayName; var dayName;
dynaformCalendarWorkDays_.items.each(function(dayObject){
dynaformCalendarWorkDays_.items.items.each(function(dayObject){
dayName = dayObject.name; dayName = dayObject.name;
if(dayName in existDayObject) { if(dayName in existDayObject) {
dayObject.setValue(true); dayObject.setValue(true);
@@ -1204,4 +1283,30 @@ Ext.onReady( function() {
dynaformCalendarName_.setValue(true); dynaformCalendarName_.setValue(true);
} }
//] //]
Ext.getCmp('idInvalidCalendarName').hide();
if (get != "edit") {
var validateMessage = '';
var canlendarName = Ext.getCmp('dynaformCalendarName').getValue();
var oldName = '';
if (name!='') {
oldName = '&oldName='+name;
}
Ext.Ajax.request( {
url: '../adminProxy/calendarValidate',
params: {
action : 'calendarName',
oldName : "",
name : canlendarName
},
success: function(resp){
if (resp.responseText != '[]')
message = resp.responseText;
else
message = '';
}
});
}
}); });

View File

@@ -300,7 +300,7 @@ DoSearch = function(){
EditCalendarAction = function() { EditCalendarAction = function() {
rowSelected = infoGrid.getSelectionModel().getSelected(); rowSelected = infoGrid.getSelectionModel().getSelected();
if (rowSelected){ if (rowSelected){
location.href = '../admin/calendarEdit?id=' + rowSelected.data.CALENDAR_UID; location.href = '../admin/calendarEdit?edit=1&id=' + rowSelected.data.CALENDAR_UID;
} }
}; };
@@ -359,8 +359,8 @@ render_status = function(v){
//Members Button Action //Members Button Action
CopyButtonAction = function(){ CopyButtonAction = function(){
rowSelected = infoGrid.getSelectionModel().getSelected(); rowSelected = infoGrid.getSelectionModel().getSelected();
if (rowSelected){ if (rowSelected){
location.href = 'calendarEdit?cp=1&id=' + rowSelected.data.CALENDAR_UID; location.href = '../admin/calendarEdit?cp=1&id=' + rowSelected.data.CALENDAR_UID;
} }
}; };