-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserializers.py
80 lines (77 loc) · 3.45 KB
/
serializers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
from rest_framework import serializers
from . import models
"""
class ClientSerializer(serializers.ModelSerializer):
class Meta:
model = models.Client
fields = ('id','email','name','interestlevel',''address','useremail','created','updated')
"""
class PatientSerializer(serializers.ModelSerializer):
# username = serializers.SlugRelatedField(slug_field=models.User.USERNAME_FIELD,required=False, allow_null=True, queryset=models.User.objects.all(), source='user')
# first_name = serializers.CharField(source='user.first_name')
# last_name = serializers.CharField(source='user.last_name')
# email = serializers.CharField(source='user.email')
class Meta:
model = models.Patient
fields = ('address', 'contact',)#'user','username', 'first_name', 'last_name', 'email')
# assigned = serializers.SlugRelatedField(
# slug_field=User.USERNAME_FIELD, required=False, allow_null=True,
# queryset=User.objects.all())
# status_display = serializers.SerializerMethodField()
# links = serializers.SerializerMethodField()
#
# class Meta:
# model = Task
# fields = ('id', 'name', 'description', 'sprint', 'status',
# 'status_display', 'order', 'assigned', 'started', 'due',
# 'completed', 'links', )
#
# def get_status_display(self, obj):
# return obj.get_status_display()
#
# def get_links(self, obj):
# request = self.context['request']
# links = {
# 'self': reverse('task-detail',
# kwargs={'pk': obj.pk}, request=request),
# 'sprint': None,
# 'assigned': None
# }
# if obj.sprint_id:
# links['sprint'] = reverse('sprint-detail',
# kwargs={'pk': obj.sprint_id}, request=request)
# if obj.assigned:
# links['assigned'] = reverse('user-detail',
# kwargs={User.USERNAME_FIELD: obj.assigned}, request=request)
# return links
#
# def validate_sprint(self, value):
# if self.instance and self.instance.pk:
# if value != self.instance.sprint:
# if self.instance.status == Task.STATUS_DONE:
# msg = _('Cannot change the sprint of a completed task.')
# raise serializers.ValidationError(msg)
# if value and value.end < date.today():
# msg = _('Cannot assign tasks to past sprints.')
# raise serializers.ValidationError(msg)
# else:
# if value and value.end < date.today():
# msg = _('Cannot add tasks to past sprints.')
# raise serializers.ValidationError(msg)
# return value
#
# def validate(self, attrs):
# sprint = attrs.get('sprint')
# status = attrs.get('status', Task.STATUS_TODO)
# started = attrs.get('started')
# completed = attrs.get('completed')
# if not sprint and status != Task.STATUS_TODO:
# msg = _('Backlog tasks must have "Not Started" status.')
# raise serializers.ValidationError(msg)
# if started and status == Task.STATUS_TODO:
# msg = _('Started date cannot be set for not started tasks.')
# raise serializers.ValidationError(msg)
# if completed and status != Task.STATUS_DONE:
# msg = _('Completed date cannot be set for uncompleted tasks.')
# raise serializers.ValidationError(msg)
# return attrs