File diff e32942a49dc8 → ecabf31e54b9
pinaxcon/monkey_patch.py
Show inline comments
 
from django.conf import settings
 
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_speaker_profile_form()
 
    patch_accounts_to_send_bcc()
 
    fix_sitetree_check_access_500s()
 

	
 
    # Remove this function from existence
 
    global do_monkey_patch
 
    do_monkey_patch = lambda: None
 

	
 

	
 
def patch_speaker_profile_form():
 
    ''' Replaces textarea widgets with markdown editors. '''
 

	
 
    import widgets
 
    from symposion.speakers.forms import SpeakerForm
 

	
 
    fields = SpeakerForm.base_fields
 
    fields["biography"].widget = widgets.AceMarkdownEditor()
 
    fields["experience"].widget = widgets.AceMarkdownEditor()
 
    fields["accessibility"].widget = widgets.AceMarkdownEditor()
 

	
 

	
 
def patch_accounts_to_send_bcc():
 
    ''' Patches django-user-accounts' email functions to send a BCC e-mail to
 
    the default BCC e-mail address. '''
 

	
 
    from account import hooks