Adds create user view, minor fixes

This commit is contained in:
nikolark committed 2014-02-02 16:52:15 +01:00
1 parent 7f84c936ab
commit b7b0238871
13 files changed
+2354 -2251

No files matched your search

+27
View File
@@ -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
+1
View File
@@ -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'),
)
+5
View File
@@ -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
View File
@@ -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())