m .Ec @sdZdkZdklZlZlZdklZdklZl Z dk l Z dk l Z dk lZdklZd klZd klZd klZd klZd klZdklZdkZdkZdkZdk lZdk l!Z!dk l"Z"dk l#Z#dk l$Z%dk l&Z&dk'l(Z(dk)l*Z*dk+l,Z,dk-l.Z.dk/l0Z0gZ1de(eei2eeeei3e*fdYZ4ee4dk5Z5dZ6e5i7de6i8Z9e:dZ;dZ<ed e=Z>d!d!e:e:d"Z?dS(#sODTML Method objects. $Id: DTMLMethod.py 67823 2006-05-02 09:55:17Z philikon $ N(sHTMLsDTMLFiles MessageDialog(sInitializeClass(sItem_w__name__s pretty_tb(sguess_content_type(sPropertyManager(sClassSecurityInfo(s RoleManager(s rfc1123_date(sResourceLockedError(sWriteLockInterface(sElementWithTitle(sDateTime(squote(sgetSecurityManager(schange_dtml_methods(sview_management_screens(schange_proxy_roles(sview(s ftp_access(sRestrictedDTML(s Cacheable(s Forbidden(sPathTracebackSupplement(sIStreamIteratort DTMLMethodcBstZdZdZfZeZfZefZ e Z e i e dfdYZeZdJe_de_hdd <d d <d dKZ3e ie4d?d@Z5e ie4dAeedBZ6e iedCdDZ7e ie8dEe ie8dFe ie8dGdHZ9ddIZ:RS(TseDTML Method objects are DocumentTemplate.HTML objects that act as methods of their containers.s DTML Methodt func_codecBstZRS(N(t__name__t __module__(((t-/data/zmath/zope/lib/python/OFS/DTMLMethod.pyR@stselftREQUESTtRESPONSEitlabeltEdittactiont manage_mainthelptOFSPsDTML-DocumentOrMethod_Edit.stxtViewtsDTML-DocumentOrMethod_View.stxtProxytmanage_proxyFormsDTML-DocumentOrMethod_Proxy.stxtmanage_historyCopytmanage_beforeHistoryCopytmanage_afterHistoryCopys text/htmlt__call__cKs|ip|idt} | tj oti| o|d j o|i i dd d jo|i dt | n|i i dd d joL|i i dd d jo0|i i dp|i}|i d|qn| Sqnt|f}|i|d<|i|dR@R2R/((RRbs`  8         &      cCsti||||S(N(R.Rtinsttparenttnametvalue(RRARBRCRDtmd((RRscCsj|io\h}x9|iD].}y||}Wn d}nX|||%s because you do not have proxy roles. ( trolesR!RRR.tgetUsertusertutallowedR7t ForbiddenR(RtrequestRR7RR((RR|8s    t manage_proxycCsa|i|||i|t||_|i|o d}|i||d|SndS(sChange Proxy RolessSaved changes.R{N( RR|RRRSRRRR(RRRR((RRJs  tPrincipiaSearchSourcecCs |iS(s=Support for searching - the document's contents are searched.N(RR(R((RRUst document_srccCs+|dj o|iddn|iS(s#Return unprocessed document source.s Content-Types text/plainN(RR!R$RR(RRR((RRZs tPUTcCsm|i|||i||dd|idd}|i||i||i |i d|S(sHandle HTTP PUT requests.trefreshitBODYRiN( Rt dav__initRRtdav__simpleifhandlerR#tbodyR|RRt setStatus(RRRR((RRcs    tmanage_FTPstattmanage_FTPlistt manage_FTPgetcCs |iS(sGet source for FTP downloadN(RR(R((RRrsc Cs:tid||||dti|i|iS(Ntmanage_historyComparethistoryComparisonResults( RtinheritedAttributeRtrev1trev2RtHistoryt html_diffR(RRRRR((RRws(sselfsREQUESTsRESPONSE(R sDTML-DocumentOrMethod_Edit.stx(R sDTML-DocumentOrMethod_View.stx(R sDTML-DocumentOrMethod_Proxy.stx(ii(ii(ii(ii(ii(ii(;RRt__doc__t meta_typeRR!t index_htmlRtWriteLockInterfacet__implements__tClassSecurityInfoR/tdeclareObjectProtectedRRt co_varnamest co_argcountRt Historicaltmanage_optionst RoleManagertItem_w__name__t CacheabletdeclareProtectedtchange_dtml_methodsR'RRRIRJtDTMLFiletglobalsRKRLRMRUtgetSizeRXt_setNametmanage_uploadFormRWR tmanage_editDocumenttchange_proxy_rolesRRgRwRxRRR|Rtview_management_screensRRRt ftp_accessRR(((RR.sz       D      <       s[a-zA-Z0-9!#$%&'*+\-.\\^_`|~]+s (%s):(.*)c Csg}d}d}x>t||}|pN|||d!djo d}Pn|||d!djo d}Pn|Snt|i}|i ||i d}x|t |jo||djo~|i d|}|djo d}n.|i d|}|djo|Snd}|i |||!i||}qWqW|dj oCx@|D]4}|id}|i|di|iqgWn|||S( Niiis s s it (R"tsposteolent hdr_startthtmltmtlisttgroupstheaderRRtendR%tfindteolRQRR!tpopthkeyR$tjoin( RRRRRRRR"R((RR9sD $    's

This is the Document in the Folder.

sdtml/methodAddRcCst|tdj o|i}n|p t}nt|}t|}t|d|}||_|i ||}|dj ocy|i }Wn|d}nX|djod|t|f}n|ii|dndS(soAdd a DTML Method object with the contents of file. If 'file' is empty, default document text is used. RRtURL1s Add and Edit s%s/%ss /manage_mainN(R;RRtdefault_dm_htmlRPtidR-RtobRt _setObjectRR!tDestinationURLRtsubmittquoteRtredirect(RRR-RRRRR((Rt addDTMLMethods&      (@RRtGlobalsR6Rt MessageDialogtInitializeClasst SimpleItemRt pretty_tbtzope.contenttypeR?tPropertyManagert AccessControlRtAccessControl.RoleRt webdav.commont rfc1123_datetwebdav.LockableR~twebdav.WriteLockInterfaceRtZDOMtElementWithTitletDateTime.DateTimeRqturllibRtsyst AcquisitionR.tAccessControl.PermissionsRRRtviewRRtAccessControl.DTMLtRestrictedDTMLtCacheRt zExceptionsRtzExceptions.TracebackSupplementR)tZPublisher.IteratorsRRtImplicitRRtrettokentcompiletmatchRR!R9RRtaddFormR((RRRRRqRRRRRRR6R9RRRR~RRRRRRRRRRRRRRR.R?R)RRRRRR((Rt?sJ                       1R   "