Handle member_id correctly
This commit is contained in:
@@ -58,7 +58,7 @@ class TransactionSerializer(serializers.ModelSerializer):
|
||||
'Reimburse',
|
||||
'Other',
|
||||
])
|
||||
member_id = serializers.IntegerField()
|
||||
member_id = serializers.SerializerMethodField()
|
||||
member_name = serializers.SerializerMethodField()
|
||||
date = serializers.DateField()
|
||||
report_type = serializers.ChoiceField([
|
||||
@@ -81,7 +81,7 @@ class TransactionSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
def create(self, validated_data):
|
||||
member = get_object_or_404(models.Member, id=validated_data['member_id'])
|
||||
member = get_object_or_404(models.Member, id=self.initial_data['member_id'])
|
||||
validated_data['user'] = member.user
|
||||
|
||||
if validated_data['account_type'] != 'Clearing':
|
||||
@@ -101,10 +101,14 @@ class TransactionSerializer(serializers.ModelSerializer):
|
||||
return super().create(validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
member = get_object_or_404(models.Member, id=validated_data['member_id'])
|
||||
member = get_object_or_404(models.Member, id=self.initial_data['member_id'])
|
||||
validated_data['user'] = member.user
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
def get_member_id(self, obj):
|
||||
if not obj.user: return None
|
||||
return obj.user.member.id
|
||||
|
||||
def get_member_name(self, obj):
|
||||
if not obj.user: return 'Unknown'
|
||||
|
||||
@@ -385,7 +389,7 @@ class CardSerializer(serializers.ModelSerializer):
|
||||
queryset=models.Card.objects.all(),
|
||||
message='Card number already exists.'
|
||||
)])
|
||||
member_id = serializers.IntegerField()
|
||||
member_id = serializers.SerializerMethodField()
|
||||
active_status = serializers.ChoiceField([
|
||||
'card_blocked',
|
||||
'card_inactive',
|
||||
@@ -404,13 +408,22 @@ class CardSerializer(serializers.ModelSerializer):
|
||||
]
|
||||
|
||||
def create(self, validated_data):
|
||||
member = get_object_or_404(models.Member, id=validated_data['member_id'])
|
||||
member = get_object_or_404(models.Member, id=self.initial_data['member_id'])
|
||||
validated_data['user'] = member.user
|
||||
|
||||
if not member.vetted_date:
|
||||
raise ValidationError(dict(non_field_errors='Member not vetted yet.'))
|
||||
return super().create(validated_data)
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
member = get_object_or_404(models.Member, id=self.initial_data['member_id'])
|
||||
validated_data['user'] = member.user
|
||||
return super().update(instance, validated_data)
|
||||
|
||||
def get_member_id(self, obj):
|
||||
if not obj.user: return None
|
||||
return obj.user.member.id
|
||||
|
||||
|
||||
class TrainingSerializer(serializers.ModelSerializer):
|
||||
attendance_status = serializers.ChoiceField([
|
||||
|
Reference in New Issue
Block a user