Work on the register UI

This commit is contained in:
nikolark committed 2012-01-07 03:36:12 +01:00
1 parent 7a15006455
commit 135fe821e1
16 files changed
+290 -167

No files matched your search

+5 -1
View File
@@ -1,7 +1,11 @@
from django.contrib import admin
from bbs.main.models import Product
from bbs.main.models import *
class ProductAdmin(admin.ModelAdmin):
pass
admin.site.register(Product, ProductAdmin)
admin.site.register(Order)
admin.site.register(OrderLine)
admin.site.register(Transaction)
admin.site.register(UserProfile)
+18
View File
@@ -0,0 +1,18 @@
from django import forms
from models import *
class OrderForm(forms.Form):
pass
class OrderLineForm(forms.ModelForm):
#product = forms.CharField(required=True, widget=forms.HiddenInput)
#amount = forms.IntegerField(required=True)
class Meta:
model = OrderLine
fields = ('amount','product')
widgets = {
'product': forms.HiddenInput(),
'amount': forms.TextInput(attrs={'size': '2'}),
}
# TODO : Validation
+16 -4
View File
@@ -14,9 +14,9 @@ class Product(models.Model):
description = models.CharField(max_length=256, blank=True)
volume_liter = models.FloatField(null=True)
alcohol_percent = models.FloatField(null=True)
image = models.ImageField(upload_to='uploads', blank=True)
active = models.BooleanField(default=True)
image = models.ImageField(upload_to='products', blank=True)
customer_support = models.CharField(max_length=32, blank=True)
active = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
@@ -25,12 +25,18 @@ class Order(models.Model):
order_sum = models.FloatField(db_column='sum')
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return "{0}: {1} kr".format(self.user, self.order_sum)
class OrderLine(models.Model):
order = models.ForeignKey(Order)
product = models.ForeignKey(Product)
amount = models.IntegerField()
unit_price = models.FloatField()
def __unicode__(self):
return "{1} {0} ({2} kr per)".format(self.product, self.amount, self.unit_price)
class Meta:
unique_together = ('order', 'product')
@@ -39,13 +45,19 @@ class Transaction(models.Model):
amount = models.FloatField()
created = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return "{0}: {1}: {2}".format(self.id, self.user, self.amount)
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
balance = models.FloatField(default=0.0)
image = models.ImageField(upload_to='uploads', blank=True)
image = models.ImageField(upload_to='users', blank=True)
def __unicode__(self):
return "{0}".format(self.user)
# Create a new UserProfile object when we create a new User.
@receiver(post_save, sender=User)
@receiver(post_save, sender=User, dispatch_uid='randomz')
def create_user_profile(sender, instance, created, **kwargs):
if created:
UserProfile.objects.create(user=instance)
+2 -3
View File
@@ -1,6 +1,5 @@
from django.conf.urls.defaults import patterns, include, url
urlpatterns = patterns('',
url(r'^$', 'bbs.main.views.home', name='home'),
url(r'^register/$', 'bbs.main.views.register', name='register'),
urlpatterns = patterns('bbs.main.views',
url(r'^register/$', 'register', name='register'),
)
+13
View File
@@ -6,9 +6,12 @@ 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.template import RequestContext
from django.forms.formsets import formset_factory
from models import *
from forms import *
def home(request):
if request.method == "POST":
form = AuthenticationForm(data=request.POST)
@@ -25,8 +28,18 @@ def home(request):
@login_required
def register(request):
if request.method == "POST":
# TODO: Form processing is not working at all
form = OrderLineForm(data=request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect( reverse('bbs.main.views.register') )
products = Product.objects.all()
users = User.objects.all()
# Formset for orderlines
# FIXME: Like this?
#OrderLineFormSet = formset_factory(OrderLineForm, extra=products.count())
#formset = OrderLineFormSet()
return render_to_response('register.html', locals(), context_instance=RequestContext(request))
def logout(request):