mirror of
https://github.com/ae-utbm/sith.git
synced 2025-12-29 23:28:00 +00:00
Merge pull request #1277 from ae-utbm/pedagogy
Don't craft urls in pedagogy frontend
This commit is contained in:
@@ -50,4 +50,4 @@ class UeController(ControllerBase):
|
|||||||
)
|
)
|
||||||
@paginate(PageNumberPaginationExtra, page_size=100)
|
@paginate(PageNumberPaginationExtra, page_size=100)
|
||||||
def fetch_ue_list(self, search: Query[UeFilterSchema]):
|
def fetch_ue_list(self, search: Query[UeFilterSchema]):
|
||||||
return search.filter(UE.objects.order_by("code").values())
|
return search.filter(UE.objects.order_by("code"))
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
from typing import Annotated, Literal
|
from typing import Annotated, Literal
|
||||||
|
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
from django.urls import reverse
|
||||||
from django.utils import html
|
from django.utils import html
|
||||||
from haystack.query import SearchQuerySet
|
from haystack.query import SearchQuerySet
|
||||||
from ninja import FilterLookup, FilterSchema, ModelSchema, Schema
|
from ninja import FilterLookup, FilterSchema, ModelSchema, Schema
|
||||||
@@ -85,6 +86,22 @@ class SimpleUeSchema(ModelSchema):
|
|||||||
"department",
|
"department",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
detail_url: str
|
||||||
|
edit_url: str
|
||||||
|
delete_url: str
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def resolve_detail_url(obj: UE) -> str:
|
||||||
|
return reverse("pedagogy:ue_detail", kwargs={"ue_id": obj.id})
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def resolve_edit_url(obj: UE) -> str:
|
||||||
|
return reverse("pedagogy:ue_update", kwargs={"ue_id": obj.id})
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def resolve_delete_url(obj: UE) -> str:
|
||||||
|
return reverse("pedagogy:ue_delete", kwargs={"ue_id": obj.id})
|
||||||
|
|
||||||
|
|
||||||
class UeSchema(ModelSchema):
|
class UeSchema(ModelSchema):
|
||||||
"""Our complete representation of an UE"""
|
"""Our complete representation of an UE"""
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
<tbody :aria-busy="loading">
|
<tbody :aria-busy="loading">
|
||||||
<template x-for="ue in ues.results" :key="ue.id">
|
<template x-for="ue in ues.results" :key="ue.id">
|
||||||
<tr
|
<tr
|
||||||
@click="window.location.href = `/pedagogy/ue/${ue.id}`"
|
@click="window.location.href = ue.detail_url"
|
||||||
class="clickable"
|
class="clickable"
|
||||||
:class="{closed: ue.semester === 'CLOSED'}"
|
:class="{closed: ue.semester === 'CLOSED'}"
|
||||||
>
|
>
|
||||||
@@ -122,10 +122,10 @@
|
|||||||
<td><i :class="ue.semester.includes('AUTUMN') && 'fa fa-leaf'"></i></td>
|
<td><i :class="ue.semester.includes('AUTUMN') && 'fa fa-leaf'"></i></td>
|
||||||
<td><i :class="ue.semester.includes('SPRING') && 'fa-regular fa-sun'"></i></td>
|
<td><i :class="ue.semester.includes('SPRING') && 'fa-regular fa-sun'"></i></td>
|
||||||
{%- if user.has_perm("pedagogy.change_ue") -%}
|
{%- if user.has_perm("pedagogy.change_ue") -%}
|
||||||
<td><a :href="`/pedagogy/ue/${ue.id}/edit`">{% trans %}Edit{% endtrans %}</a></td>
|
<td><a :href="ue.edit_url">{% trans %}Edit{% endtrans %}</a></td>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
{%- if user.has_perm("pedagogy.delete_ue") -%}
|
{%- if user.has_perm("pedagogy.delete_ue") -%}
|
||||||
<td><a :href="`/pedagogy/ue/${ue.id}/delete`">{% trans %}Delete{% endtrans %}</a></td>
|
<td><a :href="ue.delete_url">{% trans %}Delete{% endtrans %}</a></td>
|
||||||
{%- endif -%}
|
{%- endif -%}
|
||||||
</tr>
|
</tr>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -107,6 +107,13 @@ class TestUESearch(TestCase):
|
|||||||
"credit_type": ue.credit_type,
|
"credit_type": ue.credit_type,
|
||||||
"semester": ue.semester,
|
"semester": ue.semester,
|
||||||
"department": ue.department,
|
"department": ue.department,
|
||||||
|
"detail_url": reverse(
|
||||||
|
"pedagogy:ue_detail", kwargs={"ue_id": ue.id}
|
||||||
|
),
|
||||||
|
"edit_url": reverse("pedagogy:ue_update", kwargs={"ue_id": ue.id}),
|
||||||
|
"delete_url": reverse(
|
||||||
|
"pedagogy:ue_delete", kwargs={"ue_id": ue.id}
|
||||||
|
),
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user