def get_all_regions(self, query="", page=None, page_size=None): regions = region_repo.get_all_regions(query) total = regions.count() paginator = Paginator(regions, page_size) rp = paginator.page(page) result = [] for region in rp: result.append({ "region_alias": region.region_alias, "url": region.url, "token": region.token, "wsurl": region.wsurl, "httpdomain": region.httpdomain, "tcpdomain": region.tcpdomain, "scope": region.scope, "ssl_ca_cert": region.ssl_ca_cert, "cert_file": region.cert_file, "key_file": region.key_file, "status": region.status, "desc": region.desc, "region_name": region.region_name, "region_id": region.region_id }) return result, total
def get_regions_with_resource(self, query="", page=None, page_size=None): # get all region list regions = region_repo.get_all_regions(query) total = regions.count() if page and page_size: paginator = Paginator(regions, page_size) regions = paginator.page(page) return self.conver_regions_info(regions, "yes"), total
def create_enterprise(self, enterprise_name='', enterprise_alias=''): """ 创建一个本地的企业信息, 并生成本地的企业ID :param enterprise_name: 企业的英文名, 如果没有则自动生成一个, 如果存在则需要保证传递的名字在数据库中唯一 :param enterprise_alias: 企业的别名, 可以中文, 用于展示用, 如果为空则自动生成一个 :return: """ enterprise = TenantEnterprise() # Deal with enterprise English name, discard logic. if enterprise_name: enterprise_name_regx = re.compile(r'^[a-z0-9-]*$') if enterprise_name and not enterprise_name_regx.match( enterprise_name): logger.error('bad enterprise_name: {}'.format(enterprise_name)) raise Exception( 'enterprise_name must consist of lower case alphanumeric characters or -' ) if TenantEnterprise.objects.filter( enterprise_name=enterprise_name).count() > 0: raise Exception('enterprise_name [{}] already existed!'.format( enterprise_name)) else: enter_name = enterprise_name else: enter_name = self.random_enterprise_name() enterprise.enterprise_name = enter_name # 根据企业英文名确认UUID is_first_ent = TenantEnterprise.objects.count() == 0 eid = os.environ.get('ENTERPRISE_ID') if not eid or not is_first_ent: eid = make_uuid(enter_name) region = region_repo.get_all_regions().first() if region: region.enterprise_id = eid region.save() enterprise.enterprise_id = eid # 处理企业别名 if not enterprise_alias: enterprise.enterprise_alias = '企业{0}'.format(enter_name) else: enterprise.enterprise_alias = enterprise_alias enterprise.save() return enterprise
def regions(cls): configs = custom_settings.configs() # api_conf = custom_settings.REGION_SERVICE_API api_conf = configs.get("REGION_SERVICE_API", None) # 自定义配置不存在时访问settings文件 if not api_conf: regions = region_repo.get_all_regions() region_list = [{ "name": r.region_name, "label": r.region_alias, "enable": bool(r.status == "1") } for r in regions] return region_list else: region_list = [] for conf in api_conf: region_map = dict() region_map["name"] = conf["region_name"] region_map["label"] = conf["region_alias"] region_map["enable"] = conf.get("enable", True) region_list.append(region_map) return region_list
def get_all_regions(self): return region_repo.get_all_regions()