This commit is contained in:
ilkeral
2025-07-21 13:49:36 +03:00
commit 342f1314c7
57 changed files with 9297 additions and 0 deletions

71
ssh_manager/admin.py Normal file
View File

@ -0,0 +1,71 @@
from django.contrib import admin
from .models import SSHCredential, Project, SSHLog
@admin.register(SSHCredential)
class SSHCredentialAdmin(admin.ModelAdmin):
list_display = ('hostname', 'username', 'port', 'is_online', 'last_check')
list_filter = ('is_online', 'created_at')
search_fields = ('hostname', 'username')
readonly_fields = ('is_online', 'last_check', 'created_at')
fieldsets = (
('Bağlantı Bilgileri', {
'fields': ('hostname', 'username', 'password', 'port')
}),
('Durum Bilgisi', {
'fields': ('is_online', 'last_check', 'created_at'),
'classes': ('collapse',)
}),
)
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
list_display = ('name', 'folder_name', 'url', 'ssh_credential', 'created_at')
list_filter = ('ssh_credential', 'created_at')
search_fields = ('name', 'folder_name', 'url')
readonly_fields = ('created_at', 'updated_at')
fieldsets = (
('Temel Bilgiler', {
'fields': ('name', 'folder_name', 'ssh_credential')
}),
('Domain Bilgisi', {
'fields': ('url',),
'description': 'Nginx konfigürasyonu için domain adı (Örnek: example.com)'
}),
('Zaman Bilgileri', {
'fields': ('created_at', 'updated_at'),
'classes': ('collapse',)
}),
)
def get_full_path(self, obj):
return obj.get_full_path()
get_full_path.short_description = 'Tam Yol'
@admin.register(SSHLog)
class SSHLogAdmin(admin.ModelAdmin):
list_display = ('ssh_credential', 'log_type', 'command', 'status', 'created_at')
list_filter = ('log_type', 'status', 'created_at')
search_fields = ('command', 'output')
readonly_fields = ('created_at',)
fieldsets = (
('Log Detayları', {
'fields': ('ssh_credential', 'log_type', 'command', 'status')
}),
('Çıktı', {
'fields': ('output',),
'classes': ('wide',)
}),
('Zaman Bilgisi', {
'fields': ('created_at',),
'classes': ('collapse',)
}),
)
def get_queryset(self, request):
return super().get_queryset(request).select_related('ssh_credential')
def has_add_permission(self, request):
return False # Log kayıtları manuel olarak eklenemez
def has_change_permission(self, request, obj=None):
return False # Log kayıtları değiştirilemez