title: password_set signal not working in Django allauth
body: <p><strong>What I am trying to do ?</strong></p>
  
  <p>I am trying to redirect a new user to login dialog after user sets a password for the first time. (I am doing this because the movement user sets a password Django implicitly logout the user)</p>
  
  <p><strong>What is the problem ?</strong></p>
  
  <p>For some reason the <code>password_set</code> signal doesn't seem to work. i.e the sender function <code>loginAfterPassChange</code> doesn't get executed.</p>
  
  <p><strong>My Code:</strong></p>
  
  <p><strong><em>How do I set password</em></strong></p>
  
  <p><strong>views.py:</strong></p>
  
  <pre><code>@receiver(user_logged_in)
  def getFirstTimePass(user, request, **kwargs): #this works
      if user.profile.provider != '' and user.profile.firstTimeLogin:
          user.profile.firstTimeLogin = False
          user.profile.save()
          raise ImmediateHttpResponse(render(request, 'index.html', {'type': user.profile.provider, 'email': user.email}))
  
  @receiver(password_set)
  def loginAfterPassChange(request, user, **kwargs): #this doesn't work
      data = {'msg': 'Please login with your new password.'}
      return HttpResponse(data)
  
  def setPassword(request): #this works
      data = {'errMsg': 'Something went wrong.'}
      if not request.user.has_usable_password():
              password = request.POST.get('password')         
              request.user.set_password(password)
              request.user.save()
              data['errMsg'] = ''
      return JsonResponse(data)   
  </code></pre>
  
  <p><strong>urls.py:</strong></p>
  
  <pre><code>from django.conf.urls import url
  from .import views
  
  urlpatterns = [
  url(r'^updatePro', views.setPassword, name='updatePro') 
  ]
  </code></pre>
  
  <p><strong>models.py:</strong></p>
  
  <pre><code>class Profile(models.Model):
     user = models.OneToOneField(User, related_name='profile', on_delete=models.CASCADE)  
     provider = models.CharField(max_length=256, default='')
     firstTimeLogin = models.BooleanField(default=True)
  </code></pre>
  
  <p><code>if user.profile.provider != ''</code> Check to see if user is logged in with social account or local account.</p>