|
|
| version 1.9, 2004/04/02 15:06:47 | version 1.12, 2004/04/07 17:07:10 |
|---|---|
| Line 1 | Line 1 |
| # Objekte zur Erzeugung von Navigationselementen | # Objekte zur Erzeugung von Navigationselementen |
| from Globals import DTMLFile | |
| from OFS.Image import Image,cookId | |
| from OFS.Folder import Folder | from OFS.Folder import Folder |
| from OFS.SimpleItem import SimpleItem | from OFS.SimpleItem import SimpleItem |
| from Products.PageTemplates.PageTemplateFile import PageTemplateFile | from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
| Line 12 import os.path | Line 13 import os.path |
| from Globals import package_home | from Globals import package_home |
| import urllib | import urllib |
| class ECHO_contentType(Image): | |
| """ContentType Object""" | |
| meta_type="ECHO_contentType" | |
| manage_options=Image.manage_options+( | |
| {'label':'Change Description','action':'changeECHO_contentTypeForm'}, | |
| ) | |
| def changeECHO_contentTypeForm(self): | |
| """Change the description text""" | |
| pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_contentType.zpt').__of__(self) | |
| return pt() | |
| def changeECHO_contentType(self,description,RESPONSE=None): | |
| """Change the Content""" | |
| self.description=description | |
| if RESPONSE is not None: | |
| RESPONSE.redirect('manage_main') | |
| manage_addECHO_contentTypeForm=DTMLFile('dtml/ECHO_contentTypeAdd',globals(), | |
| Kind='ECHO_contentType',kind='ECHO_contentType') | |
| def manage_addECHO_contentType(self, id, file=None, title='', precondition='', content_type='', description='', | |
| REQUEST=None): | |
| """ | |
| Add a new Image object. | |
| Creates a new Image object 'id' with the contents of 'file'. | |
| """ | |
| id=str(id) | |
| title=str(title) | |
| content_type=str(content_type) | |
| precondition=str(precondition) | |
| id, title = cookId(id, title, file) | |
| self=self.this() | |
| # First, we create the image without data: | |
| self._setObject(id, ECHO_contentType(id,title,'',content_type, precondition)) | |
| self._getOb(id).description=description | |
| # Now we "upload" the data. By doing this in two steps, we | |
| # can use a database trick to make the upload more efficient. | |
| if file: | |
| self._getOb(id).manage_upload(file) | |
| if content_type: | |
| self._getOb(id).content_type=content_type | |
| if REQUEST is not None: | |
| try: url=self.DestinationURL() | |
| except: url=REQUEST['URL1'] | |
| REQUEST.RESPONSE.redirect('%s/manage_main' % url) | |
| return id | |
| class ECHO_sqlElement(SimpleItem): | class ECHO_sqlElement(SimpleItem): |
| """Erzeuge navigation aus sql-abfrage""" | """Erzeuge navigation aus sql-abfrage""" |
| meta_type="ECHO_sqlElement" | meta_type="ECHO_sqlElement" |
| baseUrl="" | baseUrl="" |
| def __init__(self,id,title,query,field,searchField,baseUrl,weight,content_type): | def __init__(self,id,title,query,field,searchField,baseUrl,weight,contentType): |
| """init""" | """init""" |
| self.id=id | self.id=id |
| self.title=title | self.title=title |
| Line 29 class ECHO_sqlElement(SimpleItem): | Line 90 class ECHO_sqlElement(SimpleItem): |
| self.searchField=searchField | self.searchField=searchField |
| self.baseUrl=baseUrl | self.baseUrl=baseUrl |
| self.weight=weight | self.weight=weight |
| self.content=content_type | self.content=contentType |
| manage_options= SimpleItem.manage_options+( | manage_options= SimpleItem.manage_options+( |
| {'label':'Main Config','action':'changeECHO_sqlElementForm'}, | {'label':'Main Config','action':'changeECHO_sqlElementForm'}, |
| Line 48 class ECHO_sqlElement(SimpleItem): | Line 109 class ECHO_sqlElement(SimpleItem): |
| else: | else: |
| return 0 | return 0 |
| def getContent_type(self): | def getcontentType(self): |
| """get weight""" | """get weight""" |
| if hasattr(self,'content_type'): | if hasattr(self,'contentType'): |
| return self.content_type | return self.contentType |
| else: | else: |
| return 0 | return 0 |
| Line 63 class ECHO_sqlElement(SimpleItem): | Line 124 class ECHO_sqlElement(SimpleItem): |
| pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_sqlElement.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/zpt/changeECHO_sqlElement.zpt').__of__(self) |
| return pt() | return pt() |
| def changeECHO_sqlElement(self,title,query,field,searchField,baseUrl,weight,content_type,RESPONSE=None): | def changeECHO_sqlElement(self,title,query,field,searchField,baseUrl,weight,contentType,RESPONSE=None): |
| """change""" | """change""" |
| self.title=title | self.title=title |
| self.query=query | self.query=query |
| Line 71 class ECHO_sqlElement(SimpleItem): | Line 132 class ECHO_sqlElement(SimpleItem): |
| self.searchField=searchField | self.searchField=searchField |
| self.baseUrl=baseUrl | self.baseUrl=baseUrl |
| self.weight=weight | self.weight=weight |
| self.content_type=content_type | self.contentType=contentType |
| if RESPONSE is not None: | if RESPONSE is not None: |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| Line 100 def manage_addECHO_sqlElementForm(self): | Line 161 def manage_addECHO_sqlElementForm(self): |
| pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_sqlElement.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/zpt/AddECHO_sqlElement.zpt').__of__(self) |
| return pt() | return pt() |
| def manage_addECHO_sqlElement(self,id,title,query,field,searchField,baseUrl,weight,content_type,RESPONSE=None): | def manage_addECHO_sqlElement(self,id,title,query,field,searchField,baseUrl,weight,contentType,RESPONSE=None): |
| """Add an ECHO_sqlelement""" | """Add an ECHO_sqlelement""" |
| self._setObject(id,ECHO_sqlElement(id,title,query,field,searchField,baseUrl,weight,content_type)) | self._setObject(id,ECHO_sqlElement(id,title,query,field,searchField,baseUrl,weight,contentType)) |
| if RESPONSE is not None: | if RESPONSE is not None: |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| Line 124 class ECHO_pageTemplate(ZopePageTemplate | Line 185 class ECHO_pageTemplate(ZopePageTemplate |
| pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self) | pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_pageTemplateWeight.zpt').__of__(self) |
| return pt() | return pt() |
| def changeECHO_pageTemplateWeight(self,weight,content_type,RESPONSE=None): | def changeECHO_pageTemplateWeight(self,weight,contentType,RESPONSE=None): |
| """change""" | """change""" |
| self.weight=weight | self.weight=weight |
| self.content_type=content_type | self.contentType=contentType |
| if RESPONSE is not None: | if RESPONSE is not None: |
| RESPONSE.redirect('manage_main') | RESPONSE.redirect('manage_main') |
| Line 139 class ECHO_pageTemplate(ZopePageTemplate | Line 200 class ECHO_pageTemplate(ZopePageTemplate |
| else: | else: |
| return 0 | return 0 |
| def getContent_Type(self): | def getcontentType(self): |
| """get weight""" | """get weight""" |
| if hasattr(self,'weight'): | if hasattr(self,'weight'): |
| return self.weight | return self.weight |
| Line 149 class ECHO_pageTemplate(ZopePageTemplate | Line 210 class ECHO_pageTemplate(ZopePageTemplate |
| ## def __init__(self, id, text=None, content_type=None): | ## def __init__(self, id, text=None, contentType=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: |
| ## text = open(self._default_cont).read() | ## text = open(self._default_cont).read() |
| ## self.pt_edit(text, content_type) | ## self.pt_edit(text, contentType) |
| def manage_addECHO_pageTemplateForm(self): | def manage_addECHO_pageTemplateForm(self): |
| """Form for adding""" | """Form for adding""" |
| Line 164 def manage_addECHO_pageTemplateForm(self | Line 225 def manage_addECHO_pageTemplateForm(self |
| from urllib import quote | from urllib import quote |
| def manage_addECHO_pageTemplate(self, id, weight= 0,content_type=0,title=None, text=None, | def manage_addECHO_pageTemplate(self, id, weight= 0,contentType=0,title=None, text=None, |
| REQUEST=None, submit=None): | REQUEST=None, submit=None): |
| "Add a Page Template with optional file content." | "Add a Page Template with optional file content." |
| Line 174 def manage_addECHO_pageTemplate(self, id | Line 235 def manage_addECHO_pageTemplate(self, id |
| self._setObject(id, ECHO_pageTemplate(id, text)) | self._setObject(id, ECHO_pageTemplate(id, text)) |
| ob = getattr(self, id) | ob = getattr(self, id) |
| setattr(ob,'weight',weight) | setattr(ob,'weight',weight) |
| setattr(ob,'content_type',content_type) | setattr(ob,'contentType',contentType) |
| if title: | if title: |
| ob.pt_setTitle(title) | ob.pt_setTitle(title) |
| return ob | return ob |
| Line 184 def manage_addECHO_pageTemplate(self, id | Line 245 def manage_addECHO_pageTemplate(self, id |
| if headers is None or not file.filename: | if headers is None or not file.filename: |
| zpt = ECHO_pageTemplate(id) | zpt = ECHO_pageTemplate(id) |
| else: | else: |
| zpt = ECHO_pageTemplate(id, file, headers.get('content_type')) | zpt = ECHO_pageTemplate(id, file, headers.get('contentType')) |
| self._setObject(id, zpt) | self._setObject(id, zpt) |
| ob = getattr(self, id) | ob = getattr(self, id) |
| Line 433 class ECHO_navigation(Folder): | Line 494 class ECHO_navigation(Folder): |
| def mainNavElements(self): | def mainNavElements(self): |
| """print main navigation bar""" | """print main navigation bar""" |
| keys="" | keys="" |
| print "NAVELEMENT",self.getId() | #print "NAVELEMENT",self.getId() |
| #try: | #try: |
| keys=self.barFromHash(self.createNavHash(0)) | keys=self.barFromHash(self.createNavHash(0)) |
| Line 443 class ECHO_navigation(Folder): | Line 504 class ECHO_navigation(Folder): |
| return keys | return keys |
| def numberOfMainNavElements(self): | |
| """number of main elements""" | |
| return len(self.barFromHash(self.createNavHash(0))) | |
| def secondNavElements(self): | def secondNavElements(self): |
| """Zweite Ordnung""" | """Zweite Ordnung""" |