--- ECHO_content/VLPExtension.py 2004/10/05 14:58:56 1.27
+++ ECHO_content/VLPExtension.py 2004/10/14 09:48:50 1.30
@@ -48,6 +48,94 @@ def getText(nodelist):
rc = rc + node.data
return rc
+class sendMailForm(ZopePageTemplate):
+ """sendMailForm"""
+ meta_type="sendMailForm"
+
+ _default_content_fn = os.path.join(package_home(globals()), 'vlp/sendMail_template.zpt')
+
+ manage_options = ZopePageTemplate.manage_options+(
+ {'label':'Main Config','action':'main_configForm'},
+ )
+
+ main_configForm = PageTemplateFile(
+ 'vlp/changeSendMailForm', globals())
+
+ def main_config(self, toAddrs,mailServer, subjectAdd=None, RESPONSE=None):
+ """main_config"""
+ self.toAddrs=toAddrs.split("\n")
+ self.mailServer=mailServer
+ self.subjectAdd=subjectAdd
+ if RESPONSE:
+ RESPONSE.redirect('manage_main')
+
+ def sendForm(self,fromaddr,subject,content,nextPage="index_html",RESPONSE=None):
+ """sendform"""
+ fromaddr=fromaddr.strip("\r\n\t") # sicherstellen dass keine zusaetzlichen headerzeilen eingefuegt werden
+ subject=subject.strip("\r\n\t") # sicherstellen dass keine zusaetzlichen headerzeilen eingefuegt werden
+ toaddrs=self.toAddrs
+
+ subject="%s %s"%(self.subjectAdd,subject)
+
+ msg = ("From: %s\r\nSubject: %s\r\nTo: %s\r\n\r\n"
+ % (fromaddr, subject, ", ".join(toaddrs)))
+ server = smtplib.SMTP(self.mailServer)
+ #server.set_debuglevel(1)
+ msg=msg+content
+ server.sendmail(fromaddr, toaddrs, msg)
+ server.quit()
+
+ if RESPONSE:
+ RESPONSE.redirect(nextPage)
+
+manage_addSendMailFormForm = PageTemplateFile(
+ 'vlp/addSendMailForm', globals(), __name__='manage_addSendMailFormFrom')
+
+from urllib import quote
+
+def manage_addSendMailForm(self, id, toAddrs,mailServer, title=None, text=None, subjectAdd=None,
+ REQUEST=None, submit=None):
+ "Add a Page Template with optional file content."
+ toAddrsList=toAddrs.split("\n")
+ id = str(id)
+ if REQUEST is None:
+ self._setObject(id, sendMailForm(id, text))
+ ob = getattr(self, id)
+ if title:
+ ob.pt_setTitle(title)
+ setattr(ob,'toAddrs',toAddrsList)
+ setattr(ob,'mailServer',mailServer)
+ setattr(ob,'subjectAdd',subjectAdd)
+ return ob
+ else:
+ file = REQUEST.form.get('file')
+ headers = getattr(file, 'headers', None)
+ if headers is None or not file.filename:
+ zpt = sendMailForm(id)
+ else:
+ zpt = sendMailForm(id, file, headers.get('content_type'))
+
+ self._setObject(id, zpt)
+
+ try:
+ u = self.DestinationURL()
+ except AttributeError:
+ u = REQUEST['URL1']
+
+ if submit == " Add and Edit ":
+ u = "%s/%s" % (u, quote(id))
+
+ ob = getattr(self, id)
+ if title:
+ ob.pt_setTitle(title)
+
+ setattr(ob,'toAddrs',toAddrsList)
+ setattr(ob,'mailServer',mailServer)
+ setattr(ob,'subjectAdd',subjectAdd)
+ REQUEST.RESPONSE.redirect(u+'/manage_main')
+ return ''
+
+
class VLP_essay(Folder):
"""classe für VLP essays"""
@@ -413,7 +501,9 @@ class VLP_resource(ECHO_resource):
"""show the rendered file"""
if self.REQUEST.get('p',None):
- self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None)))
+ #self.REQUEST.set('pn',self.file2page(self.REQUEST.get('p',None)))
+ self.REQUEST.RESPONSE.redirect(self.REQUEST['URL']+"?pn="+self.file2page(self.REQUEST.get('p',None)))
+
if hasattr(self,'libraryTemplate.html'):
return getattr(self,'libraryTemplate.html')()
@@ -487,10 +577,11 @@ class VLP_resource(ECHO_resource):
return """
first"""
else:
- return """
+ ws=self.REQUEST.get('ws','1')
+ return """
first
- """%(self.REQUEST['URL']+"?pn=1")
+ """%(self.REQUEST['URL']+"?pn=1&ws=%s"%ws)
def lastPage(self,url=None):
"""showlink to the first image"""
@@ -502,10 +593,11 @@ class VLP_resource(ECHO_resource):
return """
last"""
else:
- return """
-
last
+ ws=self.REQUEST.get('ws','1')
+ return """
+
last
- """%(self.REQUEST['URL']+"?pn="+str(ln))
+ """%(self.REQUEST['URL']+"?pn="+str(ln)+"&ws="+ws)
def prevPage(self,url=None):
"""showlink to the first image"""
@@ -516,10 +608,11 @@ class VLP_resource(ECHO_resource):
return """
prev"""
else:
- return """
+ ws=self.REQUEST.get('ws','1')
+ return """
prev
- """%(self.REQUEST['URL']+"?pn="+str(nn))
+ """%(self.REQUEST['URL']+"?pn="+str(nn)+"&ws="+ws)
def nextPage(self,url=None):
"""showlink to the first image"""
@@ -532,10 +625,11 @@ class VLP_resource(ECHO_resource):
return """
next"""
else:
- return """
+ ws=self.REQUEST.get('ws','1')
+ return """
next
- """%(self.REQUEST['URL']+"?pn="+str(nn))
+ """%(self.REQUEST['URL']+"?pn="+str(nn)+"&ws="+ws)
def readIndexFile(self,url=None):