## -*- 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":"Attivato","v":1},"13801":"=-1;Ricevuto=0;Spedito=1;Creato=2;Eliminato=3;Spostato=4;Aperto=5;Scaduto=6;Modificato=7;Risposto=8;Inoltrato=9;Manuale=10;Letto=11;Chiuso=12;Modificato=13;Promemoria=14;Contenitore Aperto=15","13806":"Non Valido=0;Uguale 1=1;Diverso 1;Uguale 2;Diverso 2;Uguale 3;Diverso 3;Maggiore di 1;Minore di 1;Maggiore di 2;Minore di 2;Maggiore di 3;Minore di 3;Membro dell'Insieme=21;Non Membro dell'Insieme;Esiste=31;Non Esiste;Contiene=41;Non Contiene;Comincia con=51;Non Comincia con;Finisce con=61;Non Finisce con;Personalizzato 1=101;Non Personalizzato 1;Personalizzato 2;Non Personalizzato 2;Personalizzato 3;Non Personalizzato 3;Personalizzato 4;Non Personalizzato 4;Personalizzato 5;Non Personalizzato 5;Personalizzato 6;Non Personalizzato 6;Personalizzato 7;Non Personalizzato 7;Personalizzato 8;Non Personalizzato 8;Personalizzato 9;Non Personalizzato 9;Personalizzato 10;Non Personalizzato 10;Personalizzato 11;Non Personalizzato 11;Personalizzato 12;Non Personalizzato 12;Personalizzato 13;Non Personalizzato 13;Personalizzato 14;Non Personalizzato 14;Personalizzato 15;Non Personalizzato 15","13807":"Tutti i Criteri;Qualsiasi Criterio","13810":"----=0;La lista A;La lista Cc;La lista Bcc;La lista inoltri;Tutti i destinatari;Chi invia;Qualsiasi inoltratore;Qualsiasi nome A;Qualsiasi nome Cc;Qualsiasi nome Bcc;Qualsiasi destinatario;L\u2019oggetto;La data d\u2019invio;La data di ricezione;La data di creazione;La data ultima modifica;La data di scadenza;La dimensione;Il nome;Il soggetto;La lista allegati;Qualsiasi allegato;Il corpo del messaggio;L\u2019intestazione Internet;La cronologia;Il tipo d\u2019oggetto;Il tipo di file;Il tipo di modulo;L\u2019icona;Il tipo di media;Il campo data;Un campo;Sempre;Mai;Quando le probabilit\u00e0 sono;Quando il livello di SPAM \u00e8;Quando il contenitore;Quando l\u2019utente","13830":"=-1;Nessuna modifica=0;Sposta=1;Copia=2;Elimina=3;Genera risposta=4;Rifiuta=5;Inoltra=6;Reindirizza=7;Spedisci messaggio al cercapersone=8;Spedisci notifica=9;Spedisci nuovo messaggio=10;Imposta approvazione oggetto=11;Imposta oggetto come letto =12;Imposta apertura automatica oggetto=13;Proteggi l'oggetto da eliminazione=14;Imposta in sola lettura=54;Imposta icona oggetto=15;Imposta colore oggetto=16;Imposta priorit\u00e0 oggetto=17;Imposta riservatezza oggetto=18;Imposta scadenza=19;Imposta set di caratteri dell'oggetto=20;Annulla azione predefinita=21;Imposta campo stringa nell'oggetto=22;Imposta campo numerico nell'oggetto=23;Imposta un campo data nell'oggetto=24;Esegui suono=25;Apri box di allerta=26;Chiedi conferma prima di proseguire=27;Aggiungi il nome selezionato alla lista permessi=28;Rimuovi il nome selezionato dalla lista permessi=29;Concedi permessi al nome selezionato=30;Rimuovi permessi al nome selezionato=31;Aggiungi il nome selezionato alla rubrica=32;Rimuovi il nome selezionato dalla rubrica=33;Sottoscrivi il nome selezionato alla conferenza=34;Elimina sottoscrizione del nome selezionato alla conferenza=35;Aggiungi il nome selezionato alla mia mail list=36;Rimuovi il nome selezionato dalla mail list=37;Aggiungi il nome selezionato dalla mail list globale=38;Rimuovi il nome selezionato dalla mail list globale=39;Aggiungi il nome al gruppo utenti=40;Rimuovi il nome dal gruppo utenti=41;Scrivi sul log delle regole=42;Imposta Oggetto=43;Ferma Esecuzione Regola=44;Esegui Script Batch Admin=45;Esegui Applicazione Helper=46;Cambia Tipo Modulo=47;Imposta Nome=48;Collegamento=49;Copia Contatore=50; Collegamento Personale=51;Apri Selettore=52;Imposta Tipo Oggetto=53;Imposta Visualizzazione=55"}' return str def spitManagedTasksForm(): str = '"FORM":{"ID":20508,"1012":"-=0;Assegnato=6;Accettato=7;In Progress=2;Completato=1;In Attesa=3;Ritardato=4;Cancellato=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('
') if bIsViewByIcon: listClasses += ' viewbyicon' containerClasses += ' fc-view-single' context.write('
') else: if bShowingDeleted or subType==16: listClasses += ' fc-view-no-schema' elif not subType==42 and splitType!=fcpdefs.viewInfo.splitNone: context.write('
') listClasses += ' viewbylist' if bUseLowerLayout: listClasses += ' fc-view-layout-lower' else: listClasses += ' fc-view-layout-upper' if bSplitView: containerClasses += ' fc-view-splitleft' else: listClasses += ' fc-view-no-split' containerClasses += ' fc-view-single' if bIsColumnView: listClasses += ' fc-view-columns' containerClasses += ' fc-columnar-list' context.write('') if bIsColumnView: context.write('') context.write('') if bIsViewByIcon: context.write('') context.write('') else: context.write('') context.write('
') if not bShowingDeleted or subType==16 or subType==42: context.write('
') if bSplitView: previewClass = 'fc-preview fc-view-splitright' splitClass = '' if bHideSplit: previewClass += ' fc-hidden' splitClass = ' fc-hidden' context.write('
') context.write('
') if not bShowingDeleted or subType==16 or subType==42: context.write('
') context.write('
') context.write('
') else: context.write('') %>