Skip to content
Snippets Groups Projects
Commit fbfed060 authored by Christian Dresen's avatar Christian Dresen
Browse files

Refactored in different Apps

parent 86fda74a
No related branches found
No related tags found
No related merge requests found
Showing
with 139 additions and 108 deletions
File moved
from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
from django.conf.urls import url
from warpauth.views import main, login, reset_password, warp_food
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT,}),
url(r'^', include('warpauthWeb.urls')),
# Authentication Pages
url(r'^login/$', login.login_view, name='index'),
url(r'^logout/$', login.logout_view, name='index'),
url(r'^reset_password/$', reset_password.gen_token, name='index'),
url(r'^reset_password/(?P<reset_hash>\w+)/$', reset_password.change_password, name='index'),
# Main Page
url(r'^$', main.index, name='index'),
]
"""
url(r'^pizza/$', warp_food.index, name='warp_foot'),
url(r'^pizza/view/(?P<sheet_id>\w+)/$', warp_food.view, name='warp_foot_view'),
url(r'^pizza/toggle_sheet/(?P<sheet_id>\w+)/$', warp_food.toggle_closed, name='warp_foot_toggle_closed'),
url(r'^pizza/toggle_paid/(?P<order_id>\w+)/$', warp_food.toggle_paid, name='warp_foot_toggle_paid'),
url(r'^pizza/export_sheet/(?P<sheet_id>\w+)/$', warp_food.export_sheet, name='warp_foot_export_sheet'),
"""
\ No newline at end of file
File moved
File moved
......@@ -4,7 +4,7 @@ from django.contrib.auth import authenticate, login, logout
from django.shortcuts import redirect
from django.contrib.auth.decorators import login_required
from warpauthWeb.util import *
from warpauth.util import *
def login_view(request):
pages['body'] = "login"
......@@ -23,7 +23,7 @@ def login_view(request):
if username != "" and password != "":
pages['fail'] = True
return HttpResponse(render(request, 'login.html', pages))
return HttpResponse(render(request, 'warpauth/login.html', pages))
@login_required(login_url='/login/', redirect_field_name=None)
def logout_view(request):
......
......@@ -2,11 +2,11 @@ from django.shortcuts import render
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, HttpResponseNotFound
from django.shortcuts import redirect
from django.contrib.auth.decorators import login_required
from warpauthWeb.util import *
from warpauth.util import *
@login_required(login_url='/login/', redirect_field_name=None)
def index(request):
print(request.user.ldap_user.group_names)
return HttpResponse(render(request, 'about.html', pages))
return HttpResponse(render(request, 'warpauth/about.html', pages))
......@@ -5,13 +5,13 @@ from django.shortcuts import redirect
from django.contrib.auth.decorators import login_required
from django.views.decorators.cache import cache_page
from warpauthWeb.util import *
from warpauthWeb.models import PasswordResetToken, LdapUser
from warpauth.util import *
from warpauth.models import PasswordResetToken, LdapUser
import hashlib
import logging
import os
import datetime
from django.core.exceptions import ObjectDoesNotExist,ValidationError
from django.core.exceptions import ObjectDoesNotExist, ValidationError
def gen_token(request):
logger = logging.getLogger("reset_password")
......@@ -30,7 +30,7 @@ def gen_token(request):
logger.error("Failed for %s with %s", request.POST["username"],e)
else:
pass
return HttpResponse(render(request, 'reset_password/token_gen.html', pages))
return HttpResponse(render(request, 'warpauth/reset_password/token_gen.html', pages))
def change_password(request, reset_hash=None):
......@@ -60,4 +60,4 @@ def change_password(request, reset_hash=None):
return HttpResponse(render(request, 'reset_password/change_password.html', pages))
return HttpResponse(render(request, 'warpauth/reset_password/change_password.html', pages))
from django.conf.urls import url
from warpauthWeb.views import main,login,reset_password, warp_food
urlpatterns = [
# Authentication Pages
url(r'^login/$', login.login_view, name='index'),
url(r'^logout/$', login.logout_view, name='index'),
url(r'^reset_password/$', reset_password.gen_token, name='index'),
url(r'^reset_password/(?P<reset_hash>\w+)/$', reset_password.change_password, name='index'),
# Main Page
url(r'^pizza/$', warp_food.index, name='warp_foot'),
url(r'^pizza/view/(?P<sheet_id>\w+)/$', warp_food.view, name='warp_foot_view'),
url(r'^pizza/toggle_sheet/(?P<sheet_id>\w+)/$', warp_food.toggle_closed, name='warp_foot_toggle_closed'),
url(r'^pizza/toggle_paid/(?P<order_id>\w+)/$', warp_food.toggle_paid, name='warp_foot_toggle_paid'),
url(r'^pizza/export_sheet/(?P<sheet_id>\w+)/$', warp_food.export_sheet, name='warp_foot_export_sheet'),
url(r'^$', main.index, name='index'),
]
File moved
from django.contrib import admin
from warpauthWeb.models import PizzaService
from warpfood.models import PizzaService
# Register your models here.
@admin.register(PizzaService)
class PizzaService_admin(admin.ModelAdmin):
class PizzaServiceAdmin(admin.ModelAdmin):
pass
from django.db import models
from ldapdb.models.fields import CharField, IntegerField, ListField
import ldapdb.models
from django.forms import ModelForm, HiddenInput
from django import forms
from django.utils import timezone
class PasswordResetToken(models.Model):
user = models.CharField(max_length=100)
email = models.CharField(max_length=100)
hash = models.CharField(max_length=100)
created = models.DateTimeField(auto_now_add=True)
class PizzaService(models.Model):
name = models.CharField(max_length=250)
......@@ -19,6 +11,7 @@ class PizzaService(models.Model):
def __str__(self):
return self.name
class FoodSheet(models.Model):
date = models.DateTimeField(default=timezone.now)
pizza_service = models.ForeignKey(PizzaService, on_delete=models.CASCADE)
......@@ -46,48 +39,21 @@ class FoodSheetForm(ModelForm):
class FoodOrderForm(ModelForm):
comment = forms.CharField(required=False)
paid = forms.CharField(required=False)
class Meta:
model = FoodOrder
fields = ['sheet', 'user', 'article', 'size', 'comment', 'price', 'paid']
widgets = {'sheet': HiddenInput(), 'user': HiddenInput()}
widgets = {'paid': HiddenInput(), 'sheet': HiddenInput(), 'user': HiddenInput()}
class FoodOrderFormExt(ModelForm):
comment = forms.CharField(required=False)
class Meta:
model = FoodOrder
fields = ['sheet', 'user', 'article', 'size', 'comment', 'price', 'paid']
widgets = {'sheet': HiddenInput(), 'paid': HiddenInput()}
class PizzaServiceForm(ModelForm):
class Meta:
model = PizzaService
fields = ['name', 'phone']
# LDAP
class LdapUser(ldapdb.models.Model):
base_dn = "ou=user,dc=warpzone,dc=ms"
object_classes = ['posixAccount', 'shadowAccount', 'uidObject', 'account']
uid = CharField(db_column='uid', unique=True, primary_key=True)
email = CharField(db_column='description', max_length=200)
password = CharField(db_column='Password')
def __str__(self):
return self.uid
def __unicode__(self):
return self.uid
class LdapGroup(ldapdb.models.Model):
base_dn = "ou=groups,dc=nodomain,dc=org"
object_classes = ['posixGroup']
gid = IntegerField(db_column='gidNumber', unique=True)
name = CharField(db_column='cn', max_length=200, primary_key=True)
members = ListField(db_column='memberUid')
def __str__(self):
return self.name
def __unicode__(self):
return self.name
......@@ -5,19 +5,21 @@
{% load bootstrap %}
{% block content %}
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" method="POST" role="form">
{{ create_food_sheet|bootstrap_horizontal }}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
{% csrf_token %}
<button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Create Food Sheet" %}</button>
</div>
{% if user.is_authenticated %}
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal" method="POST" role="form">
{{ create_food_sheet|bootstrap_horizontal }}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
{% csrf_token %}
<button style="float: left" type="submit" formmethod="post" class="btn btn-primary">{% trans "Create Food Sheet" %}</button>
</div>
</div>
</form>
</div>
</form>
</div>
</div>
{% endif %}
<table class="table table-striped table-hover">
<thead>
<tr><th>{% trans "Estimated Order Time" %}</th><th>{% trans "Pizza Service" %}</th></tr>
......
{% extends "base.html" %}
{% load i18n %}
{% load bootstrap %}
{% load bootstrap %}
{% block content %}
......@@ -13,14 +12,16 @@
<h4>{{ sheet.pizza_service.name }}</h4>
<small>{{ sheet.pizza_service.phone }}</small><br/><br/>
<small>{{ sheet.estimated_order_time }}</small><br/><br/>
<a href="" class="btn btn-primary">Edit Sheet</a>
{% if not sheet.closed %}
<a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-danger">Close Sheet</a>
{% else %}
<a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-success">Open Sheet</a>
{% endif %}
{% if sheet.closed %}
<a href="/pizza/export_sheet/{{ sheet.id }}" class="btn btn-info">Print order</a>
{% if user.is_authenticated %}
<a href="" class="btn btn-primary">Edit Sheet</a>
{% if not sheet.closed %}
<a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-danger">Close Sheet</a>
{% else %}
<a href="/pizza/toggle_sheet/{{ sheet.id }}" class="btn btn-success">Open Sheet</a>
{% endif %}
{% if sheet.closed %}
<a href="/pizza/export_sheet/{{ sheet.id }}" class="btn btn-info">Print order</a>
{% endif %}
{% endif %}
</div>
<div class="col-md-4">
......@@ -33,8 +34,11 @@
{% if not sheet.closed %}
<div class="panel panel-default">
<div class="panel-body">
{% if error %}
<div class="alert alert-danger"> {{ error }}</div>
{% endif %}
<form class="form-horizontal" method="POST" role="form">
{{ create_food_order|bootstrap_horizontal }}
{{ create_food_order|bootstrap_horizontal }}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
{% csrf_token %}
......@@ -59,17 +63,28 @@
<tbody>
{% for order in orders %}
<tr>
<td>{{ order.user_name }}</td>
<td>{{ order.user }}</td>
<td>{{ order.article }}</td>
<td>{{ order.size }}</td>
<td>{{ order.price }} &euro;</td>
<td>{{ order.comment }}</td>
<td>
{% if order.paid %}
<a class="btn btn-xs btn-success" href="/pizza/toggle_paid/{{ order.id }}">{{ order.paid }}</a></td></tr>
{% if user.is_authenticated %}
{% if order.paid %}
<a class="btn btn-xs btn-success" href="/pizza/toggle_paid/{{ order.id }}">{{ order.paid }}</a>
{% else %}
<a class="btn btn-xs btn-danger" href="/pizza/toggle_paid/{{ order.id }}">{{ order.paid }}</a>
{% endif %}
{% else %}
<a class="btn btn-xs btn-danger" href="/pizza/toggle_paid/{{ order.id }}">{{ order.paid }}</a></td></tr>
{% if order.paid %}
<span class="btn btn-xs btn-success">{{ order.paid }}</span>
{% else %}
<span class="btn btn-xs btn-danger">{{ order.paid }}</span>
{% endif %}
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
......
from django.test import TestCase
# Create your tests here.
from django.conf.urls import url
from warpfood.views import *
urlpatterns = [
url(r'^pizza/$', index, name='warp_foot'),
url(r'^pizza/view/(?P<sheet_id>\w+)/$', view, name='warp_foot_view'),
url(r'^pizza/toggle_sheet/(?P<sheet_id>\w+)/$', toggle_closed, name='warp_foot_toggle_closed'),
url(r'^pizza/toggle_paid/(?P<order_id>\w+)/$', toggle_paid, name='warp_foot_toggle_paid'),
url(r'^pizza/export_sheet/(?P<sheet_id>\w+)/$', export_sheet, name='warp_foot_export_sheet'),
]
pages = {'pages': [
{"link":"pizza", "name": "PizzaSheet"},
{"link":"about", "name": "About"},
{"link":"logout", "name": "Logout"},
{"link":"admin", "name": "Admin"}
]}
......@@ -2,12 +2,12 @@ from django.shortcuts import render
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, HttpResponseNotFound
from django.shortcuts import redirect
from django.contrib.auth.decorators import login_required
from warpauthWeb.util import *
from warpauthWeb.models import *
from warpfood.util import *
from warpfood.models import *
from reportlab.pdfgen import canvas
from django.http import HttpResponse
from reportlab.platypus import SimpleDocTemplate
from reportlab.platypus.tables import Table, TableStyle,colors
from reportlab.platypus.tables import Table, TableStyle, colors
def index(request):
if request.method == 'POST':
......@@ -19,15 +19,13 @@ def index(request):
pages['food_sheets'] = FoodSheet.objects.all()
pages['pizza_services'] = PizzaService.objects.all()
pages['create_food_sheet'] = FoodSheetForm()
return HttpResponse(render(request, 'warp_food/main.html', pages))
return HttpResponse(render(request, 'warpfood/main.html', pages))
def view(request, sheet_id=0):
if request.method == 'POST':
form = FoodOrderForm(request.POST)
if form.is_valid():
print(form.data)
form.save()
else:
pages['error'] = form.errors
print(pages['error'])
......@@ -40,9 +38,12 @@ def view(request, sheet_id=0):
for order in pages['orders']:
sum += order.price
pages['order_sum'] = sum
pages['create_food_order'] = FoodOrderForm(initial={'sheet': sheet_id, 'user': request.user.id})
if request.user.is_authenticated():
pages['create_food_order'] = FoodOrderForm(initial={'sheet': sheet_id, 'user': request.user, 'paid': True})
else:
pages['create_food_order'] = FoodOrderFormExt(initial={'sheet': sheet_id, 'paid': True})
return HttpResponse(render(request, 'warp_food/view.html', pages))
return HttpResponse(render(request, 'warpfood/view.html', pages))
@login_required(login_url='/login/', redirect_field_name=None)
def toggle_closed(request, sheet_id=0):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment