예제 #1
0
파일: views.py 프로젝트: adamfk/myewb2
def reply(request, message_id, form_class=ComposeForm,
        template_name='messages/compose.html', success_url=None, recipient_filter=None):
    
    parent = get_object_or_404(Message, id=message_id)

    if parent.sender != request.user and parent.recipient != request.user:
        raise Http404

    if request.method == 'POST':
        sender = request.user
        form = form_class(request.POST, recipient_filter=recipient_filter, sender=request.user)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_inbox')
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({'body': _(u"%(sender)s wrote:\n%(body)s") % {'sender': parent.sender.visible_name(),
                                                                        'body': format_quote(parent.body)
                                                                       },
                           'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
                           'recipient': [parent.sender,]
                         })
    return render_to_response(template_name,
                              {'form': form,},
                              context_instance=RequestContext(request))
예제 #2
0
파일: views.py 프로젝트: wd5/SinCity
def reply(request, message_id, form_class=ComposeForm,
          template_name='messages/compose.html', success_url=None, recipient_filter=None):
    """
    Prepares the ``form_class`` form for writing a reply to a given message
    (specified via ``message_id``). Uses the ``format_quote`` helper from
    ``messages.utils`` to pre-format the quote.
    """
    from messages.utils import format_quote
    parent = get_object_or_404(Message, id=message_id)

    if parent.sender != request.user and parent.recipient != request.user:
        raise Http404

    if request.method == "POST":
        sender = request.user
        form = form_class(request.POST)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_inbox')
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender.get_profile().role.name,
                'body': format_quote(parent.body)
            },
            'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
            'recipient': parent.sender.get_profile().role_id
        })
    return render_to_response(request, template_name, {
        'form': form,
        })
예제 #3
0
def reply(request, message_id, form_class=ComposeForm,
        template_name='messages/compose.html', success_url=None):
    """
    Prepares the ``form_class`` form for writing a reply to a given message
    (specified via ``message_id``). Uses the ``format_quote`` helper from
    ``messages.utils`` to pre-format the quote.
    """
    parent = get_object_or_404(Message, id=message_id)
    if request.method == "POST":
        sender = request.user
        form = form_class(request.POST)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_inbox')
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender, 
                'body': format_quote(parent.body)
                }, 
            'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
            'recipient': [parent.sender,]
            })
    return render_to_response(template_name, {
        'form': form,
    }, context_instance=RequestContext(request))
예제 #4
0
파일: tests.py 프로젝트: su-danny/famdates
 def testReply(self):
     """ test that user_2 can reply """
     # create a message for this test
     Message.objects.create(
         sender=self.user_1,
         recipient=self.user_2,
         subject=self.T_MESSAGE_DATA[0]["subject"],
         body=self.T_MESSAGE_DATA[0]["body"],
     )
     # log the user_2 in and check the inbox
     self.c.login(username=self.T_USER_DATA[1]["username"], password=self.T_USER_DATA[1]["password"])
     response = self.c.get(reverse("messages_inbox"))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.templates[0].name, "messages/inbox.html")
     self.assertEquals(len(response.context["message_list"]), 1)
     pk = getattr(response.context["message_list"][0], "pk")
     # reply to the first message
     response = self.c.get(reverse("messages_reply", kwargs={"message_id": pk}))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.templates[0].name, "messages/compose.html")
     self.assertEquals(
         response.context["form"].initial["body"], format_quote(self.user_1, self.T_MESSAGE_DATA[0]["body"])
     )
     self.assertEqual(
         response.context["form"].initial["subject"],
         u"Re: %(subject)s" % {"subject": self.T_MESSAGE_DATA[0]["subject"]},
     )
예제 #5
0
def reply(request, message_id, form_class=ComposeForm,
        template_name='messages/compose.html', success_url=None):
    """
    Prepares the ``form_class`` form for writing a reply to a given message
    (specified via ``message_id``). Uses the ``format_quote`` helper from
    ``messages.utils`` to pre-format the quote.
    """
    parent = get_object_or_404(Message, id=message_id)
    if request.method == "POST":
        sender = request.user
        form = form_class(request.POST)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_all')
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender, 
                'body': format_quote(parent.body)
                }, 
            'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
            'recipient': [parent.sender,]
            })
    return render_to_response(template_name, {
        'form': form,
    }, context_instance=RequestContext(request))
