--- /dev/null
+/*
+Copyright (c) Igor Barma, Alexandre Desoubeaux, Christian Martel, Eric Brun, Mathieu Amblard, Gwenael Gevet, Pierre Guillot, 2012
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Alexandre Lefevre, Marc Salvat 2014-2016
+ * Copyright Alexandre Desoubeaux, Christian Martel, Cedric Lecarpentier, Marc Salvat, Marc Suarez, Harifetra Ramamonjy 2017
+For licensing, see README.txt or http://www.pentilanero.com (Cecill-C or AGPL or LGPL)
+*/
+Ext.ns("EntSavoie.GestionGroup");
+EntSavoie.GestionGroup.GestionGroupTabs = function (config) {
+ Ext.apply(this, config);
+
+ // Ajoute le texte des erreurs
+ Ext.QuickTips.init();
+ // turn on validation errors beside the field globally
+ Ext.form.Field.prototype.msgTarget = 'side';
+
+ this.currentGroupConfig = null;
+ this.currentGroupAdmin = null;
+ this.currentGroupId = this.currentGroupId || 0;
+
+ this.refreshAdminFlag = false;
+
+ this.groupTitleField = this.groupTitleField || new Ext.form.TextField({
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupTitleField.fieldLabel,
+ width: 200,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;',
+ allowBlank:false
+ });
+
+ this.groupTypeCombo = this.groupTypeCombo || new Ext.form.ComboBox({
+ listClass: "gestionGroups-portlet",
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupTypeCombo.fieldLabel,
+ valueField: 'typeValue',
+ displayField: 'typeLabel',
+ store: new Ext.data.ArrayStore({
+ id: 0,
+ fields: [
+ 'typeValue', // numeric value is the key
+ 'typeLabel'
+ ],
+ data: [[1, this.i18n.GestionGroup.GestionGroupTabs.groupTypeCombo.data[0]], [2, this.i18n.GestionGroup.GestionGroupTabs.groupTypeCombo.data[1]], [3, this.i18n.GestionGroup.GestionGroupTabs.groupTypeCombo.data[2]]] // data is local
+ }),
+
+ editable: false,
+ triggerAction: 'all',
+ mode: 'local',
+ width: 200,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;',
+ style: "margin-bottom: 25px;"
+ });
+
+ this.groupScopeCombo = this.groupScopeCombo || new Ext.form.ComboBox({
+ listClass: "gestionGroups-portlet",
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupScopeCombo.fieldLabel,
+ valueField: 'scopeValue',
+ displayField: 'scopeLabel',
+ store: new Ext.data.ArrayStore({
+ id: 0,
+ fields: [
+ 'scopeValue', // numeric value is the key
+ 'scopeLabel'
+ ],
+ data: [[1, this.i18n.GestionGroup.GestionGroupTabs.groupScopeCombo.data[0]], [2, this.i18n.GestionGroup.GestionGroupTabs.groupScopeCombo.data[1]]] // data is local
+ }),
+ editable: false,
+ triggerAction: 'all',
+ mode: 'local',
+ width: 200,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;',
+ style: "margin-bottom: 25px;"
+ });
+
+ this.groupPoliticCombo = this.groupPoliticCombo || new Ext.form.ComboBox({
+ listClass: "gestionGroups-portlet",
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupPoliticCombo.fieldLabel,
+ valueField: 'politicValue',
+ displayField: 'politicLabel',
+ hidden: !this.isGrpIntranetEnable,
+ store: new Ext.data.ArrayStore({
+ id: 0,
+ fields: [
+ 'politicValue', // numeric value is the key
+ 'politicLabel'
+ ],
+ data: [[1, this.i18n.GestionGroup.GestionGroupTabs.groupPoliticCombo.data[0]], [2, this.i18n.GestionGroup.GestionGroupTabs.groupPoliticCombo.data[1]]] // data is local
+ }),
+ editable: false,
+ triggerAction: 'all',
+ mode: 'local',
+ width: 200,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;',
+ style: "margin-bottom: 25px;"
+ });
+
+ this.groupExpireDate = this.groupExpireDate || new Ext.form.DisplayField({
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupExpireDate.fieldLabel,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;'
+ });
+
+ this.groupExtendDate = this.groupExtendDate || new Ext.form.DisplayField({
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupExtendDate.fieldLabel,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;'
+ });
+
+ this.requestExtendBtn = this.requestExtendBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.requestExtendBtn.text,
+ handler: this.onRequestLifeExtension,
+ scope: this
+ });
+
+ this.cancelExtendBtn = this.cancelExtendBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.cancelExtendBtn.text,
+ handler: this.onCancelRequestLifeExtension,
+ style: "margin-top: 4px; padding-top: 0px; margin-bottom: 100px;",
+ scope: this
+ });
+
+ this.groupModifyBtn = this.groupModifyBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.groupModifyBtn.text,
+ width: 100,
+ style: "margin-bottom: 10px;",
+ handler: this.onGroupModify,
+ scope: this
+ });
+
+ this.groupModifyValidateBtn = this.groupModifyValidateBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.groupModifyValidateBtn.text,
+ width: 100,
+ style: "margin-bottom: 10px;",
+ handler: this.onModifyValidateGroup,
+ scope: this
+ });
+
+ //description
+ this.groupDescriptionField = this.groupDescriptionField || new Ext.ux.form.CKEditor({
+ CKConfig: {
+ toolbar: [
+ ['Source','-','Cut','Copy','Paste','PasteText','PasteFromWord','-','Bold','Italic','Underline','Strike','TextColor','BGColor'],
+ ['FontSize','-','NumberedList','BulletedList','Outdent','Indent','Blockquote'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], [/*'SpellChecker',*/ 'Scayt']
+ ],
+ removePlugins : 'elementspath',
+ skin: 'moono-lisa',
+ resize_enabled: false,
+ scayt_autoStartup : true,
+ scayt_sLang : "fr_FR",
+ enterMode: 2,
+ height: 210,
+ width: 450,
+ language: this.language || "fr"
+ },
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupDescriptionField.fieldLabel
+ });
+
+ this.groupAdminField = this.groupAdminField || new Ext.form.DisplayField({
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.groupAdminField.fieldLabel,
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0;'
+ });
+
+
+ // Store contenant les informations relatives au groupe
+ this.groupConfigStore = new Ext.data.JsonStore({
+ root: 'group',
+ idProperty: 'groupId',
+ fields: ['groupId', 'name', 'description', 'typeValue', 'typeLabel', 'expirationDate', 'requestLifeExtension', 'desiredExtension', 'status', 'scope', 'politic', 'viewInCDT', 'groupContactList'],
+ url: this.renderURLAjax+'&jspPage=%2Fajax%2FgroupConfig.jsp'
+ });
+
+ // Store contenant les membres administrateurs du groupe
+ this.admin_store = new Ext.data.JsonStore({
+ root: 'membresAdmin',
+ idProperty: 'displayText',
+ fields: ['displayText'],
+ url: this.renderURLAjax+'&jspPage=%2Fajax%2FlistMembersAdministrator.jsp',
+ sortInfo: {
+ field: 'displayText',
+ direction: 'ASC'
+ }
+ });
+
+ // partie concernant l'extension de date
+ this.desiredRequestDateExt = this.desiredRequestDateExt || new Ext.form.DateField({
+ fieldLabel: this.i18n.GestionGroup.GestionGroupTabs.desiredRequestDateExt.fieldLabel,
+ format : "d-m-Y",
+ value: new Date().add(Date.YEAR, 1),
+ minValue: new Date(),
+ width: 200
+ });
+
+ this.validateRequestLifeBtn = this.validateRequestLifeBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.validateRequestLifeBtn.text,
+ handler: this.onRequestLifeExtensionAction,
+ scope: this,
+ formBind: true
+ });
+ this.cancelRequestLifeBtn = this.cancelRequestLifeBtn || new Ext.Button({
+ text: this.i18n.GestionGroup.GestionGroupTabs.cancelRequestLifeBtn.text,
+ handler: this.onRequestLifeExtensionCancel,
+ scope: this
+ });
+
+ this.requestLifeExtensionWindowForm = this.requestLifeExtensionWindowForm || new Ext.FormPanel({
+ labelWidth: 160,
+ url: this.actionURLAjax,
+ bodyBorder: false,
+ border: false,
+ bodyStyle: 'padding:5px 5px 0',
+ height: 105,
+ width: 400,
+ monitorValid: true,
+ layout: 'form',
+ items:[
+ this.desiredRequestDateExt
+ ],
+ buttons: [
+ this.validateRequestLifeBtn,
+ this.cancelRequestLifeBtn
+ ]
+ });
+
+ this.requestLifeExtensionWindow = this.requestLifeExtensionWindow || new Ext.Window({
+ cls: "gestionGroups-portlet",
+ layout: 'fit',
+ modal: true,
+ height: 105,
+ width: 400,
+ closeAction: 'hide',
+ plain: true,
+ title: this.i18n.GestionGroup.GestionGroupTabs.requestLifeExtensionWindow.title,
+ items: this.requestLifeExtensionWindowForm
+ });
+
+ this.viewInCDTRG = this.viewInCDTRG || new Ext.form.RadioGroup({
+ fieldLabel: "Afficher ce groupe dans le Cahier de Textes",
+ itemCls: 'item',
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0; display: block; width: 200px;',
+ style: "margin-bottom: 10px;",
+ width: 100,
+ items: [
+ {boxLabel: "Oui", name: 'viewInCDT', inputValue: true},
+ {boxLabel: "Non", name: 'viewInCDT', inputValue: false, checked: true}
+ ],
+ hidden: this.isEleveOrParent
+ });
+
+ this.createContactListRG = this.createContactListRG || new Ext.form.RadioGroup({
+ fieldLabel: "Créer une liste de contacts dans le carnet d'adresses",
+ itemCls: 'item',
+ labelStyle: 'padding: 0 0 0 0; color: #3764A0; display: block; width: 200px;',
+ style: "margin-bottom: 10px;",
+ width: 100,
+ items: [
+ {boxLabel: "Oui", name: 'createContactList', inputValue: true},
+ {boxLabel: "Non", name: 'createContactList', inputValue: false, checked: true}
+ ],
+ hidden: this.isEleveOrParent
+ });
+
+ EntSavoie.GestionGroup.GestionGroupTabs.superclass.constructor.call(this, {
+ title: this.i18n.GestionGroup.GestionGroupTabs.title,
+ width: "auto",
+ frame: true,
+ autoScroll: true,
+ items:[
+ {
+ html: this.i18n.GestionGroup.GestionGroupTabs.items.form.html,
+ style: 'padding: 10px; padding-bottom: 20px; text-align: left; color:#3764A0; font-size: 20px;',
+ border: false
+ },
+ {
+ layout: 'table',
+ layoutConfig: {
+ columns: 2,
+ fitToParent: true
+ },
+ border: false,
+ items: [
+ {
+ border: false,
+ layout: "form",
+ labelWidth: 100,
+ labelAlign: 'top',
+ width: 300,
+ items: [
+ this.groupTitleField,
+ this.groupScopeCombo,
+ this.groupTypeCombo,
+ this.groupPoliticCombo,
+ this.createContactListRG,
+ this.viewInCDTRG,
+ this.groupExpireDate,
+ this.groupExtendDate,
+ this.requestExtendBtn,
+ this.cancelExtendBtn,
+ this.groupModifyBtn,
+ {
+ html: "<br/>",
+ border: false
+ },
+ this.groupModifyBtn,
+ this.groupModifyValidateBtn
+ ]
+ },
+ {
+ border: false,
+ layout: "form",
+ labelWidth: 100,
+ labelAlign: 'top',
+ items: [
+ this.groupDescriptionField,
+ this.groupAdminField
+ ]
+ }
+ ]
+ }
+ ]
+ });
+
+ // definition des listeners
+ this.on("render", this.onRenderEditTab, this);
+ this.on("activate", this.onActivateEditTab, this);
+ this.groupConfigStore.on("load", this.onLoadGroupConfig, this);
+ this.admin_store.on("load", this.onLoadAdminGroup, this);
+
+};
+
+Ext.extend(EntSavoie.GestionGroup.GestionGroupTabs, Ext.Panel, {
+ initComponent: function () {
+ EntSavoie.GestionGroup.GestionGroupTabs.superclass.initComponent.call(this);
+ },
+
+ onRenderEditTab: function() {
+ // on met a jour les champs d edition
+ this.groupConfigStore.load();
+ this.admin_store.load();
+ },
+
+ onActivateEditTab: function() {
+ if (this.refreshAdminFlag) {
+ this.admin_store.load();
+ }
+ },
+
+ onLoadGroupConfig: function(store, records, e) {
+ this.refreshGroupConfig(store.getAt(0));
+ },
+
+ refreshGroupConfig: function(grpConfig){
+ this.currentGroupConfig = grpConfig;
+
+ // on met a jour les champs
+ this.groupTitleField.setValue(this.currentGroupConfig.get("name"));
+ this.groupTypeCombo.setValue(this.currentGroupConfig.get("typeValue"));
+ this.groupScopeCombo.setValue(this.currentGroupConfig.get("scope"));
+ this.groupPoliticCombo.setValue(this.currentGroupConfig.get("politic"));
+ this.groupExpireDate.setValue(this.currentGroupConfig.get("expirationDate"));
+ this.viewInCDTRG.items.items[this.currentGroupConfig.get("viewInCDT")?0:1].setValue(true);
+ this.createContactListRG.items.items[this.currentGroupConfig.get("groupContactList")?0:1].setValue(true);
+
+ if (this.currentGroupConfig.get("requestLifeExtension")==false) {
+ this.groupExtendDate.hide();
+ this.cancelExtendBtn.hide();
+ }
+ else {
+ this.groupExtendDate.show();
+ this.cancelExtendBtn.show();
+ this.groupExtendDate.setValue(this.currentGroupConfig.get("desiredExtension"));
+ }
+
+ if (this.isGrpAdmin && this.currentGroupConfig.get('status')==1) {
+ this.groupModifyValidateBtn.show();
+ }
+ else {
+ this.groupModifyValidateBtn.hide();
+ }
+ this.groupDescriptionField.setValue(this.currentGroupConfig.get("description"));
+
+
+ },
+
+ onLoadAdminGroup: function(store, records, e) {
+ this.refreshAdmin(store.getAt(0));
+ },
+
+ refreshAdmin: function(adminConfig){
+ this.currentGroupAdmin = adminConfig;
+ this.groupAdminField = this.groupAdminField.setValue(this.currentGroupAdmin.get('displayText'));
+ },
+
+ /**
+ * Appui sur le bouton 'Modifier le groupe'
+ */
+ onGroupModify: function() {
+
+ // No double quote in group name
+ if (this.groupTitleField.getValue().indexOf('"') != -1) {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.noQuoteInTitle.title, this.i18n.GestionGroup.GestionGroupTabs.noQuoteInTitle.msg, function(btn){});
+ }
+ // No empty or space-only group name
+ else if (this.groupTitleField.getValue().trim() == "") {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.noEmptyTitle.title, this.i18n.GestionGroup.GestionGroupTabs.noEmptyTitle.msg, function(btn){});
+ }
+ else {
+ Ext.Ajax.request({
+ url: this.actionURLAjax,
+ params: {
+ cmd: "modifyGroup",
+ groupId: this.currentGroupConfig.get('groupId'),
+ name: this.groupTitleField.getValue(),
+ description: this.groupDescriptionField.getValue(),
+ type: this.groupTypeCombo.getValue(),
+ scope: this.groupScopeCombo.getValue(),
+ politic: this.groupPoliticCombo.getValue(),
+ viewInCDT: this.viewInCDTRG.items.items[0].getValue(),
+ groupContactList: this.createContactListRG.getValue().inputValue
+ },
+ scope: this,
+ success: this.onSuccessModifyGroup,
+ failure: this.onFailureModifyGroup
+ });
+ }
+ },
+
+
+ onSuccessModifyGroup: function(data, textStatus, XMLHttpRequest) {
+ var backObj = Ext.decode(data.responseText);
+ if (!backObj.success) {
+ if(backObj.errorType){
+ Ext.Msg.show({
+ title:'Erreur',
+ msg: backObj.errorType,
+ buttons: Ext.Msg.OK,
+ icon: Ext.MessageBox.ERROR
+ });
+ } else {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyGroup.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyGroup.alert.msg, function(btn){});
+ }
+ } else {
+ Ext.slideMsg.msg(this.i18n.GestionGroup.GestionGroupTabs.onSuccessModifyGroup.slideMsg.title, this.i18n.GestionGroup.GestionGroupTabs.onSuccessModifyGroup.slideMsg.msg);
+ }
+ },
+
+ onFailureModifyGroup: function(XMLHttpRequest, textStatus, errorThrown) {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyGroup.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyGroup.alert.msg, function(btn){});
+ },
+
+ /**
+ * Appui sur le bouton Modifier et valider création du groupe si on est admin
+ */
+ onModifyValidateGroup: function() {
+
+ Ext.Ajax.request({
+ url: this.actionURLAjax,
+ params: {
+ cmd: "modifyAndValidateGroup",
+ groupId: this.currentGroupConfig.get('groupId'),
+ name: this.groupTitleField.getValue(),
+ description: this.groupDescriptionField.getValue(),
+ type: this.groupTypeCombo.getValue(),
+ scope: this.groupScopeCombo.getValue(),
+ politic: this.groupPoliticCombo.getValue(),
+ viewInCDT: this.viewInCDTRG.items.items[0].getValue()
+ },
+ scope: this,
+ success: this.onSuccessModifyValidateGroup,
+ failure: this.onFailureModifyValidateGroup
+ });
+
+ },
+
+
+ onSuccessModifyValidateGroup: function(data, textStatus, XMLHttpRequest) {
+ var backObj = Ext.decode(data.responseText);
+ if (!backObj.success) {
+ if(backObj.errorType){
+ Ext.Msg.show({
+ title:'Erreur',
+ msg: backObj.errorType,
+ buttons: Ext.Msg.OK,
+ icon: Ext.MessageBox.ERROR
+ });
+ } else {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyValidateGroup.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyValidateGroup.alert.msg, function(btn){});
+ }
+ } else {
+ Ext.slideMsg.msg(this.i18n.GestionGroup.GestionGroupTabs.onSuccessModifyValidateGroup.slideMsg.title, this.i18n.GestionGroup.GestionGroupTabs.onSuccessModifyValidateGroup.slideMsg.msg);
+ this.admin_store.load();
+ }
+
+ },
+
+ onFailureModifyValidateGroup: function(XMLHttpRequest, textStatus, errorThrown) {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyValidateGroup.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureModifyValidateGroup.alert.msg, function(btn){});
+
+ },
+
+ /**
+ * Demande d'extension
+ */
+ onRequestLifeExtension: function() {
+ this.requestLifeExtensionWindow.show();
+ this.desiredRequestDateExt.reset();
+ },
+
+ onRequestLifeExtensionAction: function() {
+
+ this.requestLifeExtensionWindowForm.getForm().submit({
+ url:this.requestLifeExtensionWindowForm.url
+ ,scope:this
+ ,success:this.onSuccessRequestLifeExtension
+ ,complete:this.onSuccessRequestLifeExtension
+ ,failure:this.onFailureRequestLifeExtension
+ ,params:{cmd:'requestLifeExtension',
+ groupId: this.currentGroupConfig.get('groupId'),
+ dateExtension : this.desiredRequestDateExt.getValue().format("d-m-Y")
+ }
+ ,waitMsg: this.i18n.GestionGroup.GestionGroupTabs.onRequestLifeExtensionAction.waitMsg
+ });
+
+ },
+
+ onSuccessRequestLifeExtension: function() {
+
+ this.requestLifeExtensionWindow.hide();
+ Ext.slideMsg.msg(this.i18n.GestionGroup.GestionGroupTabs.onSuccessRequestLifeExtension.slideMsg.title, this.i18n.GestionGroup.GestionGroupTabs.onSuccessRequestLifeExtension.slideMsg.msg);
+
+ this.groupExpireDate.setValue(this.desiredRequestDateExt.getValue().format("d-m-Y"));
+
+ //this.groupConfigStore.load();
+
+ },
+
+ onFailureRequestLifeExtension: function(form, action) {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureRequestLifeExtension.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureRequestLifeExtension.alert.msg, function(btn){});
+ },
+
+ onRequestLifeExtensionCancel: function() {
+ this.requestLifeExtensionWindow.hide();
+ },
+
+ /**
+ * Annulation de la demande d'extension de durée de vie
+ */
+ onCancelRequestLifeExtension: function() {
+ Ext.MessageBox.show({
+ title: this.i18n.GestionGroup.GestionGroupTabs.onCancelRequestLifeExtension.MessageBox.title,
+ msg: this.i18n.GestionGroup.GestionGroupTabs.onCancelRequestLifeExtension.MessageBox.msg,
+ buttons: {ok: this.i18n.GestionGroup.GestionGroupTabs.onCancelRequestLifeExtension.MessageBox.buttons.ok, cancel: this.i18n.GestionGroup.GestionGroupTabs.onCancelRequestLifeExtension.MessageBox.buttons.cancel},
+ fn: this.cancel_requestLifeExtension,
+ minWidth: 450,
+ scope: this
+ });
+ },
+
+ cancel_requestLifeExtension: function(btn) {
+ if (btn=="cancel") {
+ return;
+ }
+ Ext.Ajax.request({
+ url: this.actionURLAjax,
+ params: {
+ cmd: "cancelRequestLifeExtension",
+ groupId: this.currentGroupConfig.get('groupId')
+ },
+ scope: this,
+ success: this.onSuccessCancelRequestLifeExt,
+ failure: this.onFailureCancelRequestLifeExt
+ });
+ },
+
+ onSuccessCancelRequestLifeExt: function(data, textStatus, XMLHttpRequest) {
+ Ext.slideMsg.msg(this.i18n.GestionGroup.GestionGroupTabs.onSuccessCancelRequestLifeExt.slideMsg.title, this.i18n.GestionGroup.GestionGroupTabs.onSuccessCancelRequestLifeExt.slideMsg.msg);
+ this.groupConfigStore.load();
+
+ },
+
+ onFailureCancelRequestLifeExt: function(XMLHttpRequest, textStatus, errorThrown) {
+ Ext.MessageBox.alert(this.i18n.GestionGroup.GestionGroupTabs.onFailureCancelRequestLifeExt.alert.title, this.i18n.GestionGroup.GestionGroupTabs.onFailureCancelRequestLifeExt.alert.msg, function(btn){});
+ }
+
+
+});