Example #1
0
 def test_update_message(self):
     m = Message()
     m.content = 'test'
     m.add_or_update()
    
     m = Message.find_by_id(m.id)
     m.content = 'test updated'
     m.add_or_update()
     
     m = Message.find_by_id(m.id)
     print(m.date_created)
     print(m.date_modified)
     self.assertEqual(m.content, 'test updated')
     self.assertEqual(m.id, 1)
Example #2
0
 def test_get_message(self):
     m = Message()
     m.content = 'test'
     m.add_or_update()
     m = Message.find_by_id(m.id)
     self.assertEqual(m.content, 'test')
     self.assertEqual(m.id, 1)
Example #3
0
def create_message(jobID, fromUserID, toUserID):
    form = MessageForm()
    j = Job.query.filter(Job.id == jobID).first()
    if request.method == 'POST' and form.validate_on_submit():
        m = Message()
        m.content = form.content.data
        m.fromUserID = fromUserID
        m.toUserID = toUserID
        m.jobTitle = j.title
        m.jobID = j.id
        db.session.add(m)
        db.session.commit()
        flash('Message Sent!', category='success')
        return redirect(
            url_for('users.home',
                    username=current_user.username,
                    post_page=1,
                    hired_page=1,
                    history_page=1))
    else:
        return render_template('create_message.html',
                               form=form,
                               title="Message",
                               user=current_user,
                               job=j)
Example #4
0
    def test_to_json(self):
        m = Message()
        m.content = 'test'
        m.add_or_update()

        schema = MessageResponseSchema()
        m_json = schema.dump(m)
        expected_keys = ['id', 'content', 'palindrome', 'date_created', 'date_modified']
        self.assertEqual(sorted(m_json.keys()), sorted(expected_keys))
Example #5
0
def create_message(from_user_id, to_user_id, content):
    message = Message()
    message.from_user_id = from_user_id
    message.receive_user_id = to_user_id
    message.date = datetime.now()
    message.content = content
    status = EnumValues.find_one_by_code(const.MESSAGE_STATUS_UNREAD)
    message.status_id = status.id
    return message
Example #6
0
    def test_delete_message(self):
        m = Message()
        m.content = 'test'
        m.add_or_update()

        m = Message.find_by_id(m.id)
        m.delete()
        
        m = Message.find_by_id(m.id)
        self.assertIsNone(m)
Example #7
0
 def test_create_message(self):
     m = Message()
     m.content = 'test'
     m.add_or_update()
     self.assertTrue(
         (datetime.utcnow() - m.date_created).total_seconds() < 3)
     self.assertTrue(
         (datetime.utcnow() - m.date_modified).total_seconds() < 3)
     self.assertEqual(m.content, 'test')
     self.assertEqual(m.id, 1)
Example #8
0
def add_message(request):
    """
    把留言保存到数据库
    :param request:
    :return:返回响应Response
    """
    # 思考:如何知道request是GET还是POST?
    #       - request是不是对象?  是
    #       - request有什么属性和方法?  dir(request)
    # print(dir(request))
    # print(request.method)

    #  browser    --获得(GET)留言表单--->     server
    #  browser    <---把留言表返回给浏览器--- server
    #  browser    ----把填好的表单提交(POST)给server---> server
    #  ..... server 开始保存数据到数据库
    #  browser    < ------成功或失败的信息返回给浏览器---server

    # 如果是GET请求,把留言表单发给用户,让用户填写留言信息
    if request.method == 'GET':
        return render(request, template_name='msg2.html')

    # 如果是POST请求,从请求request中获取提交的内容
    if request.method == 'POST':
        # print(request.POST)
        c = {'msg': '提交成功!'}

        # 思考:如果获得提交的数据?
        message = request.POST
        print(message['name'])
        name = message.get('name', None)  # gavin  ''  None  False
        if not name:  # 如果name没有值
            c['name_error'] = "用户名不能为空!"
        email = message.get('email')
        address = message.get('address')
        content = message.get('message')
        print(name, email, address)

        # 思考:如何保存?
        #  - 首先用Message类创建一个对象
        # 方法一:
        msg = Message(name=name, email=email, address=address, content=content)
        # 方法二:
        msg = Message()
        msg.name = name
        msg.email = email
        msg.address = address
        msg.content = content

        #  - 然后,调用对象的保存方法来保存数据
        print(dir(msg))
        msg.save()  # insert  into  ***

        return render(request, template_name='msg2.html', context=c)