Beispiel #1
0
 def save(self, commit=True):
     self.instance.preview, self.instance.text = utils.cut(
         self.instance.text)
     self.instance.preview = utils.parse(self.instance.preview,
                                         settings.VALID_TAGS,
                                         settings.VALID_ATTRS)
     self.instance.text = utils.parse(self.instance.text,
                                      settings.VALID_TAGS,
                                      settings.VALID_ATTRS)
     return super(EditPostForm, self).save(commit)
Beispiel #2
0
 def save(self, commit=True):
     inst = self.instance
     inst.author = self.user
     inst.preview, inst.text = utils.cut(inst.text)
     inst.preview = utils.parse(inst.preview, settings.VALID_TAGS, settings.VALID_ATTRS)
     inst.text = utils.parse(inst.text, settings.VALID_TAGS, settings.VALID_ATTRS)
     inst = super(CreatePostForm, self).save(commit)
     Tag.objects.update_tags(inst, inst.raw_tags)
     inst.create_comment_root()
     for mention in utils.find_mentions(inst.text):
         Notify.new_mention_notify(mention, post=inst)
     if settings.PUBSUB:
         ping_hub(settings.FEED_URL, hub_url=settings.PUSH_HUB)
     return inst
def edit_comment(request, id):
    """Edit comment view

    Keyword arguments:
    request - -request
    id -- int -- comment.id

    Returns: HttpResponse
    """
    if request.user.has_perm('main.change_comment'):
        comment = Comment.objects.select_related('post').get(id=id)
        if request.method == 'POST':
            form = CreateCommentForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                comment.text = utils.parse(data['text'], VALID_TAGS, VALID_ATTRS)
                comment.save()
                return HttpResponseRedirect('/post/%d/' % (comment.post.id))
        else:
            text = utils.unparse(comment.text)
            data = {
                'post': comment.post.id,
                'text': text
            }
            form = CreateCommentForm(data)
    return {
        'edit': True,
        'form': form,
        'cid': id,
        'extend': 'base.html'
    }
Beispiel #4
0
 def save(self, commit=True):
     inst = self.instance
     inst.author = self.user
     inst.preview, inst.text = utils.cut(inst.text)
     inst.preview = utils.parse(inst.preview, settings.VALID_TAGS,
                                settings.VALID_ATTRS)
     inst.text = utils.parse(inst.text, settings.VALID_TAGS,
                             settings.VALID_ATTRS)
     inst = super(CreatePostForm, self).save(commit)
     Tag.objects.update_tags(inst, inst.raw_tags)
     inst.create_comment_root()
     for mention in utils.find_mentions(inst.text):
         Notify.new_mention_notify(mention, post=inst)
     if settings.PUBSUB:
         ping_hub(settings.FEED_URL, hub_url=settings.PUSH_HUB)
     return inst
Beispiel #5
0
def preview_comment(request, text):
    """Get comment preview"""
    return {
        'text': utils.parse(
            request.POST.get('text'),
            settings.VALID_TAGS,
            settings.VALID_ATTRS,
        )
    }
Beispiel #6
0
def preview_comment(request, text):
    """Get comment preview"""
    return {
        'text': utils.parse(
            text,
            settings.VALID_TAGS,
            settings.VALID_ATTRS,
        )
    }
Beispiel #7
0
 def clean(self):
     """Clean and receive data"""
     data = self.cleaned_data
     try:
         data['post_obj'] = Post.objects.get(
             id=data['post'],
             disable_reply=False,
         )
     except Post.DoesNotExist:
         raise forms.ValidationError("Post not found")
     try:
         data['root'] = Comment.objects.select_related('author').get(
             id=data['comment'],
             post=data['post_obj'],
         )
     except Comment.DoesNotExist:
         data['root'] = Comment.objects.select_related('author').get(
             post=data['post_obj'], depth=1.)
     data['raw_text'] = data['text']
     data['text'] = utils.parse(data['text'], settings.VALID_TAGS,
                                settings.VALID_ATTRS)
     return data
Beispiel #8
0
 def clean(self):
     """Clean and receive data"""
     data = self.cleaned_data
     try:
         data['post_obj'] = Post.objects.get(
             id=data['post'],
             disable_reply=False,
         )
     except Post.DoesNotExist:
         raise forms.ValidationError("Post not found")
     try:
         data['root'] = Comment.objects.select_related('author').get(
             id=data['comment'],
             post=data['post_obj'],
         )
     except Comment.DoesNotExist:
         data['root'] = Comment.objects.select_related('author').get(
             post=data['post_obj'],
             depth=1.
         )
     data['raw_text'] = data['text']
     data['text'] = utils.parse(data['text'], settings.VALID_TAGS, settings.VALID_ATTRS)
     return data
Beispiel #9
0
def edit_comment(request, id):
    """Edit comment view

    Keyword arguments:
    request - -request
    id -- int -- comment.id

    Returns: HttpResponse
    """
    if request.user.has_perm('main.change_comment'):
        comment = Comment.objects.select_related('post').get(id=id)
        if request.method == 'POST':
            form = CreateCommentForm(request.POST)
            if form.is_valid():
                data = form.cleaned_data
                comment.text = utils.parse(data['text'], VALID_TAGS,
                                           VALID_ATTRS)
                comment.save()
                return HttpResponseRedirect('/post/%d/' % (comment.post.id))
        else:
            text = utils.unparse(comment.text)
            data = {'post': comment.post.id, 'text': text}
            form = CreateCommentForm(data)
    return {'edit': True, 'form': form, 'cid': id, 'extend': 'base.html'}
