62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
from rest_framework import serializers
|
|
from django.contrib.auth.models import User
|
|
from api.models import Accounts, ServiceDays, Stores, ServiceVisits, Projects, AccountStatus
|
|
|
|
|
|
class UserSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = User
|
|
fields = ['id', 'username', 'password']
|
|
extra_kwargs = {'password': {'write_only': True}}
|
|
|
|
def create(self, validated_data):
|
|
user = User.objects.create_user(**validated_data)
|
|
return user
|
|
|
|
|
|
class AccountsSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Accounts
|
|
fields = ['full_name', 'short_name', 'street_address', 'city', 'state', 'zip_code']
|
|
|
|
|
|
class ServiceDaysSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = ServiceDays
|
|
fields = [
|
|
'short_name', 'mon_serv', 'tues_serv', 'wed_serv', 'thurs_serv',
|
|
'fri_serv', 'sat_serv', 'sun_serv', 'weekend_serv', 'exception_serv'
|
|
]
|
|
|
|
|
|
class StoresSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = Stores
|
|
fields = [
|
|
'store', 'src', 'street_address', 'city', 'state', 'zip_code',
|
|
'phone', 'entity', 'store_contact', 'store_contact_email',
|
|
'super_contact', 'super_contact_email', 'id'
|
|
]
|
|
|
|
|
|
class ServiceVisitsSerializer(serializers.ModelSerializer):
|
|
full_name = serializers.CharField(source='short_name.full_name', read_only=True)
|
|
|
|
class Meta:
|
|
model = ServiceVisits
|
|
fields = ['short_name', 'full_name', 'date', 'status', 'team_member', 'notes', 'id']
|
|
|
|
|
|
class ProjectsSerializer(serializers.ModelSerializer):
|
|
city = serializers.CharField(source='store.city', read_only=True)
|
|
|
|
class Meta:
|
|
model = Projects
|
|
fields = ['id', 'store', 'city', 'date', 'status', 'punchlist']
|
|
|
|
|
|
class AccountStatusSerializer(serializers.ModelSerializer):
|
|
class Meta:
|
|
model = AccountStatus
|
|
fields = ['short_name', 'is_active', 'last_day', 'is_bonded', 'id']
|