version 1.1.2.2, 2008/08/20 12:59:09
|
version 1.1.2.3, 2008/08/28 18:20:09
|
Line 1
|
Line 1
|
from Products.PageTemplates.PageTemplate import PageTemplate |
|
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate |
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
|
from Products.ZCatalog.CatalogPathAwareness import CatalogAware |
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from OFS.Image import Image |
|
from Globals import package_home |
from Globals import package_home |
import urllib |
|
import MPIWGStaff |
|
import string |
import string |
import re |
import re |
import os |
import os |
from types import * |
|
import logging |
import logging |
import xmlhelper # Methoden zur Verwaltung der projekt xml |
|
from OFS.SimpleItem import SimpleItem |
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
from Products.ZSQLMethods.SQL import SQLConnectionIDs |
|
from AccessControl import ClassSecurityInfo |
from AccessControl import ClassSecurityInfo |
from bibliography import * |
|
import time |
|
import xml.dom.minidom |
|
import sys |
|
from Ft.Xml.XPath import Evaluate |
|
from Ft.Xml.XPath.Context import Context |
|
from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print |
|
from Ft.Xml import EMPTY_NAMESPACE |
|
import copy |
|
import updatePersonalWWW |
|
import MPIWGStaff |
|
from MPIWGHelper import * |
from MPIWGHelper import * |
|
|
|
|
|
def getBreadcrumbs(self): |
|
"""return list of breadcrumbs from here to the root""" |
|
crumbs = [(self.title, self.absolute_url(), self)] |
|
parent = self.aq_parent |
|
if hasattr(parent, 'getBreadcrumbs'): |
|
if self.title: |
|
return parent.getBreadcrumbs() + crumbs |
|
else: |
|
# if there's no title, skip this level |
|
return parent.getBreadcrumbs() |
|
|
|
return crumbs |
|
|
|
|
|
def getSection(self): |
|
"""returns the current section name""" |
|
p = self |
|
sec = None |
|
# descend parents to the root (and remember the last id) |
|
while p is not None and p.meta_type != 'MPIWGRoot': |
|
sec = p.getId() |
|
p = p.aq_parent |
|
|
|
return sec |
|
|
|
|
class MPIWGTemplate(ZopePageTemplate): |
class MPIWGTemplate(ZopePageTemplate): |
"""Create a layout Template for different purposes""" |
"""Create a layout Template for different purposes""" |
|
|
Line 51 class MPIWGTemplate(ZopePageTemplate):
|
Line 57 class MPIWGTemplate(ZopePageTemplate):
|
RESPONSE.redirect('manage') |
RESPONSE.redirect('manage') |
|
|
|
|
def __init__(self, id, text=None, content_type=None,MPIWGType=None): |
def __init__(self, id, text=None, content_type="text/html",MPIWGType=None): |
self.id = str(id) |
self.id = str(id) |
|
|
|
|
|
|
self.ZBindings_edit(self._default_bindings) |
self.ZBindings_edit(self._default_bindings) |
if text is None: |
if text is None: |
self._default_content_fn = os.path.join(package_home(globals()), |
self._default_content_fn = os.path.join(package_home(globals()), |
Line 64 class MPIWGTemplate(ZopePageTemplate):
|
Line 67 class MPIWGTemplate(ZopePageTemplate):
|
self.pt_edit(text, content_type) |
self.pt_edit(text, content_type) |
|
|
|
|
"""change form""" |
|
|
|
def isActiveItem(self): |
def isActiveItem(self): |
"""teste ob ausgewaehlt""" |
"""teste ob ausgewaehlt""" |
if self.absolute_url()==self.REQUEST['URL']: |
if self.absolute_url()==self.REQUEST['URL']: |
Line 73 class MPIWGTemplate(ZopePageTemplate):
|
Line 74 class MPIWGTemplate(ZopePageTemplate):
|
else: |
else: |
return "" |
return "" |
|
|
|
getBreadcrumbs = getBreadcrumbs |
|
|
|
getSection = getSection |
|
|
|
|
def manage_addMPIWGTemplateForm(self): |
def manage_addMPIWGTemplateForm(self): |
"""Form for adding""" |
"""Form for adding""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGTemplate.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
from urllib import quote |
|
|
|
|
|
def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None): |
def manage_addMPIWGTemplate(self, MPIWGType,id, text="",title=None,weight=0,REQUEST=None): |
Line 123 def manage_addMPIWGTemplate(self, MPIWGT
|
Line 128 def manage_addMPIWGTemplate(self, MPIWGT
|
return '' |
return '' |
|
|
|
|
|
|
|
|
|
class MPIWGFolder(Folder): |
|
"""special Folder object for MPIWG website """ |
|
|
|
meta_type="MPIWGFolder" |
|
|
|
manage_options=Folder.manage_options+( |
|
{'label':'Change Weight','action':'changeWeightForm'}, |
|
{'label':'Main Config','action':'changeForm'}, |
|
) |
|
|
|
changeWeightForm = PageTemplateFile('zpt/MPIWGFolderChangeWeight', globals()) |
|
changeForm = PageTemplateFile('zpt/MPIWGFolderConfig', globals()) |
|
|
|
def __init__(self, id, title=None, weight=0, canonicalName=None): |
|
self.id = str(id) |
|
self.weight = weight |
|
if title is None: |
|
self.title = id |
|
else: |
|
self.title = title |
|
|
|
if canonicalName is None: |
|
self.canonicalName = self.id |
|
else: |
|
self.canonicalName = canonicalName |
|
|
|
def changeWeight(self,weight,RESPONSE=None): |
|
"""change weight""" |
|
self.weight=weight |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
def changeMPIWGFolder(self, title=None, weight=None, canonicalName=None, RESPONSE=None): |
|
"""change everything""" |
|
if title is not None: |
|
self.title = title |
|
if weight is not None: |
|
self.weight = weight |
|
if canonicalName is not None: |
|
self.canonicalName = canonicalName |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
getBreadcrumbs = getBreadcrumbs |
|
|
|
getSection = getSection |
|
|
|
|
|
def manage_addMPIWGFolderForm(self): |
|
"""Form for adding""" |
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt/AddMPIWGFolder.zpt')).__of__(self) |
|
return pt() |
|
|
|
def manage_addMPIWGFolder(self, id, title=None,weight=0,RESPONSE=None): |
|
"Add a MPIWG Folder." |
|
newObj=MPIWGFolder(id,title,weight) |
|
self.Destination()._setObject(id,newObj) |
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|