def request_plt_account_silent(request): """Allows requests only from those listed in settings.REQUESTING_DOMAINS Currently, used by Resume as a trusted channel to ask for new accounts so that service isn't exposed to arbitrary clients, and can be controlled through emails sent from Resume""" logger.error('Reached request_account') def request_allowed(): return request.META['REMOTE_ADDR'] in settings.REQUESTING_DOMAINS if request.method != 'POST': return HttpResponseNotAllowed(['POST']) args = bcap.dataPostProcess(request.read()) logger.error('Belay: got account request: %s' % args) logger.error('Request is from: %s' % request.META['REMOTE_ADDR']) if not request_allowed(): return logWith404(logger, 'request_silent: bad request %s' %\ request.META['REMOTE_ADDR']) pa = PendingAccount(email = args['email']) pa.save() create_cap = bcap.grant('create-account', pa) logger.error('Belay: successful create: %s' % create_cap.serialize()) return bcap.bcapResponse({'create': create_cap})
def request_plt_account(request): if request.method != 'POST': return HttpResponseNotAllowed(['POST']) args = bcap.dataPostProcess(request.read()) logger.info('request: %s' % args) if not args.has_key('email'): return logWith404(logger, 'request_account: post data missing email') pa = PendingAccount(email = args['email']) pa.save() create_cap = bcap.grant('create-account', pa) message = """ Hi! You've requested an account with Resume at the Brown University Department of Computer Science. Visit this link to get started: %s/new-applicant/#%s """ % (settings.APPURL, create_cap.serialize()) emailResponse = sendLogEmail('Resume Account Request', message, args['email'], 'Lauren Clarke <*****@*****.**>') if emailResponse: return emailResponse return bcap.bcapResponse({'success': True})