## -*- 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":"Aktiv","v":1},"13801":"=-1;Modtag=0;Send=1;Opret=2;Slet=3;Flyt=4;\u00c5bn=5;Udl\u00f8b=6;\u00c6ndret=7;Svar=8;Videresend=9;Manuel=10;L\u00e6s=11;Luk=12;Rediger=13;P\u00e5mindelse=14;Container \u00e5bning=15","13806":"Ugyldig=0;Lig med 1=1;Ikke lig med 1;Lig med 2;Ikke lig med 2;Lig med 3;Ikke lig med 3;St\u00f8rre end 1;Mindre end 1;St\u00f8rre end 2;Mindre end 2;St\u00f8rre end 3;Mindre end 3;Medlem af ops\u00e6tning=21;Ikke medlem af ops\u00e6tning;Eksisterer=31;Eksisterer ikke;Indeholder=41;Indeholder ikke;Starter med=51;Starter ikke med;Ender med=61;Ender ikke med;Speciel 1=101;Ikke speciel 1;Speciel 2;Ikke speciel 2;Speciel 3;Ikke speciel 3;Speciel 4;Ikke speciel 4;Speciel 5;Ikke speciel 5;Speciel 6;Ikke speciel 6;Speciel 7;Ikke speciel 7;Speciel 8;Ikke speciel 8;Speciel 9;Ikke speciel 9;Speciel 10;Ikke speciel 10;Speciel 11;Ikke speciel 11;Speciel 12;Ikke speciel 12;Speciel 13;Ikke speciel 13;Speciel 14;Ikke speciel 14;Speciel 15;Ikke speciel 15","13807":"Alle kriterier;Et kriterie","13810":"----=0;Til listen;Cc listen;Bcc listen;Videresend listen;Alle modtagere;Afsender;Videresender;Til navn;Cc navn;Bcc navn;En modtager;Objektet;Afsendelsesdato;Modtagelsesdato;Oprettelsesdato;Redigeringsdato;Udl\u00f8bsdato;St\u00f8rrelse;Navnet;Emnet;Bilagslisten;Et bilag;Indhold;Internet hoved;Historie;Objekttypen;File typen;Formular typen;Ikonet;Media typen;Felt data;Et felt;Altid;Aldrig;N\u00e5r odds er;N\u00e5r SPAM niveauet er;N\u00e5r containeren;N\u00e5r brugeren","13830":"=-1;G\u00f8r ingenting=0;Flyt=1;Kopier=2;Slet=3;Opret svar=4;Afvis=5;Videresend=6;Omdiriger=7;Send en tekstmeddelelse=8;Send en notifikation=9;Send en ny meddelelse=10;S\u00e6t dette emnes godkendelsesstatus=11;S\u00e6t dette emnes l\u00e6st flag=12;S\u00e6t dette emne til at \u00e5bne automatisk=13;Beskyt dette emne mod sletning=14;Lav til l\u00e6s kun=54;S\u00e6t dette emnes ikon=15;S\u00e6t dette emnes farve=16;S\u00e6t dette emnes prioritet=17;S\u00e6t dette emnes f\u00f8lsomhed=18;S\u00e6t dette emnes udl\u00f8bsperiode=19;S\u00e6t dette emnes karakters\u00e6t=20;Undertryk standard handlinger=21;S\u00e6t et streng felt i dette emne=22;S\u00e6t et numerisk felt i dette emne=23;S\u00e6t et dato felt i dette emne=24;Afspil en lyd=25;\u00c5bn en advarselsboksa=26;F\u00e5 bekr\u00e6ftelse f\u00f8r forts\u00e6ttelse=27;Tilf\u00f8j det valgte navn til tilladelseslisten=28;Fjern det valgte navn fra tilladelseslisten=29;Giv tilladelser til det valgte navn=30;Fjern tilladelser fra det valgte navn=31;Tilf\u00f8j det valgte navn til min adressebog=32;Fjern det valgte navn fra min adressebog=33;Abbonner det valgte navn p\u00e5 en konference=34;Afmeld det valgte navn fra en konference=35;tilf\u00f8j det valgte navn til min mailliste=36;Fjern det valgte navn fra min mailliste=37;Tilf\u00f8j dette navn til en global mailliste=38;Fjern dette navn fra en global mailliste=39;Tilf\u00f8j dette navn til en brugergruppe=40;Fjern dette navn fra en brugergruppe=41;Skriv i log=42;S\u00e6t emne=43;Stop regel afvikling=44;K\u00f8r Batch Admin Script=45;K\u00f8r hj\u00e6lpeapplikation=46;Skift formulartype=47;S\u00e6t navn=48;Link=49;Kopier t\u00e6ller=50;Link til person=51;\u00c5bn v\u00e6lger=52;S\u00e6t objekt type=53;S\u00e6t visning=55"}' return str def spitManagedTasksForm(): str = '"FORM":{"ID":20508,"1012":"-=0;Tildelt=6;Bekr\u00e6ftet=7;Igang=2;F\u00e6rdig=1;Vente=3;Udsat=4;Aflyst=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('