from django.contrib.auth.mixins import LoginRequiredMixin

from core.forms import AIForm
from core.models import AI
from core.util import logs
from mixins.views import ObjectCreate, ObjectDelete, ObjectList, ObjectUpdate

log = logs.get_logger(__name__)


class AIList(LoginRequiredMixin, ObjectList):
    list_template = "partials/ai-list.html"
    model = AI
    page_title = "AI Models"
    # page_subtitle = "Add times here in order to permit trading."

    list_url_name = "ais"
    list_url_args = ["type"]

    submit_url_name = "ai_create"


class AICreate(LoginRequiredMixin, ObjectCreate):
    model = AI
    form_class = AIForm

    submit_url_name = "ai_create"


class AIUpdate(LoginRequiredMixin, ObjectUpdate):
    model = AI
    form_class = AIForm

    submit_url_name = "ai_update"


class AIDelete(LoginRequiredMixin, ObjectDelete):
    model = AI
