def save_new_password(self): response = reply_object() user = self.request.user user.set_password(self.cleaned_data['password']) user.save() response["code"] = settings.APP_CODE["CALLBACK"] return response
def password_reset_submit_email(request): response = reply_object() form = PasswordEmailForm(request.POST) if form.is_valid(): response = form.send_reset_link() else: response["code"] = settings.APP_CODE["FORM ERROR"] response["errors"] = form.errors return HttpResponse(simplejson.dumps(response))
def password_reset_submit_password(request): response = reply_object() form = PasswordResetForm(request.POST, request=request) if form.is_valid(): response = form.save_new_password() response["code"] = settings.APP_CODE["CALLBACK"] response["redirect"] = reverse('home') else: response["code"] = settings.APP_CODE["FORM ERROR"] response["errors"] = form.errors return HttpResponse(simplejson.dumps(response))
def add_user(request): """ Registration request handler """ response = reply_object() form = CreateUserForm(request.POST) if form.is_valid(): response = form.save_user() response["success_page"] = reverse('registration_success') else: response["code"] = settings.APP_CODE["FORM ERROR"] response["errors"] = form.errors return HttpResponse(simplejson.dumps(response))
def update_user(self): """ Updates a registered user. Can be used for updating profile """ response = reply_object() user = User.objects.get(pk=self.cleaned_data["user_id"]) user.username = self.cleaned_data["username"] user.email = self.cleaned_data["email"] user.set_password(self.cleaned_data["password1"]) user.save() response["code"] = settings.APP_CODE["UPDATED"] response["user_id"] = user.id return response
def login_user(request): """ Login request handler """ response = reply_object() form = LoginForm(request.POST, request=request) if form.is_valid(): response["code"] = settings.APP_CODE["LOGIN"] response["next_view"] = reverse('home') else: response["code"] = settings.APP_CODE["FORM ERROR"] response["errors"] = form.errors return HttpResponse(simplejson.dumps(response))
def send_reset_link(self): response = reply_object() user = User.objects.get(email=self.cleaned_data["email"]) if not user.is_active: response["code"] = settings.APP_CODE["SERVER MESSAGE"] response["server_message"] = "This account is inactive. Please contact site administrator" return response profile = user.get_profile() key_object = create_key(user.username, 2) profile.verification_key = key_object["key"] profile.key_expires = key_object["expiry"] send_password_reset_email(user.email, key_object["key"]) profile.save() response["code"] = settings.APP_CODE["CALLBACK"] return response
def save_user(self): """ Creates if new registration. Updates if user id is given """ response = reply_object() try: if self.cleaned_data["user_id"] == 0 or\ self.cleaned_data["user_id"] == u'' or\ self.cleaned_data["user_id"] == None: response = self.create_user() else: response = self.update_user() except: response["code"] = settings.APP_CODE["SYSTEM ERROR"] return response
def create_user(self): """ Creates a new user """ response = reply_object() new_user = User.objects.create(username=self.cleaned_data["username"], email=self.cleaned_data["email"]) new_user.set_password(self.cleaned_data["password1"]) if settings.EMAIL_VERIFICATION_REQUIRED: new_user.is_active = False else: new_user.is_active = True new_user.save() response["code"] = settings.APP_CODE["REGISTERED"] response["user_id"] = new_user.id return response