def approval(request,id): context = RequestContext(request) event = get_object_or_404(Event,pk=id) if event.approved: pass # gb2 event page if request.method == 'POST': form = EventApprovalForm(request.POST,instance=event) e = form.save(commit=False) e.approved = True e.save() else: form = EventApprovalForm(instance=event) context['formset'] = form return render_to_response('form_crispy.html', context)
def approval(request, id): context = {} context['msg'] = "Approve Event" event = get_object_or_404(Event, pk=id) if not request.user.has_perm('events.approve_event', event): raise PermissionDenied if event.approved: messages.add_message(request, messages.INFO, 'Event has already been approved!') return HttpResponseRedirect(reverse('events.views.flow.viewevent', args=(event.id,))) if request.method == 'POST': form = EventApprovalForm(request.POST, instance=event) if form.is_valid(): e = form.save(commit=False) e.approved = True e.approved_on = timezone.now() e.approved_by = request.user e.save() # confirm with user messages.add_message(request, messages.INFO, 'Approved Event') if e.contact and e.contact.email: email_body = 'Your event "%s" has been approved!' % event.event_name email = DLEG(subject="Event Approved", to_emails=[e.contact.email], body=email_body, bcc=[settings.EMAIL_TARGET_VP]) email.send() else: messages.add_message(request, messages.INFO, 'No contact info on file for approval. Please give them the good news!') return HttpResponseRedirect(reverse('events.views.flow.viewevent', args=(e.id,))) else: context['formset'] = form else: unbilled_events = Event.objects.filter(org__in=event.org.all()).filter(billings__date_paid__isnull=True, billings__date_billed__isnull=False).filter(closed=False).filter(cancelled=False).filter(test_event=False) unbilled_events = map(str, unbilled_events) if event.org.exists() and unbilled_events: messages.add_message(request, messages.WARNING, "Organization has unbilled events: %s" % ", ".join(unbilled_events)) form = EventApprovalForm(instance=event) context['formset'] = form return render(request, 'form_crispy.html', context)
def approval(request, id): context = {} context['msg'] = "Approve Event" event = get_object_or_404(Event, pk=id) if not request.user.has_perm('events.approve_event', event): raise PermissionDenied if event.approved: messages.add_message(request, messages.INFO, 'Event has already been approved!') return HttpResponseRedirect(reverse('events.views.flow.viewevent', args=(event.id,))) if request.method == 'POST': form = EventApprovalForm(request.POST, instance=event) if form.is_valid(): e = form.save(commit=False) e.approved = True e.approved_on = timezone.now() e.approved_by = request.user e.save() # confirm with user messages.add_message(request, messages.INFO, 'Approved Event') if e.contact and e.contact.email: email_body = 'Your event "%s" has been approved!' % event.event_name email = DLEG(subject="Event Approved", to_emails=[e.contact.email], body=email_body, bcc=[settings.EMAIL_TARGET_VP]) email.send() else: messages.add_message(request, messages.INFO, 'No contact info on file for approval. Please give them the good news!') return HttpResponseRedirect(reverse('events.views.flow.viewevent', args=(e.id,))) else: context['formset'] = form else: form = EventApprovalForm(instance=event) context['formset'] = form return render(request, 'form_crispy.html', context)
def approval(request, id): context = {} context['msg'] = "Approve Event" event = get_object_or_404(BaseEvent, pk=id) if not request.user.has_perm('events.approve_event', event): raise PermissionDenied if event.closed: messages.add_message(request, messages.ERROR, 'Event is closed.') return HttpResponseRedirect(reverse('events:detail', args=(event.id,))) if event.approved: messages.add_message(request, messages.INFO, 'Event has already been approved!') return HttpResponseRedirect(reverse('events:detail', args=(event.id,))) is_event2019 = isinstance(event, Event2019) context['is_event2019'] = is_event2019 if is_event2019: mk_serviceinstance_formset = inlineformset_factory(BaseEvent, ServiceInstance, extra=3, exclude=[]) mk_serviceinstance_formset.form = curry_class(ServiceInstanceForm, event=event) if request.method == 'POST': form = EventApprovalForm(request.POST, instance=event) if is_event2019: services_formset = mk_serviceinstance_formset(request.POST, request.FILES, instance=event) if form.is_valid() and (not is_event2019 or services_formset.is_valid()): set_revision_comment("Approved", form) e = form.save(commit=False) e.approved = True e.approved_on = timezone.now() e.approved_by = request.user e.save() if is_event2019: services_formset.save() # confirm with user messages.add_message(request, messages.INFO, 'Approved Event') if e.contact and e.contact.email: email_body = 'Your event "%s" has been approved!' % event.event_name email = DLEG(subject="Event Approved", to_emails=[e.contact.email], body=email_body, bcc=[settings.EMAIL_TARGET_VP]) email.send() else: messages.add_message(request, messages.INFO, 'No contact info on file for approval. Please give them the good news!') return HttpResponseRedirect(reverse('events:detail', args=(e.id,))) else: context['form'] = form if is_event2019: context['services_formset'] = services_formset else: # has a bill, but no paid bills, and is not otherwise closed unbilled_events = Event.objects.filter(org__in=event.org.all())\ .exclude(billings__date_paid__isnull=False)\ .filter(billings__date_billed__isnull=False)\ .filter(closed=False)\ .filter(cancelled=False)\ .filter(test_event=False)\ .distinct() unbilled_events = map(str, unbilled_events) if event.org.exists() and unbilled_events: messages.add_message(request, messages.WARNING, "Organization has unbilled events: %s" % ", ".join(unbilled_events)) for org in event.org.filter(delinquent=True): messages.add_message(request, messages.WARNING, "The client '%s' has been marked as delinquent. \ This means that the client has one or more long-outstanding bills which they should be required to \ pay before you approve this event." % org) context['form'] = EventApprovalForm(instance=event) if is_event2019: context['services_formset'] = mk_serviceinstance_formset(instance=event) return render(request, 'form_crispy_approval.html', context)