提升项目链接功能,优化列表展示,项目管理更强大!
This commit is contained in:
parent
de84796560
commit
595debaed2
@ -10,6 +10,7 @@ class AIConfigAdmin(AjaxAdmin):
|
||||
|
||||
list_display = ["api_base", "api_key", "llm_model"]
|
||||
readonly_fields = ["create_by", "delete_at", "detail"]
|
||||
list_per_page = 10
|
||||
top_html = ' <el-alert title="可配置多个AI模型厂商!" type="success"></el-alert>'
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
@ -23,6 +24,7 @@ class GitConfigAdmin(AjaxAdmin):
|
||||
|
||||
list_display = ["git_name", "git_type", "git_url", "access_token"]
|
||||
readonly_fields = ["create_by", "delete_at", "detail"]
|
||||
list_per_page = 10
|
||||
top_html = '<el-alert title="可配置多个Git服务上!" type="success"></el-alert>'
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
@ -37,10 +39,13 @@ class ProjectConfigAdmin(AjaxAdmin):
|
||||
list_display = [
|
||||
"project_id",
|
||||
"project_name",
|
||||
"pr_url",
|
||||
"project_secret",
|
||||
"commands",
|
||||
"is_enable",
|
||||
]
|
||||
list_filter = ["git_config"]
|
||||
list_per_page = 10
|
||||
readonly_fields = ["create_by", "delete_at", "detail"]
|
||||
top_html = '<el-alert title="可配置多个项目!" type="success"></el-alert>'
|
||||
|
||||
@ -48,15 +53,32 @@ class ProjectConfigAdmin(AjaxAdmin):
|
||||
obj.create_by = request.user.username
|
||||
return super().save_model(request, obj, form, change)
|
||||
|
||||
def pr_url(self, obj):
|
||||
return f'<el-link type="primary" href={obj.project_url} target="_blank">{obj.project_name}</el-link>'
|
||||
|
||||
pr_url.short_description = "项目地址"
|
||||
|
||||
|
||||
@admin.register(models.ProjectHistory)
|
||||
class ProjectHistoryAdmin(admin.ModelAdmin):
|
||||
"""Admin配置"""
|
||||
|
||||
list_display = ["project", "mr_url", "source_branch", "target_branch", "mr_title"]
|
||||
list_display = ["pr_url", "ml", "source_branch", "target_branch", "mr_title"]
|
||||
list_filter = ["project"]
|
||||
readonly_fields = ["create_by", "delete_at", "detail"]
|
||||
list_per_page = 10
|
||||
|
||||
def save_model(self, request, obj, form, change):
|
||||
obj.create_by = request.user.username
|
||||
return super().save_model(request, obj, form, change)
|
||||
|
||||
# @staticmethod
|
||||
def ml(self, obj):
|
||||
return f'<el-link type="primary" href={obj.mr_url} target="_blank">{obj.mr_title}</el-link>'
|
||||
|
||||
ml.short_description = "MR地址"
|
||||
|
||||
def pr_url(self, obj):
|
||||
return f'<el-link type="primary" href={obj.project_url} target="_blank">{obj.project.project_name}</el-link>'
|
||||
|
||||
pr_url.short_description = "项目地址"
|
||||
|
||||
20
apps/pr/migrations/0003_projectconfig_project_url.py
Normal file
20
apps/pr/migrations/0003_projectconfig_project_url.py
Normal file
@ -0,0 +1,20 @@
|
||||
# Generated by Django 5.1.6 on 2025-02-27 11:40
|
||||
|
||||
import simplepro.components.fields
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
dependencies = [
|
||||
("pr", "0002_projecthistory"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="projectconfig",
|
||||
name="project_url",
|
||||
field=simplepro.components.fields.CharField(
|
||||
blank=True, max_length=256, null=True, verbose_name="项目地址"
|
||||
),
|
||||
),
|
||||
]
|
||||
@ -79,6 +79,9 @@ class ProjectConfig(BaseModel):
|
||||
project_name = fields.CharField(
|
||||
null=True, blank=True, max_length=16, verbose_name="项目名称"
|
||||
)
|
||||
project_url = fields.CharField(
|
||||
null=True, blank=True, max_length=256, verbose_name="项目地址"
|
||||
)
|
||||
project_secret = fields.CharField(
|
||||
null=True, blank=True, max_length=128, verbose_name="项目密钥"
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user