X-Git-Url: https://scm.cri.ensmp.fr/git/FakeMailHost.git/blobdiff_plain/877050bf69ae69eab272021ab648578599d2aaab:/FakeMailHost.py..e1da9933637ad0ddd5ce68c1af47cb7763bd5e99:/Products/FakeMailHost/static/gitweb.css diff --git a/FakeMailHost.py b/FakeMailHost.py deleted file mode 100755 index fba8a66..0000000 --- a/FakeMailHost.py +++ /dev/null @@ -1,84 +0,0 @@ -from Globals import InitializeClass, DTMLFile -from Products.MailHost import MailHost -from AccessControl import ClassSecurityInfo -from AccessControl.Permissions import view_management_screens, change_configuration -import string, re - -bad_path_chars_in=re.compile('[^a-zA-Z0-9-_~\,\. \/]').search - - - -manage_addFakeMailHostForm=DTMLFile('www/addFakeMailHost_form', globals()) -def manage_addFakeMailHost(dispatcher, id, title='', folderPath='', REQUEST=None) : - ' Add Fake mail Host' - parent = dispatcher.Destination() - fmh = FakeMailHost(id, folderPath, title='title' ) - parent._setObject(id, fmh) - if REQUEST is not None: - REQUEST['RESPONSE'].redirect(parent.absolute_url()+'/manage_main') - - -class FakeMailHost(MailHost.MailHost) : - """ Fake Mail Host """ - - meta_type = 'Fake Mail Host' - manage_main = DTMLFile('www/manageFakeMailHost', globals()) - manage_main._setName('manage_main') - smtp_host = '' - - security = ClassSecurityInfo() - - def __init__(self, id, folderPath, title='', ) : - self.id = id - self.title = title - self.setContainerPath(path=folderPath) - - - def _send(self, mfrom, mto, messageText, immediate=False) : - """ Create a document based on message inside base folder """ - folder = self._getMailContainer() - id = str(len(folder._objects)) - folder.manage_addProduct['OFSP'].manage_addFile(id, file='') - file = getattr(folder, id) - file.update_data(messageText, 'text/plain') - - security.declareProtected(change_configuration, 'manage_makeChanges' ) - def manage_makeChanges(self,title,folderPath, REQUEST=None): - 'make the changes' - - title=str(title) - self.title=title - self.setContainerPath(folderPath) - - if REQUEST is not None: - msg = 'Fake Mail Host %s updated' % self.id - return self.manage_main( self - , REQUEST - , manage_tabs_message=msg - ) - - security.declareProtected(view_management_screens, 'getFolderPath') - def getFolderPath(self) : - return '/'.join(self._folderPath) - - - def _getMailContainer(self) : - return self.unrestrictedTraverse(self._folderPath) - - security.declarePrivate('setContainerPath') - def setContainerPath(self, path=None): - if not path: - self._folderPath = [] - elif type(path) is type(''): - if bad_path_chars_in(path): - raise ValueError, ( - 'Path contains invalid characters in a Zope ' - 'object path' - ) - self._folderPath = string.split(path, '/') - elif type(path) in (type([]), type(())): - self._folderPath = list(path) # sequence - else: - raise ValueError, ('Bad path value %s' % path) - -InitializeClass(FakeMailHost) \ No newline at end of file