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())
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())
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
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'
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),