示例#1
0
文件: views.py 项目: brownplt/k3
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})
示例#2
0
文件: views.py 项目: brownplt/k3
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})