def a_citizen_02_VIEW_AnotherAuthorization(request): contextDict = {'vTitle':'Request Authorization Again'} citizen = request.META['duo_citizen'] action_view = 'a_citizen_02_VIEW_AnotherAuthorization' action_kwargs = {} form_action = a_citizen_02.build_form_action(request, action_view, action_kwargs) form_class = Form_a_citizen_02_requestAuthorizationAgain form_object = citizen form_template = 'F_requestAnotherAuthorization.html' form_title = 'Request Authorization Again' form_context_dict = {'form_title':form_title} form_build_dict = {} result_dict = a_citizen_02.get_result_dict(request, form_action, form_class, form_object, form_template, form_context_dict, form_build_dict, resetFormOnSuccess=True) if result_dict['success']: instance = result_dict['formInstance'].save(commit=False) # ----------------------------------------------------- # process form results # conversion: args[0] = instance, args[1] = request, args[2] = result_dict['cleanData'], args[3] = redirectReason instance.authenticated = 0 instance.authenticated_count -= 1 instance.save() # ----------------------------------------------------- result_text = 'Another request for authorization has been submitted' contextDict = {'vTitle':'Success'} contextDict['main_1'] = a_citizen_02.processTemplate_01(request,'a_citizen_02/templates/R_preferences.html',{'result_text':result_text}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view') else: contextDict['main_1'] = result_dict['out'] return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def a_citizen_02_VIEW_Authenticate(request): from django.db.models import Q contextDict = {} citizen = '' QS = a_citizen_02.objects.filter(Q(authenticated__exact=0, directEmailValidated=True)|Q(facebook__gt=0,authenticated__exact=0)) if QS.count(): citizen = QS[0] fn_dict = {'success' : Authenticate_processSuccess} rDict = a_citizen_02.auto_form( request, Form_a_citizen_02_pendingCitizenAuthorizations, fn_dict, 'a_citizen_02_VIEW_Authenticate', 'F_authenticate.html', workObj=citizen, redirectOnSuccess=True, ) if rDict['success']: return a_citizen_02.redirectView(request, 'a_citizen_02_VIEW_Authenticate', 'admFormPr') else: contextDict['vTitle'] = ' '.join(['Authenticate',citizen.name]) contextDict['main_2'] = rDict['out'] contextDict['main_1'] = a_citizen_02.processTemplate_01(request, 'BLOCK_Authenticate.html',{'object':citizen}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view') else: contextDict['vTitle'] = 'There are no users waiting authentication.' return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def a_citizen_02_VIEW_AnotherEmailValidation(request): contextDict = {} if not request.META['duo_citizen'].directEmailValidated: citizen = request.META['duo_citizen'] # Generate email validation instance and put equivalent url into the mail a_mgrEmailValidate_02_instance = a_mgrEmailValidate_02() a_mgrEmailValidate_02_instance.user = citizen.direct a_mgrEmailValidate_02_instance.save(request=request) subject = "Welcome to %s" % (settings.SITE_NAME) bodyTemplate = 'E_welcome.html' bodyContextDict = { 'BASE_URL' : settings.DIRECT_HTTP_HOST, 'validtionURL' : a_mgrEmailValidate_02_instance.returnValidationUrl(request), 'invite_friendRequest' : '', 'site_name' : settings.SITE_NAME, } a_citizen_02.sendEmailEWrapper(request, subject, [citizen.direct.email], bodyTemplate=bodyTemplate, bodyContextDict=bodyContextDict) result_text = 'Email validation Email sent to %s' % (citizen.direct.email) contextDict = {'vTitle':'Success'} else: result_text = 'Email validation Email NOT sent. Your email address is already validated' contextDict = {'vTitle':'Error'} contextDict['main_1'] = a_citizen_02.processTemplate_01(request,'a_citizen_02/templates/R_preferences.html',{'result_text':result_text}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def a_citizen_02_VIEW_PreferencesEditEmail(request): # contextDict = {'vTitle':'Edit Email Address'} contextDict = {} citizen = request.META['duo_citizen'] action_view = 'a_citizen_02_VIEW_PreferencesEditEmail' action_kwargs = {} form_action = a_citizen_02.build_form_action(request, action_view, action_kwargs) form_class = Form_a_citizen_02_editEmail form_object = citizen.direct form_template = 'F_editEmail.html' form_title = 'Edit Email Address' form_context_dict = {'form_title':form_title} form_build_dict = {} result_dict = a_citizen_02.get_result_dict(request, form_action, form_class, form_object, form_template, form_context_dict, form_build_dict, resetFormOnSuccess=True) if result_dict['success']: instance = result_dict['formInstance'].save(commit=False) # ----------------------------------------------------- # process form results # conversion: args[0] = instance, args[1] = request, args[2] = result_dict['cleanData'], args[3] = redirectReason instance.email = result_dict['cleanData']['email'] instance.save() # ----------------------------------------------------- result_text = 'Email address changed to %s' % (result_dict['cleanData']['email']) contextDict = {'vTitle':'Success'} contextDict['main_1'] = a_citizen_02.processTemplate_01(request,'a_citizen_02/templates/R_preferences.html',{'result_text':result_text}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view') else: contextDict['main_1'] = result_dict['out'] return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def a_citizen_02_VIEW_Welcome(request): contextDict = {} contextDict['vTitle'] = ' '.join(['Welcome to', settings.SITE_NAME, request.META['duo_citizen'].direct.first_name]) contextDict['main_1'] = a_citizen_02.processTemplate_01(request, 'BLOCK_welcomePage.html') # also display any e_entry items that are of category welcome in the same manner that about is processed ### QS = e_entry_03.objects.filter(auto_category__name='welcome').order_by('name') ### contextDict['main_2'] = a_citizen_02.processTemplate_01(request, 'a_citizen_02/templates/B_welcome.html', {'objectList': QS}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def a_citizen_02_VIEW_Preferences(request): contextDict = {} prefList = [] # citizen = request.META['duo_citizen'] if request.META['citizen_rights'] == secDict['s_denied']: if request.META['duo_Direct']: prefList.append(prefEntry_rerequestAuthorization(request)) else: if request.META['duo_Direct']: prefList.append(prefEntry_email(request)) if request.META['duo_Direct']: prefList.append(prefEntry_password(request)) if not request.META['duo_citizen'].directEmailValidated: prefList.append(prefEntry_rerequestEmailValidation(request)) contextDict['vTitle'] = "Citizen Settings" contextDict['main_1'] = a_citizen_02.processTemplate_01(request, 'B_preferences.html',{'prefList':prefList}) return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')
def Authenticate_processSuccess(*args): # args[0] = i (the instance) # args[1] = request # args[2] = cleanDataDict # args[3] = redirectReason args[0].authenticated = args[2]['authSelect'] args[0].save() if args[0].authenticated == '1': a_citizen_02.sendUserMessage(args[1], "Your account was authenticated", toCitizen=args[0], type='sys') # send new citizen an email indicating that their account was authenticated subject = "account authenticated" bodyText = a_citizen_02.processTemplate_01(args[1], 'a_citizen_02/templates/E_accountAuthenticated.html',{'object':args[0]}) a_citizen_02.sendEmailEWrapper(args[1], subject, [args[0].direct.email], bodyText=bodyText) elif args[0].authenticated == '-1': a_citizen_02.sendUserMessage(args[1], "Denied authentication", toCitizen=args[0], type='sys', body=args[2]['reasonfordeny'])
def a_citizen_02_VIEW_Register(request, cit_id='', rv1='', rv2=''): contextDict = {'vTitle':'New Citizen Registration'} action_view = 'a_citizen_02_VIEW_Register' action_kwargs = {} # Later if this is non zero it contains the citizen_id of the user who issued this invite inviteRegistration = 0 if cit_id and rv1 and rv2: # Determine if the request exists try: friend = a_citizen_02.objects.get(pk=cit_id) qs = a_friends_externalRequest_01.objects.get(citizen=friend, rand_value1=rv1, rand_value2=rv2) inviteRegistration = cit_id action_kwargs = {'cit_id':cit_id,'rv1':rv1,'rv2':rv2,} except ObjectDoesNotExist: pass form_action = a_citizen_02.build_form_action(request, action_view, action_kwargs) form_class = Form_a_citizen_02_registerNewUser form_object = None form_template = 'F_register.html' form_context_dict = {} form_build_dict = {} result_dict = a_citizen_02.get_result_dict(request, form_action, form_class, form_object, form_template, form_context_dict, form_build_dict, resetFormOnSuccess=True) if result_dict['success']: from a_mgrApplication_03.views import a_mgrApplication_03_newCitizenDefaultSubscriptions instance = result_dict['formInstance'].save(commit=False) # ----------------------------------------------------- # process form results # conversion: args[0] = instance, args[1] = request, args[2] = result_dict['cleanData'], args[3] = redirectReason # save user object user = User.objects.create_user(result_dict['cleanData']['userName'], result_dict['cleanData']['email'], result_dict['cleanData']['pass1']) user.first_name = result_dict['cleanData']['firstName'] user.last_name = result_dict['cleanData']['lastName'] user.save() # create citizen object citizenInstance = a_citizen_02.birthNewCitizen(request, direct=user, reasonJoined=result_dict['cleanData']['reasonJoined']) a_citizen_02.sendUserMessage(request, "Welcome to %s." % (settings.SITE_NAME), toCitizen=citizenInstance, body="Please validate your email address by clicking on the link in the email that was sent to %s."%(user.email), type='sys') # Manually log this user in user = authenticate(username=result_dict['cleanData']['userName'], password=result_dict['cleanData']['pass1']) if user is not None and user.is_active: login(request, user) # auto subscribe user to all apps request.META['duo_citizen'] = a_citizen_02.getCurrentFromDirect(request) a_mgrApplication_03_newCitizenDefaultSubscriptions(request) # Generate email validation instance and put equivalent url into the mail a_mgrEmailValidate_02_instance = a_mgrEmailValidate_02() a_mgrEmailValidate_02_instance.user = user a_mgrEmailValidate_02_instance.save(request=request) invite_friendRequest = '' if inviteRegistration: a_friends_externalRequest_01.approve(request, friend, rv1, rv2, citizenInstance) invite_friendRequest = 'Your friendship with %s is ready pending approval from them.' % (friend) subject = "Welcome to %s" % (settings.SITE_NAME) bodyTemplate = 'E_welcome.html' bodyContextDict = { 'BASE_URL' : settings.DIRECT_HTTP_HOST, 'validtionURL' : a_mgrEmailValidate_02_instance.returnValidationUrl(request), 'invite_friendRequest' : invite_friendRequest, 'site_name' : settings.SITE_NAME, } a_citizen_02.sendEmailEWrapper(request, subject, [user.email], bodyTemplate=bodyTemplate, bodyContextDict=bodyContextDict) # ----------------------------------------------------- return a_citizen_02.redirectView(request, 'a_citizen_02_VIEW_Welcome', 'welcome') else: contextDict['main_1'] = result_dict['out'] return a_citizen_02.processTemplate_01(request, 'BASE.html', contextDict, mode='view')