mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Adding errors to API/login and API/signup. Getting rid of namespacing on login and signup form fields for api use.
This commit is contained in:
parent
2db298cd50
commit
51a0fb2705
5 changed files with 41 additions and 30 deletions
|
@ -15,27 +15,35 @@ from utils import log as logging
|
|||
@json.json_view
|
||||
def login(request):
|
||||
code = -1
|
||||
errors = None
|
||||
|
||||
if request.method == "POST":
|
||||
form = LoginForm(data=request.POST)
|
||||
if form.errors:
|
||||
errors = form.errors
|
||||
if form.is_valid():
|
||||
login_user(request, form.get_user())
|
||||
logging.user(form.get_user(), "~FG~BB~SKAPI Login~FW")
|
||||
code = 1
|
||||
|
||||
return dict(code=code)
|
||||
return dict(code=code, errors=errors)
|
||||
|
||||
@json.json_view
|
||||
def signup(request):
|
||||
code = -1
|
||||
errors = None
|
||||
|
||||
if request.method == "POST":
|
||||
form = SignupForm(data=request.POST)
|
||||
if form.errors:
|
||||
errors = form.errors
|
||||
if form.is_valid():
|
||||
new_user = form.save()
|
||||
login_user(request, new_user)
|
||||
logging.user(new_user, "~FG~SB~BBAPI NEW SIGNUP~FW")
|
||||
code = 1
|
||||
|
||||
return dict(code=code)
|
||||
return dict(code=code, errors=errors)
|
||||
|
||||
@json.json_view
|
||||
def logout(request):
|
||||
|
|
|
@ -61,22 +61,25 @@ class LoginForm(forms.Form):
|
|||
|
||||
|
||||
class SignupForm(forms.Form):
|
||||
signup_username = forms.RegexField(regex=r'^\w+$',
|
||||
max_length=30,
|
||||
widget=forms.TextInput(),
|
||||
label=_(u'username'),
|
||||
error_messages={'required': 'Please enter a username.'})
|
||||
username = forms.RegexField(regex=r'^\w+$',
|
||||
max_length=30,
|
||||
widget=forms.TextInput(),
|
||||
label=_(u'username'),
|
||||
error_messages={
|
||||
'required': 'Please enter a username.',
|
||||
'invalid': "Your username may only contain letters and numbers."
|
||||
})
|
||||
email = forms.EmailField(widget=forms.TextInput(attrs=dict(maxlength=75)),
|
||||
label=_(u'email address'),
|
||||
required=False)
|
||||
# error_messages={'required': 'Please enter your email.'})
|
||||
signup_password = forms.CharField(widget=forms.PasswordInput(),
|
||||
label=_(u'password'),
|
||||
required=False)
|
||||
# error_messages={'required': 'Please enter a password.'})
|
||||
password = forms.CharField(widget=forms.PasswordInput(),
|
||||
label=_(u'password'),
|
||||
required=False)
|
||||
# error_messages={'required': 'Please enter a password.'})
|
||||
|
||||
def clean_signup_username(self):
|
||||
username = self.cleaned_data['signup_username']
|
||||
def clean_username(self):
|
||||
username = self.cleaned_data['username']
|
||||
try:
|
||||
User.objects.get(username__iexact=username)
|
||||
except User.DoesNotExist:
|
||||
|
@ -84,10 +87,10 @@ class SignupForm(forms.Form):
|
|||
raise forms.ValidationError(_(u'Someone is already using that username.'))
|
||||
return username
|
||||
|
||||
def clean_signup_password(self):
|
||||
if not self.cleaned_data['signup_password']:
|
||||
def clean_password(self):
|
||||
if not self.cleaned_data['password']:
|
||||
return ""
|
||||
return self.cleaned_data['signup_password']
|
||||
return self.cleaned_data['password']
|
||||
|
||||
def clean_email(self):
|
||||
if not self.cleaned_data['email']:
|
||||
|
@ -95,13 +98,13 @@ class SignupForm(forms.Form):
|
|||
return self.cleaned_data['email']
|
||||
|
||||
def save(self, profile_callback=None):
|
||||
new_user = User(username=self.cleaned_data['signup_username'])
|
||||
new_user.set_password(self.cleaned_data['signup_password'])
|
||||
new_user = User(username=self.cleaned_data['username'])
|
||||
new_user.set_password(self.cleaned_data['password'])
|
||||
new_user.is_active = True
|
||||
new_user.email = self.cleaned_data['email']
|
||||
new_user.save()
|
||||
new_user = authenticate(username=self.cleaned_data['signup_username'],
|
||||
password=self.cleaned_data['signup_password'])
|
||||
new_user = authenticate(username=self.cleaned_data['username'],
|
||||
password=self.cleaned_data['password'])
|
||||
|
||||
return new_user
|
||||
|
||||
|
|
|
@ -4930,7 +4930,7 @@
|
|||
handle_login_and_signup_forms: function() {
|
||||
var self = this;
|
||||
var $hidden_inputs = $('.NB-signup-hidden');
|
||||
var $signup_username = $('input[name=signup-signup_username]');
|
||||
var $signup_username = $('input[name=signup-username]');
|
||||
|
||||
$signup_username.bind('focus', function() {
|
||||
$hidden_inputs.slideDown(300);
|
||||
|
|
|
@ -135,13 +135,13 @@ $(document).ready(function() {
|
|||
<div class="NB-signup">
|
||||
<form method="post" action="{% url signup %}">
|
||||
<div>
|
||||
{{ signup_form.signup_username.label_tag }}
|
||||
{{ signup_form.signup_username }}
|
||||
{{ signup_form.username.label_tag }}
|
||||
{{ signup_form.username }}
|
||||
</div>
|
||||
<div class="NB-signup-hidden">
|
||||
<div class="NB-signup-optional">Optional</div>
|
||||
{{ signup_form.signup_password.label_tag }}
|
||||
{{ signup_form.signup_password }}
|
||||
{{ signup_form.password.label_tag }}
|
||||
{{ signup_form.password }}
|
||||
</div>
|
||||
<div class="NB-signup-hidden">
|
||||
<div class="NB-signup-optional">Optional</div>
|
||||
|
|
|
@ -9,11 +9,11 @@
|
|||
If a user has no password set, you cannot just send any old password.
|
||||
This is not <a href="http://www.instapaper.com/api/full">Instapaper</a>.
|
||||
params:
|
||||
- key: login_username
|
||||
- key: username
|
||||
desc: "Username"
|
||||
required: true
|
||||
example: "samuelclay"
|
||||
- key: login_password
|
||||
- key: password
|
||||
desc: "Password"
|
||||
optional: true
|
||||
example: "new$blur"
|
||||
|
@ -28,15 +28,15 @@
|
|||
long_desc:
|
||||
- "Create a new user."
|
||||
params:
|
||||
- key: signup_username
|
||||
- key: username
|
||||
desc: "Username"
|
||||
required: true
|
||||
example: "samuelclay"
|
||||
- key: signup_password
|
||||
- key: password
|
||||
desc: "Password"
|
||||
optional: true
|
||||
example: "new$blur"
|
||||
- key: signup_email
|
||||
- key: email
|
||||
desc: "Email address"
|
||||
optional: true
|
||||
example: "samuel@ofbrooklyn.com"
|
||||
|
|
Loading…
Add table
Reference in a new issue