def perform_create(self, serializer): """ save store name to company table save user email and pwd send email to user for activation """ store = self.request._data['store'] check_company = Company.objects.filter(name=store).first() if check_company: raise Http404() user = serializer.save() signals.user_registered.send(sender=self.__class__, user=user, request=self.request) company = Company.objects.create(name=store) CompanyStuff.objects.create(company=company, stuff=user) context = {'user': user} to = [get_user_email(user)] if settings.SEND_ACTIVATION_EMAIL: settings.EMAIL.activation(self.request, context).send(to) elif settings.SEND_CONFIRMATION_EMAIL: settings.EMAIL.confirmation(self.request, context).send(to)
def perform_update(self, serializer): super(UserViewSet, self).perform_update(serializer) user = serializer.instance if settings.SEND_ACTIVATION_EMAIL and not user.is_active: context = {'user': user} to = [get_user_email(user)] settings.EMAIL.activation(self.request, context).send(to)
def update(self, instance, validated_data): email_field = get_user_email_field_name(User) if settings.SEND_ACTIVATION_EMAIL and email_field in validated_data: instance_email = get_user_email(instance) if instance_email != validated_data[email_field]: instance.is_active = False instance.save(update_fields=['is_active']) return super(UserSerializer, self).update(instance, validated_data)
def perform_create(self, serializer): user = serializer.save() signals.user_registered.send(sender=self.__class__, user=user, request=self.request) context = {'user': user} to = [get_user_email(user)] if settings.SEND_ACTIVATION_EMAIL: settings.EMAIL.activation(self.request, context).send(to) elif settings.SEND_CONFIRMATION_EMAIL: settings.EMAIL.confirmation(self.request, context).send(to)
def _action(self, serializer): user = self.request.user new_username = serializer.data['new_' + User.USERNAME_FIELD] setattr(user, User.USERNAME_FIELD, new_username) if settings.SEND_ACTIVATION_EMAIL: user.is_active = False context = {'user': user} to = [get_user_email(user)] settings.EMAIL.activation(self.request, context).send(to) user.save() return Response(status=status.HTTP_204_NO_CONTENT)
def _action(self, serializer): user = serializer.user user.is_active = True user.save() signals.user_activated.send( sender=self.__class__, user=user, request=self.request ) if settings.SEND_CONFIRMATION_EMAIL: context = {'user': user} to = [get_user_email(user)] settings.EMAIL.confirmation(self.request, context).send(to) return Response(status=status.HTTP_204_NO_CONTENT)
def change_username(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) user = self.request.user new_username = serializer.data['new_' + User.USERNAME_FIELD] setattr(user, User.USERNAME_FIELD, new_username) if settings.SEND_ACTIVATION_EMAIL: user.is_active = False context = {'user': user} to = [get_user_email(user)] settings.EMAIL.activation(self.request, context).send(to) user.save() return Response(status=status.HTTP_204_NO_CONTENT)
def confirm(self, request, *args, **kwargs): serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) user = serializer.user user.is_active = True user.save() signals.user_activated.send( sender=self.__class__, user=user, request=self.request ) if settings.SEND_CONFIRMATION_EMAIL: context = {'user': user} to = [get_user_email(user)] settings.EMAIL.confirmation(self.request, context).send(to) return Response(status=status.HTTP_204_NO_CONTENT)
def send_password_reset_email(self, user): context = {'user': user} to = [get_user_email(user)] settings.EMAIL.password_reset(self.request, context).send(to)