コード例 #1
0
ファイル: views.py プロジェクト: jheasly/django-obit-desk
def print_obituary(request, obituary_id=None):
    '''
    Coding Horror: Pretty much copied line-for-line 
    from manage_obituary(request, obituary_id=None), ~ Line 241, above. 
    '''
    if obituary_id:
        obit = Obituary.objects.get(pk=obituary_id)
        tm = loader.get_template('obituary_list_unix_include.txt')
        ct = RequestContext(request, {'object_list': [obit]})
        dt = tm.render(ct)
        dt = output_cleanup_hack(dt)
        dt = adobe_to_web(dt)
    response_dict = {
        'obit_string': dt,
        'obit': obit,
    }
    return render_to_response('print_obituary.html', response_dict, context_instance=RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: jheasly/django-obit-desk
def manage_obituary(request, obituary_id=None):
    if obituary_id:
        # Editing existing record ... 
        obituary = get_object_or_404(Obituary, pk=obituary_id)
    else:
        # Creating new record ... 
        obituary = Obituary()
    
    if request.method == 'POST':
        if request.POST.has_key('delete') and obituary_id:
            current_obit = Obituary.objects.filter(death_notice__funeral_home__username=request.user.username).get(pk=obituary_id)
            current_obit.delete()
            msg = ugettext('The %(verbose_name)s for %(first)s %(last)s was deleted.') % \
                {
                    'verbose_name': Obituary._meta.verbose_name,
                    'first': current_obit.death_notice,
                    'last': current_obit.death_notice.last_name,
                }
            messages.success(request, msg, fail_silently=False)
            return HttpResponseRedirect(reverse('death_notice_index'))
        
        if obituary_id:
            current_obit = Obituary.objects.filter(death_notice__funeral_home__username=request.user.username).get(pk=obituary_id)
        
        form = ObituaryForm(request, request.POST, request.FILES, instance=obituary)
        formset = VisitationFormSet(request.POST, instance=obituary)
        bei_formset = BEI_FormSet(request.POST, instance=obituary)
        os_formset = Other_servicesFormSet(request.POST, instance=obituary)
        child_formset = ChildrenFormSet(request.POST, instance=obituary)
        sib_formset = SiblingsFormSet(request.POST, instance=obituary)
        wed_formset = MarriageFormSet(request.POST, instance=obituary)
        
        if form.is_valid() and formset.is_valid() and bei_formset.is_valid() and \
            os_formset.is_valid() and child_formset.is_valid() and \
            sib_formset.is_valid() and wed_formset.is_valid():
            
            msg = ugettext('The %(verbose_name)s for %(first)s %(last)s was updated.') % \
                {
                    'verbose_name': Obituary._meta.verbose_name,
                    'first': obituary.death_notice.first_name,
                    'last': obituary.death_notice.last_name,
                }
            messages.success(request, msg, fail_silently=False)
            
            obituary = form.save()
            formset.save()
            bei_formset.save()
            os_formset.save()
            child_formset.save()
            sib_formset.save()
            wed_formset.save()
            if request.POST.has_key('submit'):
                return HttpResponseRedirect(reverse('death_notice_index'))
            elif request.POST.has_key('submit_add'):
                return HttpResponseRedirect(reverse('add_obituary'))
            else:
                return HttpResponseRedirect(reverse('obituary.views.manage_obituary', args=(obituary.pk,)))
    else:
        if obituary_id:
            current_obit = Obituary.objects.get(pk=obituary_id)
            form = ObituaryForm(request, instance=obituary)
            formset = VisitationFormSet(instance=obituary)
            bei_formset = BEI_FormSet(instance=obituary)
            os_formset = Other_servicesFormSet(instance=obituary)
            child_formset = ChildrenFormSet(instance=obituary)
            sib_formset = SiblingsFormSet(instance=obituary)
            wed_formset = MarriageFormSet(instance=obituary)
        else:
            form = ObituaryForm(request)
            formset = VisitationFormSet(instance=Obituary())
            bei_formset = BEI_FormSet(instance=Obituary())
            os_formset = Other_servicesFormSet(instance=Obituary())
            child_formset = ChildrenFormSet(instance=Obituary())
            sib_formset = SiblingsFormSet(instance=Obituary())
            wed_formset = MarriageFormSet(instance=Obituary())
    
    ob_response_dict = {
        'form': form,
        'formset_name': formset.model._meta.verbose_name,
        'formset': formset,
        'bei_formset_name': bei_formset.model._meta.verbose_name,
        'bei_formset': bei_formset,
        'os_formset_name': os_formset.model._meta.verbose_name,
        'os_formset': os_formset,
        'child_formset_name': child_formset.model._meta.verbose_name,
        'child_formset': child_formset,
        'sib_formset_name': sib_formset.model._meta.verbose_name,
        'sib_formset': sib_formset,
        'wed_formset': wed_formset,
        'obituary_id': obituary_id,
    }
    
    # To be used for Preview
    if obituary_id:
        tm = loader.get_template('obituary_list_unix_include.txt')
        ct = RequestContext(request, {'object_list': [current_obit]})
#         ct = RequestContext(request)
#         ct['object_list'] = [current_obit]
        dt = tm.render(ct)
        dt = output_cleanup_hack(dt)
        dt = adobe_to_web(dt)
        ob_response_dict['obit_preview'] = dt
        ob_response_dict['current_obit'] = current_obit
    
    return render_to_response('manage_obituary.html', ob_response_dict, context_instance=RequestContext(request))