Adds create user view, minor fixes
This commit is contained in:
1 parent
7f84c936ab
commit
b7b0238871
13 files changed
+2354
-2251
No files matched your search
@@ -1,9 +1,12 @@
|
||||
# coding: utf-8
|
||||
from django import forms
|
||||
from django.contrib.auth.models import User
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from models import *
|
||||
|
||||
import utils
|
||||
|
||||
class OrderForm(forms.ModelForm):
|
||||
def clean_customer(self):
|
||||
if self.cleaned_data['customer'].get_profile().balance <= 0:
|
||||
@@ -24,3 +27,27 @@ class DepositForm(forms.ModelForm):
|
||||
|
||||
class Meta:
|
||||
model = Transaction
|
||||
|
||||
class SimpleCreateUserForm(forms.Form):
|
||||
first_name = forms.CharField(required=True, label="Fornavn")
|
||||
last_name = forms.CharField(required=True, label="Etternavn")
|
||||
email = forms.EmailField(required=True, label="E-post")
|
||||
facebook_username = forms.CharField(required=False, label="Facebook-brukernavn")
|
||||
|
||||
def _get_facebook_url(self, facebook_username):
|
||||
return "https://graph.facebook.com/{0}/picture".format(facebook_username)
|
||||
|
||||
def save(self, commit=True):
|
||||
username = utils.format_username(self.cleaned_data['first_name'], self.cleaned_data['last_name'])
|
||||
user = User.objects.create_user(username, email=self.cleaned_data['email'])
|
||||
user.first_name = self.cleaned_data['first_name']
|
||||
user.last_name = self.cleaned_data['last_name']
|
||||
|
||||
profile = user.get_profile()
|
||||
profile.image = self._get_facebook_url(self.cleaned_data['facebook_username'])
|
||||
|
||||
if commit:
|
||||
user.save()
|
||||
profile.save()
|
||||
|
||||
return user
|
||||
@@ -13,4 +13,5 @@ urlpatterns = patterns('main.views',
|
||||
url(r'^stats/products/(?P<product>[0-9]+)/$', 'stats_products', name='stats-product'),
|
||||
url(r'^products/(?P<product_id>[0-9]+)/$', 'products', name='json-product'),
|
||||
url(r'^products/$', 'products', name='json-products'),
|
||||
url(r'^user/create/$', 'create_user', name='create-user'),
|
||||
)
|
||||
@@ -0,0 +1,5 @@
|
||||
def format_username(firstname, lastname):
|
||||
first = firstname.lower().strip().replace(" ", "")[:6].encode('ascii', 'ignore')
|
||||
last = lastname.lower().strip().replace(" ", "")[:6].encode('ascii', 'ignore')
|
||||
|
||||
return "{}{}".format(first, last)
|
||||
+17
-1
@@ -10,7 +10,7 @@ from django.contrib.auth.decorators import login_required
|
||||
from django.contrib.auth.forms import AuthenticationForm
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.shortcuts import render_to_response, render, get_object_or_404, redirect
|
||||
from django.template import RequestContext
|
||||
from django.forms.formsets import formset_factory
|
||||
from django.contrib import messages
|
||||
@@ -267,3 +267,19 @@ def users_format_js(users):
|
||||
users_js = u"[{0}]".format(u",".join(users_js))
|
||||
return users_js
|
||||
|
||||
def create_user(request):
|
||||
if request.method == "POST":
|
||||
form = SimpleCreateUserForm(data=request.POST)
|
||||
if form.is_valid():
|
||||
user = form.save()
|
||||
|
||||
messages.success(request, "Hurra! {0} {1} er lagt til".format(user.first_name, user.last_name))
|
||||
return redirect('create-user')
|
||||
|
||||
else:
|
||||
messages.error(request, '')
|
||||
form = SimpleCreateUserForm(data=request.POST)
|
||||
else:
|
||||
form = SimpleCreateUserForm()
|
||||
|
||||
return render(request, 'registration/create_user.html', locals())
|
||||
Reference in new issue
Block a user