예제 #6
0
 def testReply(self):
     """ test that user_2 can reply """
     # create a message for this test
     Message.objects.create(sender=self.user_1,
                            recipient=self.user_2,
                            subject=self.T_MESSAGE_DATA[0]['subject'],
                            body=self.T_MESSAGE_DATA[0]['body'])
     # log the user_2 in and check the inbox
     self.c.login(username=self.T_USER_DATA[1]['username'],
                  password=self.T_USER_DATA[1]['password'])
     response = self.c.get(reverse('messages_inbox'))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.template[0].name, 'messages/inbox.html')
     self.assertEquals(len(response.context['message_list']), 1)
     pk = getattr(response.context['message_list'][0], 'pk')
     # reply to the first message
     response = self.c.get(
         reverse('messages_reply', kwargs={'message_id': pk}))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.template[0].name, 'messages/compose.html')
     self.assertEquals(
         response.context['form'].initial['body'],
         format_quote(self.user_1, self.T_MESSAGE_DATA[0]['body']))
     self.assertEqual(
         response.context['form'].initial['subject'], u"Re: %(subject)s" %
         {'subject': self.T_MESSAGE_DATA[0]['subject']})
예제 #7
0
파일: views.py 프로젝트: tximikel/timebank
    def GET(self, message_id, form_class=ComposeForm,
            template_name='messages/compose.html', success_url=None, recipient_filter=None):
        """
        Prepares the ``form_class`` form for writing a reply to a given message
        (specified via ``message_id``). Uses the ``format_quote`` helper from
        ``messages.utils`` to pre-format the quote.
        """
        parent = get_object_or_404(Message, id=message_id)

        if parent.sender != self.request.user and parent.recipient != self.request.user:
            raise Http404

        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender,
                'body': format_quote(parent.body)
                },
            'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
            'recipient': [parent.sender,]
        })
        return self.context_response(template_name, {
            'form': form,
            'current_tab': 'messages',
            'subtab': 'new'
        })
예제 #8
0
def reply(request, message_id, form_class=ComposeForm,
        template_name='messages/compose.html', success_url=None, recipient_filter=None):
    """
    Prepares the ``form_class`` form for writing a reply to a given message
    (specified via ``message_id``). Uses the ``format_quote`` helper from
    ``messages.utils`` to pre-format the quote.
    """
    parent = get_object_or_404(Message, id=message_id)
    
    if parent.sender != request.user and parent.recipient != request.user:
        raise Http404
    
    if request.method == "POST":
        sender = request.user
        form = form_class(request.POST, recipient_filter=recipient_filter)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            messages.success(request, _(u'Message successfully sent.'))
            if success_url is None:
                success_url = reverse('messages_inbox')
            #send_mail('You have a new message waiting at HelloLocals.com!', 'Here is the message.', '*****@*****.**', ['*****@*****.**'], fail_silently=False)
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender, 
                'body': format_quote(parent.body)
                }, 
            'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
            'recipient': [parent.sender,]
            })
    return render_to_response(template_name, {
        'form': form,
    }, context_instance=RequestContext(request))
예제 #9
0
def reply(request,
          message_id,
          form_class=ComposeForm,
          template_name='messages/compose.html',
          success_url=None,
          recipient_filter=None):

    parent = get_object_or_404(Message, id=message_id)

    if parent.sender != request.user and parent.recipient != request.user:
        raise Http404

    if request.method == 'POST':
        sender = request.user
        form = form_class(request.POST,
                          recipient_filter=recipient_filter,
                          sender=request.user)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_inbox')
            return HttpResponseRedirect(success_url)
    else:
        form = form_class({
            'body': _(u"%(sender)s wrote:\n%(body)s") % {
                'sender': parent.sender.visible_name(),
                'body': format_quote(parent.body)
            },
            'subject': _(u"Re: %(subject)s") % {
                'subject': parent.subject
            },
            'recipient': [
                parent.sender,
            ]
        })
    return render_to_response(template_name, {
        'form': form,
    },
                              context_instance=RequestContext(request))
