def create_org_for_user(user, org_name='', promo_code=None, token=None, selected_plan=None): org = Organization(name=org_name, selected_plan=selected_plan) org.add_member_to_team('Owners', user) org.name = org_name try: org.save() except ValidationError as e: raise BadRequestError({"msg": e.message, "errors": e.to_dict()}) except OperationError: raise OrganizationOperationError() # assign promo if applicable if promo_code or token: if config.HAS_BILLING: from mist.billing.methods import assign_promo assign_promo(org, promo_code, token) return org
def org(request): """Fixture to create an organization with proper clean up""" name = uuid.uuid4().hex print "Creating org '%s'." % name user = User(email='*****@*****.**' % name) user.save() org = Organization(name=name) org.add_member_to_team('Owners', user) org.save() def fin(): """Finalizer to clean up organization after tests""" while org.members: user = org.members[0] print "Deleting user '%s'." % user org.remove_member_from_members(user) user.delete() print "Deleting org '%s'." % name org.delete() request.addfinalizer(fin) return org