Exemplo n.º 1
0
def send_message_to_group(request):
    id = request.POST.get('group_id')
    group = Group.objects.get(id=id)
    message = Message(text=request.POST.get("message", ""), sender=request.user, recipient=group)
    message.save()

    return HttpResponse()
Exemplo n.º 2
0
def gm_mail_home(request, template="messaging/mail_home.html"):
    if not request.user.is_superuser: raise Http404
    context = {
        'special_mailboxes': Mailbox.objects.filter(public=True, type=0).order_by('name'),
        'char_mailboxes': Mailbox.objects.filter(public=True, type=1).order_by('name'),
        'group_mailboxes': Mailbox.objects.filter(public=True, type=2).order_by('name'),
        'send_mailboxes': Mailbox.objects.all(),
        'read_mailboxes': Mailbox.objects.all()
    }
    if request.method == 'POST':
        try:
            context['mail_text'] = request.POST.get('text')
            new_mail = Message()
            new_mail.sender = Mailbox.objects.get(code=request.POST.get('from_code'))
            try:
                new_mail.to = Mailbox.objects.get(code=request.POST.get('to_code'))
            except Mailbox.DoesNotExist:
                try:
                    new_mail.to = Mailbox.objects.get(name=request.POST.get('to_name'))
                except Mailbox.DoesNotExist:
                    raise ValidationError("That mailbox doesn't exist.")
            new_mail.text = request.POST.get('text')
            new_mail.subject = request.POST.get('subject')
            print request.POST.get('anon') == 'on'
            new_mail.anon = request.POST.get('anon') == 'on'
            new_mail.save()
            subprocess.Popen(['zwrite', '-d', '-c', 'consortium-sekrit-auto', '-m', "Mail from %s to %s\nSubject: %s\n%s" % (new_mail.sender.name,
                              new_mail.to.name, new_mail.subject, new_mail.text.replace('"', "'"))])
            messages.success(request, "Sent mail to %s" % new_mail.to.name)
            context['mail_text'] = ''
        except ValidationError, e:
            messages.error(request, e.messages[0])
Exemplo n.º 3
0
 def save(self, sender, parent_msg=None):
     recipients = self.cleaned_data['recipient']
     subject = self.cleaned_data['subject']
     body = self.cleaned_data['body']
     record = self.cleaned_data['record']
     message_list = []
     for r in recipients:
         msg = Message(
             sender = sender,
             recipient = r,
             subject = subject,
             body = body,
             record = record,
         )
         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([r], "messages_reply_received", {'message': msg,})
             else:
                 notification.send([sender], "messages_sent", {'message': msg,})
                 notification.send([r], "messages_received", {'message': msg,})
     return message_list
Exemplo n.º 4
0
def manager_new_message_view(request):

    if request.method == 'GET':
        print('form method get')
        form = NewMessageForm
        return render(request, 'messaging/manager_write.html', {
            'form': form
        })

    elif request.method == 'POST':
        usern = request.user.site_user
        form = NewMessageForm(request.POST)
        if form.is_valid():

            text = form.cleaned_data['text']
            receiver = form.cleaned_data['receiver']
            header = form.cleaned_data['header']

            message = Message(text=text, receiver=receiver, header=header, sender=usern)

            message.save()
        else:
            return HttpResponse(form.errors)


        return redirect(reverse('manager_message_box'))
Exemplo n.º 5
0
def messages_view(request):
	if not request.user.is_authenticated():
		return redirect('login')
	if request.method == 'POST':
		form = MessageForm(data=request.POST)
		if form.is_valid():
			subject = form.cleaned_data['subject']
			to = form.cleaned_data['to']
			body = form.cleaned_data['body']
			send_to = User.objects.filter(username=to)
			if send_to.count() != 0:
				msg = Message()
				msg.msg_from = request.user
				msg.msg_to = send_to[0]
				msg.body = body
				msg.subject = subject
				msg.save()
				messages.add_message(request, messages.SUCCESS, 'Message sent Successfully', extra_tags='alert-success')
			else:
				messages.add_message(request, messages.WARNING, 'User Does Not Exist.', extra_tags='alert-danger')
		else:
			messages.add_message(request, messages.WARNING, 'One or More Invalid Field(s).', extra_tags='alert-danger')
		return redirect('messaging:messages')
	template = loader.get_template('base_messages_inbox.html')
	message_q = Message.objects.filter(msg_to=request.user)[:50]
	if message_q.count() != 0:
		message_list = list(message_q)
		message_list.reverse()
		args = {'user_messages': message_list}
	else:
		args = {}
	context = RequestContext(request, args)
	return HttpResponse(template.render(context))
