def save(self, **kwargs):
        """
        Overridden to add the copy-query to the value.

        The value and actual answer are copied in case that the answer
        set (Answers) is changed. This way we can maintain the actual
        value and delete the answer, or change it, safely and maintain
        data integrity.

        :param kwargs: The additional data to add to validated_data
        :type kwargs: any

        :return: The newly created 'Answered' instance
        :rtype: activities.models.Answered
        """
        return ModelSerializer.save(self, **kwargs, value=self.get_calc())
    def save(self, **kwargs):
        """
        Overridden to inform management after storing the data.

        :param kwargs: The additional data to save
        :type kwargs: any

        :return: The newly created reflection instance
        :rtype: activities.models.Reflection
        """
        # XXX TODO: refactor to assigned management member of some sorts?
        instance = ModelSerializer.save(self, **kwargs)
        managers = User.objects.filter(groups=Groups.management)

        context = self.get_context(instance)
        company = instance.answerer.member.company

        transport = MultiMailTransport(context, 3, company)
        transport.finish(transport(manager.email, {}) for manager in managers)

        return instance
示例#3
0
 def perform_create(self, serializer: ModelSerializer):
     serializer.save(user=self.request.user)