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()
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])
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
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'))
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))
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/")
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()
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
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')
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)
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
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)
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)
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])
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
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)
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)
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)
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/')
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])
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('...')
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))
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('/')
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("...")
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])
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)
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))
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))
def send_message(sender, recipient, text): msg = Message(text=text, sender=sender, recipient=recipient.profile) msg.save()
def send_message(sender, recipient, text): msg = Message(text=text, sender=sender, recipient=recipient.profile) msg.save()