예제 #1
0
 def save(self, sender, parent_msg=None):
     recipients = self.cleaned_data['recipient']
     subject = self.cleaned_data['subject']
     body = self.cleaned_data['body']
     message_list = []
     for r in recipients:
         msg = Message(
             sender=sender,
             recipient=r,
             subject=subject,
             body=body,
         )
         if parent_msg is not None:
             msg.parent_msg = parent_msg
             parent_msg.replied_at = datetime.datetime.now()
             parent_msg.save()
         msg.save()
         message_list.append(msg)
         if notification:
             if parent_msg is not None:
                 notification.send([sender], "messages_replied", {
                     'message': msg,
                 })
                 notification.send(recipients, "messages_reply_received", {
                     'message': msg,
                 })
             else:
                 notification.send([sender], "messages_sent", {
                     'message': msg,
                 })
                 notification.send(recipients, "messages_received", {
                     'message': msg,
                 })
     return message_list
예제 #2
0
 def setUp(self):
     self.user1 = User.objects.create_user('user3', '*****@*****.**',
                                           '123456')
     self.user2 = User.objects.create_user('user4', '*****@*****.**',
                                           '123456')
     self.msg1 = Message(sender=self.user1,
                         recipient=self.user2,
                         subject='Subject Text 1',
                         body='Body Text 1')
     self.msg2 = Message(sender=self.user1,
                         recipient=self.user2,
                         subject='Subject Text 2',
                         body='Body Text 2')
     self.msg1.sender_deleted_at = datetime.datetime.now()
     self.msg2.recipient_deleted_at = datetime.datetime.now()
     self.msg1.save()
     self.msg2.save()
예제 #3
0
 def setUp(self):
     self.user1 = User.objects.create_user('user1', '*****@*****.**',
                                           '123456')
     self.user2 = User.objects.create_user('user2', '*****@*****.**',
                                           '123456')
     self.msg1 = Message(sender=self.user1,
                         recipient=self.user2,
                         subject='Subject Text',
                         body='Body Text')
     self.msg1.save()
예제 #4
0
def _chat_message(request, object_id, messagetopic_id):
    """
    This method is used to allow a user to chat. It is requested using AJAX
    and is used to insert a new message in the current topic.
    """
    messagetopic = MessageTopic.objects.get(pk=messagetopic_id)
    message = Message()
    message.sender = request.user

    message.body = request.POST['messagebody']
    message.topic = messagetopic
    message.save()

    from django.http import HttpResponse
    return HttpResponse("ok")
예제 #5
0
def _new_topic_message(request,
                       referral_id,
                       topic_id,
                       object_id,
                       redirect_to=None):

    client_id = object_id
    object = get_object_or_404(
        Client,
        pk=object_id,
        person__organization=request.user.get_profile().org_active)
    referral = Referral.objects.get(
        pk=referral_id,
        service__organization=request.user.get_profile().org_active)

    if not _access_check_referral_write(request, referral):
        return render_to_response(
            '403.html', {
                'object': _("Oops! You don't have access for this service!"),
            },
            context_instance=RequestContext(request))

    messagetopic = MessageTopic.objects.get(pk=topic_id)
    if request.POST.get('message'):
        from datetime import datetime
        message = Message()
        message.sender = request.user
        message.sent_at = datetime.now
        message.body = request.POST['message']
        message.topic = messagetopic
        message.save()

        from django.shortcuts import redirect
        return redirect(redirect_to
                        or "/client/%s/referral/%s/messages/topic/%s" %
                        (client_id, referral_id, topic_id))
    else:
        return HttpResponseRedirect(
            redirect_to or '/client/%s/referral/%s/messages/topic/%s' %
            (object.id, referral.id, topic_id))