Snapshot: alpha-2026-9

This commit is contained in:
j3d1 2026-09-02 21:40:28 +02:00
parent 9acf5a97e2
commit d00b5c7961
241 changed files with 85546 additions and 2409 deletions

View file

@ -41,6 +41,10 @@ class DomainSerializer(serializers.ModelSerializer):
class CategorySerializer(serializers.ModelSerializer):
parent = SlugPathField(slug_field='name', queryset=Category.objects.all(), required=False)
handle = serializers.SerializerMethodField()
def get_handle(self, obj):
return obj.get_handle()
def validate(self, attrs):
if 'name' in attrs:
@ -56,13 +60,17 @@ class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = ['name', 'description', 'parent', 'origin']
read_only_fields = ['origin']
fields = ['name', 'description', 'parent', 'origin', 'handle']
read_only_fields = ['origin', 'handle']
ref_name = 'HostAdminCategory'
class PropertySerializer(serializers.ModelSerializer):
category = SlugPathField(slug_field='name', queryset=Category.objects.all(), required=False)
handle = serializers.SerializerMethodField()
def get_handle(self, obj):
return obj.get_handle()
def validate(self, attrs):
if 'name' in attrs:
@ -79,13 +87,17 @@ class PropertySerializer(serializers.ModelSerializer):
class Meta:
model = Property
fields = ['name', 'description', 'category', 'unit_symbol', 'unit_name', 'unit_name_plural', 'base2_prefix',
'dimensions', 'origin']
read_only_fields = ['origin']
'dimensions', 'origin', 'handle']
read_only_fields = ['origin', 'handle']
ref_name = 'HostAdminProperty'
class TagSerializer(serializers.ModelSerializer):
category = SlugPathField(slug_field='name', queryset=Category.objects.all(), required=False)
handle = serializers.SerializerMethodField()
def get_handle(self, obj):
return obj.get_handle()
def validate(self, attrs):
if 'name' in attrs:
@ -101,6 +113,6 @@ class TagSerializer(serializers.ModelSerializer):
class Meta:
model = Tag
fields = ['name', 'description', 'category', 'origin']
read_only_fields = ['origin']
fields = ['name', 'description', 'category', 'origin', 'handle']
read_only_fields = ['origin', 'handle']
ref_name = 'HostAdminTag'

View file

@ -28,7 +28,7 @@ class DomainApiTestCase(UserTestMixin, ToolshedTestCase):
self.prepare_users()
def test_get_domains(self):
response = client.get('/api/domains/', self.f['local_user1'])
response = client.get('/api/v1/domains/', self.f['local_user1'])
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(), ['example.com'])
@ -97,7 +97,7 @@ class CategoryApiTestCase(UserTestMixin, CategoryTestMixin, ToolshedTestCase):
self.prepare_categories()
def test_get_categories(self):
response = client.get('/api/categories/', self.f['local_user1'])
response = client.get('/api/v1/categories/', self.f['local_user1'])
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(),
["cat1", "cat2", "cat3", "cat1/subcat1",
@ -215,7 +215,7 @@ class TagApiTestCase(UserTestMixin, CategoryTestMixin, TagTestMixin, ToolshedTes
self.prepare_tags()
def test_get_tags(self):
response = client.get('/api/tags/', self.f['local_user1'])
response = client.get('/api/v1/tags/', self.f['local_user1'])
self.assertEqual(response.status_code, 200)
self.assertEqual(response.json(), ["tag1", "tag2", "tag3"])
@ -275,7 +275,7 @@ class PropertyApiTestCase(UserTestMixin, CategoryTestMixin, PropertyTestMixin, T
self.prepare_properties()
def test_get_properties(self):
response = client.get('/api/properties/', self.f['local_user1'])
response = client.get('/api/v1/properties/', self.f['local_user1'])
self.assertEqual(response.status_code, 200)
self.assertEqual(len(response.json()), 3)
self.assertEqual(response.json()[0]['name'], 'prop1')