예제 #10
0
def reply(
    request,
    message_id,
    form_class=ComposeForm,
    template_name="messages/compose.html",
    success_url=None,
    recipient_filter=None,
):
    """
    Prepares the ``form_class`` form for writing a reply to a given message
    (specified via ``message_id``). Uses the ``format_quote`` helper from
    ``messages.utils`` to pre-format the quote.
    """
    parent = get_object_or_404(Message, id=message_id)

    if parent.sender != request.user and parent.recipient != request.user:
        raise Http404

    if request.method == "POST":
        sender = request.user
        form = form_class(request.POST, recipient_filter=recipient_filter)
        if form.is_valid():
            form.save(sender=request.user, parent_msg=parent)
            request.user.message_set.create(message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse("messages_inbox")
            return HttpResponseRedirect(success_url)
    else:
        form = form_class(
            {
                "body": _(u"%(sender)s wrote:\n%(body)s")
                % {"sender": parent.sender, "body": format_quote(parent.body)},
                "subject": _(u"Re: %(subject)s") % {"subject": parent.subject},
                "recipient": [parent.sender],
            }
        )
    return render_to_response(template_name, {"form": form}, context_instance=RequestContext(request))
예제 #11
0
 def testReply(self):
     """ test that user_2 can reply """
     # create a message for this test
     Message.objects.create(sender=self.user_1,
                            recipient=self.user_2,
                            subject=self.T_MESSAGE_DATA[0]['subject'],
                            body=self.T_MESSAGE_DATA[0]['body'])
     # log the user_2 in and check the inbox
     self.c.login(username=self.T_USER_DATA[1]['username'],
                  password=self.T_USER_DATA[1]['password'])
     response = self.c.get(reverse('messages_inbox'))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.templates[0].name, 'messages/inbox.html')
     self.assertEquals(len(response.context['message_list']), 1)
     pk = getattr(response.context['message_list'][0], 'pk')
     # reply to the first message
     response = self.c.get(reverse('messages_reply',
         kwargs={'message_id':pk}))
     self.assertEquals(response.status_code, 200)
     self.assertEquals(response.templates[0].name, 'messages/compose.html')
     self.assertEquals(response.context['form'].initial['body'],
             format_quote(self.user_1, self.T_MESSAGE_DATA[0]['body']))
     self.assertEqual(response.context['form'].initial['subject'],
             u"Re: %(subject)s"%{'subject': self.T_MESSAGE_DATA[0]['subject']})
예제 #12
0
파일: views.py 프로젝트: GunioRobot/hubplus
def in_out_trash_comp(request, recipient=None, message_id=None, form_class=ComposeForm,
        template_name='messages/messages.html', success_url=None):
    """
    combines inbox, outbox, trash and compose
    """

    system_messages = []
    for ms in request.user.message_set.all() :
        system_messages.append(ms)

    if request.method == "POST":
 
        sender = request.user
        form = form_class(request.POST)
        if form.is_valid():
            form.save(sender=request.user)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_all')+'#tabview=inbox'

            return HttpResponseRedirect(success_url)
        prefill=False
        recipient_str=''
    else:
       
        if message_id :
            # assuming this is a reply
            parent = Message.objects.get(id=message_id)
            form = form_class({
                    'body': _(u"%(sender)s wrote:\n%(body)s") % {
                        'sender': parent.sender,
                        'body': format_quote(parent.body)
                        },
                    'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
                    'recipient': [parent.sender,]
            })
            prefill = True
            recipient_str = '%s %s (%s)'% (parent.sender.first_name, parent.sender.last_name, parent.sender.username)
        else :
            form = form_class()

            if recipient is not None:
                recipients = [u for u in User.objects.filter(username__in=[r.strip() for r in recipient.split('+')])]
                form.fields['recipient'].initial = recipients
                prefill = True
                recipient_str = ','.join(['%s %s (%s)'%(u.first_name, u.last_name, u.username) for u in recipients])
            else :
                prefill = False
                recipient_str = ''

    return render_to_response(template_name, {
        'form': form,
        'prefill':prefill,
        'recipient_str': recipient_str,
        'inbox': Message.objects.inbox_for(request.user),
        'outbox': Message.objects.outbox_for(request.user),
        'trash' : Message.objects.trash_for(request.user),
        'system_messages' : system_messages,

    }, context_instance=RequestContext(request))
