diff --git a/regsys/admin.py b/regsys/admin.py index d8fe27c..d1b22d8 100644 --- a/regsys/admin.py +++ b/regsys/admin.py @@ -1,8 +1,13 @@ from django.contrib import admin -from .models import DetailRegistration +from .models import DetailRegistration, Payment @admin.register(DetailRegistration) class DetailRegistrationAdmin(admin.ModelAdmin): pass + + +@admin.register(Payment) +class PaymentAdmin(admin.ModelAdmin): + pass diff --git a/regsys/models.py b/regsys/models.py index 4da8121..b5c10b7 100644 --- a/regsys/models.py +++ b/regsys/models.py @@ -17,10 +17,10 @@ def maxLen(self): class RegStatus: - WAITING_PAYMENT = 'Ceka na zaplaceni' - PAID = 'Zaplaceno' - EXPIRED = 'Platba vyprsela' - CANCELLED = 'Zruseno' + WAITING_PAYMENT = 'WAITING_PAYMENT' + PAID = 'PAID' + EXPIRED = 'EXPIRED' + CANCELLED = 'CANCELLED' choices = ( (WAITING_PAYMENT, 'Ceka na zaplaceni'), @@ -73,7 +73,7 @@ class DetailRegistration(models.Model): fri_night = models.CharField(max_length=10, choices=Sleeping.choices, default=Sleeping.BED) sat_night = models.CharField(max_length=10, choices=Sleeping.choices, default=Sleeping.BED) - status = models.CharField(max_length=10, choices=RegStatus.choices, default=RegStatus.WAITING_PAYMENT) + status = models.CharField(max_length=30, choices=RegStatus.choices, default=RegStatus.WAITING_PAYMENT) internal_message = models.TextField(default='Nothing specific') price = models.IntegerField(default=200) @@ -81,6 +81,9 @@ class DetailRegistration(models.Model): var_symbol = models.IntegerField(primary_key=True) reg_type = models.CharField(max_length=10, choices=RegType.choices, default=RegType.ATTANDEE) + def __str__(self): + return "DetailRegistration, {} {}, status {}".format(self.first_name, self.last_name, self.status) + class Payment(models.Model): pay_date = models.DateField(auto_now=False, editable=False) diff --git a/regsys/templates/regsys/table_of_users.html b/regsys/templates/regsys/table_of_users.html new file mode 100644 index 0000000..d3c2561 --- /dev/null +++ b/regsys/templates/regsys/table_of_users.html @@ -0,0 +1,112 @@ +{% extends 'materialize/materialize_base_dev.html' %} +{% load static %} + + +{% block content %} + +
+
+
+

Všichni přihlášení

+
+
+
+
+
+
+

Viditelné jen pro přihlášené.

+
+
+
+ + +
+
+
+
+ + + + + + + + + + + + + {% for detail in details %} + + + + + + + + {% endfor %} + + + +
StatusRegisterDateNameSpaníIntern message
+ {% if detail.status == 'PAID' %} + done + {% elif detail.status == 'WAITING_PAYMENT' %} + av_timer + {% elif detail.status == 'EXPIRED' %} + error + {% elif detail.status == 'CANCELLED' %} + clear + {% endif %} + {{ detail.date_created }}{{ detail.first_name }} {{ detail.last_name }}{{ detail.fri_night }}, {{ detail.sat_night }}{{ detail.internal_message }}
+
+
+
+
+ + + + + +{% endblock %} + + +{% block extra_javascripts %} + + +{% endblock %} + + diff --git a/regsys/views.py b/regsys/views.py index 6ecaa39..5d1c2a2 100644 --- a/regsys/views.py +++ b/regsys/views.py @@ -1,9 +1,14 @@ from django.shortcuts import render +from django.http import HttpResponse + from datetime import timedelta + + from .models import DetailRegistration, Sleeping from .forms import RegistrationForm -import .payment as p + +# from .payment import * def reg_test(request): # if this is a POST request we need to process the form data @@ -28,9 +33,17 @@ def reg_test(request): form = RegistrationForm() return render(request, 'regsys/registrationForm.html', {'form': form, 'regtype': Sleeping.choices}) -def pair_payments(request): - # TODO parametrize by time period (eg last day) - statement_json = p.download_statement_json() - for pay in p.json_to_payments(statement_json): - p.process_payment(pay) +# def pair_payments(request): +# # TODO parametrize by time period (eg last day) +# statement_json = p.download_statement_json() +# for pay in p.json_to_payments(statement_json): +# p.process_payment(pay) + + +def regsys_admin(request): + if request.user.is_authenticated: + objects = DetailRegistration.objects.all() + return render(request, 'regsys/table_of_users.html', {'details': objects}) + else: + return HttpResponse('No access buddy.') diff --git a/urls.py b/urls.py index ddf8fe2..4eb6b02 100644 --- a/urls.py +++ b/urls.py @@ -8,4 +8,5 @@ path('', views.reg_test), path('admin/', admin.site.urls), path('test/', views.reg_test), + path('regsys', views.regsys_admin) ]