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)