diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml
index b229123d..28e1750d 100644
--- a/bitbucket-pipelines.yml
+++ b/bitbucket-pipelines.yml
@@ -16,7 +16,6 @@ e2e: &e2e
- export CURRENTS_RECORD_KEY=etzp5VXtJcSX8Z4H
- export IT_SERVE_VUE=false
- export IT_ALLOW_LOCAL_LOGIN=true
- - export ELECTRON_ENABLE_LOGGING=true
- source ./env/bitbucket/prepare_for_test.sh
- pip install -r server/requirements/requirements-dev.txt
- npm install
diff --git a/client/src/pages/competence/CompetenceParentPage.vue b/client/src/pages/competence/CompetenceParentPage.vue
index c9c76fd2..6fd99dbc 100644
--- a/client/src/pages/competence/CompetenceParentPage.vue
+++ b/client/src/pages/competence/CompetenceParentPage.vue
@@ -65,18 +65,6 @@ onMounted(async () => {
{{ $t("a.Kompetenznachweise") }}
-
-
- {{ $t("a.Handlungskompetenzen") }}
-
-
-
+
+ {{ $t("a.Handlungskompetenzen") }}
+
+
diff --git a/client/src/stores/circle.ts b/client/src/stores/circle.ts
index 21f6d8c7..5756c775 100644
--- a/client/src/stores/circle.ts
+++ b/client/src/stores/circle.ts
@@ -33,8 +33,6 @@ export const useCircleStore = defineStore({
getters: {},
actions: {
openLearningContent(learningContent: LearningContent) {
- console.log("💩 openLearningContent", learningContent.frontend_url);
-
this.router.push({
path: learningContent.frontend_url,
});
diff --git a/server/vbv_lernwelt/api/tests/test_entities_api.py b/server/vbv_lernwelt/api/tests/test_entities_api.py
index 3ca843fc..ba1d0f9f 100644
--- a/server/vbv_lernwelt/api/tests/test_entities_api.py
+++ b/server/vbv_lernwelt/api/tests/test_entities_api.py
@@ -3,7 +3,7 @@ from rest_framework import status
from rest_framework.test import APITestCase
from vbv_lernwelt.core.model_utils import add_countries, add_organisations
-from vbv_lernwelt.core.models import Organisation, User
+from vbv_lernwelt.core.models import Country, Organisation, User
class EntitiesViewTest(APITestCase):
@@ -15,7 +15,7 @@ class EntitiesViewTest(APITestCase):
add_organisations()
add_countries()
- def test_list_entities(self) -> None:
+ def test_list_organisation_entities(self) -> None:
# It seems that different locales handle ordering differently (especially with lower case letters)
# As such we delete entries that start with lower case letters
Organisation.objects.filter(organisation_id__in=[1, 2, 3]).delete()
@@ -51,3 +51,49 @@ class EntitiesViewTest(APITestCase):
"name": "Afghanistan",
},
)
+
+ def test_list_country_entities_ordered_by_country_id(self) -> None:
+ # GIVEN
+ url = reverse("list_entities")
+
+ first_country = Country.objects.get(country_id=1)
+
+ # WHEN
+ response = self.client.get(url)
+
+ # THEN
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+
+ countries = response.data["countries"]
+
+ self.assertEqual(
+ countries[0],
+ {
+ "id": first_country.country_id,
+ "name": first_country.name_de,
+ },
+ )
+
+ def test_list_country_entities_ordered_by_order_id(self) -> None:
+ # GIVEN
+ url = reverse("list_entities")
+
+ switzerland = Country.objects.get(name_de="Schweiz")
+ switzerland.order_id = 1
+ switzerland.save()
+
+ # WHEN
+ response = self.client.get(url)
+
+ # THEN
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+
+ countries = response.data["countries"]
+
+ self.assertEqual(
+ countries[0],
+ {
+ "id": switzerland.country_id,
+ "name": switzerland.name_de,
+ },
+ )
diff --git a/server/vbv_lernwelt/core/admin.py b/server/vbv_lernwelt/core/admin.py
index d5a98ca1..bb09bea4 100644
--- a/server/vbv_lernwelt/core/admin.py
+++ b/server/vbv_lernwelt/core/admin.py
@@ -122,6 +122,7 @@ class OrganisationAdmin(admin.ModelAdmin):
@admin.register(Country)
class CountryAdmin(admin.ModelAdmin):
list_display = (
+ "order_id",
"country_id",
"name_de",
"name_fr",
diff --git a/server/vbv_lernwelt/core/migrations/0007_auto_20240220_1058.py b/server/vbv_lernwelt/core/migrations/0007_auto_20240220_1058.py
new file mode 100644
index 00000000..6992cfd0
--- /dev/null
+++ b/server/vbv_lernwelt/core/migrations/0007_auto_20240220_1058.py
@@ -0,0 +1,25 @@
+# Generated by Django 3.2.20 on 2024-02-20 09:58
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("core", "0006_auto_20240125_0915"),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name="country",
+ options={
+ "ordering": ["order_id", "country_id"],
+ "verbose_name": "Country",
+ "verbose_name_plural": "Countries",
+ },
+ ),
+ migrations.AddField(
+ model_name="country",
+ name="order_id",
+ field=models.FloatField(default=20),
+ ),
+ ]
diff --git a/server/vbv_lernwelt/core/models.py b/server/vbv_lernwelt/core/models.py
index 1221dee3..41b1a487 100644
--- a/server/vbv_lernwelt/core/models.py
+++ b/server/vbv_lernwelt/core/models.py
@@ -26,6 +26,7 @@ class Country(models.Model):
name_de = models.CharField(max_length=255)
name_fr = models.CharField(max_length=255)
name_it = models.CharField(max_length=255)
+ order_id = models.FloatField(default=20)
def __str__(self):
return f"{self.name_de} ({self.country_id})"
@@ -33,7 +34,7 @@ class Country(models.Model):
class Meta:
verbose_name = "Country"
verbose_name_plural = "Countries"
- ordering = ["country_id"]
+ ordering = ["order_id", "country_id"]
class User(AbstractUser):