예제 #13
0
		context.update({'common_language': common_language })
	if request.method == 'POST':
		letter_form = forms.LetterForm(sender_player, recipient_player, data=request.POST)
		if letter_form.is_valid():
			letter = letter_form.save()
			messages.success(request, _("The letter has been successfully sent."))
			## check if sender must be excommunicated
			if not sender_player.is_excommunicated and recipient_player.is_excommunicated:
				sender_player.set_excommunication(by_pope=False)
				messages.info(request, _("You have been excommunicated."))
			return redirect(game)
	else:
		if parent:
			initial = {'body': _(u"%(sender)s wrote:\n%(body)s") % {
					'sender': parent.sender_player.country, 
					'body': format_quote(parent.body)}, 
					'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
					}
		else:
			initial = {}
		letter_form = forms.LetterForm(sender_player,
									recipient_player,
									initial=initial)
		if not sender_player.is_excommunicated and recipient_player.is_excommunicated:
			context['excom_notice'] = True
		if sender_player.is_excommunicated and not recipient_player.is_excommunicated:
			messages.error(request, _("You can write letters only to other excommunicated countries."))
			return redirect(game)
	
	context.update({'form': letter_form,
					'sender_player': sender_player,
예제 #14
0
					if not sender_player.is_excommunicated and \
						r.is_excommunicated:
						excom = True

				messages.success(request, _("The letter has been successfully sent."))
				## check if sender must be excommunicated
				if not sender_player.is_excommunicated and \
					recipient_player.is_excommunicated:
					excom = True
				if excom:
					sender_player.set_excommunication(by_pope=False)
					messages.info(request, _("You have been excommunicated."))
				return redirect(game)
	else:
		if parent:
			initial = {'body': unicode(format_quote(parent.body)),
					'subject': _(u"Re: %(subject)s") % {'subject': parent.subject},
					}
		else:
			initial = {}
		letter_form = LetterForm(sender_player,
								recipient_player,
								initial=initial)
		if not sender_player.is_excommunicated and recipient_player.is_excommunicated:
			context['excom_notice'] = True
		if sender_player.is_excommunicated and not recipient_player.is_excommunicated:
			messages.error(request, _("You can write letters only to other excommunicated countries."))
			return redirect(game)
	
	context.update({'form': letter_form,
					'sender_player': sender_player,
예제 #15
0
파일: views.py 프로젝트: GunioRobot/hubplus
def in_out_trash_comp(request,
                      recipient=None,
                      message_id=None,
                      form_class=ComposeForm,
                      template_name='messages/messages.html',
                      success_url=None):
    """
    combines inbox, outbox, trash and compose
    """

    system_messages = []
    for ms in request.user.message_set.all():
        system_messages.append(ms)

    if request.method == "POST":

        sender = request.user
        form = form_class(request.POST)
        if form.is_valid():
            form.save(sender=request.user)
            request.user.message_set.create(
                message=_(u"Message successfully sent."))
            if success_url is None:
                success_url = reverse('messages_all') + '#tabview=inbox'

            return HttpResponseRedirect(success_url)
        prefill = False
        recipient_str = ''
    else:

        if message_id:
            # assuming this is a reply
            parent = Message.objects.get(id=message_id)
            form = form_class({
                'body': _(u"%(sender)s wrote:\n%(body)s") % {
                    'sender': parent.sender,
                    'body': format_quote(parent.body)
                },
                'subject': _(u"Re: %(subject)s") % {
                    'subject': parent.subject
                },
                'recipient': [
                    parent.sender,
                ]
            })
            prefill = True
            recipient_str = '%s %s (%s)' % (parent.sender.first_name,
                                            parent.sender.last_name,
                                            parent.sender.username)
        else:
            form = form_class()

            if recipient is not None:
                recipients = [
                    u for u in User.objects.filter(
                        username__in=[r.strip() for r in recipient.split('+')])
                ]
                form.fields['recipient'].initial = recipients
                prefill = True
                recipient_str = ','.join([
                    '%s %s (%s)' % (u.first_name, u.last_name, u.username)
                    for u in recipients
                ])
            else:
                prefill = False
                recipient_str = ''

    return render_to_response(
        template_name, {
            'form': form,
            'prefill': prefill,
            'recipient_str': recipient_str,
            'inbox': Message.objects.inbox_for(request.user),
            'outbox': Message.objects.outbox_for(request.user),
            'trash': Message.objects.trash_for(request.user),
            'system_messages': system_messages,
        },
        context_instance=RequestContext(request))