Fix member serializers, add own requirements to gitignore

This commit is contained in:
henu
2017-03-29 19:12:46 +03:00
parent dd01b44445
commit ea36d4b193
3 changed files with 47 additions and 9 deletions
+2
View File
@@ -15,3 +15,5 @@ logs/
/media/
node_modules/
/.coverage
db.sqlite3
requirements_henu.txt
+25 -4
View File
@@ -41,8 +41,29 @@ class MemberSerializer(serializers.Serializer):
class MemberRequestSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(read_only=True)
submitted = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S")
member = MemberSerializer()
first_name = serializers.CharField(required=True, max_length=127)
last_name = serializers.CharField(required=True, max_length=127)
email = serializers.EmailField(min_length=None, max_length=None, required=True)
POR = serializers.CharField(max_length=255)
AYY = serializers.BooleanField(default=False)
jas = serializers.BooleanField(default=False)
class Meta:
model = MemberRequest
fields = ('id', 'member')
def created(self, validated_data):
'''
Create and return a new MemberRequest instance, given the validated data.
'''
return MemberRequest.objects.create(**validated_data)
def update(self, instance, validated_data):
'''
Update and return an existing Member request instance given the validated data.
'''
instance.submitted = validated_data.get('submitted', instance.submitted)
instance.first_name = validated_data.get('first_name', instance.first_name)
instance.last_name = validated_data.get('last_name', instance.last_name)
instance.email = validated_data.get('email', instance.email)
instance.POR = validated_data.get('POR', instance.POR)
instance.AYY = validated_data.get('AYY', instance.AYY)
instance.jas = validated_data.get('jas', instance.jas)
instance.save()
return instance
+17 -2
View File
@@ -37,5 +37,20 @@ for i in range(MEMBERAMOUNT):
jas=jas)
for m in list(Member.objects.all())[:5]:
MemberRequest.objects.create(member=m)
# for m in list(Member.objects.all())[:5]:
# MemberRequest.objects.create(member=m)
names = generate_names(MEMBERREQUESTAMOUNT)
maildomains = ["example.coms",'ggmail.om',"notmail.dom"] #intentionally wrong
places = ["Helsinki", "Espoo", "Korso","Kerava", "Kouvostoliitto"]
for i in range(MEMBERREQUESTAMOUNT):
f,l = names[i]
mail = "{}.{}@{}".format(f.lower(),l.lower(),random.choice(maildomains))
por = random.choice(places)
ayy = random.randint(0,1)
jas = random.randint(0,1)
Member.objects.create(first_name=f,
last_name=l,
email=mail,
POR=por,
AYY=ayy,
jas=jas)