Exemplo n.º 6
0
def compose_message_submit(request):
    conversations = Conversation.objects.all().filter(
        receiver=request.user).order_by('-lastMessageTime')
    newMessages = 0
    for conversation in conversations:
        if conversation.is_read == False:
            newMessages += 1
    if request.method == "POST":
        title = request.POST.get("title")
        receiver = request.POST.get("receiver")
        content = request.POST.get("content")
        facility = request.POST.get("applications")
        conversation = Conversation()
        message = Message()
        conversation.title = title
        user = User.objects.all().filter(username=receiver)[0]
        conversation.receiver = user
        conversation.sender = request.user
        message.reciever = user
        message.text = content
        message.sender = request.user
        application = CoopApplication.objects.filter(
            application__user__user=user, facility__title=facility)[0]
        message.application = application.application
        conversation.save()
        message.conversation = conversation
        message.save()

    return HttpResponseRedirect("/manager/messages/")
Exemplo n.º 7
0
def send_message_to_user(request):
    user_id = request.POST.get("user_id")
    message_text = request.POST.get("message")
    user = User.objects.get(id=user_id)
    message = Message(text=message_text, sender=request.user, recipient=user.profile)
    message.save()

    return HttpResponse()
Exemplo n.º 8
0
	def add_message(self, **kwargs):
		"""
		Send a message to the player
		"""
		m = Message(turn=self.game.current_turn, **kwargs)
		m.save()
		m.recipient_set.add(self)

		return m
Exemplo n.º 9
0
def new_message(request):
	if request.method == 'POST' and request.is_ajax():
		text = request.POST['text']
		receiver_name = request.POST['receiver_name']
		receiver = User.objects.get(username=receiver_name)
		sender = request.user
		message = Message(text=text, sender=sender, receiver=receiver)
		message.save()
		if message.id is not None:
			return HttpResponse('Message has been sent')
	return HttpResponse('Error: Not POST or AJAX')
Exemplo n.º 10
0
    def mutate(root, info, thread_id, content, attachment=None):

        thread = Thread.objects.filter(pk=thread_id)
        thread = thread.filter(members=info.context.user).get()
        created_by = info.context.user
        created_at = timezone.now()
        message = Message(thread=thread, created_by=created_by, created_at=created_at,
                          content=content, attachment=attachment)
        message.save()

        return CreateMessage(message=message)
Exemplo n.º 11
0
def create_public_message(author, thread, content):
    now = timezone.now()

    thread.last_message_date = now
    thread.save()

    message = Message(author=author, markdown_content=content, timestamp=now, parent_thread=thread)

    message.save()

    return message
Exemplo n.º 12
0
def new_message(request):
    args = {}
    if request.method == 'POST':
        form = NewMessageForm(request.POST)
        if form.is_valid():
            message = Message(user_from=request.user.username, user_to=form.cleaned_data["user_to"], content=form.cleaned_data["message"], date=datetime.datetime.now())
            message.save()
            args["form"] = NewMessageForm()
            args["success"] = True
    else:
        args["form"] = NewMessageForm()
    return render(request, "new_message.html", args)
Exemplo n.º 13
0
 def POST(self, request):
     """
     Parses the JSON request to create a Message object
     """
     item = Message()
     item.parse(request)
     if not item:
         return http.HttpResponseBadRequest()
     
     item.save()
     
     return http.HttpResponse(status=StatusCodes.CREATED)
