Fix problems with slugs in moved ActionCompetences
This commit is contained in:
parent
b5e9b9e355
commit
9eec62c31b
|
|
@ -25,7 +25,7 @@ onMounted(async () => {
|
||||||
await cockpitStore.loadCourseSessionUsers(courseSession.value.id);
|
await cockpitStore.loadCourseSessionUsers(courseSession.value.id);
|
||||||
cockpitStore.courseSessionUsers?.forEach((csu) => {
|
cockpitStore.courseSessionUsers?.forEach((csu) => {
|
||||||
competenceStore.loadCompetenceProfilePage(
|
competenceStore.loadCompetenceProfilePage(
|
||||||
props.courseSlug + "-competence",
|
props.courseSlug + "-competencenavi-competences",
|
||||||
csu.user_id
|
csu.user_id
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ onMounted(async () => {
|
||||||
log.debug("CompetenceParentPage mounted", props.courseSlug);
|
log.debug("CompetenceParentPage mounted", props.courseSlug);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const competencePageSlug = props.courseSlug + "-competence";
|
const competencePageSlug = props.courseSlug + "-competencenavi-competences";
|
||||||
await competenceStore.loadCompetenceProfilePage(competencePageSlug);
|
await competenceStore.loadCompetenceProfilePage(competencePageSlug);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
log.error(error);
|
log.error(error);
|
||||||
|
|
|
||||||
|
|
@ -108,6 +108,10 @@ def refactor_competence_wagtail_tree(apps=None, schema_editor=None):
|
||||||
learning_content_edoniq.content_assignment = edoniq_test
|
learning_content_edoniq.content_assignment = edoniq_test
|
||||||
learning_content_edoniq.save()
|
learning_content_edoniq.save()
|
||||||
|
|
||||||
|
for ac in ActionCompetenceListPage.objects.all():
|
||||||
|
# trigger slug update by saving
|
||||||
|
ac.save()
|
||||||
|
|
||||||
for competence in ActionCompetence.objects.all():
|
for competence in ActionCompetence.objects.all():
|
||||||
if competence.competence_id.endswith(":"):
|
if competence.competence_id.endswith(":"):
|
||||||
# remove trailing colon
|
# remove trailing colon
|
||||||
|
|
|
||||||
|
|
@ -77,11 +77,11 @@ class ActionCompetenceListPage(CourseBasePage):
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_frontend_url(self):
|
def get_frontend_url(self):
|
||||||
return f"/course/{self.slug.replace('-competence', '')}/competence"
|
return f"/course/{self.slug.replace('-competencenavi-competences', '')}/competence/competences"
|
||||||
|
|
||||||
def save(self, clean=True, user=None, log_action=False, **kwargs):
|
def save(self, clean=True, user=None, log_action=False, **kwargs):
|
||||||
self.slug = find_available_slug(
|
self.slug = find_available_slug(
|
||||||
slugify(f"{self.get_parent().slug}-competence", allow_unicode=True),
|
slugify(f"{self.get_parent().slug}-competences", allow_unicode=True),
|
||||||
ignore_page_id=self.id,
|
ignore_page_id=self.id,
|
||||||
)
|
)
|
||||||
super(ActionCompetenceListPage, self).save(clean, user, log_action, **kwargs)
|
super(ActionCompetenceListPage, self).save(clean, user, log_action, **kwargs)
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ class CompetenceAPITestCase(APITestCase):
|
||||||
self.client.login(username="admin", password="test")
|
self.client.login(username="admin", password="test")
|
||||||
|
|
||||||
def test_get_compentence_page(self):
|
def test_get_compentence_page(self):
|
||||||
slug = "test-lehrgang-competence"
|
slug = "test-lehrgang-competencenavi-competence"
|
||||||
competence_profile = ActionCompetenceListPage.objects.get(slug=slug)
|
competence_profile = ActionCompetenceListPage.objects.get(slug=slug)
|
||||||
response = self.client.get(f"/api/course/page/{slug}/")
|
response = self.client.get(f"/api/course/page/{slug}/")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,10 +39,12 @@ class Course(models.Model):
|
||||||
return self.get_learning_path().get_cockpit_url()
|
return self.get_learning_path().get_cockpit_url()
|
||||||
|
|
||||||
def get_competence_url(self):
|
def get_competence_url(self):
|
||||||
from vbv_lernwelt.competence.models import CompetenceNaviPage
|
from vbv_lernwelt.competence.models import ActionCompetenceListPage
|
||||||
|
|
||||||
competence_page = (
|
competence_page = (
|
||||||
self.coursepage.get_children().exact_type(CompetenceNaviPage).first()
|
self.coursepage.get_descendants()
|
||||||
|
.exact_type(ActionCompetenceListPage)
|
||||||
|
.first()
|
||||||
)
|
)
|
||||||
return competence_page.specific.get_frontend_url()
|
return competence_page.specific.get_frontend_url()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue