## -*- coding: utf_8 -*- <% from fcp import fcpdefs from fcp import mlitem from fcutils import util from fcws.fcweb import webutil from cStringIO import StringIO import base64 %> <%namespace name="toolbar" file="toolbars.html" import="create"/> <% def spitRulesForm(): str = '"FORM":{"ID":20,"13800":{"t":"Activée","v":1},"13801":"=-1;Re\u00e7u=0;Envoy\u00e9=1;Cr\u00e9\u00e9=2;Supprim\u00e9=3;D\u00e9plac\u00e9=4;Ouvert=5;Expir\u00e9=6;Modifi\u00e9=7;R\u00e9pondu=8;R\u00e9exp\u00e9di\u00e9=9;Manuel=10;Lu=11;Ferm\u00e9=12;Edit\u00e9=13;Rappel=14;Conteneur ouvert=15","13806":"Invalide=0;Egal 1=1;Diff\u00e9rent 1;Egal 2;Diff\u00e9rent 2;Egal 3;Diff\u00e9rent 3;Plus grand que 1;Plus petit que 1;Plus grand que 2;Plus petit que 2;Plus grand que 3;Plus petit que 3;Membre de d\u00e9finition=21;Non membre de d\u00e9finition;Existe=31;N'existe pas;Contient=41;Ne contient pas;Commence par=51;Ne commence pas par;Finit par=61;Ne finit pas par;Personnalis\u00e9 1=101;Non personnalis\u00e9 1;Personnalis\u00e9 2;Non personnalis\u00e9 2;Personnalis\u00e9 3;Non personnalis\u00e9 3;Personnalis\u00e9 4;Non personnalis\u00e9 4;Personnalis\u00e9 5;Non personnalis\u00e9 5;Personnalis\u00e9 6;Non personnalis\u00e9 6;Personnalis\u00e9 7;Non personnalis\u00e9 7;Personnalis\u00e9 8;Non personnalis\u00e9 8;Personnalis\u00e9 9;Non personnalis\u00e9 9;Personnalis\u00e9 10;Non personnalis\u00e9 10;Personnalis\u00e9 11;Non personnalis\u00e9 11;Personnalis\u00e9 12;Non personnalis\u00e9 12;Personnalis\u00e9 13;Non personnalis\u00e9 13;Personnalis\u00e9 14;Non personnalis\u00e9 14;Personnalis\u00e9 15;Non personnalis\u00e9 15","13807":"Tous les crit\u00e8res;Un des crit\u00e8res","13810":"----=0;Liste des A;Liste des Cc;Liste des Ccc;La liste faire suivre;Tous les destinataires;L'exp\u00e9diteur;N'importe quel faire suivre;N'importe quel nom A;N'importe quel nom Cc;Chaque nom Ccc;N'importe quel destinataire;L'objet;La date d'envoi;La date de r\u00e9ception;La date de cr\u00e9ation;La date de derni\u00e8re modification;La date d'expiration;La taille;Le nom;Le sujet;La liste des pi\u00e8ces jointes;N'importe quel pi\u00e8ce jointe;Le corps;Les en-t\u00eates Internet;L'historique;Le type d'objet;Le type de fichier;Le type de formulaire;L'ic\u00f4ne;Le type de m\u00e9dia;Le champ donn\u00e9e;Un champ;Toujours;Jamais;Quand la probabilit\u00e9 est de;Quand le niveau de spam est;Quand le conteneur est;Quand l'utilisateur","13830":"=-1;Ne rien faire=0;D\u00e9placer=1;Copier=2;Supprimer=3;G\u00e9n\u00e9rer une r\u00e9ponse=4;Rejeter=5;Faire suivre=6;Rediriger=7;Envoyer un message pager=8;Envoyer une notification=9;Envoyer un nouveau message=10;D\u00e9finir l'\u00e9tat d'approbation de l'\u00e9l\u00e9ment=11;Mettre un drapeau rouge \u00e0 cet \u00e9l\u00e9ment=12;R\u00e9gler l'\u00e9l\u00e9ment en ouverture automatique=13;Prot\u00e9ger cet \u00e9l\u00e9ment contre la suppression=14;Mettre en lecture seule=54;Sp\u00e9cifier l'ic\u00f4ne=15;Sp\u00e9cifier la couleur=16;Sp\u00e9cifier la priorit\u00e9=17;Sp\u00e9cifier la sensibilit\u00e9 de l'\u00e9l\u00e9ment=18;Sp\u00e9cifier la p\u00e9riode d'expiration=19;Sp\u00e9cifier le jeu de caract\u00e8res de l'\u00e9l\u00e9ment=20;Annuler l'action par d\u00e9faut=21;Placer un champ text dans cet \u00e9l\u00e9ment=22;Placer un champ num\u00e9rique dans cet \u00e9l\u00e9ment=23;Placer un champ date dans cet \u00e9l\u00e9ment=24;Jouer un son=25;Ouvrir une bo\u00eete d'alerte=26;Obtenir confirmation avant traitement=27;Ajouter le nom s\u00e9lectionn\u00e9 aux permissions=28;Retirer le nom s\u00e9lectionn\u00e9 des permissions=29;Accorder des permissions au nom s\u00e9lectionn\u00e9=30;Retirer des permissions au nom s\u00e9lectionn\u00e9=31;Ajouter le nom s\u00e9lectionn\u00e9 \u00e0 mon carnet d'adresses=32;Supprimer le nom s\u00e9lectionn\u00e9 de mon carnet d'adresses=33;Abonner le nom s\u00e9lectionn\u00e9 \u00e0 une conf\u00e9rence=34;D\u00e9sabonner le nom s\u00e9lectionn\u00e9 de la conf\u00e9rence=35;Ajouter le nom s\u00e9lectionn\u00e9 \u00e0 ma liste de diffusion=36;Supprimer le nom s\u00e9lectionn\u00e9 de ma liste de diffusion=37;Ajouter ce nom \u00e0 une liste globale=38;Supprimer ce nom d'une liste globale=39;Ajouter ce nom \u00e0 un groupe d'utilisateurs=40;Supprimer ce nom d'un groupe d'utilisateurs=41;Cr\u00e9er une entr\u00e9e rule log=42;D\u00e9finir le sujet=43;Stopper l'ex\u00e9cution de la r\u00e8gle=44;Lancer le script de Batch Admin=45;D\u00e9marrer l'assistant d'application=46;Changer le type du formulaire=47;D\u00e9finir le nom=48;Lien=49;Copier le compteur=50;Lier personne=51;Ouvrir s\u00e9lecteur=52;D\u00e9finir le type d'object=53;D\u00e9finir l'affichage=55"}' return str def spitManagedTasksForm(): str = '"FORM":{"ID":20508,"1012":"-=0;Assign\u00e9e=6;Prise en compte=7;En cours=2;Achev\u00e9e=1;En attente=3;Diff\u00e9r\u00e9e=4;Annul\u00e9e=5"}' return str itemsStrIO = StringIO() jsonStr = '' myMLItem = fcp.MyMLItem thisWebID = myMLItem.WebID() type = myMLItem.Type() subType = myMLItem.SubType() fType,forceColumnarValue = fcp.GetEscapedFormField(13395,0) bForceColumnar = subType==20 or subType==77 or (forceColumnarValue==1 and type == fcpdefs.oMailBox) windowTitle = webutil.stripNone(fcp, fcpdefs.dObjName) nFiles = fcp.NFiles if nFiles==None: nFiles = 0 nFolders = fcp.NFolders if nFolders==None: nFolders = 0 view = fcp.view if view==None: view = 0 nUpperPaneItems = 0 # render for a new window or just add more records bFullPage = False if (Page=='NEXT' or Page=='PREVIOUS' or Page=='ALL') else True bIsThreadListing = True if Thread else False bShowingDeleted = True if Deleted=='' else False if subType==7 or subType==40 or type==fcpdefs.oMailBox: splitType = fcpdefs.viewInfo.splitVertical else: splitType, splitPos, splitPercent = fcp.GetSplitInfo() if Navigator=="1": bIsViewByIcon = True navigatorString = 'fcNavigator="1" ' else: bIsViewByIcon = fcp.IsViewByIcon() if (not bForceColumnar and not bShowingDeleted and subType!=7 and subType!=40 and subType!=66 and type!=fcpdefs.oMailBox) else False navigatorString = '' ratingType = fcp.solicitationMethod if not ratingType: ratingType = 0 parentWebID = myMLItem.ParentWebID() if parentWebID: parentWebIDStr = 'data-x-fcp-parentid="'+parentWebID+'"' else: parentWebIDStr = '' options = fcp.options if options==None: options = 0 if bForceColumnar: options = options | 0x0200 if subList!=None: nItems = len(subList) for i in range(nItems): item = subList[i] if item: itemsStrIO.write(item.AsJSONArrayItem(mlitem.sendAll,(client.serverTZ,client.clientTZ)) + ',') if not item.IsContainer() and item.IsUpperPaneItem(): nUpperPaneItems += 1 else: i = 0 item = fcp.GetNthMLItem(i) while item: itemsStrIO.write(item.AsJSONArrayItem(mlitem.sendAll,(client.serverTZ,client.clientTZ)) + ',') if not item.IsContainer() and item.IsUpperPaneItem(): nUpperPaneItems += 1 i = i + 1 item = fcp.GetNthMLItem(i) if bFullPage: jsonStr += '{"MYMLITEM":'+myMLItem.AsJSONArrayItem(mlitem.sendAll,(client.serverTZ,client.clientTZ))+',"NFILES":'+str(nFiles)+',"NFOLDERS":'+str(nFolders)+',"NUPPERPANEITEMS":'+str(nUpperPaneItems)+',"RIGHTS":'+str(fcp.rights) jsonStr += ',"VIEW":'+str(view)+',"OPTIONS":'+str(options)+',"RATINGTYPE":'+str(ratingType) if subType==29: jsonStr += ','+spitRulesForm() elif subType==77: jsonStr += ','+spitManagedTasksForm() formData = fcp.FormFieldDataAsJSON() if formData!=None: jsonStr += ','+formData else: fType,colLayout = fcp.GetEscapedFormField(13100) if colLayout==None or len(colLayout)==0: fType,colLayout = fcp.GetEscapedFormField(13000) if colLayout and len(colLayout): colLayoutBase64 = base64.standard_b64encode(colLayout) jsonStr += ',"FORMDATA":{"13100":{"b64":"'+colLayoutBase64+'"}}' jsonStr += ',"MLDS":[' else: jsonStr += '{"MLDS":[' strOut = itemsStrIO.getvalue() itemsStrIO.close() lenStrOut = len(strOut) if lenStrOut>0 and strOut[lenStrOut-1]==',': strOut = strOut[0:lenStrOut-1] jsonStr += strOut + ']}' if bFullPage: fldrStyle = '' if nFolders else ' style="display:none;"' upperPaneStyle = '' if nUpperPaneItems else ' style="display:none;"' bIsColumnView = True if Columnar=="1" and (((options & 0x200) != 0 and not (subType==67 or subType==66 or subType==33) and not bShowingDeleted) or (subType==40 or subType==32 or subType==42 or subType==29 or subType==20)) else False bLowerLayoutIsSet = fcp.UseLowerLayout() bUseLowerLayout = True if (bIsColumnView and bLowerLayoutIsSet) or (not bIsColumnView and bLowerLayoutIsSet) else False bSplitView = not bShowingDeleted and not bIsViewByIcon and not subType==16 bHideSplit = bSplitView and (bIsColumnView or subType==67 or subType==66 or subType==33 or subType==20 or type==19) if Retrieve=='SUMMARY': extraData = 'data-x-fc-viewitems="0x0008"' elif bShowingDeleted: extraData = 'data-x-fc-viewitems="0x0007" data-x-fcp-keepopen="true"' elif bIsViewByIcon and navigatorString == '': extraData = 'data-x-fc-viewitems="0x0003"' elif subType==42: extraData = 'data-x-fc-viewitems="0x0007"' elif splitType==fcpdefs.viewInfo.splitNone: extraData = 'data-x-fc-viewitems="0x0003"' else: extraData = '' containerClasses = '' listClasses = ' fc-servobj-view fc-scrolling-view' if bShowingDeleted or bIsThreadListing or subType==42 or type==19: extraData = extraData + ' data-x-fc-getting-more-items=1' wrapperClassList = 'fc-views-wrapper' if bShowingDeleted or subType==42: listClasses += ' fc-only-deleted' if not bShowingDeleted: tbOptions = {'bIsViewByIcon':bIsViewByIcon,'bSplitView':bSplitView,'bHideSplit':bHideSplit,'bShowingDeleted':(bShowingDeleted or subType==42),'nUpperPaneItems':nUpperPaneItems,'bIsColumnView':bIsColumnView,'bIsThreadListing':bIsThreadListing}; toolbar.create(fcp,tbOptions) if subType==66: wrapperData = 'data-x-fc-tab-name="cmd_ShowFeed"' elif subType==33: wrapperData = 'data-x-fc-tab-name="cmd_ShowBlogs"' elif type==19: wrapperData = 'data-x-fc-tab-name="cmd_ShowHitListContent"' extraData = extraData + ' data-x-fcp-updatehandler="FC.updateSearchStatus"' else: wrapperData = '' if fcp.solicitationMethod: extraData = extraData + ' data-x-fcp-ratingtype="'+str(fcp.solicitationMethod)+'"' context.write('