示例#1
0
def service_disposal_post(request, content_form, type_label, item_label):
    form = content_form(request.POST)
    if form.is_valid():
        service_result = form.save()
        record = WorkRecord()
        record.provider = request.user
        record.resident = Resident.objects.get(
            id=int(request.session.get('resident_id')))
        record.service_item = Service.objects.filter(service_type__alias=type_label).\
            get(alias=item_label)
        record.app_label = type_label
        record.model_name = form.Meta.model.__name__  # Test
        record.service_item_alias = item_label
        record.item_id = service_result.id
        record.evaluation = WorkRecord.SATISFIED  # this should be some para from request
        record.submit_time = datetime.now()
        record.status = WorkRecord.FINISHED
        record.save()

        for session_para in [
                'resident_id', 'resident_name', 'service_items_id_highlight'
        ]:
            try:
                request.session[session_para]
            except KeyError:
                pass
            else:
                del request.session[session_para]
        return HttpResponseRedirect(reverse('services:service_grid'))
    else:
        return service_render(request, form, type_label, item_label)