- z`@c sdklZdklZdklZdklZlZdkl Z dk l Z dk l Z dk lZ dZ d efd YZ7ed eZ:d d d edZYdefdYZuededdddddZwd d d d d edZdefdYZdZedZ ee eedS((sFolder(sFile(scookId(sDTMLFilesInitializeClass(sPageTemplateFile(sgetSecurityManager(s PageTemplate(sClassSecurityInfocs  t|d|dSdS(Ni(scmpsxsy(sxsy((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pyssortv ssversionedFileFoldercsr tZdZdZeZeidddZdZ#dZ )de dZ RS( sFolder with versioned filessversionedFileFoldersAUTHENTICATED_USERs addFileFormcs@dGH|i|ddg}dG|GH|SdS(sget all versioned filesshis obj_metatypess versionedFileN(sselfsZopeFindsversionedFiles(sselfsversionedFiles((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysgetVersionedFiless  cs,tdi|} |SdS(smains0Products/versionedFile/zpt/versionFileFolderMainN(sPageTemplateFiles__of__sselfspt(sselfspt((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys index_htmlsc sD#$%tdtddddddi|}&|SdS( s add a filesdtml/newFileAddsKindsVersionedFileObjectskindsversionedFileObjectsversions1N(sDTMLFilesglobalss__of__sselfsout(sselfsout((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys addFileForm#s0scs)*+|i}-|iid}.t||dd/|i|}0||_ 2|i ||||d|4|i|iddS(s add a new filesvCss content_typesURL1N(sfilesfilenamesidsselfsREQUESTsformsvCsmanage_addVersionedFiles_getObsobstitlesmanage_addVersionedFileObjects content_typesRESPONSEsredirect(sselfsvCsfiles content_typesRESPONSEsobsid((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysaddFile)s  ( s__name__s __module__s__doc__s meta_typesClassSecurityInfossecuritysdeclareProtectedsgetVersionedFiless index_htmls addFileFormsNonesaddFile(((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysversionedFileFolder s     sdtml/folderAddsics:CDt}Et||_F||_G|i||H|i|}Jti }L|o5M|d| oNt dnQ|i nT|tj oU|i||ddSndS(sAdd a new Folder object with id *id*. If the 'createPublic' and 'createUserF' parameters are set to any true value, an 'index_html' and a 'UserFolder' objects are created respectively in the new folder. sAdd User Folderss+You are not authorized to add User Folders.s update_menuiN(sversionedFileFoldersobsstrsidstitlesselfs _setObjects_getObsgetSecurityManagerscheckPermissions createUserFs Unauthorizedsmanage_addUserFoldersREQUESTsNones manage_main(sselfsidstitles createPublics createUserFsREQUESTsobscheckPermission((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysmanage_addVersionedFileFolder:s    sversionedFileObjectcsuYtZdZZ\dZ^ede_ddddZ`eidcdZgd Z kd Z RS( sFile Object im FoldersversionedFileObjects dtml/fileEditsKindsFileskindsfilesmanage_editFormcscde||_dS(s set versionN(s versionNumbersself(sselfs versionNumber((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pyssetVersionNumbercscsghi|iSdS(s get versionN(sselfs versionNumber(sself((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysgetVersionNumbergscshklm|i}n|i}o|tjp |tjo otSnp|ii|ddSdS(s last Editoris user_nameN(sselfs_p_jarsjars_p_oidsoidsNonesdbshistory(sselfsoidsjar((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys lastEditorks    ( s__name__s __module__s__doc__s meta_typesDTMLFilesglobalssmanage_editForms_setNamessetVersionNumbersgetVersionNumbers lastEditor(((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysversionedFileObjectYs   s dtml/fileAddsKindsVersionedFileObjectskindsversions1cs,w{}t|}~t|}t|}t|}t|||\}}|i}|i |t ||d||t||i |_ |o|i |i|n|o||i |_n|tj o"|di|idndS(sVAdd a new File object. Creates a new File object 'id' with the contents of 'file'ssRESPONSEs /manage_mainN(sstrsidstitles content_types preconditionscookIdsfilesselfsthiss _setObjectsversionedFileObjectsvCs_getObsversionComments manage_uploadsREQUESTsNonesredirects absolute_url(sselfsidsvCsfilestitles preconditions content_typesREQUEST((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysmanage_addVersionedFileObjectws%  s versionedFilecstZdZdZdZdZdZdZeZ e i dddZ d Z d Z eZ e i dd d Zd d d d edZe i dddZRS(sVersioniertes Filecs.||_||_||_dS(sinitN(sidsselfstitleslockedBy(sselfsidstitleslockedBy((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys__init__s  s versionedFilecsd}t}xy|i|D]e}t|ddoHt|di|jo't|di}|d}nnq+W|SdS(s Last Versioniis versionNumberN( stmpsNones lastVersionsselfsZopeFindsversionshasattrsints versionNumber(sselfstmpsversions lastVersion((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysgetLastVersions   csK|i}d|i|i|i|i|ifSdS(s main views6File: %s Version:%i modified:%s size:%s modified by:%sN(sselfsgetLastVersions lastVersionstitles versionNumbersbobobase_modification_timesgetSizes lastEditor(sselfs lastVersion((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys index_htmlscsd}xl|i|D]X}t|ddo;t|di|jot|di}nnqW|dSdS(Niis versionNumber(stmpsselfsZopeFindsversionshasattrsints versionNumber(sselfstmpsversion((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys getVersions  "sAUTHENTICATED_USERsunlockcs,tdi|}|SdS(shistorys)Products/versionedFile/zpt/versionHistoryN(sPageTemplateFiles__of__sselfspt(sselfspt((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pyshistoryscsg}xV|i|D]B}t|ddo%|i|di|dfnq"W|it|SdS(sget all versionsis versionNumberN( sretsselfsZopeFindsversionshasattrsappends versionNumberssortssortv(sselfsversionsret((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys getVersionss  )csut|it|idgjo'd|_|i|idnd|i|idfSdS(sunlocksAUTHENTICATED_USERssURL2s!Sorry, not locked by you! (%s,%s)N(sstrsselfslockedBysREQUESTsRESPONSEsredirect(sselfsRESPONSE((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysunlocks ) saddVersionedFileObjectFormc st|iddgjo dSn|i|idjp |idjoDtdtdddd d |ii|}|Snd Sd S( sadd a new versionsAUTHENTICATED_USERsAnonymous Usersplease login firstss dtml/fileAddsKindsVersionedFileObjectskindsversionedFileObjectsversions%Sorry file is locked by somebody elseN( sstrsselfsREQUESTslockedBysDTMLFilesglobalss getVersions__of__sout(sselfsout((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysaddVersionedFileObjectForms  *6sc s|id}d|id|i}t||||d|id|i|||i |d|gddi t |i}|o|i|idndS( saddsvCsV%is_sobj_idsiisURL2N(sselfsREQUESTsvCs getVersionstitlesidsmanage_addVersionedFileObjectsfiles preconditions content_typesZopeFindssetVersionNumbersintsobjssRESPONSEsredirect( sselfsidsvCsfilestitles preconditions content_typesRESPONSEsobjs((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysmanage_addVersionedFileObjects48 sdownloadLockedcs|iddjo dSn|idj od|iSn|id|_|iii|idd|id|iidS( sdownload and locksAUTHENTICATED_USERsAnonymous Usersplease login firstss0cannot be locked because is already locked by %ssURL1s/N(sselfsREQUESTslockedBysRESPONSEsredirectsgetIdsgetLastVersion(sself((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysdownloadLockeds (s__name__s __module__s__doc__s__init__s meta_typesgetLastVersions index_htmls getVersionsClassSecurityInfossecuritysdeclareProtectedshistorys getVersionssunlocksaddVersionedFileObjectFormsNonesmanage_addVersionedFileObjectsdownloadLocked(((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys versionedFiles"          cs,tdi|}|SdS(s"interface for adding the OSAS_roots/Products/versionedFile/zpt/addVersionedFile.zptN(sPageTemplateFiles__of__sselfspt(sselfspt((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysmanage_addVersionedFileFormscsVt|||}|i|||tj o |i dndS(sadd the OSAS_roots manage_mainN( s versionedFilesidstitleslockedBysnewObjsselfs _setObjectsRESPONSEsNonesredirect(sselfsidstitleslockedBysRESPONSEsnewObj((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pysmanage_addVersionedFiles N(s OFS.FoldersFolders OFS.ImagesFilescookIdsGlobalssDTMLFilesInitializeClasss'Products.PageTemplates.PageTemplateFilesPageTemplateFiles AccessControlsgetSecurityManagers#Products.PageTemplates.PageTemplates PageTemplatesClassSecurityInfossortvsversionedFileFoldersglobalss!manage_addVersionedFileFolderFormsNonesmanage_addVersionedFileFoldersversionedFileObjects!manage_addVersionedFileObjectFormsmanage_addVersionedFileObjects versionedFilesmanage_addVersionedFileFormsmanage_addVersionedFile(sversionedFileObjectsmanage_addVersionedFileObjectsversionedFileFolders!manage_addVersionedFileFolderFormsgetSecurityManagersmanage_addVersionedFileFormsClassSecurityInfoscookIdsInitializeClasss PageTemplates versionedFilesPageTemplateFilesFilesmanage_addVersionedFiles!manage_addVersionedFileObjectFormsFoldersmanage_addVersionedFileFoldersDTMLFilessortv((sE/Applications/Zope/lib/python/Products/versionedFile/versionedFile.pys?s& *' h