from django.contrib import admin
from django.db.models import Count
import os
from django.utils.translation import ugettext_lazy as _


SETTING = os.environ['WORKOUTTEST_SETTING']
if SETTING == "PROD" :
    from aitrainer_backoffice.aitrainer_backoffice.models.exercise_type import ExerciseType
    from aitrainer_backoffice.aitrainer_backoffice.models.exercises import Exercises
else:    
    from aitrainer_backoffice.models.exercise_type import ExerciseType
    from aitrainer_backoffice.models.exercises import Exercises

class FrequentExerciseType(ExerciseType):
    @property
    def exercise_count(self):
        count = Exercises.objects.filter(exercise_type_id=self.exercise_type_id).count()
        return count
    class Meta:
        proxy = True
        verbose_name = _("Frequent Exercise")
        verbose_name_plural = _("Frequent Exercises")


class FrequentExerciseTypeAdmin(admin.ModelAdmin):
    list_display = ('exercise_type_id', 'name', 'exercise_count')
   
    def get_queryset(self, request):
        qs = super(FrequentExerciseTypeAdmin, self).get_queryset(request) #.annotate(_exercise_count=Count("exercise_count",distinct=True ))
        return qs.filter(active=True)

    #exercise_count.admin_order_field = '_exercise_count'

admin.site.register(FrequentExerciseType, FrequentExerciseTypeAdmin)
admin.autodiscover()