示例#1
0
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&eacute; 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
示例#2
0
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
        })
示例#3
0
 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("消息发送成功!")
示例#4
0
 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("消息发送成功!")