Exemplo n.º 14
0
def mail_home(request, template="messaging/mail_home.html"):
    char = gtc(request)
    context = {
        # 'special_mailboxes': Mailbox.objects.filter(public=True, type=0).order_by('name'),
        'char_mailboxes':
        Mailbox.objects.filter(public=True, type=1).order_by('name'),
        'group_mailboxes':
        Mailbox.objects.filter(public=True, type=2).order_by('name'),
        'send_mailboxes':
        Mailbox.objects.filter(
            Q(character=char)
            | Q(line__lineorder__order=1, line__lineorder__character=char)).
        order_by('type'),
        'read_mailboxes':
        Mailbox.objects.filter(
            Q(character=char) | Q(line__lineorder__character=char))
    }
    if request.method == 'POST':
        try:
            context['mail_text'] = request.POST.get('text')
            new_mail = Message()
            new_mail.sender = Mailbox.objects.get(
                code=request.POST.get('from_code'))
            try:
                new_mail.to = Mailbox.objects.get(
                    code=request.POST.get('to_code'))
            except Mailbox.DoesNotExist:
                try:
                    new_mail.to = Mailbox.objects.get(
                        name=request.POST.get('to_name'))
                except Mailbox.DoesNotExist:
                    raise ValidationError("That mailbox doesn't exist.")
            new_mail.text = request.POST.get('text')
            new_mail.subject = request.POST.get('subject')
            new_mail.anon = request.POST.get('anon') == 'on'
            new_mail.save()
            if new_mail.anon:
                check_inspiration(request)
            try:
                subprocess.Popen([
                    'zwrite', '-d', '-c', 'consortium-sekrit-auto', '-m',
                    "Mail from %s to %s\nSubject: %s\n%s" %
                    (new_mail.sender.name, new_mail.to.name, new_mail.subject,
                     new_mail.text.replace('"', "'"))
                ])
            except:
                pass
            messages.success(request, "Sent mail to %s" % new_mail.to.name)
            context['mail_text'] = ''
        except ValidationError, e:
            messages.error(request, e.messages[0])
Exemplo n.º 15
0
 def create_messages(self, message_text):
     ret = None
     for user in self.room_cache.users.all():
         message = Message(
             user=user,
             message=message_text,
             is_watched=0,
             room=self.room_cache
         )
         if user == self.user_cache:
             message.is_watched = 1
             ret = message
         message.save()
     return ret
Exemplo n.º 16
0
	def save(self, *args):
		# Override save: apply immediately and return
		self.player.money -= self.amount
		self.player.save()
		self.recipient.money += self.amount
		self.recipient.save()

		m = Message(
			title="Transfert d'argent",
			content="Un transfert de %s k¥ a été effectué de %s vers %s" % (self.amount, self.player, self.recipient),
			turn=self.player.game.current_turn,
			flag=Message.CASH_TRANSFER,
		)
		m.save()
		m.recipient_set.add(self.player, self.recipient)
Exemplo n.º 17
0
class SendTestCase(TestCase):
    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()
        
    def testBasic(self):
        self.assertEquals(self.msg1.sender, self.user1)
        self.assertEquals(self.msg1.recipient, self.user2)
        self.assertEquals(self.msg1.subject, 'Subject Text')
        self.assertEquals(self.msg1.body, 'Body Text')
        self.assertEquals(self.user1.sent_messages.count(), 1)
        self.assertEquals(self.user1.received_messages.count(), 0)
        self.assertEquals(self.user2.received_messages.count(), 1)
        self.assertEquals(self.user2.sent_messages.count(), 0)
Exemplo n.º 18
0
    def save(self, *args):
        # Override save: apply immediately and return
        self.player.money -= self.amount
        self.player.save()
        self.recipient.money += self.amount
        self.recipient.save()

        m = Message(
            title="Transfert d'argent",
            content="Un transfert de %s k¥ a été effectué de %s vers %s" %
            (self.amount, self.player, self.recipient),
            turn=self.player.game.current_turn,
            flag=Message.CASH_TRANSFER,
        )
        m.save()
        m.recipient_set.add(self.player, self.recipient)
