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)
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' }
def preview_comment(request, text): """Get comment preview""" return { 'text': utils.parse( request.POST.get('text'), settings.VALID_TAGS, settings.VALID_ATTRS, ) }
def preview_comment(request, text): """Get comment preview""" return { 'text': utils.parse( text, settings.VALID_TAGS, settings.VALID_ATTRS, ) }
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
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
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)})
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 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)
def preview_comment(request): return jsend({ 'text': utils.parse(request.POST.get('text'), VALID_TAGS, VALID_ATTRS) })
def save(self): """Parse html and save""" utils.parse(self.text, VALID_TAGS, VALID_ATTRS) super(Comment, self).save() # Call the "real" save() method