update link registration site to executive dashboard
This commit is contained in:
1 parent
1e6f6b3b57
commit
d0d1ae7d24
26 files changed
+1044
-55
No files matched your search
@@ -1,15 +1,31 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from apps.accounts.serializers import PkAsIdMixin
|
||||
from apps.farms.models import Cycle, Flock, Kandang, Site
|
||||
from apps.accounts.serializers import PkAsIdMixin, SlugPkAsIdMixin
|
||||
from apps.farms.models import Cycle, Flock, Kandang, Site, allocate_site_id, site_name_slug
|
||||
|
||||
|
||||
class SiteSerializer(PkAsIdMixin, serializers.ModelSerializer):
|
||||
class SiteSerializer(SlugPkAsIdMixin, serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Site
|
||||
fields = ["id", "site_name", "user", "created_at", "updated_at"]
|
||||
read_only_fields = ["id", "created_at", "updated_at"]
|
||||
|
||||
def create(self, validated_data):
|
||||
validated_data["site_id"] = allocate_site_id(validated_data["site_name"])
|
||||
return super().create(validated_data)
|
||||
|
||||
def validate_site_name(self, value):
|
||||
name = str(value or "").strip()
|
||||
if not name:
|
||||
raise serializers.ValidationError("Nama site wajib diisi.")
|
||||
site_name_slug(name) # reject names that cannot form a slug
|
||||
qs = Site.objects.filter(site_name__iexact=name)
|
||||
if self.instance:
|
||||
qs = qs.exclude(pk=self.instance.pk)
|
||||
if qs.exists():
|
||||
raise serializers.ValidationError("Nama site sudah dipakai.")
|
||||
return name
|
||||
|
||||
|
||||
class FeedInButtonUrlSerializer(serializers.Serializer):
|
||||
label = serializers.CharField(max_length=50, required=False, allow_blank=True, default="")
|
||||
@@ -18,6 +34,7 @@ class FeedInButtonUrlSerializer(serializers.Serializer):
|
||||
|
||||
class KandangSerializer(PkAsIdMixin, serializers.ModelSerializer):
|
||||
feed_in_button_urls = FeedInButtonUrlSerializer(many=True, required=False)
|
||||
site = serializers.PrimaryKeyRelatedField(queryset=Site.objects.all())
|
||||
|
||||
class Meta:
|
||||
model = Kandang
|
||||
|
||||
Reference in new issue
Block a user