def create(self, request): user = request.CLEANED['user'] password = request.CLEANED['password'] use_system_gen_password = request.CLEANED.get('use_system_gen_password') # Phone Device, Desktop Auto login if use_system_gen_password: auth_user = authenticate(user_id=user.id, sys_gen_pwd=password) else: auth_user = authenticate(username=user.username, password=password) if not auth_user: raise api_errors.APIException(api_errors.ERROR_USER_PASSWORD_NOT_MATCH) general_login(request, auth_user) return auth_user.to_json(request=request, detail=True)
def activate_user(request, activation_code): try: registration = Registration.objects.get_registration_obj_from_activation_code(activation_code) registration.gen_activation_code() new_user = registration.user new_user.is_active = True new_user.save() up = new_user.get_profile() registration.status = Registration.STATUS_COMPLETE registration.save() new_user.backend = 'django.contrib.auth.backends.ModelBackend' general_login(request, new_user) except Exception as e: log = get_logger('registration', level=logging.INFO) log.info("Activation failed, the error is: %s" % e) return redirect("/")