GithubHelp home page GithubHelp logo

Comments (4)

peeomid avatar peeomid commented on May 27, 2024

Just a side note, rest_framework.py, under DeviceViewSetMixin, there's this:

if (SETTINGS["ONE_DEVICE_PER_USER"] and
                    self.request.data.get('active', True)):
                FCMDevice.objects.filter(user=self.request.user).update(
                    active=False)

In case active is not pass, then that `self.request.data.get('active') will give back None, which will make the condition False right?

from fcm-django.

xtrinch avatar xtrinch commented on May 27, 2024

Why would you pass that as extra kwargs if it's already defaulted to active?

from fcm-django.

ijajmulani avatar ijajmulani commented on May 27, 2024

I'm also facing same issue.

@xtrinch extra kwargs sets active to true using below code.

in DeviceSerializerMixin's Meta class
extra_kwargs = {"active": {"default": True}}

but extra_kwargs gets override when
FCMDeviceSerializer's Meta class inherit DeviceSerializerMixin.Meta

So I think below code might need some changes

# Serializers
class DeviceSerializerMixin(ModelSerializer):
    class Meta:
        fields = (
            "id", "name", "registration_id", "device_id", "active",
            "date_created", "type"
        )
        read_only_fields = ("date_created",)
        extra_kwargs = {"active": {"default": True}}

class FCMDeviceSerializer(ModelSerializer, UniqueRegistrationSerializerMixin):
    class Meta(DeviceSerializerMixin.Meta):
        model = FCMDevice
        extra_kwargs = {"id": {"read_only": False, "required": False}}

So when I removed extra_kwargs from DeviceSerializerMixin.Meta class and added it to
FCMDeviceSerializer.Meta in below way

# Serializers
class DeviceSerializerMixin(ModelSerializer):
    class Meta:
        fields = (
            "id", "name", "registration_id", "device_id", "active",
            "date_created", "type"
        )
        read_only_fields = ("date_created",)

class FCMDeviceSerializer(ModelSerializer, UniqueRegistrationSerializerMixin):
    class Meta(DeviceSerializerMixin.Meta):
        model = FCMDevice
        extra_kwargs = {"id": {"read_only": False, "required": False}, "active": {"default": True}}

Then it works.

If you are agree with this change, I would love to make pull request.

from fcm-django.

kz26 avatar kz26 commented on May 27, 2024

I'm also experiencing this issue on the latest version 0.2.19.

from fcm-django.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.