def preview_comment(request):
    return jsend({'text':utils.parse(request.POST.get('text'), VALID_TAGS, VALID_ATTRS)})
Beispiel #11
0
def edit_user(request):
    """Edit user data form

    Keyword arguments:
    request -- request object

    Returns: HttpResponse

    """
    if request.method == 'POST':
        form = EditUserForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            profile = request.user.get_profile()
            request.user.email = data['mail']
            profile.about = parse(data['about'])
            profile.icq = data['icq']
            profile.jabber = data['jabber']
            profile.timezone = data['timezone']
            if data['city']:
                profile.city = City.get_city(data['city'])
            profile.hide_mail = data['show_mail']
            profile.reply_comment = data['notify_comment_reply']
            profile.reply_pm = data['notify_pm']
            profile.reply_post = data['notify_post_reply']
            profile.reply_mention = data['notify_mention']
            profile.reply_spy = data['notify_spy']
            #profile.avatar = data['userpic']
            profile.site= data['site']
            profile.save()
            request.user.save()
            count = int(request.POST['count'])
            MeOn.objects.filter(user=request.user).delete()
            Statused.objects.filter(user=request.user).delete()
            for i in range(count):
                try:
                    meon = MeOn()
                    meon.url = request.POST['meon_url[%d]' % (i)]
                    meon.title = request.POST['meon[%d]' % (i)]
                    meon.user = request.user
                    try:
                        meon.parse(request.POST['meon_status[%d]' % (i)])
                    except:
                        meon.parse(False)
                    print meon.user
                except MultiValueDictKeyError:
                    pass
            return HttpResponseRedirect('/user/%s/' % (request.user.username,))
    else:
        profile = request.user.get_profile()
        data = {
            'mail': request.user.email,
            'about': profile.about,
            'icq': profile.icq,
            'jabber': profile.jabber,
            'timezone': profile.timezone,
            'show_mail': profile.hide_mail,
            'notify_comment_reply': profile.reply_comment,
            'notify_post_reply': profile.reply_post,
            'notify_pm': profile.reply_pm,
            'notify_mention': profile.reply_mention,
            'notify_spy': profile.reply_spy,
            'city': profile.city,
            'site': profile.site,
        }
        form = EditUserForm(data)
    return {
        'form': form,
        'user': request.user,
        'profile': request.user.get_profile()
    }
Beispiel #12
0
def edit_user(request):
    """Edit user data form

    Keyword arguments:
    request -- request object

    Returns: HttpResponse

    """
    if request.method == 'POST':
        form = EditUserForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            profile = request.user.get_profile()
            request.user.email = data['mail']
            profile.about = parse(data['about'])
            profile.icq = data['icq']
            profile.jabber = data['jabber']
            profile.timezone = data['timezone']
            if data['city']:
                profile.city = City.get_city(data['city'])
            profile.hide_mail = data['show_mail']
            profile.reply_comment = data['notify_comment_reply']
            profile.reply_pm = data['notify_pm']
            profile.reply_post = data['notify_post_reply']
            profile.reply_mention = data['notify_mention']
            profile.reply_spy = data['notify_spy']
            #profile.avatar = data['userpic']
            profile.site = data['site']
            profile.save()
            request.user.save()
            count = int(request.POST['count'])
            MeOn.objects.filter(user=request.user).delete()
            Statused.objects.filter(user=request.user).delete()
            for i in range(count):
                try:
                    meon = MeOn()
                    meon.url = request.POST['meon_url[%d]' % (i)]
                    meon.title = request.POST['meon[%d]' % (i)]
                    meon.user = request.user
                    try:
                        meon.parse(request.POST['meon_status[%d]' % (i)])
                    except:
                        meon.parse(False)
                    print meon.user
                except MultiValueDictKeyError:
                    pass
            return HttpResponseRedirect('/user/%s/' %
                                        (request.user.username, ))
    else:
        profile = request.user.get_profile()
        data = {
            'mail': request.user.email,
            'about': profile.about,
            'icq': profile.icq,
            'jabber': profile.jabber,
            'timezone': profile.timezone,
            'show_mail': profile.hide_mail,
            'notify_comment_reply': profile.reply_comment,
            'notify_post_reply': profile.reply_post,
            'notify_pm': profile.reply_pm,
            'notify_mention': profile.reply_mention,
            'notify_spy': profile.reply_spy,
            'city': profile.city,
            'site': profile.site,
        }
        form = EditUserForm(data)
    return {
        'form': form,
        'user': request.user,
        'profile': request.user.get_profile()
    }
 def save(self, commit=True):
     self.instance.preview, self.instance.text = utils.cut(self.instance.text)
     self.instance.preview = utils.parse(self.instance.preview, settings.VALID_TAGS, settings.VALID_ATTRS)
     self.instance.text = utils.parse(self.instance.text, settings.VALID_TAGS, settings.VALID_ATTRS)
     return super(EditPostForm, self).save(commit)
Beispiel #14
0
def preview_comment(request):
    return jsend({
        'text':
        utils.parse(request.POST.get('text'), VALID_TAGS, VALID_ATTRS)
    })
Beispiel #15
0
 def save(self):
     """Parse html and save"""
     utils.parse(self.text, VALID_TAGS, VALID_ATTRS)
     super(Comment, self).save() # Call the "real" save() method
Beispiel #16
0
 def save(self):
     """Parse html and save"""
     utils.parse(self.text, VALID_TAGS, VALID_ATTRS)
     super(Comment, self).save()  # Call the "real" save() method