Spaces:
Runtime error
Runtime error
File size: 2,006 Bytes
6991322 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User, Doctor, Appointment, Notification
class CustomUserAdmin(UserAdmin):
model = User
list_display = ('email', 'full_name', 'is_staff', 'is_active')
list_filter = ('is_staff', 'is_active')
fieldsets = (
(None, {'fields': ('email', 'password')}),
('Personal Info', {'fields': ('full_name',)}),
('Permissions', {'fields': ('is_active', 'is_staff', 'is_superuser', 'groups', 'user_permissions')}),
('Important dates', {'fields': ('last_login', 'date_joined')}),
)
search_fields = ('email', 'full_name')
ordering = ('email',)
admin.site.register(User, CustomUserAdmin)
@admin.register(Doctor)
class DoctorAdmin(admin.ModelAdmin):
list_display = ('name', 'specialty', 'verification_status', 'rating', 'experience')
search_fields = ('name', 'specialty', 'user__email')
list_filter = ('verification_status', 'specialty')
actions = ['approve_doctors', 'reject_doctors']
def approve_doctors(self, request, queryset):
queryset.update(verification_status='verified')
approve_doctors.short_description = "Approve selected doctor applications"
def reject_doctors(self, request, queryset):
queryset.update(verification_status='rejected')
reject_doctors.short_description = "Reject selected doctor applications"
@admin.register(Appointment)
class AppointmentAdmin(admin.ModelAdmin):
list_display = ('patient_name', 'user', 'doctor', 'date', 'time', 'type', 'is_rescheduled', 'created_at')
search_fields = ('patient_name', 'user__email', 'doctor__name')
list_filter = ('is_rescheduled', 'type', 'date')
date_hierarchy = 'created_at'
@admin.register(Notification)
class NotificationAdmin(admin.ModelAdmin):
list_display = ('title', 'user', 'is_read', 'created_at')
search_fields = ('title', 'message', 'user__email')
list_filter = ('is_read',)
date_hierarchy = 'created_at'
|