Beispiel #1
0
 def action_forward(self, action, data):
     """Forward Message
     """
     message = self.context.forwardMessage(self.request.form.get('subject', data['subject']), data['message'], data['receiver'])
     if message:
         IStatusMessage(self.request).addStatusMessage(_(u"Your message has been sent successfully"), type='info')
         return self.request.response.redirect(message.absolute_url())
     else:
         IStatusMessage(self.request).addStatusMessage(_(u"Sending your message failed"), type='error')
         return self.request.response.redirect(self.context.absolute_url())
Beispiel #2
0
    def _sendMessage(self, action, data):
        imsmessage = IIMSMessage(self.context)

        message = imsmessage.sendMessage(data['subject'], data['message'], data['receiver'])
        if message:
            IStatusMessage(self.request).addStatusMessage(_(u"Your message has been sent successfully"), type='info')
            return self.request.response.redirect(message.absolute_url())
        else:
            IStatusMessage(self.request).addStatusMessage(_(u"Sending your message failed"), type='error')
            return self.request.response.redirect(self.context.absolute_url())
Beispiel #3
0
def newMessageNotify(object, event):
    """ Notifies the appropriate User if he received a new message
    """
    if IReceivedMessageFolder.providedBy(aq_parent(object)):
        try:
            mailhost = getToolByName(object, 'MailHost')
            mship = getToolByName(object, 'portal_membership')
            sender = object.getSender()
            receiver = object.getReceiver()
            portal = getSiteManager(object)
            body = object.new_message_notification(name=mship.getMemberInfo(receiver).get('fullname', object.getReceiver()),
                                                   sender=mship.getMemberInfo(sender).get('fullname', object.getSender()),
                                                   site=portal.getProperty('title', ''),
                                                   siteurl=getToolByName(object, 'portal_url')(),
                                                   url=object.absolute_url(),
                                                   emailfrom=portal.getProperty('email_from_name', ''),
                                                   message=object)
            mailhost.secureSend(body,
                                mto=mship.getMemberById(receiver).getProperty('email'),
                                mfrom='%s <%s>' % (portal.getProperty('email_from_name', ''), portal.getProperty('email_from_address', '')),
                                subject=translate(_(u'mail_subject', default=u'You have received a new message'), context=object.REQUEST),
                                charset='utf-8')
        except:
            # no mailserver
            pass
Beispiel #4
0
    def __call__(self):
        mship = getToolByName(self.context, 'portal_membership')
        current_auth = mship.getAuthenticatedMember()
        if IApplication.providedBy(aq_parent(aq_parent(current_auth.getUser()))):
            IStatusMessage(self.request).addStatusMessage(_(u"Unfortunately it is not possible to send messages using your user account. Please use a Plone user rather than a Zope user."), type='error')
            return self.request.response.redirect(self.context.absolute_url())
        
        self.request.set('disable_border', True)

        self.form_fields.get('receiver').field.default = None
        self.form_fields.get('receiver').field.readonly = False
        self.form_fields.get('subject').field.default = None
        self.form_fields.get('message').field.default = None

        if self.request.get('receiver', None) is not None:
            self.form_fields.get('receiver').field.default = self.request.get('receiver', None)

        if self.request.get('subject', None) is not None:
            self.form_fields.get('subject').field.default = self.request.get('subject', None).decode('utf-8')

        return super(NewMessageForm, self).__call__()
 def Title(self):
     try:
         return translate(_('title_sentmessagefolder', default=u'Skickade Meddelanden'), context=self.REQUEST)
     except:
         return u'Skickade Meddelanden'
 def Title(self):
     try:
         return translate(_('title_receivedmessagefolder', default=u'Mottagna Meddelanden'), context=self.REQUEST)
     except:
         return u'Mottagna Meddelanden'
Beispiel #7
0
from Products.CMFCore.permissions import ModifyPortalContent, View

from Products.Archetypes.public import *

from Products.ATContentTypes.content.base import ATCTMixin

from hejasverige.ims.config import PROJECTNAME
from hejasverige.ims.interfaces import IMessage, IIMSMessage, ISentMessage, IReceivedMessage
from hejasverige.ims import IMSMessageFactory as _
from hejasverige.ims.events import MessageBeforeDelete

MessageSchema = BaseContent.schema.copy() + Schema(
    (
        StringField(
            name="sender", required=1, widget=StringWidget(label=_("label_sender", default=u"Sent by"), visible=0)
        ),
        LinesField(
            name="receiver",
            required=1,
            widget=TextAreaWidget(label=_("label_receiver", default=u"Received by"), visible=0),
        ),
        TextField(
            name="message", required=1, widget=TextAreaWidget(label=_("label_message", default=u"Message"), visible=0)
        ),
        ReferenceField(
            name="replyTo",
            required=0,
            allowed_types=("Message",),
            relationship="replyTo",
            widget=ReferenceWidget(label=_("label_replyTo", default=u"Reply to"), visible=0),