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")
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')
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})
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})
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})
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}
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}
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')