예제 #1
0
 def post(self, request, *args, **kwargs):
     tag_form = TagForm(request.POST)
     tag_form.is_valid()
     tagname = tag_form.cleaned_data['name']
     tag_count = Tag.objects.filter(name=tagname).count()
     if tag_count == 0:
         tag = tag_form.save()
     else:
         tag = Tag.objects.get(name=tagname)
     tagobjectdata = {'tag_id': tag.id, 'object_id': tag_form.cleaned_data['object_id']}
     tagobject_form = TagObjectForm(tagobjectdata)
     tagobject_form.is_valid()
     tagobject_form.save()
     return self.render_success('done', {'tag':tagname, 'url': tag.get_absolute_url()})
예제 #2
0
def blog_add(request):
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            for taglist in tagname.split():
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            author = Author.objects.get(id=1)
            content = cd['content']
            blog = Blog(caption=title, author=author, content=content)
            blog.save()
            for taglist in tagname.split():
                blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                blog.save()
            id = Blog.objects.order_by('-publish_time')[0].id
            return HttpResponseRedirect('blog/%s' % id)
    else:
        form = BlogForm()
        tag = TagForm(initial={'tag_name': 'notags'})
    return render_to_response('blog_add.html',
        {'form': form, 'tag': tag}, context_instance=RequestContext(request))
예제 #3
0
def tag_edit_post(request, id='0', cxt={}):
    assert request.method == 'POST'
    cxt.update(csrf(request))
    tag = Tag.objects.get(id=int(id))
    initial = {
        'name': tag.name,
        'color': tag.color
    }
    tag_form = TagForm(request.POST, initial=initial)
    cxt.update({'tag_form': tag_form, 'tag': tag})
    if tag_form.is_valid():
        data = tag_form.cleaned_data
        tag_name = data['name'].lower()
        if 'name' in tag_form.changed_data:
            if Tag.objects.filter(name=tag_name):
                tag_form.add_error('name', 'Duplicated Tag Name')
            else:
                Tag.objects.filter(id=int(id)).update(
                    name=tag_name,
                    color='#' + data['color'][-6:]
                )
        else:
            Tag.objects.filter(id=id).update(
                color='#' + data['color'][-6:]
            )
    return render_to_response('tag_edit.html', cxt)
예제 #4
0
def add_tag(request):
    """

    :param request:
    :return:
    """
    id = request.GET.get('id', None)
    if id is not None:
        tag = get_object_or_404(Tag, id=id)
    else:
        tag = None

    if request.method == 'POST':
        if request.POST.get('control') == 'delete':
            tag.delete()
            messages.add_message(request, messages.INFO, 'Tag deleted')
            return HttpResponseRedirect(reverse('notes:index'))
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            t = form.save(commit=False)
            t.slug = slugify(t.label)
            t.save()
            messages.add_message(request, messages.INFO, 'Tag deleted')
            return HttpResponseRedirect(reverse('notes:index'))
    else:
        form = TagForm(instance=tag)
    return render(request, 'notes/addtag.html', {'form': form, 'tag': tag})
예제 #5
0
def tagadd(request):
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred:list'))
    else:
        form = TagForm()

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #6
0
def tagadd(request):
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred.views.list'))
    else:
        form = TagForm()

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #7
0
파일: views.py 프로젝트: jpoa/RatticWeb
def tagadd(request):
    if request.method == "POST":
        form = TagForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse("cred.views.list"))
    else:
        form = TagForm()

    return render(request, "cred_tagedit.html", {"form": form})
예제 #8
0
def tagedit(request, tag_id):
    tag = get_object_or_404(Tag, pk=tag_id)
    if request.method == 'POST':
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred:list'))
    else:
        form = TagForm(instance=tag)

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #9
0
def tagedit(request, tag_id):
    tag = get_object_or_404(Tag, pk=tag_id)
    if request.method == 'POST':
        form = TagForm(request.POST, instance=tag)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('cred.views.list'))
    else:
        form = TagForm(instance=tag)

    return render(request, 'cred_tagedit.html', {'form': form})
예제 #10
0
 def post(self, request, *args, **kwargs):
     tag_form = TagForm(request.POST)
     tag_form.is_valid()
     tagname = tag_form.cleaned_data['name']
     tag_count = Tag.objects.filter(name=tagname).count()
     if tag_count == 0:
         tag = tag_form.save()
     else:
         tag = Tag.objects.get(name=tagname)
     tagobjectdata = {
         'tag_id': tag.id,
         'object_id': tag_form.cleaned_data['object_id']
     }
     tagobject_form = TagObjectForm(tagobjectdata)
     tagobject_form.is_valid()
     tagobject_form.save()
     return self.render_success('done', {
         'tag': tagname,
         'url': tag.get_absolute_url()
     })
