Exemplo n.º 1
0
def event_edit(request, id=None, extra_context=None):
    try:
        event = Event.objects.get(pk=id)
    except Event.DoesNotExist:
        raise Http404("Event with id '%s' does not exist." % id)

    context = {'event': event}
    if not admin_of_event(event, request.user):
        raise Http403('You are not allowed to edit this event.')
    if is_recruiter(event.owner):
        form_class = EventForm
    elif is_campus_org(event.owner):
        context['max_industries'] = s.EP_MAX_INDUSTRIES
        context['attending_employers'] = event.attending_employers
        form_class = CampusOrgEventForm
    if request.method == 'POST':
        form = form_class(request.POST, instance=event)
        if form.is_valid():
            event = form.save(commit=False)
            event.edits.add(Edit.objects.create(user=request.user))
            for employer in event.attending_employers.all():
                event.previously_attending_employers.add(employer)
            event.save()
            form.save_m2m()
            # Update index
            event.save()
            notify_about_event(event, "new_event", [
                e for e in list(event.attending_employers.all())
                if e not in list(event.previously_attending_employers.all())
            ])
            return HttpResponseRedirect(
                reverse('event_page',
                        kwargs={
                            'id': event.id,
                            'slug': event.slug
                        }))
    else:
        form = form_class(instance=event)
    context['edit'] = True
    context['hours'] = map(lambda x, y: str(x) + y,
                           [12] + range(1, 13) + range(1, 12),
                           ['am'] * 12 + ['pm'] * 12)
    context['form'] = form
    context['today'] = datetime.now().strftime('%m/%d/%Y')
    if event.type.name == "Hard Deadline":
        context['event_scheduler_date'] = event.end_datetime.strftime(
            '%m/%d/%Y')
    elif event.type.name == "Rolling Deadline":
        context['event_scheduler_date'] = datetime.now().strftime('%m/%d/%Y')
    else:
        context['event_scheduler_date'] = event.start_datetime.strftime(
            '%m/%d/%Y')
    context.update(extra_context or {})
    return context
Exemplo n.º 2
0
def event_new(request, form_class=None, extra_context=None):
    context = {}
    if is_recruiter(request.user):
        employer = request.user.recruiter.employer
        form_class = EventForm
    elif is_campus_org(request.user):
        form_class = CampusOrgEventForm
        context['max_industries'] = s.EP_MAX_INDUSTRIES
    if request.method == 'POST':
        form = form_class(data=request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.owner = request.user
            event.save()
            form.save_m2m()
            if event.type.name == "Rolling Deadline":
                event.start_datetime = datetime.now() - timedelta(weeks=1)
                event.end_datetime = datetime.now() + timedelta(weeks=1000)
                event.save()
            elif event.type.name == "Hard Deadline":
                event.start_datetime = event.end_datetime
                event.save()
            if is_recruiter(request.user):
                event.attending_employers.add(employer)
                # Update index
                employer.save()
            notify_about_event(event, "new_event",
                               event.attending_employers.all())
            # Update index
            event.save()
            return HttpResponseRedirect(
                reverse('event_page',
                        kwargs={
                            'id': event.id,
                            'slug': event.slug
                        }))
    else:
        form = form_class(
            initial={
                'start_datetime': datetime.now() + timedelta(minutes=30),
                'end_datetime': datetime.now() +
                timedelta(hours=1, minutes=30),
            })
    context['hours'] = map(lambda x, y: str(x) + y,
                           [12] + range(1, 13) + range(1, 12),
                           ['am'] * 12 + ['pm'] * 12)
    context['form'] = form
    context['today'] = datetime.now().strftime('%m/%d/%Y')
    context['event_scheduler_date'] = datetime.now().strftime('%m/%d/%Y')
    context.update(extra_context or {})
    return context
Exemplo n.º 3
0
def event_edit(request, id=None, extra_context=None):
    try:
        event = Event.objects.get(pk=id)
    except Event.DoesNotExist:
        raise Http404("Event with id '%s' does not exist." % id)
    
    context = {'event': event}
    if not admin_of_event(event, request.user):
        raise Http403('You are not allowed to edit this event.')  
    if is_recruiter(event.owner):
        form_class = EventForm
    elif is_campus_org(event.owner):
        context['max_industries'] = s.EP_MAX_INDUSTRIES
        context['attending_employers'] = event.attending_employers
        form_class = CampusOrgEventForm
    if request.method == 'POST':
        form = form_class(request.POST, instance=event)
        if form.is_valid():
            event = form.save(commit=False)
            event.edits.add(Edit.objects.create(user=request.user))
            for employer in event.attending_employers.all():
                event.previously_attending_employers.add(employer)
            event.save()
            form.save_m2m()
            # Update index
            event.save()
            notify_about_event(event, "new_event", [e for e in list(event.attending_employers.all()) if e not in list(event.previously_attending_employers.all())])
            return HttpResponseRedirect(reverse('event_page', kwargs={'id':event.id, 'slug':event.slug}))
    else:
        form = form_class(instance=event)
    context['edit'] = True
    context['hours'] = map(lambda x,y: str(x) + y, [12] + range(1,13) + range(1,12), ['am']*12 + ['pm']*12)
    context['form'] = form
    context['today'] = datetime.now().strftime('%m/%d/%Y')
    if event.type.name == "Hard Deadline":
        context['event_scheduler_date'] = event.end_datetime.strftime('%m/%d/%Y')
    elif event.type.name == "Rolling Deadline":
        context['event_scheduler_date'] = datetime.now().strftime('%m/%d/%Y')
    else:
        context['event_scheduler_date'] =  event.start_datetime.strftime('%m/%d/%Y')
    context.update(extra_context or {})
    return context
Exemplo n.º 4
0
def event_new(request, form_class=None, extra_context=None):
    context = {}
    if is_recruiter(request.user):
        employer = request.user.recruiter.employer
        form_class = EventForm
    elif is_campus_org(request.user):
        form_class = CampusOrgEventForm
        context['max_industries'] = s.EP_MAX_INDUSTRIES
    if request.method == 'POST':
        form = form_class(data=request.POST)
        if form.is_valid():
            event = form.save(commit=False)
            event.owner = request.user
            event.save()
            form.save_m2m()
            if event.type.name == "Rolling Deadline":
                event.start_datetime = datetime.now() - timedelta(weeks=1)
                event.end_datetime = datetime.now() + timedelta(weeks=1000)
                event.save()
            elif event.type.name == "Hard Deadline":
                event.start_datetime = event.end_datetime
                event.save()
            if is_recruiter(request.user):
                event.attending_employers.add(employer)
                # Update index
                employer.save()
            notify_about_event(event, "new_event", event.attending_employers.all())
            # Update index
            event.save()
            return HttpResponseRedirect(reverse('event_page', kwargs={'id':event.id, 'slug':event.slug}))
    else:
        form = form_class(initial={
            'start_datetime': datetime.now() + timedelta(minutes=30),
            'end_datetime': datetime.now() + timedelta(hours=1, minutes=30),
        })
    context['hours'] = map(lambda x,y: str(x) + y, [12] + range(1,13) + range(1,12), ['am']*12 + ['pm']*12)
    context['form'] = form
    context['today'] = datetime.now().strftime('%m/%d/%Y')
    context['event_scheduler_date'] = datetime.now().strftime('%m/%d/%Y')
    context.update(extra_context or {})
    return context