Files
GIA/core/views/ais.py

62 lines
1.6 KiB
Python

from django.contrib.auth.mixins import LoginRequiredMixin
from django.urls import reverse
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 = None
# page_subtitle = "Add times here in order to permit trading."
list_url_name = "ais"
list_url_args = ["type"]
submit_url_name = "ai_create"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
current_path = str(getattr(self.request, "path", "") or "")
models_path = reverse("ai_models")
traces_path = reverse("ai_execution_log")
context["settings_nav"] = {
"title": "AI",
"tabs": [
{
"label": "Models",
"href": models_path,
"active": current_path == models_path,
},
{
"label": "Traces",
"href": traces_path,
"active": current_path == traces_path,
},
],
}
return context
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