def create_message(auteur, contenu, thread, isnewthread=False): newmessage = Message(auteur=auteur, contenu=contenu, thread=thread) newmessage.save() LogActivity.recordActivity(qui=auteur, quoi=newmessage, comment="a publié un nouveau message : <a href='%s'>%s</a>" % (newmessage.thread.get_absolute_url(), newmessage.thread.titre)) subscribe_thread_message(newmessage) ThreadMail(message=newmessage, isnewthread=isnewthread).start() return newmessage
def post_create_thread(request): errors = [] params = deepValidateAndFetch(request, errors) if len(errors) == 0: with transaction.atomic(): thread = Thread(title=params['title'], author=params['author'], section_id=params['section']) if params['visibility'] == 'private': thread.recipient = params['recipient'] if params['visibility'] == 'class': thread.lesson = params['lesson'] if params['visibility'] == 'public': thread.professor = params['professor'] thread.save() if params['skills_fetched']: thread.skills = params['fetched_skills'] thread.save() sendNotification(getWSNotificationForNewThread(thread)) original_message = Message( content=params['content'], thread=thread, author=params['author'], created_date=utc.localize(datetime.now()), modified_date=utc.localize(datetime.now())) original_message.save() sendNotification(getNotificationForNewMessage(original_message)) return redirect(thread) else: skills, sections = get_skills(request) params['skills'] = skills params['sections'] = sections if params['skills_fetched']: params['selected_skills'] = map(lambda x: x.id, params['fetched_skills']) else: params['selected_skills'] = [] if params['section'] is not None: params['selected_section'] = int(params['section']) return render(request, "forum/new_thread.haml", { "errors": errors, "data": params })
def form_valid(self, form): #此处有待加强安全验证 sender = LoginUser.objects.get(username=self.request.user) receiver_id = int(self.kwargs.get('pk')) receiver = LoginUser.objects.get(id=receiver_id) formdata = form.cleaned_data formdata['sender'] = sender formdata['receiver'] = receiver m = Message(**formdata) m.save() return HttpResponse("消息发送成功!")
def add_message(): text = request.form['text'] tag = request.form['tag'] db.session.add(Message(text, tag)) db.session.commit() return redirect(url_for('main'))
def generate_fake_messages(count=1000): seed() for i in range(count): u1, u2 = User.query.order_by(func.random()).limit(2).all() m = Message(title=forgery_py.lorem_ipsum.title()[:128], body=forgery_py.lorem_ipsum.sentences(randint(10, 20)), created_at=forgery_py.date.date(True), author=u1, receiver=u2) db.session.add(m) db.session.commit()
def inform_send_message_view(request, menu, inform_type, unread): if request.method == 'POST': result = {'success': False, 'message': ''} to_user_str = request.POST['to_user'].strip().strip(';') message = strip_tags(request.POST['message'].strip()).replace( '\n', '<br>') name_type = request.POST['name_type'] if not to_user_str or not message: result['message'] = u'收件人和消息内容是必填内容' else: names = set(to_user_str.split(';')) if name_type == 'name': to_user = MyUser.objects.filter(name__in=names) else: to_user = MyUser.objects.filter(nick_name__in=names) if len(to_user) == 0: result['message'] = u'找不到符合条件的收件人' elif len(to_user) != len(names): result['message'] = u'找不到收件人,一个或多个收件人姓名(昵称)不正确' elif request.user in to_user: result['message'] = u'不能发送给自己' else: data_list = [] time = datetime.datetime.now() # message = pickle.dumps(message) for user in to_user: data_list.append( Message(from_user=request.user, to_user=user, time=time, content=message)) Message.objects.bulk_create(data_list) result['success'] = True return HttpResponse(json.dumps(result, ensure_ascii=False), content_type='application/json') to = request.GET.get('to', '') to_user = None if to: to_user = MyUser.objects.values('id', 'name', 'nick_name').get(name=to) return render_to_response('account/inform_send_message.html', { 'config': config, 'menu': menu, 'inform_type': inform_type, 'to_user': to_user, 'unread': unread }, context_instance=RequestContext(request))