From 595debaed20aaf2982e9bc783ce794d025dfac5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BB=BA=E5=B9=B3?= Date: Thu, 27 Feb 2025 14:23:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8D=87=E9=A1=B9=E7=9B=AE=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=B1=95=E7=A4=BA=EF=BC=8C=E9=A1=B9=E7=9B=AE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9B=B4=E5=BC=BA=E5=A4=A7=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/pr/admin.py | 24 ++++++++++++++++++- .../0003_projectconfig_project_url.py | 20 ++++++++++++++++ apps/pr/models.py | 3 +++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 apps/pr/migrations/0003_projectconfig_project_url.py diff --git a/apps/pr/admin.py b/apps/pr/admin.py index 78a659a..a3ea614 100644 --- a/apps/pr/admin.py +++ b/apps/pr/admin.py @@ -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 = ' ' 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 = '' 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 = '' @@ -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'{obj.project_name}' + + 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'{obj.mr_title}' + + ml.short_description = "MR地址" + + def pr_url(self, obj): + return f'{obj.project.project_name}' + + pr_url.short_description = "项目地址" diff --git a/apps/pr/migrations/0003_projectconfig_project_url.py b/apps/pr/migrations/0003_projectconfig_project_url.py new file mode 100644 index 0000000..e4fa907 --- /dev/null +++ b/apps/pr/migrations/0003_projectconfig_project_url.py @@ -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="项目地址" + ), + ), + ] diff --git a/apps/pr/models.py b/apps/pr/models.py index 9e1cf5f..e370e43 100644 --- a/apps/pr/models.py +++ b/apps/pr/models.py @@ -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="项目密钥" )