예제 #11
0
def blog_update(request, id=""):
    id = id
    if request.method == 'POST':
        form = BlogForm(request.POST)
        tag = TagForm(request.POST)
        if form.is_valid() and tag.is_valid():
            cd = form.cleaned_data
            cdtag = tag.cleaned_data
            tagname = cdtag['tag_name']
            tagnamelist = tagname.split()
            for taglist in tagnamelist:
                Tag.objects.get_or_create(tag_name=taglist.strip())
            title = cd['caption']
            content = cd['content']
            blog = Blog.objects.get(id=id)
            if blog:
                blog.caption = title
                blog.content = content
                blog.save()
                for taglist in tagnamelist:
                    blog.tags.add(Tag.objects.get(tag_name=taglist.strip()))
                    blog.save()
                tags = blog.tags.all()
                for tagname in tags:
                    tagname = unicode(str(tagname), "utf-8")
                    if tagname not in tagnamelist:
                        notag = blog.tags.get(tag_name=tagname)
                        blog.tags.remove(notag)
            else:
                blog = Blog(caption=blog.caption, content=blog.content)
                blog.save()
            return HttpResponseRedirect('/blog/%s' % id)
    else:
        try:
            blog = Blog.objects.get(id=id)
        except Exception:
            raise Http404
        form = BlogForm(initial={'caption': blog.caption, 'content': blog.content}, auto_id=False)
        tags = blog.tags.all()
        if tags:
            taginit = ''
            for x in tags:
                taginit += str(x) + ' '
            tag = TagForm(initial={'tag_name': taginit})
        else:
            tag = TagForm()
    return render_to_response('blog_add.html',
        {'blog': blog, 'form': form, 'id': id, 'tag': tag},
        context_instance=RequestContext(request))
예제 #12
0
def index(request):
    form = TagForm()

    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            obj = form.save()
            obj.client = plan.client
            obj.save()

    return render_to_response('iconography/tagupload.html', {
        'form': form,
        'request': request,
    },
                              context_instance=RequestContext(request))
예제 #13
0
파일: views.py 프로젝트: clvenstrand/kyhow
def createtag(request):
    
    if request.method == 'POST': # If the form has been submitted...
        form = TagForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            form.save()
            return HttpResponseRedirect('/createpage/') # Redirect after POST
    else:
        form = TagForm() # An unbound form

    return render(request, "createpage/createtag.html", {
        'form': form,
    })
예제 #14
0
def index(request):
    form = TagForm()
    
    if request.method == 'POST':
        form = TagForm(request.POST)
        if form.is_valid():
            obj = form.save()
            obj.client = plan.client
            obj.save()
            
    return render_to_response('iconography/tagupload.html', {
        'form'     :    form,         
        'request'  :    request,
        },
        context_instance=RequestContext(request))
예제 #15
0
def cms_remove_tag(request):
    '''
    1.如果该标签不存在不能移除,
    2.如果标签下有文章则不允许移除,
    因此我们要获取该标签下的所有文章,如果文章数小于0则不允许删除
    '''
    form = TagForm(request.POST)
    if form.is_valid():
        tag_id = form.cleaned_data.get('tag_id')
        tag_model = TagModel.objects.filter(pk=tag_id).first()
        if tag_model:
            article_count = tag_model.articlemodel_set.all().count()
            if article_count > 0:
                return myjson.json_params_error(message=u'该标签下还有文章,不能删除!')
            else:
                tag_model.delete()
                return myjson.json_result()
        else:
            return myjson.json_params_error(message=u'该标签不存在!')
    else:
        message = form.errors
        return myjson.json_params_error(message)
예제 #16
0
def add_post(request):
    if not request.user.is_anonymous():
        if request.method == 'POST':
            post_form = PostForm(request.POST)
            tag = TagForm(request.POST)
            if post_form.is_valid() and tag.is_valid():
                cd_tag = tag.cleaned_data
                tag_name = cd_tag['tag_name']
                for tag_list in tag_name.split(','):
                    Tag.objects.get_or_create(tag_name=tag_list.strip())
                title = post_form.cleaned_data['caption']
                user = request.user
                content = post_form.cleaned_data['content']
                post = Post(caption=title, user=user, content=content, vedio_xml_link="/home/yusn/liteforum/liteforum/static/ressvr/video.xml")
                post.save()
                #tags
                for tag_list in tag_name.split(','):
                    post.tags.add(Tag.objects.get(tag_name=tag_list.strip()))
                    post.save()
                post_id = Post.objects.order_by('-publish_time')[0].id
                #qiniu
                if 'file' in request.FILES:
                    post.vedio_count = 1
                    post.save()
                    bucket_src = 'sns-picture'
                    q = qiniu.Auth('iaB9zwTfCcWzZgIoHKmxexJee1mY_301y5fnsSSZ', '4c75Nb8qypfYrwOhOwOY_rLdYAiH0937sKYh6yWh')
                    data = request.FILES['file']
                    token = q.upload_token(bucket_src)
                    key = request.FILES['file'].name+".mp4"
                    ret, info = qiniu.put_data(token, key, data)
                    pfop = PersistentFop(q, bucket_src)
                    op = op_save('avthumb/mp4/vcodec/libx264/s/', bucket_src, key)
                    ops = []
                    ops.append(op)
                    ret, info = pfop.execute(key, ops, 1)
                    print(info)
                    assert ret['persistentId'] is not None
                    if ret is not None:
                        print('All is OK')
                    else:
                        print(info) # error message in info
                    #create a new video xml
                    os.chdir("/home/yusn/liteforum/liteforum/static/ressvr")
                    template_object = open('video.xml')
                    try:
                         all_the_text = template_object.read()
                         all_the_text = all_the_text.replace("#replace#", request.FILES['file'].name.encode("utf-8"))
                         new_xml = open(request.FILES['file'].name.encode("utf-8")+'.xml', 'w')
                         new_xml.write(all_the_text)
                         new_xml.close()
                         post.vedio_xml_link = request.FILES['file'].name.encode("utf-8")+'.xml'
                         post.save()
                    finally:
                         template_object.close( )
                return HttpResponseRedirect('/forum/%s' % post.id)
        else:
            post_form = PostForm()
            tag = TagForm(initial={'tag_name': 'others'})
        return render_to_response('forum/add_post.html',
                                  {'form': post_form, 'tag': tag}, RequestContext(request))
    else:
        return render(request, 'forum/login.html', {})