version 1.2, 2006/03/02 19:57:32
|
version 1.5, 2006/04/03 18:19:45
|
Line 21 from Globals import Persistent, package_
|
Line 21 from Globals import Persistent, package_
|
from Acquisition import Implicit |
from Acquisition import Implicit |
from Products.ZCatalog.CatalogPathAwareness import CatalogAware |
from Products.ZCatalog.CatalogPathAwareness import CatalogAware |
|
|
|
|
|
from groups import manage_addGroupFolder |
|
|
refBasis="http://vlp.mpiwg-berlin.mpg.de/references?id=%s" |
refBasis="http://vlp.mpiwg-berlin.mpg.de/references?id=%s" |
|
|
|
basketMetatypes=['BasketXRef','BasketInternalLink','BasketExternalLink','BasketText'] |
|
|
#basis url for references |
#basis url for references |
|
|
publicationStatusList=['private','hidden','open_intern','open','group'] |
publicationStatusList=['private','hidden','open_intern','open','group'] |
Line 93 class BasketBasis(OrderedFolder):
|
Line 99 class BasketBasis(OrderedFolder):
|
|
|
def isAuthorized(self,role="read"): |
def isAuthorized(self,role="read"): |
"""check whether actual user is authorized""" |
"""check whether actual user is authorized""" |
#TODO implement isAuthorized to do type, read or edit |
#TODO replace occurences with checkPermission |
return True |
return True |
|
|
def getActualUserName(self): |
def getActualUserName(self): |
Line 148 class BasketFolder(BasketBasis):
|
Line 154 class BasketFolder(BasketBasis):
|
ret.append(object) |
ret.append(object) |
return ret |
return ret |
|
|
def checkPermission(self,modus): |
|
"""check permission""" |
|
if modus=='open': |
|
return True |
|
elif modus=='private': |
|
return self.isMemberOf('admin') |
|
|
|
def getCurrentBasket(self): |
def getCurrentBasket(self): |
"""select this basket for further work""" |
"""select this basket for further work""" |
|
|
return self.REQUEST.cookies.get('vlp_basket',None) |
id=self.REQUEST.cookies.get('vlp_basket',None) |
|
if id: |
|
return getattr(self,id,None) |
|
else: |
|
return None |
|
|
|
|
def index_html(self,mode='open'): |
def index_html(self,mode='open'): |
"""generische ansicht""" |
"""generische ansicht""" |
Line 194 class BasketFolder(BasketBasis):
|
Line 198 class BasketFolder(BasketBasis):
|
"""add a new basket""" |
"""add a new basket""" |
id=self.getNewId() |
id=self.getNewId() |
username=self.getActualUserName() |
username=self.getActualUserName() |
publicatonStatus="private" |
publicationStatus="private" |
manage_addBasket(self,str(id),title,"",username,publicationStatus,RESPONSE=None) |
manage_addBasket(self,str(id),title,"",username,publicationStatus,RESPONSE=None) |
newObj=getattr(self,str(id)) |
newObj=getattr(self,str(id)) |
|
#create a groupfolder |
|
|
|
manage_addGroupFolder(newObj,'groupFolder') |
|
|
|
#add current user to admin group of the new set |
|
|
|
newObj.groupFolder.addUserToGroups(str(self.REQUEST['AUTHENTICATED_USER']),['admin']) |
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect(newObj.absolute_url()+'/manageBasket') |
RESPONSE.redirect(newObj.absolute_url()+'/manageBasket') |
|
|
Line 224 class Basket(BasketBasis):
|
Line 235 class Basket(BasketBasis):
|
|
|
security=ClassSecurityInfo() |
security=ClassSecurityInfo() |
|
|
|
publicationStatusList=publicationStatusList |
|
|
manage_options=OrderedFolder.manage_options+( |
manage_options=OrderedFolder.manage_options+( |
{'label':'manage main','action':'changeBasketForm'}, |
{'label':'manage main','action':'changeBasketForm'}, |
) |
) |
|
|
|
def checkPermission(self,modus): |
|
"""check permission""" |
|
if modus=='open': |
|
return True |
|
elif modus=='private': |
|
return self.groupFolder.isMemberOf('admin') |
|
elif modus=='admin': |
|
return self.groupFolder.isMemberOf('admin') |
|
elif modus=='edit': |
|
return self.groupFolder.isMemberOf('edit') |
|
elif modus=='publish': |
|
return self.groupFolder.isMemberOf('publish') |
|
|
|
def manageUserRights_html(self): |
|
"""manage user rights""" |
|
if hasattr(self,"Basket_manageUserRights_template"): |
|
obj=getattr(self,"Basket_manageUserRights_template") |
|
return obj() |
|
else: |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','BasketMain_Basket_manageUserRights_standard.zpt')).__of__(self) |
|
pt.content_type="text/html" |
|
return pt() |
|
|
|
|
|
def getBasketObjects(self): |
|
"""get all basket objects""" |
|
|
|
objs=self.getObjects() |
|
ret=[] |
|
for x in objs: |
|
if x.meta_type in basketMetatypes: |
|
ret.append(x) |
|
return ret |
|
|
def checkRef(self,xref): |
def checkRef(self,xref): |
"""check if XRef is already in Basket""" |
"""check if XRef is already in Basket""" |
|
|
Line 267 class Basket(BasketBasis):
|
Line 314 class Basket(BasketBasis):
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeBasket.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeBasket.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
|
def changeBasket(self,title,comment,shortDescription,publicationStatus=None,username=None,accessGroups=None,RESPONSE=None,target=None): |
def changeBasket(self,title,comment,shortDescription,publicationStatus=None,username=None,accessGroups=None,RESPONSE=None,target=None): |
''' |
''' |
init the basket |
init the basket |
Line 384 def manage_addBasket(self,id,title,comme
|
Line 432 def manage_addBasket(self,id,title,comme
|
#find username |
#find username |
owner=username |
owner=username |
|
|
newObj=Basket(id,title,comment,owner,publicationStatus,shortDescription,accessGroups) |
newObj=Basket(id,title,comment,owner,publicationStatus,shortDescription) |
|
|
self._setObject(id,newObj) |
self._setObject(id,newObj) |
|
|