Ejemplo n.º 1
0
def post_save(sender, instance, created, data, old_data):
    """
    用来处理教程某个章节被评论时发送消息通知的处理
    """
    from uliweb import request
    from uliweb.utils.textconvert import text2html

    authors = instance.chapter.tutorial.authors.ids()
    if request.user.id in authors:
        authors.remove(request.user.id)

    message = u"""<p>%s 评论了教程 《<a href="/tutorial/view_chapter/%d">%s</a>》</p>
%s
""" % (
        unicode(instance.modified_user),
        instance._chapter_,
        unicode(instance.chapter),
        text2html(instance.content),
    )
    functions.send_message(request.user, authors, message, type="2")

    users = [x.id for x in functions.parse_user(instance.content)]
    diff = set(users) - set(authors)
    message = u"""<p>%s 评论教程 《<a href="/tutorial/view_chapter/%d">%s</a>》时提到了你</p>
%s
""" % (
        unicode(instance.modified_user),
        instance._chapter_,
        unicode(instance.chapter),
        text2html(instance.content),
    )
    functions.send_message(request.user, list(diff), message, type="2")
Ejemplo n.º 2
0
def forumpost_post_save(sender, instance, created, data, old_data):
    """
    处理论坛发贴时当有@用户时发送消息进行通知
    """
    from uliweb.orm import get_model
    from uliweb import request
    
    User = get_model('user')
    
    message = u"""用户 %s 在论坛提到了你,查看: <a href="/forum/id/%d">%s</a>""" % (unicode(instance.posted_by), instance.id, unicode(instance.topic.subject))
    for user in functions.parse_user(instance.content):
        functions.send_message(instance.posted_by, user, message, type='2')
Ejemplo n.º 3
0
def forumpost_post_save(sender, instance, created, data, old_data):
    """
    处理论坛发贴时当有@用户时发送消息进行通知
    """
    from uliweb.orm import get_model
    from uliweb import request
    
    User = get_model('user')
    
    message = u"""用户 %s 在论坛提到了你,查看: <a href="/forum/id/%d">%s</a>""" % (unicode(instance.posted_by), instance.id, unicode(instance.topic.subject))
    for user in functions.parse_user(instance.content):
        functions.send_message(instance.posted_by, user, message, type='2')
Ejemplo n.º 4
0
    def reply(self):
        """
        """
        from uliweb.utils.textconvert import text2html

        user = request.POST.get('user')
        if not user:
            error('没有指定用户,无法回复')
            
        message = request.POST.get('message')
        
        functions.send_message(request.user, int(user), text2html(message))
        return json({'success':True})
Ejemplo n.º 5
0
    def reply(self):
        """
        """
        from uliweb.utils.textconvert import text2html

        user = request.POST.get('user')
        if not user:
            error('没有指定用户,无法回复')

        message = request.POST.get('message')

        functions.send_message(request.user, int(user), text2html(message))
        return json({'success': True})
Ejemplo n.º 6
0
    def reply(self):
        """
        """
        from uliweb.utils.textconvert import text2html

        user = request.POST.get("user")
        if not user:
            error("没有指定用户,无法回复")

        message = request.POST.get("message")

        functions.send_message(request.user, int(user), text2html(message))
        return json({"success": True})
Ejemplo n.º 7
0
    def send(self):
        from forms import SendMessageForm
        from uliweb.core.html import Tag
        from sqlalchemy.sql import select, func
        from uliweb.utils.textconvert import text2html

        User = get_model('user')
        form = SendMessageForm()
        if request.method == 'GET':
            SendMessageForm.users.choices = []
            return {'form': form.build, 'ok': False}
        if request.method == 'POST':
            flag = form.validate(request.POST)
            if flag:
                u = get_model('user')
                for u in form.users.data:
                    _id = int(u)
                    user = User.get(_id)

                    functions.send_message(request.user, user,
                                           text2html(form.message.data))
                flash(_('Send message successful!'))
                return redirect(url_for(MessageView.sended_list))
            else:
                #process select values
                choices = []
                for u in form.users.data:
                    _id = int(u)
                    user = User.get(_id)
                    if user:
                        choices.append((str(user.id), unicode(user)))
                SendMessageForm.users.choices = choices
                if '_' in form.errors:
                    message = form.errors['_']
                else:
                    message = _('There are something wrong, please fix them')
                flash(message, 'error')
                return {'form': form.build, 'ok': False}
Ejemplo n.º 8
0
 def send(self):
     from forms import SendMessageForm
     from uliweb.core.html import Tag
     from sqlalchemy.sql import select,func
     from uliweb.utils.textconvert import text2html
     
     User = get_model('user')
     form = SendMessageForm()
     if request.method == 'GET':
         SendMessageForm.users.choices = []
         return {'form':form.build, 'ok':False}
     if request.method == 'POST':
         flag = form.validate(request.POST)
         if flag:
             u = get_model('user')
             for u in form.users.data:
                 _id = int(u)
                 user = User.get(_id)
                 
                 functions.send_message(request.user, user, text2html(form.message.data))
             flash(_('Send message successful!'))
             return redirect(url_for(MessageView.sended_list))
         else:
             #process select values
             choices = []
             for u in form.users.data:
                 _id = int(u)
                 user = User.get(_id)
                 if user:
                     choices.append((str(user.id), unicode(user)))
             SendMessageForm.users.choices = choices
             if '_' in form.errors:
                 message = form.errors['_']
             else:
                 message = _('There are something wrong, please fix them')
             flash(message, 'error')
             return {'form':form.build, 'ok':False}
Ejemplo n.º 9
0
def post_save(sender, instance, created, data, old_data):
    """
    用来处理教程某个章节被评论时发送消息通知的处理
    """
    from uliweb import request
    from uliweb.utils.textconvert import text2html
    
    authors = instance.chapter.tutorial.authors.ids()
    if request.user.id in authors:
        authors.remove(request.user.id)
    
    message = u"""<p>%s 评论了教程 《<a href="/tutorial/view_chapter/%d">%s</a>》</p>
%s
""" % (unicode(instance.modified_user), instance._chapter_, unicode(instance.chapter),
    text2html(instance.content))
    functions.send_message(request.user, authors, message, type='2')
    
    users = [x.id for x in functions.parse_user(instance.content)]
    diff = set(users) - set(authors)
    message = u"""<p>%s 评论教程 《<a href="/tutorial/view_chapter/%d">%s</a>》时提到了你</p>
%s
""" % (unicode(instance.modified_user), instance._chapter_, unicode(instance.chapter),
    text2html(instance.content))
    functions.send_message(request.user, list(diff), message, type='2')