Exemplo n.º 1
0
def editEvent(request, eventId, revision=None):
    
    if request.method == "POST":
        if not 'cancel' in request.POST:
            (event, version) = Query.updateEvent(request, eventId, revision)
            if 'redirect' in request.POST:
                return HttpResponseRedirect(request.POST['redirect'])
            if event is not None:
                revision = version.revision if version is not None else event.publicRevision
                return HttpResponseRedirect("%s/event/%s/%s" % (pathPrefix, event.id, revision))
        return HttpResponseRedirect("%s/event/" % pathPrefix)
    
    if request.method == "DELETE":
        if revision is not None:
            event = Query.deleteEventVersion(request, eventId, revision)
            return HttpResponseRedirect("%s/event/%s/%s" % (pathPrefix, event.id, event.publicRevision))
        else:
            Query.deleteEvent(request, eventId)
            return HttpResponseRedirect("%s/event/" % pathPrefix)
            
            
    
    event = EventBase.objects.filter(id=eventId).get()
        
    if revision is None:
        revision = event.publicRevision
    eventVersion = event.getVersion(revision)
    
    revisions = {}
    for version in event.getVersions():
        revisions[version.revision] = version.created
    
    user = request.user

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