def create(self, request, *args, **kwargs): for token in Token.objects.filter(user=request.user): token.delete() request.user.is_login = False request.user.save() create_notification(request.user, 'New Logout In Your Account') return Response(status=200)
def update(self, request, *args, **kwargs): instance = self.request.user serializer = self.get_serializer(instance, data=request.data) serializer.is_valid(raise_exception=True) self.perform_update(serializer) if getattr(instance, '_prefetched_objects_cache', None): instance._prefetched_objects_cache = {} create_notification(request.user, 'Your Information Was Changed') return Response(serializer.data)
def update(self, request, *args, **kwargs): user_id = kwargs.get('pk', None) group_list = request.data.get('groups', None) if user_id is None or group_list is None: return Response(status=status.HTTP_400_BAD_REQUEST) user = User.objects.filter(pk=user_id).first() groups = Group.objects.filter(id__in=group_list) user.groups.set(groups) user.save() create_notification(user, 'Your Permissions Was Changed') return Response(status=status.HTTP_200_OK, data=UserAdminSerializer(user).data)
def post(self, request, *args, **kwargs): serializer = self.serializer_class(data=request.data, context={'request': request}) serializer.is_valid(raise_exception=True) user = serializer.validated_data['user'] token, created = Token.objects.get_or_create(user=user) user.is_login = True user.save() create_notification(user, 'New Login In Your Account') return Response({ 'token': token.key, 'user': UserSerializer(user).data })
def create(self, request, *args, **kwargs): validated_data = request.data email = validated_data.get('email', '') if len(User.objects.filter(email=email)) > 0: return Response({'errors': 'userNameUsed'}) country = validated_data.get('country', None) if country is not None: validated_data.pop('country') user = User.objects.create_user(**validated_data) if country is not None and Country.objects.filter(name=country['name']) is not None and len( Country.objects.filter(name=country['name'])) > 0: user.country_id = Country.objects.filter(name=country['name'])[0].id if Group.objects.filter(name='User').first() is not None: user.groups.add(Group.objects.get(name='User')) user.save() create_notification(user, 'Welcome In Coins Gate') return Response(UserSerializer(user).data, status=status.HTTP_201_CREATED)
def post(self, request, *args, **kwargs): password = request.data.get('newPassword', None) current_password = request.data.get('currentPassword', None) user = request.user errors = [] if password is None: errors.append({'newPassword': '******'}) if current_password is None: errors.append({'currentPassword': '******'}) if not user.check_password(current_password): errors.append({'currentPassword': '******'}) if len(errors) < 1: user.set_password(password) user.save() create_notification(user, 'Your Password Was Changed') return Response(status=200, data={}) return Response(status=400, data={'errors': errors})
def create(self, request, *args, **kwargs): user = User.objects.filter(pk=int(request.data['user'])).first() amount = float(request.data['amount']) invoice = Invoice.objects.create(amount=amount, user=user, action=request.data['action'], details=request.data.get('details', '')) if request.data['action'] == 'A': user.balance += amount create_notification(user, 'New Balance +{} Has Been Added'.format(amount)) if request.data['action'] == 'R': user.balance -= amount create_notification(user, 'New Balance -{} Has Been Removed'.format(amount)) if request.data['action'] == 'S': user.balance = amount create_notification(user, 'Your Balance Has Been Set to {}'.format(amount)) user.save() return Response(InvoiceSerializer(invoice).data, status=status.HTTP_201_CREATED)