Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: fixed templates filling logic in admin42 #1493

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
from rest_framework.exceptions import ValidationError

from paasng.core.region.models import get_all_regions
from paasng.platform.templates.constants import TemplateType
from paasng.platform.templates.models import Template


Expand Down Expand Up @@ -72,7 +73,9 @@ def validate(self, attrs: Dict) -> Dict:
if not isinstance(blob_url_conf, dict):
raise ValidationError(_("二进制包存储配置必须为 Dict 格式"))

if regions := set(enabled_regions) - blob_url_conf.keys():
raise ValidationError(_("Region {} 不存在对应的二进制包存储路径").format(regions))
# 模板类型为插件的情况下,无需检查二进制包存储配置
if attrs["type"] != TemplateType.PLUGIN: # noqa: SIM102
if regions := set(enabled_regions) - blob_url_conf.keys():
raise ValidationError(_("Region {} 不存在对应的二进制包存储路径").format(regions))

return attrs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<template slot-scope="props">
<span v-if="props.row.type === 'normal'">普通应用</span>
<span v-if="props.row.type === 'scene'">场景模板</span>
<span v-if="props.row.type === 'plugin'">插件模板</span>
</template>
</bk-table-column>
<bk-table-column label="展示用名称">
Expand Down
2 changes: 1 addition & 1 deletion apiserver/paasng/paasng/platform/templates/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class Template(AuditedModel):
language = models.CharField(verbose_name=_("开发语言"), max_length=32)
market_ready = models.BooleanField(verbose_name=_("能否发布到应用集市"), default=False)
preset_services_config = models.JSONField(verbose_name=_("预设增强服务配置"), blank=True, default=dict)
blob_url = models.JSONField(verbose_name=_("不同版本二进制包存储路径"))
blob_url = models.JSONField(verbose_name=_("不同版本二进制包存储路径"), default={})
enabled_regions = models.JSONField(verbose_name=_("允许被使用的版本"), blank=True, default=list)
required_buildpacks = models.JSONField(verbose_name=_("必须的构建工具"), blank=True, default=list)
processes = models.JSONField(verbose_name=_("进程配置"), blank=True, default=dict)
Expand Down