|
|
| version 1.5, 2004/07/05 11:24:01 | version 1.7, 2004/07/08 15:55:27 |
|---|---|
| Line 23 class versionedFileFolder(Folder): | Line 23 class versionedFileFolder(Folder): |
| manage_options = Folder.manage_options+( | manage_options = Folder.manage_options+( |
| {'label':'Generate Index.html','action':'generateIndexHTML'}, | {'label':'Generate Index.html','action':'generateIndexHTML'}, |
| {'label':'Generate history_template.html','action':'generateHistoryHTML'}, | |
| ) | ) |
| def generateIndexHTML(self,RESPONSE=None): | def generateIndexHTML(self,RESPONSE=None): |
| Line 46 class versionedFileFolder(Folder): | Line 47 class versionedFileFolder(Folder): |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| def generateHistoryHTML(self,RESPONSE=None): | |
| """lege standard index.html an""" | |
| if not hasattr(self,'history_template.html'): | |
| zt=ZopePageTemplate('history_template.html') | |
| self._setObject('history_template.html',zt) | |
| default_content_fn = os.path.join(package_home(globals()), | |
| 'zpt/versionHistory.zpt') | |
| text = open(default_content_fn).read() | |
| zt.pt_edit(text, 'text/html') | |
| else: | |
| return "already exists!" | |
| if RESPONSE is not None: | |
| RESPONSE.redirect('manage_main') | |
| def getVersionedFiles(self): | def getVersionedFiles(self): |
| """get all versioned files""" | """get all versioned files""" |
| Line 135 class versionedFileObject(File): | Line 156 class versionedFileObject(File): |
| Kind='File',kind='file') | Kind='File',kind='file') |
| manage_editForm._setName('manage_editForm') | manage_editForm._setName('manage_editForm') |
| def download(self): | |
| """download and lock""" | |
| self.content_type="octet/stream" | |
| self.REQUEST.RESPONSE.redirect(self.absolute_url()) | |
| def downloadLocked(self): | |
| """download and lock""" | |
| if self.REQUEST['AUTHENTICATED_USER']=='Anonymous User': | |
| return "please login first" | |
| if not self.aq_parent.lockedBy=="": | |
| return "cannot be locked because is already locked by %s"%self.lockedBy | |
| self.aq_parent.lockedBy=self.REQUEST['AUTHENTICATED_USER'] | |
| self.content_type="octet/stream" | |
| self.REQUEST.RESPONSE.redirect(self.absolute_url()) | |
| def setVersionNumber(self,versionNumber): | def setVersionNumber(self,versionNumber): |
| """set version""" | """set version""" |
| Line 241 class versionedFile(Folder): | Line 281 class versionedFile(Folder): |
| def history(self): | def history(self): |
| """history""" | """history""" |
| ext=self.ZopeFind(self.aq_parent,obj_ids=["history_template.html"]) | |
| if ext: | |
| return getattr(self,ext[0][1].getId())() | |
| pt=PageTemplateFile('Products/versionedFile/zpt/versionHistory').__of__(self) | pt=PageTemplateFile('Products/versionedFile/zpt/versionHistory').__of__(self) |
| return pt() | return pt() |
| Line 276 class versionedFile(Folder): | Line 321 class versionedFile(Folder): |
| else: | else: |
| return "Sorry file is locked by somebody else" | return "Sorry file is locked by somebody else" |
| def manage_addVersionedFileObject(self,id,vC,author,file='',title='',precondition='', content_type='',RESPONSE=None): | def manage_addVersionedFileObject(self,id,vC,author,file='',title='',precondition='', content_type='',changeName='no',RESPONSE=None): |
| """add""" | """add""" |
| vC=self.REQUEST['vC'] | vC=self.REQUEST['vC'] |
| author=self.REQUEST['author'] | author=self.REQUEST['author'] |
| if changeName=="yes": | |
| self.title=file.filename[0:] | |
| id="V%i"%self.getVersion()+"_"+self.title | id="V%i"%self.getVersion()+"_"+self.title |
| manage_addVersionedFileObject(self,id,vC,author,file,"V%i"%self.getVersion()+"_"+self.title,precondition, content_type) | manage_addVersionedFileObject(self,id,vC,author,file,"V%i"%self.getVersion()+"_"+self.title,precondition, content_type) |
| objs=self.ZopeFind(self,obj_ids=[id])[0][1].setVersionNumber(int(self.getVersion())) | objs=self.ZopeFind(self,obj_ids=[id])[0][1].setVersionNumber(int(self.getVersion())) |
| Line 290 class versionedFile(Folder): | Line 340 class versionedFile(Folder): |
| security.declareProtected('AUTHENTICATED_USER','downloadLocked') | security.declareProtected('AUTHENTICATED_USER','downloadLocked') |
| def download(self): | |
| """download and lock""" | |
| self.getLastVersion().content_type="octet/stream" | |
| self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'/'+self.getId()+'/'+self.getLastVersion().getId()) | |
| def downloadLocked(self): | def downloadLocked(self): |
| """download and lock""" | """download and lock""" |
| if self.REQUEST['AUTHENTICATED_USER']=='Anonymous User': | if self.REQUEST['AUTHENTICATED_USER']=='Anonymous User': |
| Line 297 class versionedFile(Folder): | Line 352 class versionedFile(Folder): |
| if not self.lockedBy=="": | if not self.lockedBy=="": |
| return "cannot be locked because is already locked by %s"%self.lockedBy | return "cannot be locked because is already locked by %s"%self.lockedBy |
| self.lockedBy=self.REQUEST['AUTHENTICATED_USER'] | self.lockedBy=self.REQUEST['AUTHENTICATED_USER'] |
| self.getLastVersion().content_type="octet/stream" | |
| self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'/'+self.getId()+'/'+self.getLastVersion().getId()) | self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+'/'+self.getId()+'/'+self.getLastVersion().getId()) |
| def manage_addVersionedFileForm(self): | def manage_addVersionedFileForm(self): |