def new_signature(request): roles = Role.objects_fresh.filter( unit__in=request.units).select_related('person') people = set((p.person for p in roles)) people = sorted(list(people)) person_choices = [(p.id, p.sortname()) for p in people] if request.method == 'POST': form = SignatureForm(request.POST, request.FILES) form.fields['person'].choices = person_choices if form.is_valid(): person = Person.objects.get(id=form.cleaned_data['person']) sig, created = Signature.objects.get_or_create(user=person) if not created: sig.sig.delete(save=False) sig.sig = form.cleaned_data['signature'] sig.save() messages.add_message( request, messages.SUCCESS, 'Created signature for %s.' % (sig.user.name())) return HttpResponseRedirect(reverse('admin:signatures')) else: form = SignatureForm() form.fields['person'].choices = person_choices context = {'form': form} return render(request, "dashboard/new_signature.html", context)
def new_signature(request): roles = Role.objects_fresh.filter(unit__in=request.units).select_related('person') people = set((p.person for p in roles)) people = sorted(list(people)) person_choices = [(p.id, p.sortname()) for p in people] if request.method == 'POST': form = SignatureForm(request.POST, request.FILES) form.fields['person'].choices = person_choices if form.is_valid(): person = Person.objects.get(id=form.cleaned_data['person']) sig, created = Signature.objects.get_or_create(user=person) if not created: sig.sig.delete(save=False) sig.sig = form.cleaned_data['signature'] sig.save() messages.add_message(request, messages.SUCCESS, 'Created signature for %s.' % (sig.user.name())) return HttpResponseRedirect(reverse('admin:signatures')) else: form = SignatureForm() form.fields['person'].choices = person_choices context = {'form': form} return render(request, "dashboard/new_signature.html", context)