Ejemplo n.º 1
0
 def reset_password(self, new_password=None):
     if new_password:
         self.password = new_password
     else:
         self.password = NeoProfile.generate_password()
     api.change_password(self.login_alias, new_password,
                         token=api.get_forgot_password_token(self.login_alias).TempToken)
     self.save()
Ejemplo n.º 2
0
 def forwards(self, orm):
     count = 1
     total = orm['neo.NeoProfile'].objects.count()
     for np in orm['neo.NeoProfile'].objects.all().iterator():
         password = NeoProfile.generate_password()
         api.change_password(np.login_alias, password,
                             token=api.get_forgot_password_token(np.login_alias).TempToken)
         np.password = password
         np.save()
         sys.stdout.write("\rReset %d out of %d" % (count, total))
         sys.stdout.flush()
         count += 1
     print "\nDone"
Ejemplo n.º 3
0
def clean_user(user, called_from_child=False):
    super(User, user).full_clean()
    if not called_from_child:
        # check if password needs to be changed
        raw_password = getattr(user, 'raw_password', None)
        if raw_password:
            # attempt to change password in order to validate it
            old_password = getattr(user, 'old_password', None)
            delattr(user, 'raw_password')
            if old_password:
                api.change_password(user.username, raw_password, old_password=old_password)
            else:
                api.change_password(user.username, raw_password, token=user.forgot_password_token)
    user.need_to_clean_user = False
Ejemplo n.º 4
0
def update_consumer(member):
    consumer_id = NeoProfile.objects.get(user=member).consumer_id
    if not USE_MCAL:
        # update changed attributes
        old_member = cache.get('neo_consumer_%s' % member.pk, None)
        wrapper = ConsumerWrapper()
        if old_member is not None:  # it should never be None
            for k in NEO_ATTR:
                # check where cached version and current version of member differ
                current = getattr(member, k, None)
                old = old_member.get(k, None)
                if current != old:
                    # update attribute on Neo
                    if old is None:
                        getattr(wrapper, "set_%s" % k)(current, mod_flag=modify_flag['INSERT'])
                    elif current is None:
                        getattr(wrapper, "set_%s" % k)(old, mod_flag=modify_flag['DELETE'])
                    else:
                        getattr(wrapper, "set_%s" % k)(current, mod_flag=modify_flag['UPDATE'])

        # check if address needs to change
        has_address = False
        had_address = False
        address_changed = False
        for k in ADDRESS_FIELDS:
            current = getattr(member, k, None)
            old = old_member.get(k, None)
            if current:
                has_address = True
            if old:
                had_address = True
            if current != old:
                address_changed = True
        # update address accordingly
        if address_changed:
            if not has_address:
                wrapper.set_address(old_member.address, old_member.city,
                    old_member.province, old_member.zipcode, old_member.country,
                    modify_flag['DELETE'])
            elif not had_address:
                wrapper.set_address(member.address, member.city,
                    member.province, member.zipcode, member.country)
            else:
                wrapper.set_address(member.address, member.city,
                    member.province, member.zipcode, member.country,
                    mod_flag=modify_flag['UPDATE'])

        if not wrapper.is_empty:
            if not wrapper.profile_is_empty:
                wrapper.set_ids_for_profile(api.get_consumer_profile(consumer_id))
            api.update_consumer(consumer_id, wrapper.consumer)
    
    # check if password needs to be changed
    raw_password = getattr(member, 'raw_password', None)
    if raw_password:
        old_password = getattr(member, 'old_password', None)
        if old_password:
            api.change_password(member.username, raw_password, old_password=old_password)
        else:
            api.change_password(member.username, raw_password, token=member.forgot_password_token)
    return consumer_id