Exemplo n.º 19
0
def send_message(request):
    if request.is_ajax():
        if request.GET.get('receiver') == "":
            messages.error(request, "Select a conversation, please")
            return HttpResponseRedirect('/messaging/inbox/')
        else:
            receiver = get_object_or_404(User, username=request.GET.get('receiver'))
            if request.method == 'GET':
                message = Message(sender=request.user,
                                  receiver=receiver,
                                  msg_content=request.GET.get('msg'),
                                  created_at=datetime.datetime.now())
                message.save()
                return HttpResponse(json.dumps("success", cls=DjangoJSONEncoder), content_type='application/json')
    else:
        return HttpResponseRedirect('/messaging/inbox/')
Exemplo n.º 20
0
def gm_mail_home(request, template="messaging/mail_home.html"):
    if not request.user.is_superuser: raise Http404
    context = {
        'special_mailboxes':
        Mailbox.objects.filter(public=True, type=0).order_by('name'),
        'char_mailboxes':
        Mailbox.objects.filter(public=True, type=1).order_by('name'),
        'group_mailboxes':
        Mailbox.objects.filter(public=True, type=2).order_by('name'),
        'send_mailboxes':
        Mailbox.objects.all(),
        'read_mailboxes':
        Mailbox.objects.all()
    }
    if request.method == 'POST':
        try:
            context['mail_text'] = request.POST.get('text')
            new_mail = Message()
            new_mail.sender = Mailbox.objects.get(
                code=request.POST.get('from_code'))
            try:
                new_mail.to = Mailbox.objects.get(
                    code=request.POST.get('to_code'))
            except Mailbox.DoesNotExist:
                try:
                    new_mail.to = Mailbox.objects.get(
                        name=request.POST.get('to_name'))
                except Mailbox.DoesNotExist:
                    raise ValidationError("That mailbox doesn't exist.")
            new_mail.text = request.POST.get('text')
            new_mail.subject = request.POST.get('subject')
            print request.POST.get('anon') == 'on'
            new_mail.anon = request.POST.get('anon') == 'on'
            new_mail.save()
            subprocess.Popen([
                'zwrite', '-d', '-c', 'consortium-sekrit-auto', '-m',
                "Mail from %s to %s\nSubject: %s\n%s" %
                (new_mail.sender.name, new_mail.to.name, new_mail.subject,
                 new_mail.text.replace('"', "'"))
            ])
            messages.success(request, "Sent mail to %s" % new_mail.to.name)
            context['mail_text'] = ''
        except ValidationError, e:
            messages.error(request, e.messages[0])
Exemplo n.º 21
0
def reply(request):
	sent_from = request.user
	#sent with ajax request
	if request.method == 'POST' and request.is_ajax():
		new_message = MessageForm(request.POST)
		id = request.POST.get('name')
		#gets the message that this one is replying to
		old_message = Message.objects.get(id=id)
		#the old message's 'from' becomes this message's 'to'
		send_to = old_message.sent_from
		if new_message.is_valid():
			subject = new_message.cleaned_data['subject']
			message = new_message.cleaned_data['message']
			new_msg = Message(send_to=send_to, sent_from=sent_from, subject=subject, message=message, is_sent=True)
			#indicates which message this one is replying to
			new_msg.is_reply = old_message
			new_msg.save()
			return HttpResponse('sent')
	return HttpResponse('...')
