62 lines
1.6 KiB
Python
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
|