示例#1
0
 def post(self, request, event_code):
     if not belongs_to_group(request.user, EventVolunteer.GROUP_NAME):
         raise PermissionDenied()
     event = get_object_or_404(Event, code=event_code)
     form = WorkshopForm(request.POST, instance=event)
     if form.is_valid():
         form.save()
         return redirect('index')
     return render(request, 'EventManagement/update_event.html', {
         'form': form,
         'user': request.user,
         'event': event,
         'slug': event_code
     })
示例#2
0
 def get(self, request, event_code):
     if not belongs_to_group(request.user, EventVolunteer.GROUP_NAME):
         raise PermissionDenied()
     event_v = EventVolunteer.objects.get(user=request.user)
     event = get_object_or_404(Workshop, code=event_code)
     if event.organizer != event_v.organizer:
         raise PermissionDenied()
     form = WorkshopForm(instance=event)
     return render(request, 'EventManagement/update_event.html', {
         'form': form,
         'user': request.user,
         'event': event,
         'slug': event_code
     })
示例#3
0
def admin_panel(request):
    context = {
        'event_list': Event.objects.all(),
        'workshop_list': Workshop.objects.all(),
        'user': request.user
    }
    if belongs_to_group(request.user, EventVolunteer.GROUP_NAME):
        event_volunteer = EventVolunteer.objects.get(user=request.user)
        context['event_volunteer'] = event_volunteer
        org_events = Event.objects.filter(organizer=event_volunteer.organizer)
        context['event_registrations'] = []
        for i, event in enumerate(org_events):
            context['event_registrations'].append({
                'code': event.code,
                'name': event.name,
                'list': []
            })
            registrations = Registration.objects.filter(event=event)
            for reg in registrations:
                context['event_registrations'][i]['list'].append({
                    'profile':
                    reg.profile.serialize,
                    'additional_data':
                    reg.additional_data,
                })
        org_workshops = Workshop.objects.filter(
            organizer=event_volunteer.organizer)
        context['workshop_registrations'] = []
        for i, event in enumerate(org_workshops):
            context['workshop_registrations'].append({
                'code': event.code,
                'name': event.name,
                'list': []
            })
            registrations = WorkshopRegistration.objects.filter(workshop=event)
            for reg in registrations:
                context['workshop_registrations'][i]['list'].append({
                    'profile':
                    reg.profile.serialize,
                    'additional_data':
                    reg.additional_data,
                })
        return render(request, 'EventManagement/event_volunteer.html', context)
    elif belongs_to_group(request.user, RegistrationDesk.GROUP_NAME):
        event_volunteer = RegistrationDesk.objects.get(user=request.user)
        context['event_volunteer'] = event_volunteer
        context['p_form'] = ProfileForm()
        id_code = request.session.get('id_code', None)
        print(id_code)
        if id_code is not None:
            del request.session['id_code']
        context['id_code'] = id_code
        return render(request, 'EventManagement/registration_admin.html',
                      context)
    elif belongs_to_group(request.user, RituAdmin.GROUP_NAME):
        context['admin'] = RituAdmin.objects.get(user=request.user)
        org_events = Event.objects.all()
        context['event_registrations'] = []
        for i, event in enumerate(org_events):
            context['event_registrations'].append({
                'code': event.code,
                'name': event.name,
                'list': []
            })
            registrations = Registration.objects.filter(event=event)
            for reg in registrations:
                context['event_registrations'][i]['list'].append({
                    'profile':
                    reg.profile.serialize,
                    'additional_data':
                    reg.additional_data,
                })
        org_workshops = Workshop.objects.all()
        context['workshop_registrations'] = []
        for i, event in enumerate(org_workshops):
            context['workshop_registrations'].append({
                'code': event.code,
                'name': event.name,
                'list': []
            })
            registrations = WorkshopRegistration.objects.filter(workshop=event)
            for reg in registrations:
                context['workshop_registrations'][i]['list'].append({
                    'profile':
                    reg.profile.serialize,
                    'additional_data':
                    reg.additional_data,
                })
        return render(request, "EventManagement/ritu_admin_admin.html",
                      context)
    else:
        raise PermissionDenied("Not a authorized to view the page")