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
def perform_create(self, serializer: ModelSerializer): serializer.save(user=self.request.user)