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);
|
||||
cockpitStore.courseSessionUsers?.forEach((csu) => {
|
||||
competenceStore.loadCompetenceProfilePage(
|
||||
props.courseSlug + "-competence",
|
||||
props.courseSlug + "-competencenavi-competences",
|
||||
csu.user_id
|
||||
);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ onMounted(async () => {
|
|||
log.debug("CompetenceParentPage mounted", props.courseSlug);
|
||||
|
||||
try {
|
||||
const competencePageSlug = props.courseSlug + "-competence";
|
||||
const competencePageSlug = props.courseSlug + "-competencenavi-competences";
|
||||
await competenceStore.loadCompetenceProfilePage(competencePageSlug);
|
||||
} catch (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.save()
|
||||
|
||||
for ac in ActionCompetenceListPage.objects.all():
|
||||
# trigger slug update by saving
|
||||
ac.save()
|
||||
|
||||
for competence in ActionCompetence.objects.all():
|
||||
if competence.competence_id.endswith(":"):
|
||||
# remove trailing colon
|
||||
|
|
|
|||
|
|
@ -77,11 +77,11 @@ class ActionCompetenceListPage(CourseBasePage):
|
|||
]
|
||||
|
||||
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):
|
||||
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,
|
||||
)
|
||||
super(ActionCompetenceListPage, self).save(clean, user, log_action, **kwargs)
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ class CompetenceAPITestCase(APITestCase):
|
|||
self.client.login(username="admin", password="test")
|
||||
|
||||
def test_get_compentence_page(self):
|
||||
slug = "test-lehrgang-competence"
|
||||
slug = "test-lehrgang-competencenavi-competence"
|
||||
competence_profile = ActionCompetenceListPage.objects.get(slug=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()
|
||||
|
||||
def get_competence_url(self):
|
||||
from vbv_lernwelt.competence.models import CompetenceNaviPage
|
||||
from vbv_lernwelt.competence.models import ActionCompetenceListPage
|
||||
|
||||
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()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue