)
}
+ /**
+ * Construis un apercu de plusieurs cahiers de textes
+ */
+ def apercevoirPlusieursCdts = {
+
+ List <CahierDeTextes> cdts = []
+
+ List <Integer> cdtIds = params.cdtIds.split(',').collect{it as int}
+
+ cdtIds.each(){
+ cdts << CahierDeTextes.get(it)
+ }
+
+ List infosCahiers = []
+
+ cdts.each(){
+
+ actionPossibleService.verifierAccesConsultation(
+ getSecuriteSession(),
+ it
+ )
+
+ infosCahiers << getInfosPourApercu(it)
+ }
+ render(
+ view: '/cahierDeTextes/apercu',
+ model: [
+ infosCahiers: infosCahiers,
+ webserviceDisponible: webserviceService.estDisponible()
+ ]
+ )
+ }
+
/**
* Prepare les donnes de model pour l'apercu de cahier
* @param cdt
<br/>Vous pouvez attribuer des droits manuellement pour permettre l'exploitation de ce cahier de textes.\
<br/>Les droits par défauts seront ajoutés dès que les informations nécessaires seront disponibles.
-eliot.cahierDeTextes.cahierDeTextes = Cahier de textes :
+eliot.cahierDeTextes.cahierDeTextes = Cahiers de textes
eliot.cahierDeTextes.presentationTemps.date = Journée du :
eliot.textes.libelle.visa.viser=Viser
eliot.textes.libelle.visa.viserPlusieursCahiers=Viser les cahiers de textes
eliot.textes.libelle.visa.visaCahierTextes=Visa du cahier de textes
-eliot.textes.libelle.visa.apercu=Aperçu
+eliot.textes.libelle.visa.contenu=Contenu
eliot.textes.libelle.visa.date=Date
eliot.textes.libelle.visa.auteur=Auteur
eliot.textes.libelle.visa.commentaire=Commentaire
eliot.textes.recherche.Modele.libelle.visaCahierTextes = "<g:message code='eliot.textes.libelle.visa.visaCahierTextes'/>";
eliot.textes.recherche.Modele.libelle.viser = "<g:message code='eliot.textes.libelle.visa.viser'/>";
eliot.textes.recherche.Modele.libelle.viserPlusieursCahiers = "<g:message code='eliot.textes.libelle.visa.viserPlusieursCahiers'/>";
-eliot.textes.recherche.Modele.libelle.apercu = "<g:message code='eliot.textes.libelle.visa.apercu'/>";
+eliot.textes.recherche.Modele.libelle.contenu = "<g:message code='eliot.textes.libelle.visa.contenu'/>";
eliot.textes.recherche.Modele.icon.recherche = '${resource(dir: 'images', file: 'properties.gif')}';
id:'imp'
},
'-',
- {
- xtype:'button',
- text:'Viser',
- cls:'add16',
- icon:'../images/cahier_vise_16x16.png',
- id:'viser'
- },
- '-',
{
xtype:'button',
text:'Visualiser',
{name:'matiere'},
{name:'nbAct'},
{name:'dateSaisie'},
- {name:'dateDernierVisa'}
+ {name:'dateDernierVisa'},
+ {name: 'type'}
]
})
});
}
});
- Ext.getCmp('viser').addListener({
- click:{
- fn:this.actionViserPlusieursCDT, scope:this
- }
- });
-
Ext.getCmp('visu').addListener({
click:{
fn:this.actionVisualiser, scope:this
if (this.checkBox.getCount() == 1) {
Ext.getCmp('visu').enable();
Ext.getCmp('proprietes').enable();
- Ext.getCmp('viser').enable();
} else {
- Ext.getCmp('visu').disable();
+ Ext.getCmp('visu').enable();
Ext.getCmp('proprietes').disable();
- Ext.getCmp('viser').enable();
}
},
/**
Ext.getCmp('imp').disable();
Ext.getCmp('visu').disable();
Ext.getCmp('proprietes').disable();
- Ext.getCmp('viser').disable();
} else if (count == 1) {
- Ext.getCmp('visu').enable();
Ext.getCmp('proprietes').enable();
}
},
actionVisualiser:function () {
var cdtId = this.checkBox.getSelected().id;
- var nomCdt = this.checkBox.getSelected().data.nom;
-
- var titleFenetre = eliot.textes.recherche.Modele.libelle.cahierDeTextes + ' ' + nomCdt;
- var config = eliot.textes.configArbreActivite({cdt:cdtId});
- var arbreTitle = '<span id="tabs-separator">' + config.title + '</span>'
+ var visa = new eliot.textes.visa.Composant();
- var arbre = new Ext.ux.tree.ColumnTree(config);
- var visa = undefined;
+ var selectionsCdts = this.checkBox.getSelections();
+ var cdtIds = [];
+ for (var i = 0; i<selectionsCdts.length; i++){
+ cdtIds.push(selectionsCdts[i].id)
+ }
+ var disable = this.isAllCdtArchiveDansSelection(selectionsCdts);
var win = new Ext.Window({
id:'fenetreVisaCdts',
- width:750,
- height:450,
+ width:800,
+ height:470,
layout:'fit',
modal:true,
- title:titleFenetre,
+ title:eliot.textes.recherche.Modele.libelle.cahierDeTextes,
autoScroll:true,
listeners:{
'close':function () {
},
items:[
new Ext.TabPanel({
- activeTab:2,
+ activeTab:1,
items:[
{
- title:'<span id="tabs-last">' + eliot.textes.recherche.Modele.libelle.apercu + '</span>',
- xtype:'panel',
- frame:false,
- border:false,
- autoScroll:false,
- iconCls: 'icone-apercu',
- items:[ {
- xtype : "component",
- autoEl : {
- tag : "iframe",
- src : "apercevoir?cdtId="+cdtId,
- width: '100%',
- height: '100%'
- }
- }
- ]
- },
- {
- title:'<span id="tabs-separator">' + eliot.textes.recherche.Modele.libelle.viser + '</span>',
+ title: '<span id="tabs-last">' + eliot.textes.recherche.Modele.libelle.viser + '</span>',
xtype:'panel',
layout:'fit',
frame:false,
border:false,
iconCls: 'icone-viser',
+ disabled: false, //disable, //TODO : a recabler avec 'disable'
listeners:{
'show':function (panel) {
-
- if (visa === undefined) {
-
- visa = new eliot.textes.visa.Composant();
-
- visa.setCdt({
- id:cdtId,
- nom:nomCdt
- });
-
- panel.add(visa.getItems());
- panel.doLayout();
-
- }
- else {
- visa.enable();
- }
-
+ panel.add(visa.getItems(selectionsCdts));
+ panel.doLayout();
},
scope:this
}
},
{
- title:arbreTitle,
+ title:'<span id="tabs-separator">' + eliot.textes.recherche.Modele.libelle.contenu + '</span>',
xtype:'panel',
- layout:'fit',
frame:false,
border:false,
- autoScroll:true,
- items:[
- arbre
+ autoScroll:false,
+ iconCls: 'icone-apercu',
+ items:[ {
+ xtype : "component",
+ autoEl : {
+ tag : "iframe",
+ src : "apercevoirPlusieursCdts?cdtIds="+cdtIds,
+ width: '100%',
+ height: '100%'
+ }
+ }
]
}
]
})
]
});
- arbre.getLoader().baseParams = {
- cdtId:cdtId
- };
- arbre.getRootNode().reload();
win.show(this);
},
'?cdsIds=' + ids.join(',');
},
- /**
- * Viser plusieurs Cahier de textes
- */
- actionViserPlusieursCDT:function () {
-
- var visa;
- visa = new eliot.textes.visa.Composant();
-
- var selectionsCdts = this.checkBox.getSelections();
-
- var visaView = visa.getItems(selectionsCdts);
-
- var win = new Ext.Window({
- width:750,
- height:450,
- id: 'visePlusieursCdtWindow',
- layout:'fit',
- modal:true,
- title:eliot.textes.recherche.Modele.libelle.viserPlusieursCahiers,
- autoScroll:true,
- listeners:{
- 'close':function () {
- if ((visa !== undefined) && (visa.aVise() === true)) {
- this.rechercheController.executeRecherche();
- }
- },
- scope:this
- },
- items:visaView,
- scope:this
- });
-
- win.show();
- },
-
/**
*
* @param params
} else {
return Date.parseDate(value, "c").format('d/m/Y');
}
+ },
+
+ /**
+ * Détermine si il y a des CDTs de type archive dans la sélection de CDTs passés en params
+ */
+ isAllCdtArchiveDansSelection: function(selectionsCdts){
+ var isAllCdtArchive = true;
+ for (var i = 0;i < selectionsCdts.length; i++){
+ if(selectionsCdts[i].data.type != 'archive'){
+ isAllCdtArchive = false;
+ }
+ }
+ return isAllCdtArchive
}
});
Ext.reg('gridcahiers', eliot.textes.recherche.Grid);
cahierDeTextes:undefined,
visaCahierTextes:undefined,
viser:undefined,
- apercu:undefined,
+ contenu:undefined,
nom:undefined,
structure:undefined,
nbAct:undefined,
// this.view.showVisa(reponse.visas[0]); // TOIMP traite reponse.visas (plusieurs visas)
this.view.showConfirmation(this.ConfigServeur.messages.viserSuccess);
var window = Ext.getCmp('visePlusieursCdtWindow');
- window.close();
},
failure:function(reponse) {
this.view.showErreur(this.ConfigServeur.messages.viserEchec);
this.commentaireTextArea = undefined;
this.visaButton = undefined;
-
this.visaGrid = undefined;
+ this.isArchiveDansSelection = false;
if (this.ConfigServeur.data.listeVisa.render === true) {
this.initVisaGrid(visaStore);
border: false,
height: 1
};
- var visaView;
- var alerteView =
- {
- xtype: 'panel',
- frame: false,
- border: false,
- height: 1
- };
- var boutons =
+
+ var alerteCdtArchiveView =
{
xtype: 'panel',
frame: false,
border: false,
height: 1
};
- var boutonsFooter;
+
+ selectionsCdts = this.supprimeArchivesFromCdts(selectionsCdts);
var visaItem = this.getVisaItem();
- //Si on vient de l'écran 'viser' (plusieurs cahiers possibles)
- // un param 'selectionsCdts' contenant une liste de CDTs est disponible
- if (selectionsCdts){
- visaView = this.getVisaViewItemsSelectionnes(selectionsCdts);
- alerteView = this.getAlerteView();
- boutonsFooter = this.getButtonsPlusieursCahiers(selectionsCdts);
- }else{
- messageItem = this.getMessageItem();
- visaView = this.getVisaViewItem();
- boutons = this.getButtonsItem();
+ var visaView = this.getVisaViewItemsSelectionnes(selectionsCdts);
+
+ var alerteView = this.getAlerteView();
+ var boutons = this.getButtonsItem(selectionsCdts);
+
+ if(this.isArchiveDansSelection == true){
+ alerteCdtArchiveView = this.getalerteCdtArchiveView();
}
+
+ // meesageItem : si on veut un message d'alerte dans la popup , boutonsFooter : si on veut les boutons ds le footer //TODO : à retirer après confirmation fonctionnel
+ // var boutonsFooter = this.getButtonsPlusieursCahiers(selectionsCdts);
+ // var messageItem = this.getMessageItem();
+
return [
{
xtype: 'panel',
layout:'vbox',
frame: false,
border: false,
- padding: 10,
items: [
messageItem,
visaView,
border: false,
height: 10
},
+ alerteCdtArchiveView,
visaItem,
alerteView,
boutons
],
- buttons:boutonsFooter,
+ // buttons:boutonsFooter, //TODO : a retirer après confirmation fonctionnel
scope:this
}
];
messageDiv.update(message);
},
- /**
- * Affichage du dernier visa
- */
- getVisaViewItem: function() {
- return {
- xtype: 'panel',
- frame: false,
- border: false,
- height: 35,
- width: 710,
- padding: 10,
- html: '<div id="' + this.Constantes.composantId.visa +
- '" class="visa"></div>'
- };
- },
-
tri : function (a,b)
{
return (a.data.nom > b.data.nom)?1:-1;
}
},
+ /**
+ * Message de d'avertissement lorsqu'un CDT d'archive se trouve dans la liste des CDTs sélectionnés par l'utilisateur
+ * Ce (ou ces) CDT(s) sont alors exclu de la liste des CDTs à viser.
+ */
+ getalerteCdtArchiveView: function(){
+ return{
+ xtype: 'panel',
+ frame: false,
+ border: false,
+ height: 35,
+ width: 710,
+ //padding: 10,
+ style : 'margin-left : 10px; font-size:13px',
+ html:'<span style="color:red;">' +
+ 'Les cahiers de textes archivés ne sont pas inclus dans les cahiers de textes à viser.</span>'
+
+ }
+ },
+
/**
* Affichage si plusieurs visas sont selectionnés
*/
getVisaViewItemsSelectionnes: function(selectionsCdts){
var nbrCdts = selectionsCdts.length;
- var nomCDTSelectionnes = ''
+ var nomCDTSelectionnes = '';
selectionsCdts.sort(this.tri);
xtype: 'panel',
frame: false,
border: false,
- padding: 10,
+ //padding: 10,
height: 30,
width: 710,
- style : 'font-size:13px',
+ style : 'margin-left : 10px; font-size:13px',
html: 'Vous allez viser les cahiers de textes sélectionnés (' + nbrCdts + ')'
- },
+ },
{
xtype: 'panel',
frame: false,
border: true,
height: 92,
width: 400,
- style: 'margin-left : 150px; font-size:13px',
+ style: 'margin-left : 10px; font-size:13px',
html: nomCDTSelectionnes
}]
},
/**
* Boutons
*/
- getButtonsPlusieursCahiers: function(selectionsCdts){
- return [
- {
- text:this.ConfigServeur.libelle.viser,
- listeners:{
- click:function () {
- var ids = "";
- for (var i = 0; i < selectionsCdts.length; i++){
- if (i>0){
- ids += ","
- }
- ids += selectionsCdts[i].id
- }
- var commentaire = Ext.getCmp('commentaire').getValue();
- this.viserPlusieursCahier(ids,commentaire);
- },
- scope:this
- }
- },
- {
- text:this.ConfigServeur.libelle.annuler,
- listeners:{
- click:function () {
- var window = Ext.getCmp('visePlusieursCdtWindow');
- window.close();
- },
- scope:this
- }
- }
- ];
-
- },
+// getButtonsPlusieursCahiers: function(selectionsCdts){
+// return [
+// {
+// text:this.ConfigServeur.libelle.viser,
+// listeners:{
+// click:function () {
+// var ids = "";
+// for (var i = 0; i < selectionsCdts.length; i++){
+// if (i>0){
+// ids += ","
+// }
+// ids += selectionsCdts[i].id
+// }
+// var commentaire = Ext.getCmp('commentaire').getValue();
+// this.viserPlusieursCahier(ids,commentaire);
+// },
+// scope:this
+// }
+// }
+// ];
+//
+// },
/**
* Boutons
*/
- getButtonsItem: function() {
+ getButtonsItem: function(selectionsCdts) {
this.visaButton = new Ext.Button({
width: 80,
- text: this.ConfigServeur.libelle.viser,
- listeners: {
- 'click': function() {
- this.viser();
+ text:this.ConfigServeur.libelle.viser,
+ listeners:{
+ click:function () {
+ var ids = "";
+ for (var i = 0; i < selectionsCdts.length; i++){
+ if (i>0){
+ ids += ","
+ }
+ ids += selectionsCdts[i].id
+ }
+ var commentaire = Ext.getCmp('commentaire').getValue();
+ this.viserPlusieursCahier(ids,commentaire);
},
- scope: this
+ scope:this
}
});
commentaire: commentaire,
ids: ids
}
-
this.fireEvent(this.Constantes.eventId.actionViserPlusieursCahiers, visa);
},
disable: function() {
this.commentaireTextArea.disable();
this.visaButton.disable();
- }
+ },
+ /**
+ * Supprime les CDTs de type "archive" de la liste des cdts sélectionnés (ils ne peuvent pas être visés)
+ */
+ supprimeArchivesFromCdts: function(cdts){
+ for(var i = 0; i < cdts.length; i++){
+ if (cdts[i].data.type == 'archive'){
+ this.isArchiveDansSelection = true;
+ cdts.splice(i,1);
+ }
+ }
+ return cdts;
+ }
});
\ No newline at end of file