Work on the register UI
This commit is contained in:
1 parent
7a15006455
commit
135fe821e1
16 files changed
+290
-167
No files matched your search
+5
-1
@@ -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)
|
||||
@@ -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
@@ -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
@@ -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'),
|
||||
)
|
||||
@@ -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):
|
||||
|
||||
Reference in new issue
Block a user