from django.contrib import admin
from jalali_date.admin import ModelAdminJalaliMixin

from GymManager.DecimalN0Input import DecimalN0Input
from GymManager.ThousandsSeparatorInput import ThousandsSeparatorInput
from courses.models import Course, CourseFee, MemberCourse
from django.db import models


@admin.register(Course)
class CourseAdmin(ModelAdminJalaliMixin, admin.ModelAdmin):
    list_display = (
        'title',
        'total_sessions',
        'inserted_date_time',
    )


@admin.register(CourseFee)
class CourseFeeAdmin(ModelAdminJalaliMixin, admin.ModelAdmin):
    list_display = (
        'course',
        'fee',
        'inserted_date_time',
    )


@admin.register(MemberCourse)
class MemberCourseAdmin(ModelAdminJalaliMixin, admin.ModelAdmin):
    class Media:
        js = (
            'courses/number-format.js',
        )

    list_display = (
        'member',
        'start_date',
        'end_date',
        'fee',
        'paid_fee',
        'used_sessions',
    )
    formfield_overrides = {
        models.DecimalField: {
            'widget': DecimalN0Input()
        }
    }
