## -*- 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":"Aktiviert","v":1},"13801":"=-1;Empfang=0;Senden=1;Erstellen=2;L\u00f6schen=3;Verschieben=4;\u00d6ffnen=5;Verfallsdatum=6;Ge\u00e4ndert=7;Beantworten=8;Weiterleiten=9;Manuell=10;Lesen=11;Schlie\u00dfen=12;Bearbeiten=13;Erinnerung=14;Container \u00f6ffnen=15","13806":"Ung\u00fcltig=0;Gleich 1=1;Ungleich 1;Gleich 2;Ungleich 2;Gleich 3;Ungleich 3;Gr\u00f6\u00dfer als 1;Kleiner als 1;Gr\u00f6\u00dfer als 2;Kleiner als 2;Gr\u00f6\u00dfer als 3;Kleiner als 3;Teil des Sets=21;Kein Teil des Sets;Existiert=31;Existiert nicht;Enth\u00e4lt=41;Enth\u00e4lt nicht;Beginnt mit=51;Beginnt nicht mit;Endet mit=61;Endet nicht mit;Benutzerdefiniert 1=101;Nicht benutzerdefiniert 1;Benutzerdefiniert 2;Nicht benutzerdefiniert 2;Benutzerdefiniert 3;Nicht benutzerdefiniert 3;Benutzerdefiniert 4;Nicht benutzerdefiniert 4;Benutzerdefiniert 5;Nicht benutzerdefiniert 5;Benutzerdefiniert 6;Nicht Benutzerdefiniert 6;Benutzerdefiniert 7;Nicht benutzerdefiniert 7;Benutzerdefiniert 8;Nicht benutzerdefiniert 8;Benutzerdefiniert 9;Nicht benutzerdefiniert 9;Benutzerdefiniert 10;Nicht benutzerdefiniert 10;Benutzerdefiniert 11;Nicht benutzerdefiniert 11;Benutzerdefiniert 12;Nicht benutzerdefiniert 12;Benutzerdefiniert 13;Nicht benutzerdefiniert 13;Benutzerdefiniert 14;Nicht benutzerdefiniert 14;Benutzerdefiniert 15;Nicht Benutzerdefiniert 15","13807":"Alle Kriterien;Beliebiges Kriterium","13810":"----=0;Die An-Empf\u00e4ngerliste;Die Cc-Liste;Die Bcc-Liste;Die Liste der Weiterleitungen;Alle Empf\u00e4nger;Der Absender;Irgendein Weiterleiter;Irgendein An-Name;Irgendein Cc-Name;Irgendein Bcc-Name;Irgendein Empf\u00e4nger;Das Objekt;Das Sendedatum;Das Empfangsdatum;Das Erstellungsdatum;Das Datum der letzten \u00c4nderung;Das Verfallsdatum;Die Gr\u00f6\u00dfe;Der Name;Der Betreff;Die Attachmentliste;Irgendein Attachment;Der Inhalt;Der Internet Header;Die Chronologie;Der Objekttyp;Der Dateityp;Der Formulartyp;Das Symbol;Der Medientyp;Die Felddaten;Ein Feld;Immer;Nie;Bei einer Chance von;Wenn der SPAM Level;Wenn der Container;Wenn der Benutzer","13830":"=-1;Nichts machen=0;Verschieben=1;Kopieren=2;L\u00f6schen=3;Antwort erzeugen=4;Ablehnen=5;Weiterleiten=6;Umleiten=7;Pagermeldung senden=8;Benachrichtigung senden=9;Neue Nachricht senden=10;Freigabestatus dieses Objekts setzen=11;Objekt als gelesen markieren=12;Objekt auf Automatisch \u00f6ffnen setzen=13;Objekt vor dem L\u00f6schen sch\u00fctzen=14;Auf Nur-Lese-Zugriff setzen=54;Symbol dieses Objekts setzen=15;Farbe dieses Objekts setzen=16;Priorit\u00e4t dieses Objekts setzen=17;Vertraulichkeitsstufe dieses Objekts setzen=18;Verfallskriterium dieses Objekts setzen=19;Zeichensatz dieses Objekts setzen=20;Standardaktionen unterdr\u00fccken=21;Setze ein Textfeld in diesem Objekt=22;Setze ein Zahlenfeld in diesem Objekt=23;Setze ein Datumsfeld in diesem Objekt=24;Sound abspielen=25;Ein Alarmfenster \u00f6ffnen=26;Vor dem Fortfahren eine Best\u00e4tigung einholen=27;Den ausgew\u00e4hlten Namen in die Berechtigungsliste einf\u00fcgen=28;Den ausgew\u00e4hlten Namen aus der Berechtigungsliste entfernen=29;Dem ausgew\u00e4hlten Namen Berechtigungen zuweisen=30;Dem ausgew\u00e4hlten Namen Berechtigungen entziehen=31;Den ausgew\u00e4hlten Namen meinen Kontakten hinzuf\u00fcgen=32;Den ausgew\u00e4hlten Namen aus meinen Kontakten entfernen=33;Den ausgew\u00e4hlten Namen zur Abonnentenliste einer Konferenz hinzuf\u00fcgen=34;Den ausgew\u00e4hlten Namen aus der Abonnentenliste einer Konferenz entfernen=35;Den ausgew\u00e4hlten Namen zu meinem Verteiler hinzuf\u00fcgen=36;Den ausgew\u00e4hlten Namne aus meinem Verteiler entfernen=37;Den ausgew\u00e4hlten Namen zu einerm globalen Verteiler hinzuf\u00fcgen=38;Den ausgew\u00e4hlten Namen aus einem globalen Verteiler entfernen=39;Diesen Namen einer Benutzergruppe hinzuf\u00fcgen=40;Diesen Namen aus einer Benutzergruppe entfernen=41;Eintrag im Rules Log vornehmen=42;Betreff setzen=43;Regelverarbeitung stoppen=44;Batch Admin Skript ausf\u00fchren=45;Hilfsapplikation ausf\u00fchren=46;Formulartyp \u00e4ndern=47;Name setzen=48;Verkn\u00fcpfen=49;Z\u00e4hler kopieren=50;Person verkn\u00fcpfen=51;Auswahl \u00f6ffnen=52;Objekttyp setzen=53;Ansicht setzen=55"}' return str def spitManagedTasksForm(): str = '"FORM":{"ID":20508,"1012":"-=0;Zugewiesen=6;Anerkannt=7;In Bearbeitung=2;Fertiggestellt=1;Wartet=3;Zur\u00fcckgestellt=4;Abgebrochen=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('