Exemplo n.º 22
0
def messages_view(request):
    if not request.user.is_authenticated():
        return redirect('sharetools:login')
    if request.method == 'POST':
        form = MessageForm(data=request.POST)
        if form.is_valid():
            subject = form.cleaned_data['subject']
            to = form.cleaned_data['to']
            body = form.cleaned_data['body']
            send_to = User.objects.filter(username=to)
            if send_to.count() != 0:
                msg = Message()
                msg.msg_from = request.user
                msg.msg_to = send_to[0]
                msg.body = body
                msg.subject = subject
                msg.save()
                messages.add_message(request,
                                     messages.SUCCESS,
                                     'Message sent Successfully',
                                     extra_tags='alert-success')
            else:
                messages.add_message(request,
                                     messages.WARNING,
                                     'User Does Not Exist.',
                                     extra_tags='alert-danger')
        else:
            messages.add_message(request,
                                 messages.WARNING,
                                 'One or More Invalid Field(s).',
                                 extra_tags='alert-danger')
        return redirect('messaging:messages')
    template = loader.get_template('base_messages_inbox.html')
    message_q = Message.objects.filter(msg_to=request.user)[:50]
    if message_q.count() != 0:
        message_list = list(message_q)
        message_list.reverse()
        args = {'user_messages': message_list}
    else:
        args = {}
    context = RequestContext(request, args)
    return HttpResponse(template.render(context))
Exemplo n.º 23
0
def conversation_reply(request, conversation_id):
    if request.method == "POST":
        text = request.POST["replyText"]
        print(text)
        conversation = Conversation.objects.get(id=conversation_id)
        if conversation.receiver2 is None:

            print("new message")
            conversation.receiver2 = conversation.sender
            print(conversation.id)
            # conversation.lastMessageTime=datetime.datetime.now()
            conversation.update(lastMessageTime=datetime.datetime.now())
            message = Message()
            message.text = text
            message.reciever = conversation.sender
            message.sender = request.user
            message.conversation = conversation
            message.save()
            print(message.id)
        return HttpResponseRedirect('/')
Exemplo n.º 24
0
def new_complaint(request):
    geolocator = GoogleV3()
    fellows = []
    time = datetime.time(datetime.now())
    date = datetime.date(datetime.now())
    if request.method == 'POST' and request.is_ajax:
    	complaint = ComplaintForm(request.POST)
    	if complaint.is_valid():
    	    situation = complaint.cleaned_data['situation']
    	    neighborhood = complaint.cleaned_data['neighborhood']
    	    apt_number = complaint.cleaned_data['apt_number']
    	    street_address = complaint.cleaned_data['street_address']
    	    new_complaint = Complaint(situation=situation, neighborhood=neighborhood, street_address=street_address, date=date, time=time)
    	    if request.user.is_authenticated:
                new_complaint.owner = request.user
            if apt_number:
            	new_complaint.apt_number = apt_number
            	apts = Complaint.objects.filter(street_address=street_address).filter(apt_number=apt_number)
    	        numbers = [apt.apt_number for apt in apts]
    	        if apt_number in numbers:
    	        	new_complaint.others = True
    	    	if new_complaint.others:
    	    		for a in apts:
    	    			if a.owner not in fellows:
    	        			fellows.append(a.owner)	
    	    for fellow in fellows:
    	    	new_msg = Message(sent_from=request.user, send_to=fellow, subject="another complaint about %s" % new_complaint.street_address, message="you are not alone! Others have also complained about %s. Reply to this message so you guys can figure out what to do about it." % new_complaint.street_address)
    	    new_complaint.save()
    	    new_msg.complaint = new_complaint
    	    new_msg.save()
    	    data = json.dumps({"situation": situation, "neighborhood": neighborhood, "time": str(new_complaint.time)})
    	    if new_complaint.street_address:
    	    	nycaddress = new_complaint.street_address + " NYC"
    	    	geoAddress = nycaddress, (latitude, longitude) = geolocator.geocode(nycaddress)
                way = WayPoint(complaint=new_complaint)
                way.geometry = 'POINT(%s %s)' % (latitude, longitude)
                way.save()
                return HttpResponse(data, content_type='application/json')  
	return HttpResponse("...")
