from django.contrib import admin
from simpleui.admin import AjaxAdmin
from pr import models
@admin.register(models.AIConfig)
class AIConfigAdmin(AjaxAdmin):
"""Admin配置"""
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):
obj.create_by = request.user.username
return super().save_model(request, obj, form, change)
@admin.register(models.GitConfig)
class GitConfigAdmin(AjaxAdmin):
"""Admin配置"""
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):
obj.create_by = request.user.username
return super().save_model(request, obj, form, change)
@admin.register(models.ProjectConfig)
class ProjectConfigAdmin(AjaxAdmin):
"""Admin配置"""
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 = ''
def save_model(self, request, obj, form, change):
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 = ["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 = "项目地址"