from django.conf import settings
from django.contrib.auth.models import User
from django.core.mail import EmailMultiAlternatives
from functools import wraps
class MonkeyPatchMiddleware(object):
''' Ensures that our monkey patching only gets called after it is safe to do so.'''
def process_request(self, request):
do_monkey_patch()
def do_monkey_patch():
patch_stripe_card_defaults()
patch_registrasion_views()
patch_conference_schedule()
# Remove this function from existence
global do_monkey_patch
do_monkey_patch = lambda: None
@@ -31,12 +34,19 @@ def patch_stripe_card_defaults():
d = defaultdict(str)
d.update(source)
return old_sync_card(customer, d)
sources.sync_card = sync_card
def patch_registrasion_views():
from registrasion import views as registrasion_views
from django.views.decorators.csrf import csrf_exempt
registrasion_views.invoice_mailout = csrf_exempt(registrasion_views.invoice_mailout)
def patch_conference_schedule():
from symposion.schedule import views as sv
from symposion.schedule import models as sm
old_schedule_json = sv._schedule_json