Ejemplo n.º 1
0
def editTag(request, tagId, revision=None):
    tag = TagBase.objects.filter(id=tagId).get()
    
    if request.method == "POST":
        if not 'cancel' in request.POST:
            (tag,version) = Query.updateTag(request, tagId, revision)
            if 'redirect' in request.POST:
                return HttpResponseRedirect(request.POST['redirect'])
            if tag is not None:
                revision = version.revision if version is not None else tag.publicRevision
                return HttpResponseRedirect("%s/tag/%s/%s" % (pathPrefix, tag.id, revision))
        return HttpResponseRedirect("%s/tag/" % pathPrefix)
    
    elif request.method == "DELETE":
        if revision is not None:
            tag = Query.deleteTagVersion(request, tagId, revision)
            return HttpResponseRedirect("%s/tag/%s/%s" % (pathPrefix, tag.id, event.publicRevision))
        else:
            Query.deleteTag(request, tagId)
            return HttpResponseRedirect("%s/tag/" % pathPrefix)
            
    
    else:
        
        
        if revision is None:
            revision = tag.publicRevision
        tagVersion = tag.getVersion(revision)
        
        revisions = {}
        for version in tag.getVersions():
            revisions[version.revision] = version.created

        return render(request, "tag.html", {
            "tag": tag,
            "tagVersion": tagVersion,
            "revisions": revisions,
            "displayedRevision": int(revision),
            "currentRevision": tag.getCurrentVersion().revision,
            "nav":"tags",
            "permissions": request.user.get_all_permissions(),
            "user": request.user,
            "new": False,
            "languages": Query.listLanguages()
        })