def post(self, station, args): domain = args['domain'] url = args['url'] private_data = bcap.dataPreProcess(args['private_data']) public_data = bcap.dataPreProcess(args['public_data']) try: launch_info = LaunchInfo(domain=domain, \ url=url, \ private_data=private_data, \ public_data=public_data) launch_info.save() except Exception as e: logger.error("Exception: %s" % e) logger.error("PD: %s, PUD: %s" % (private_data, public_data)) instance_uuid = uuid.uuid4() instance_id = str(instance_uuid) logger.error("iid: %s" % instance_id) instance = Relationship(station=station, \ instance_id =instance_id, \ launch_info = launch_info) instance.save() return bcap.bcapResponse(bcap.grant('instance', instance))
def post(self, grantable, args): email = args['email'] name = args['name'] role = args['role'] dept = grantable.department uu = UnverifiedUser(email=email, name=name, role=role, department=dept) try: uu.save() except: resp = {'success' : False, 'message' : 'failed to create UnverifiedUser'} return bcap.bcapResponse(resp) create_belay = bcap.Capability(settings.BELAY_CREATE) response = create_belay.post(bcap.dataPreProcess({'email': args['email']})) logger.error('Successfully got response for account creation: %s' % response) create_cap = response['create'] ub = UnverifiedBelayAccount(uu=uu, create=create_cap.serialize()) ub.save() if role == 'admin': create_cap = bcap.grant('get-admin-email-and-create', uu) elif role == 'reviewer': create_cap = bcap.grant('get-reviewer-email-and-create', uu) else: return logWith404(logger, 'UnverifiedUserAddRevHandler: role type not allowed: %s' % role) activate_url = '%s/new-account/#%s' % \ (bcap.this_server_url_prefix(), create_cap.serialize()) return_url = bcap.this_server_url_prefix() emailstr = u"""Dear %s, A new Resume account is being created for you. To activate it, visit: %s To regain access your account once it has been created, visit: %s """ emailstr = emailstr % (name, activate_url, return_url) fromaddr = fromAddr(dept) emailResponse = sendLogEmail('[Resume] New Account', emailstr, email, fromaddr) if emailResponse: return emailResponse resp = {\ 'success' : True,\ 'email' : email,\ 'name' : name,\ 'role' : role,\ } return bcap.bcapResponse(resp)
def post(self, granted, args): stash = Stash(stashed_content=bcap.dataPreProcess(args['private_data'])) stash.save() stash_handler = bcap.grant('stash', stash) return bcap.bcapResponse(stash_handler)
def put(self, granted, args): stash = granted.stash pd = bcap.dataPreProcess(args['private_data']) stash.stashed_content = pd stash.save() return bcap.bcapNullResponse()