version 1.25, 2006/06/15 22:02:40
|
version 1.26, 2006/06/17 14:53:35
|
Line 1062 class CDLIFileObject(versionedFileObject
|
Line 1062 class CDLIFileObject(versionedFileObject
|
|
|
security=ClassSecurityInfo() |
security=ClassSecurityInfo() |
|
|
|
|
|
security.declarePublic('makeThisVersionCurrent') |
|
|
|
def makeThisVersionCurrent_html(self): |
|
"""form for making this version current""" |
|
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','makeThisVersionCurrent.zpt')).__of__(self) |
|
return pt() |
|
def makeThisVersionCurrent(self,comment,author): |
|
"""copy this version to current""" |
|
parent=self.aq_parent |
|
|
|
|
|
newversion=parent.manage_addCDLIFileObject('',comment,author) |
|
newversion.data=self.data[0:] |
|
return True |
|
|
|
security.declarePublic('view') |
|
|
def view(self): |
def view(self): |
"""view file""" |
"""view file""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','viewCDLIFile.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','viewCDLIFile.zpt')).__of__(self) |
Line 1121 class CDLIFile(versionedFile,CatalogAwar
|
Line 1140 class CDLIFile(versionedFile,CatalogAwar
|
meta_type="CDLI file" |
meta_type="CDLI file" |
default_catalog='CDLICatalog' |
default_catalog='CDLICatalog' |
|
|
|
#security.declarePublic('history') |
|
def history(self): |
|
"""history""" |
|
|
|
ext=self.ZopeFind(self.aq_parent,obj_ids=["history_template.html"]) |
|
if ext: |
|
return getattr(self,ext[0][1].getId())() |
|
|
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','versionHistory')).__of__(self) |
|
return pt() |
|
|
|
|
|
|
def isContainedInBaskets(self,context=None): |
def isContainedInBaskets(self,context=None): |
Line 1321 class CDLIFileFolder(versionedFileFolder
|
Line 1351 class CDLIFileFolder(versionedFileFolder
|
|
|
|
|
|
|
|
def findObjectsFromListWithVersion(self,list): |
|
"""find objects from a list with versions |
|
@param list: list of tuples (cdliFile,version) |
|
""" |
|
|
|
|
|
|
|
#self.REQUEST.SESSION['fileIds']=list#store fieldIds in session for further usage |
|
#self.REQUEST.SESSION['searchList']=self.REQUEST.SESSION['fileIds'] |
|
|
|
|
|
pt=getattr(self,'filelistVersioned.html') |
|
|
|
return pt(search=list) |
|
|
|
|
|
|
def findObjectsFromList(self,display=False,start=None,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None): |
def findObjectsFromList(self,display=False,start=None,upload=None,list=None,basketName=None,numberOfObjects=None,RESPONSE=None): |
Line 1493 class CDLIRoot(Folder):
|
Line 1538 class CDLIRoot(Folder):
|
|
|
meta_type="CDLIRoot" |
meta_type="CDLIRoot" |
|
|
def getChangesByAuthor(self,author): |
def forceunlock(self): |
|
"break all locks" |
|
ret=[] |
|
for f in self.ZopeFind(self,obj_metatypes="CDLI file",search_sub=1): |
|
un=f[1].forceunlock() |
|
print un |
|
if un and un !="": |
|
ret.append((f[0],un)) |
|
print ret |
|
return ret |
|
|
|
def getChangesByAuthor(self,author,n=100): |
"""getChangesByAuthor""" |
"""getChangesByAuthor""" |
zcat=self.CDLICatalog |
zcat=self.CDLIObjectsCatalog |
return zcat({'lastEditor':author, |
res=zcat({'lastEditor':author, |
'sort_on':'getTime', |
'sort_on':'getTime', |
'sort_order':'descending', |
'sort_order':'descending', |
'sort_limit':n})[:n ] |
'sort_limit':n})[:n ] |
|
|
|
return res |
|
|
|
def getChangesByAuthor_html(self,author,n=100): |
|
"""html output for changes by author""" |
|
tmp={} |
|
list=[] |
|
for x in self.getChangesByAuthor(author): |
|
nr=x.getObject().getVersionNumber() |
|
id=x.getObject().aq_parent.getId() |
|
#hinzufuegen, wenn Version neuer als die |
|
if tmp.get(id,(0,0))[1] < nr: |
|
tmp[id]=(x.getObject().aq_parent,nr) |
|
|
|
|
|
return self.cdli_main.findObjectsFromListWithVersion(list=tmp.values()) |
|
|
def getLastChanges(self,n=100): |
def getLastChanges(self,n=100): |
"""get the last n changes""" |
"""get the last n changes""" |
n=int(n) |
n=int(n) |