Add UI for admins to view and edit member cards
This commit is contained in:
@@ -55,7 +55,7 @@ class Card(models.Model):
|
||||
user = models.ForeignKey(User, related_name='cards', blank=True, null=True, on_delete=models.SET_NULL)
|
||||
|
||||
member_id = models.IntegerField(blank=True, null=True)
|
||||
card_number = models.CharField(max_length=16, blank=True, null=True)
|
||||
card_number = models.CharField(unique=True, max_length=16, blank=True, null=True)
|
||||
notes = models.TextField(blank=True, null=True)
|
||||
last_seen_at = models.DateField(default=date.today, blank=True, null=True)
|
||||
active_status = models.CharField(max_length=32, blank=True, null=True)
|
||||
|
@@ -2,6 +2,7 @@ from django.contrib.auth.models import User, Group
|
||||
from django.shortcuts import get_object_or_404
|
||||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError
|
||||
from rest_framework.validators import UniqueValidator
|
||||
from rest_auth.registration.serializers import RegisterSerializer
|
||||
from rest_auth.serializers import UserDetailsSerializer
|
||||
from uuid import uuid4
|
||||
@@ -51,15 +52,6 @@ class UserEmailField(serializers.ModelField):
|
||||
|
||||
|
||||
|
||||
class AdminCardSerializer(serializers.ModelSerializer):
|
||||
card_number = serializers.CharField()
|
||||
class Meta:
|
||||
model = models.Card
|
||||
fields = '__all__'
|
||||
read_only_fields = ['last_seen_at']
|
||||
|
||||
|
||||
|
||||
|
||||
# member viewing other members
|
||||
class OtherMemberSerializer(serializers.ModelSerializer):
|
||||
@@ -177,7 +169,10 @@ class CardSerializer(serializers.ModelSerializer):
|
||||
|
||||
# admin viewing member details
|
||||
class AdminCardSerializer(CardSerializer):
|
||||
card_number = serializers.CharField()
|
||||
card_number = serializers.CharField(validators=[UniqueValidator(
|
||||
queryset=models.Card.objects.all(),
|
||||
message='Card number already exists.'
|
||||
)])
|
||||
member_id = serializers.IntegerField()
|
||||
active_status = serializers.ChoiceField(['card_blocked', 'card_inactive', 'card_member_blocked', 'card_active'])
|
||||
class Meta:
|
||||
|
Reference in New Issue
Block a user