Exemplo n.º 25
0
def mail_home(request, template="messaging/mail_home.html"):
    char = gtc(request)
    context = {
        # 'special_mailboxes': Mailbox.objects.filter(public=True, type=0).order_by('name'),
        'char_mailboxes': Mailbox.objects.filter(public=True, type=1).order_by('name'),
        'group_mailboxes': Mailbox.objects.filter(public=True, type=2).order_by('name'),
        'send_mailboxes': Mailbox.objects.filter(Q(character=char) | Q(line__lineorder__order=1, line__lineorder__character=char)).order_by('type'),
        'read_mailboxes': Mailbox.objects.filter(Q(character=char) | Q(line__lineorder__character=char))

    }
    if request.method == 'POST':
        try:
            context['mail_text'] = request.POST.get('text')
            new_mail = Message()
            new_mail.sender = Mailbox.objects.get(code=request.POST.get('from_code'))
            try:
                new_mail.to = Mailbox.objects.get(code=request.POST.get('to_code'))
            except Mailbox.DoesNotExist:
                try:
                    new_mail.to = Mailbox.objects.get(name=request.POST.get('to_name'))
                except Mailbox.DoesNotExist:
                    raise ValidationError("That mailbox doesn't exist.")
            new_mail.text = request.POST.get('text')
            new_mail.subject = request.POST.get('subject')
            new_mail.anon = request.POST.get('anon') == 'on'
            new_mail.save()
            if new_mail.anon:
                check_inspiration(request)
            try:
                subprocess.Popen(['zwrite', '-d', '-c', 'consortium-sekrit-auto', '-m', "Mail from %s to %s\nSubject: %s\n%s" % (new_mail.sender.name,
                new_mail.to.name, new_mail.subject, new_mail.text.replace('"', "'"))])
            except:
                pass
            messages.success(request, "Sent mail to %s" % new_mail.to.name)
            context['mail_text'] = ''
        except ValidationError, e:
            messages.error(request, e.messages[0])
Exemplo n.º 26
0
class DeleteTestCase(TestCase):
    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()
                
    def testBasic(self):
        self.assertEquals(Message.objects.outbox_for(self.user1).count(), 1)
        self.assertEquals(Message.objects.outbox_for(self.user1)[0].subject, 'Subject Text 2')
        self.assertEquals(Message.objects.inbox_for(self.user2).count(),1)
        self.assertEquals(Message.objects.inbox_for(self.user2)[0].subject, 'Subject Text 1')
        #undelete
        self.msg1.sender_deleted_at = None
        self.msg2.recipient_deleted_at = None
        self.msg1.save()
        self.msg2.save()
        self.assertEquals(Message.objects.outbox_for(self.user1).count(), 2)
        self.assertEquals(Message.objects.inbox_for(self.user2).count(),2)
Exemplo n.º 27
0
    def test_message_author_game_equals_player_game(self):
        """
		Check if author's game = player's game
		"""

        p2 = Player(game=self.g)
        p2.save()

        g2 = Game()
        g2.save()

        p3 = Player(game=g2)
        p3.save()

        m = Message(title="titre", author=self.p, turn=self.g.current_turn)
        m.save()
        m.recipient_set.add(p2)
        m.save()

        m2 = Message(title="titre1", author=self.p, turn=self.g.current_turn)
        m2.save()

        self.assertRaises(IntegrityError, lambda: m2.recipient_set.add(p3))
Exemplo n.º 28
0
	def test_message_author_game_equals_player_game(self):
		"""
		Check if author's game = player's game
		"""

		p2 = Player(game=self.g)
		p2.save()

		g2 = Game()
		g2.save()

		p3 = Player(game=g2)
		p3.save()

		m = Message(title="titre", author=self.p, turn=self.g.current_turn)
		m.save()
		m.recipient_set.add(p2)
		m.save()

		m2 = Message(title="titre1", author=self.p, turn=self.g.current_turn)
		m2.save()

		self.assertRaises(IntegrityError, lambda: m2.recipient_set.add(p3))
Exemplo n.º 29
0
def send_message(sender, recipient, text):
    msg = Message(text=text, sender=sender, recipient=recipient.profile)
    msg.save()
Exemplo n.º 30
0
def send_message(sender, recipient, text):
    msg = Message(text=text, sender=sender, recipient=recipient.profile)
    msg.save()