Bugs und Registrierungssachen fertig, CSV-Downlad fertig

This commit is contained in:
holger.trampe 2020-10-23 10:56:12 +02:00
parent 9ad984beef
commit b03d8a8e72
10 changed files with 71 additions and 10 deletions

View File

@ -37,6 +37,8 @@
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.bundle.min.js"></script>
</tbody>
</table>
<hr>
<a href="{% url 'getorders' %}" target="_blank">Bestellungen der Notfallhilfe als CSV herunterladen</a>
</div>
<script>
new Chart(document.getElementById("all_stats"),{

View File

@ -14,5 +14,5 @@ urlpatterns = [
path('agsingle/<int:agpk>', AdmAgencySingle.as_view(), name="adm-agency-single"),
path('usersingle/<int:uspk>', AdmUserSingle.as_view(), name="adm-user-single"),
path('cron/<slug:code>', statisticCronJob, name="adm-cron"),
path('getorders/', getCSVRDOrders, name="getorders")
]

View File

@ -6,9 +6,10 @@ from django.http import HttpResponseRedirect,HttpResponse, JsonResponse
from .models import MainStatistic
from django.contrib.auth.models import User
from chat.models import ChatMessage
from users.models import Agency, AgencyBills
from users.models import Agency, AgencyBills, RegNotfallhilfe
from standards.models import Standards
import csv
from datetime import date
'''
Prüfung, ob angemeldeter User Mitarbeiterstatus hat. IMMER PER DISPATCH EINBAUEN!
'''
@ -18,6 +19,37 @@ def checkForStuffUser(request):
else:
return False
'''
CSV mit Bestellungen herunterladen
'''
def getCSVRDOrders(request):
if(request.method == "GET"):
response = HttpResponse(content_type='text/csv')
today = date.today()
response['Content-Disposition'] = 'attachment; charset=UTF-8; filename="DA-Export_NF_Bestellungen_' + str(today.day) + '_'+ str(today.month)+'_'+ str(today.year)+'.csv"'
writer = csv.writer(response)
writer.writerow(['Datum', 'E-Mail', 'Name', 'Personalnummer', 'mitgliedsnummer', 'PLZ', 'Stadt', 'Strasse', 'Rabatt'])
orders = RegNotfallhilfe.objects.filter(wassend=False)
for order in orders:
rabatt = "NEIN"
if order.rabatt:
rabatt = "JA"
writer.writerow([str(order.orderdate),str(order.mail),str(order.name),str(order.persnumber),str(order.mitgliedsnummer),str(order.plz), str(order.stadt),str(order.street), rabatt ])
order.wassend = True
order.save()
return response
else:
pass
'''
Hauptansicht Statisik

View File

@ -794,7 +794,7 @@ $('.droppable_div').on('dragleave', function (e) {
});
//allowedtypes = "application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf, image/*, image/x-png, image/gif, image/jpg, image/jpeg, image/JPEG, image/JPG, docx, JPEG, JPG, doc, odt, ODT, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
allowedtypes = ['doc','docx','odt','ods','xls','xlsx','xlsm','ppt','pptx','mov','avi','svg','png','jpg','jpeg','mp3', 'wav', 'zip', 'rar', 'mp4', 'mwv', 'flv', 'eps', 'txt', 'pdf']
allowedtypes = ['doc','docx','odt','ods','xls','xlsx','xlsm','ppt','pptx','mov','avi','svg','png','jpg','jpeg','mp3', 'wav', 'zip', 'rar', 'mp4', 'mwv', 'flv', 'eps', 'txt', 'pdf', "pages", "numbers"]
function getFileExtension1(filename) {

View File

@ -251,7 +251,7 @@ def adddirbyajax(request, parent):
# VALIDATE FILE-TYPE
file_ext_arr = request.FILES['uploadedfile'].name.split(".")
file_ext = file_ext_arr[len(file_ext_arr)-1]
allowed_types = ["txt", "TXT", "png", "PNG", "jpeg", "JPEG", "jpg", "JPG", "PDF", "pdf", "csv", "CSV", "DOC", "doc", "DOCX", "docx", "ODT", "odt", "PPT", "ppt", "PPTX", "pptx", "XLS", "xls", "XLSX", "xlsx", "mov", "MOV", "SVG", "svg", "ZIP", "zip", "RAR", "rar", "EPS", "eps", "MP3", "mp3", "WAV", "wav", "avi", "AVI", "FLV", "flv", "MP4", "mp4"]
allowed_types = ["txt", "TXT", "png", "PNG", "jpeg", "JPEG", "jpg", "JPG", "PDF", "pdf", "csv", "CSV", "DOC", "doc", "DOCX", "docx", "ODT", "odt", "PPT", "ppt", "PPTX", "pptx", "XLS", "xls", "XLSX", "xlsx", "mov", "MOV", "SVG", "svg", "ZIP", "zip", "RAR", "rar", "EPS", "eps", "MP3", "mp3", "WAV", "wav", "avi", "AVI", "FLV", "flv", "MP4", "mp4", "PAGES", "pages", "NUMBERS", "numbers"]
file_ok = False
for t in allowed_types:

View File

@ -507,6 +507,9 @@ class RegNotfallhilfe(models.Model):
street = models.CharField(max_length=500, blank=True)
data_to_vh = models.BooleanField(default=True)
rabatt = models.BooleanField(default=False)
wassend = models.BooleanField(default=False)
orderdate = models.DateField(default=timezone.now, null=True)
# SUBCLASS

View File

@ -275,7 +275,7 @@
<a style="color: #999; text-decoration: none;" href="{% url 'impressumda' %}">Impressum</a>
<br />
<br />
Version 0.9.3
Version 0.9.9
<br />
<br />
<a href="https://www.myvve.de/" target="_blank"><img src="{% static 'users/img/VVE-Logo.png' %}" width="27%" class="mb-2"></a>

View File

@ -46,9 +46,21 @@
</div>
</div>
</fieldset>
<p>
<hr>
<h5>Hinweis</h5>
Der Verkauf und Versand der Notfallhilfe erfolgt ausschließlich im Namen vom VVE. <a href="https://www.myvve.de/Kontakt/Adressen" target="_blank">Bei Fragen oder Problemen melden Sie sich bitte unter folgendem Link.</a>
<hr>
Zahlungsweise: Vorkasse. Nach Zahlungseingang wird der Ordner verschickt.<br />
<h5>Bankverbindung VVE</h5>
<p>DE59 2003 0000 0007 5605 01<br />
Unicredit Bank (HypoVereinsbank) <br />
Verwendungszweck: Ihr Name, Personal-Nr., Ordner Notfallhilfe
</p>
</p>
<hr>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-lg" style="float: right">Registrieren & Bestellen</button>
<button type="submit" class="btn btn-primary btn-lg" style="float: right">Registrieren & Kostenpflichtig für 25 € bestellen</button>
</div>
</form>
</div>

View File

@ -44,9 +44,21 @@
</div>
</div>
</fieldset>
<p>
<hr>
<h5>Hinweis</h5>
Der Verkauf und Versand der Notfallhilfe erfolgt ausschließlich im Namen vom VVE. <a href="https://www.myvve.de/Kontakt/Adressen" target="_blank">Bei Fragen oder Problemen melden Sie sich bitte unter folgendem Link.</a>
<hr>
Zahlungsweise: Vorkasse. Nach Zahlungseingang wird der Ordner verschickt.<br />
<h5>Bankverbindung VVE</h5>
<p>DE59 2003 0000 0007 5605 01<br />
Unicredit Bank (HypoVereinsbank) <br />
Verwendungszweck: Ihr Name, Personal-Nr., Ordner Notfallhilfe
</p>
</p>
<hr>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-lg" style="float: right">Notfallhilfe kostenpflichtig bestellen</button>
<button type="submit" class="btn btn-primary btn-lg" style="float: right">Notfallhilfe kostenpflichtig für 25 € bestellen</button>
</div>
</form>
</div>

View File

@ -211,7 +211,7 @@ class NewAgencyFormRD(forms.Form):
self.fields['plz'] = forms.CharField(required=True, label="PLZ")
self.fields['stadt'] = forms.CharField(required=True, label="Stadt")
self.fields['street'] = forms.CharField(required=True, label="Straße und Hausnummer")
self.fields['vve'] = forms.CharField(required=True, label="VVE-Mitgliedsnummer")
self.fields['vve'] = forms.CharField(required=True, label="VVE-Mitgliedsnummer - Ihre Mitgliedsnummer entnehmen Sie bitte der Teilnahmebestätigung zur VVE-Jahrestagung.")
self.fields['agb'] = forms.BooleanField(required=True, label="AGB's")
self.fields['av'] = forms.BooleanField(required=True, label="Auftragsverarbeitung")
self.fields['data_to_vh'] = forms.BooleanField(required=True, label="Hiermit erkläre ich mich der Übertragung meiner Daten von der vh Solutions UG an den VVE einverstanden.")
@ -230,7 +230,7 @@ class FormRD(forms.Form):
self.fields['name'] = forms.CharField(required=True, label="Vor- und Nachname")
self.fields['persnumber'] = forms.CharField(required=True, label="Personalnummer")
self.fields['mitgliedsnummer'] = forms.CharField(required=True, label="VVE-Mitgliedsnummer")
self.fields['mitgliedsnummer'] = forms.CharField(required=True, label="VVE-Mitgliedsnummer - Ihre Mitgliedsnummer entnehmen Sie bitte der Teilnahmebestätigung zur VVE-Jahrestagung.")
self.fields['plz'] = forms.CharField(required=True, label="PLZ")
self.fields['stadt'] = forms.CharField(required=True, label="Stadt")
self.fields['street'] = forms.CharField(required=True, label="Straße und Hausnummer")