def post(self, request): msg = Message(subject='Site feedback', message_text=request.data['body'], owner=User.objects.get(pk=1), sender=request.user.get_username()) msg.save() msg = Message.objects.get(pk=msg.pk) return Response({})
def test_defer_message(self): """Verify that a message can be rescheduled for the future.""" msg = Message(rcvd_date=dt.datetime(2014, 6, 14, tzinfo=pytz.utc), owner=User.objects.get(pk=1)) msg.save() # Defer the message and refresh new_date = dt.datetime(2014, 6, 15, tzinfo=pytz.utc) msg.handler.defer(new_date) msg = Message.objects.get(pk=msg.pk) self.assertEqual(msg.rcvd_date, new_date)
def set_deferred_message(sender, instance, **kwargs): """ Checks if the Node is a deferred Node and if so, set the deferred_message foreign key. """ if not kwargs['raw']: if (getattr(instance.todo_state, 'abbreviation', None) == 'DFRD' and not instance.archived): # Node is deferred so create new message or update existing message message = instance.get_deferred_msg() if message is None: message = Message() message.source_node = instance message.subject = instance.title message.handler_path = 'plugins.deferred' message.owner = instance.owner message.rcvd_date = dt.datetime.combine( instance.scheduled_date, dt.time(0, tzinfo=get_current_timezone()), ) message.save() else: # If instance is not deferred, then it can't have a deferred_message message = instance.get_deferred_msg() if message is not None and message.pk is not None: instance.deferred_message.delete()
def test_defer_message(self): """Verify that a message can be rescheduled for the future.""" msg = Message( rcvd_date=dt.datetime(2014, 6, 14, tzinfo=pytz.utc), owner=User.objects.get(pk=1)) msg.save() # Defer the message and refresh new_date = dt.datetime(2014, 6, 15, tzinfo=pytz.utc) msg.handler.defer(new_date) msg = Message.objects.get(pk=msg.pk) self.assertEqual( msg.rcvd_date, new_date )
def post(self, request, pk): if request.query_params: data = request.query_params else: data = request.data action = data.get('action', None) if action == 'create_heading': message = Message.objects.get(pk=pk) # Create a new action based on this message message_data = MessageSerializer(message).data node = message.handler.create_node() # Set some attributes on the newly created Node() node.todo_state = TodoState.objects.get(abbreviation='NEXT') node.title = data.get('title', node.title) node.text = message.message_text pid = data.get('parent', None) if pid is not None: node.parent = Node.objects.get(pk=pid) node.save() # Close this Node if requested if data.get('close', 'false') == 'true': message_data['in_inbox'] = False node.todo_state = TodoState.objects.get(abbreviation='DONE') node.auto_update = True node.save() else: message = Message.objects.filter(pk=pk).first() message_data = MessageSerializer(message).data heading_serializer = NodeSerializer(node, request=request) r = {'status': 'success', 'heading': heading_serializer.data} r['message'] = message_data else: data = data.dict() data['rcvd_date'] = dt.datetime.now(get_current_timezone()) data['owner'] = request.user msg = Message(**data) msg.save() r = MessageSerializer(msg).data return Response(r)
def test_create_node(self): message = Message() message.owner = User.objects.get(pk=1) message.subject = 'ordinary message' message.rcvd_date = dt.datetime.now(pytz.utc) message.message_text = 'Hi, person. Have a nice day' message.save() handler = BaseMessageHandler(message) node = handler.create_node() self.assertEqual( Message.objects.filter(pk=message.pk).count(), 1, 'Message deleted after node created') self.assertTrue(isinstance(node, Node), 'create_node() returns a Node object') self.assertEqual(node.text, message.message_text)
def test_create_node(self): message = Message() message.owner = User.objects.get(pk=1) message.subject = 'ordinary message' message.rcvd_date = dt.datetime.now(pytz.utc) message.message_text = 'Hi, person. Have a nice day' message.save() handler = BaseMessageHandler(message) node = handler.create_node() self.assertEqual( Message.objects.filter(pk=message.pk).count(), 1, 'Message deleted after node created' ) self.assertTrue( isinstance(node, Node), 'create_node() returns a Node object' ) self.assertEqual( node.text, message.message_text )