def post(self, request, *args, **kwargs): form = SignUpForm(request.POST) response = redirect('tracker:home') error1 = '' if form.is_valid(): raw_password = form.cleaned_data.get('password1') email = form.cleaned_data.get('email') users = UserStorage.get_all_users() have = False for u in users: if email == u.email: have = True error1 = "An account with this name is already registered" if not have: user = form.save() user.refresh_from_db() user.save() user = authenticate(username=user.username, password=raw_password) login(request, user) UserController.reg(user.username, user.password, email) response.set_cookie(key='have_account', value='1') return response return render(request, 'accounts/signup.html', { 'form': form, 'error1': error1 })
def reg(cls, username, password, email): """ User registration with the specified data :param username: desired user name :param password: desired password :param email: desired e-mail :return: """ log = logger.get_logger(UserController.log_tag) user = User(username, password, email) users = UserStorage.get_all_users() have = False for i in users: if i[0] == user.username: have = True if not have: UserStorage.add_user_to_db(user) return user else: log.error("User with this name is already exist") raise UserAlreadyExist