def EditEvent(request, eventid):
    ''' Show and update existing event. '''
    
    try:
        event = Event.objects.get(id = eventid)
    except(Event.DoesNotExist):
        raise Http404
    
    group = event.group
    
    bc = [{'title': 'Overview', 'url': reverse('MyPidge.Events.views.All')},
        {'title': event.title, 'url': reverse('MyPidge.Events.views.ViewEvent', args=[event.id])},
        {'title':'Edit'}]
    
    usr = User.objects.get(id = request.session['userid'])
    
    try:
        uga = Membership.objects.get(person = usr, group=group, assoctype='CTL')
    except(Membership.DoesNotExist):
        raise PermissionDenied
    
    if request.method == 'POST':
        editform = EventForm(request.POST, instance = event)
        if editform.is_valid():
            editform.save()
            return HttpResponseRedirect(reverse('MyPidge.Events.views.ViewEvent', args=[event.id]))
    else:
        editform = EventForm(instance = event)
    return render_to_response("events-edit", {'breadcrumb': bc, 'activetab': 'Events','event': event, 'editform': editform})
def AddToGroup(request, groupid):
    ''' Add an event to a specific group. '''
    
    usr = User.objects.get(id = request.session['userid'])
    
    try:
        group = Group.objects.get(id=groupid)
    except(Group.DoesNotExist):
        raise Http404

    bc = [{'title': 'Overview', 'url': reverse('MyPidge.Events.views.All')},
        {'title': 'Add Event', 'url': reverse('MyPidge.Events.views.Add')},
        {'title': group.official_name}]

    try:
        uga = Membership.objects.get(person = usr, group=group, assoctype='CTL')
    except Membership.DoesNotExist:
        raise PermissionDenied
    
    eventClone = None
    # Does the user want to clone an existing Event for this Group?
    if 'clone' in request.REQUEST:
        try:
            eventClone = Event.objects.get(id=request.REQUEST['clone'])
        except Event.DoesNotExist:
            raise Http404
        
    if request.method == 'POST':
        myevent = Event(group = group)
        aef = EventForm(request.POST, instance = myevent)
        if aef.is_valid():
            # Save new Event and get them to add EventTimes to it
            newevent = aef.save()
            return HttpResponseRedirect(reverse('MyPidge.Events.views.AddTime', args=[newevent.id]))
        
    else:
        if eventClone:
            aef = EventForm(instance = eventClone)
        else:
            aef = EventForm()
    
    return render_to_response("events-add-togroup", {'breadcrumb': bc, 'activetab': 'Events','group': group, 'aef': aef})