Created
November 26, 2008 18:38
-
-
Save wilkes/29481 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def _get_or_instantiate(request, objclass): | |
try: | |
key = _keyify(objclass) | |
return objclass._default_manager.get(pk=session.get(request, key)) | |
except (ObjectDoesNotExist, KeyError): | |
return objclass() | |
# becomes: | |
def _get(request, objclass): | |
key = _keyify(objclass) | |
return objclass._default_manager.get(pk=session.get(request, key)) | |
# all calles to _get_or_instantiate are changed to _get or objclass() as appropriate | |
def refer_caller_to_physician(request, physician_id, save_redirect='/call/summary/'): | |
""" | |
We are checking if not caller, but the decorator will make that never happen. | |
We can at least check for not id | |
""" | |
caller = _get_or_instantiate(request, Caller) | |
if not caller.id: | |
signals.referral_without_caller.send(sender=refer_caller_to_physician, request=request) | |
if physician_id: | |
p = Physician.objects.get(pk=physician_id) | |
p.refer(caller) | |
else: | |
if caller.referral: | |
caller.referral.delete() | |
# This will go in a method on caller when there's a disposition | |
# form on the summary page. | |
caller.disposition = request.GET.get('disposition', '') | |
caller.save() | |
return HttpResponseRedirect(save_redirect) | |
# becomes: | |
def refer_caller_to_physician_new_version(request, physician_id, save_redirect='/call/summary/'): | |
try: | |
caller = _get(request, Caller) | |
except (KeyError, ObjectDoesNotExist): | |
signals.referral_without_caller.send(sender=refer_caller_to_physician, request=request) | |
raise # last error, can't remember how to do it off the top of my head | |
if physician_id: | |
p = Physician.objects.get(pk=physician_id) | |
p.refer(caller) | |
else: | |
if caller.referral: | |
caller.referral.delete() | |
# This will go in a method on caller when there's a disposition | |
# form on the summary page. | |
caller.disposition = request.GET.get('disposition', '') | |
caller.save() | |
return HttpResponseRedirect(save_redirect) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment