From 64affeb80a273746f61cf455a136b978ccc1b392 Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Sun, 17 Jan 2021 19:36:59 +0100 Subject: [PATCH] Bug Supportformuler --- dasettings/views.py | 3 +- .../__pycache__/settings.cpython-38.pyc | Bin 4787 -> 4787 bytes digitaleagentur/settings.py | 3 +- dump.rdb | Bin 18079 -> 3853 bytes .../__pycache__/counter_tag.cpython-38.pyc | Bin 22271 -> 22291 bytes standards/templatetags/counter_tag.py | 2 +- standards/views.py | 1 + .../timemanagement_singleview.html | 4 +- .../timemanagement_teamview_single.html | 4 +- users/models.py | 4 +- .../templates/users/password_reset_mail.html | 2 +- users/templates/users/register_mail.html | 2 +- users/views.py | 44 ++++++++++-------- 13 files changed, 38 insertions(+), 31 deletions(-) diff --git a/dasettings/views.py b/dasettings/views.py index 62f67bb..10c414a 100644 --- a/dasettings/views.py +++ b/dasettings/views.py @@ -1818,13 +1818,12 @@ class BillPlanUpdate(UpdateView): self.object.save() mail_to_send = "" - if(self.request.user.profile.agency.payment_address == ""): + if(self.request.user.profile.agency.payment_address == None): mail_to_send = self.request.user.profile.agency.agency_email else: mail_to_send = self.request.user.profile.agency.payment_address msg_html = render_to_string('users/newbill_mail.html', {}) - # BCC Mail with Object - NICHT DEN IMPORT VERGESSEN!!! email = EmailMultiAlternatives( 'Digitale Agentur | Rechnung ' + str(response_text["voucherNumber"]), diff --git a/digitaleagentur/__pycache__/settings.cpython-38.pyc b/digitaleagentur/__pycache__/settings.cpython-38.pyc index bdd16252fa4412ad6e7160076db51403bba04eb4..e4934a87a0f0dd818e28e211d5dc486f2b2fe124 100644 GIT binary patch delta 28 icmdn2x>=Psl$V!_0SMxQSrUvk@~#zRWShKO@CN{0A_rLj delta 28 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 delta 2639 zcmZ{mdvMg%7035vH=E6F);!2&L$Z%#n+^Q(fJ8`;BqUHESW<{c5P^}fW>;9dY{K0Q zqC;g+tRj>Kj@Fh(AW)|S5uvM8>VvlxMG`v0!=-<;I@O_rQ%A;j+D=FB_x>V@RW`|I z@9&=PIrrXk@43J5A^PfNvM;dPtp@pd|G)ogpLWFV&ZIqDp6N3F>amA;cIMKtL95fy zM`T!NShbT3_zBv6N{i&v{f4Ls?X@)Dpk;6}b6-}sNk%Fha zhs>0bVoDLqcxv{-v}9_mD-w?L&g>sk2Vc)#O+j9k^BJw=xuXUs%%0qQ`@=GV_zA+8 zM1-g3K1i$h8OK8YUv9B03|l2^sUjl3l9s^oP_*OGa8Pt|onsDlOX>Y2_^*xv_Bb-K zAQCa46Ns}juYsR-EK-uvg8w&5&0kulb6RvX9>^GgLu8OB1a8qjl~1eU_b=b zkjI@rOj&E->KQKf<{zMSOqFi_H2)$!!Gk_GA1|n6V?i%%9(o$*dJ?nn0Z#$XNN7f} z5$$I=y>JR`ks)%q)s@b{!Uo#FeT5B{r=c>5jr_O51+;ZY&_wI`7p~EzJ@CB)(10?a zUP3yoM|(W5kuSJr5p$KNi+|>BH9v>W=lPnujke3qRerrg_Abr{tqFB>$2&!PdpO!G zNcOdfUqb%^ANj#3{?Jp*<2|B$*ds@TxeR2;#}&RNm&%MX|3+&1je08fL$6}-c3%x0lz}$7dcO%Gev8&V3C%7X zXz#}qy!~h%0FYauLMtbP7B9)EHS>Tkn_FCVc9g_(Z!M>v1axi9vM8n%dF8_2D#Zy_?OwKp8!>%|{xaXQ6w%a%+! z28TaL$Z39i-r^1Pri$rMybT-&P5>v>xxHCdL8rN>e2t2trRf{_y(3Deq%jYm}i>RNMR8FBj{&i&yT~N2djmmn< zdoq9=F>713+gyrZ@2g;;aV0d6cy`<|vLMHDQG?u4RaiC%$rxa~giLBQ*xtT84*Rz( zqL+KB9QUD9PW6_9IwDd$+;I_Z-;w> z@VtpWnWy-~8T17on>fq-8Nz?AGBUcRgl;ApYs!cQIb2&|Owu^sUR&n<5}JQXES9%T zAl4a`w@j>kMQ0=&3_L2+_HpeT+ApWvn4=bfs+0*w`eXsGpY*X@N$4&=^(QvnbsyPq zj;?D4)MB0aHPAo;#2PHJCem>MN`XPbo?L=2y6VWj~ zTwh?rxfB*zIN}Uns`pX?>r7Z0F40W2E2^%Hus1*{U$X{*>3u5y)JLSC3$F}~1WHt- z$__1W_;wmazvtRUt?71WS)?HXR-#WN8;@%Kc0EHjbnNHe#<8}MtGL*>iEP+NaRs={ z%cm|itBY_p7J;kyqp5=hJuq5<;TMp8b0*GDJD=jb43iu|57Tef3(v$|W1alYj5lo~ z?ELeY=SDs!0?lVkbd^h6YUv6;&{AuLIO*Z?7FXi6mR&|yR6aMiUH8bZ>*}IZSA;%k zj<#wJb=})A`ta;}`C#h=d0hU|dex>jb1LjnbpkKn^APE+d**Ez4Qnz({~x0x5a|{X zF|6Ho?*_LLWQ`QG2O_sbefR#GLcC-C-gQeb!ZM%(2m&jCRX{he8h8X)3#fB@@jHKA^7w4{E#1 diff --git a/standards/templatetags/counter_tag.py b/standards/templatetags/counter_tag.py index d977cf6..49f9f35 100644 --- a/standards/templatetags/counter_tag.py +++ b/standards/templatetags/counter_tag.py @@ -138,7 +138,7 @@ def getLocalWeather(user): weatherinfo = r.json() weatherinfodata.append("| " + weatherinfo['weather'][0]['description']) weatherinfodata.append(weatherinfo['weather'][0]['icon']) - weatherinfodata.append(str(weatherinfo['main']['temp']) + " °C") + weatherinfodata.append(str(weatherinfo['main']['temp']).split(".")[0] + " °C") except: weatherinfodata = "" else: diff --git a/standards/views.py b/standards/views.py index 1c1e8bd..1f317d0 100644 --- a/standards/views.py +++ b/standards/views.py @@ -769,6 +769,7 @@ def CopyStandard(request, pk): tempdatafile = DataFile(file=f.file, name=f.name, owner=request.user, parent=datadir_parentid, agency=request.user.profile.agency) tempdatafile.save() new_standard.addedfiles.add(tempdatafile) + # TASK: Hier das kopieren der Dateien auf dem Server noch einfügen # Sende Info, dass ein Standard übernommen wurde, an die Erstelleragentur usersofagency = User.objects.filter(profile__agency=sc.agency) diff --git a/timemanagement/templates/timemanagement/timemanagement_singleview.html b/timemanagement/templates/timemanagement/timemanagement_singleview.html index b785bf8..25173d6 100644 --- a/timemanagement/templates/timemanagement/timemanagement_singleview.html +++ b/timemanagement/templates/timemanagement/timemanagement_singleview.html @@ -13,9 +13,9 @@ Start Ende - Arbeitszeit - Pausen Gesamtzeit + Pausen + Arbeitszeit Gleitzeit   diff --git a/timemanagement/templates/timemanagement/timemanagement_teamview_single.html b/timemanagement/templates/timemanagement/timemanagement_teamview_single.html index 3e3215a..bff0374 100644 --- a/timemanagement/templates/timemanagement/timemanagement_teamview_single.html +++ b/timemanagement/templates/timemanagement/timemanagement_teamview_single.html @@ -19,9 +19,9 @@ Start Ende - Arbeitszeit - Pausen Gesamtzeit + Pausen + Arbeitszeit Gleitzeit Manuell geändert   diff --git a/users/models.py b/users/models.py index e273f2d..c9898b6 100644 --- a/users/models.py +++ b/users/models.py @@ -318,7 +318,7 @@ class UserTime(models.Model): wd_fr = models.FloatField(default=0.0) wd_sa = models.FloatField(default=0.0) wd_so = models.FloatField(default=0.0) - loose_holidedate = models.CharField(default="30.04.", max_length=6) + loose_holidedate = models.CharField(default="31.03.", max_length=6) startdate = models.DateField(default=None, blank=True, null=True) startcount = models.FloatField(default=0.0) usetime = models.BooleanField(default=False) @@ -465,7 +465,7 @@ class UserYearAbsenceInfo(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) year = models.IntegerField() days_inuse = models.FloatField(default=0.0) - days = models.FloatField(default=24.0) + days = models.FloatField(default=0.0) restdays = models.FloatField(default=0.0) diff --git a/users/templates/users/password_reset_mail.html b/users/templates/users/password_reset_mail.html index 2e4fa86..33bd321 100644 --- a/users/templates/users/password_reset_mail.html +++ b/users/templates/users/password_reset_mail.html @@ -116,7 +116,7 @@
-

Digitale Agentur | Passwort vergessen

+

Digitale Agentur | Neues Passwort

diff --git a/users/templates/users/register_mail.html b/users/templates/users/register_mail.html index 415d970..19d675e 100644 --- a/users/templates/users/register_mail.html +++ b/users/templates/users/register_mail.html @@ -125,7 +125,7 @@

Hallo {{username}},

Ihre Agentur wurde erstellt. Sie können sich nun mit Ihrer E-Mailadresse hier anmelden und Ihre Agentur gestalten:

https://app.digitale-agentur.com

-
Weitere Informationen erhalten Sie in unserem Wiki https://digitale-agentur.com/ oder per E-Mail an support@digitale-agentur.com!

+
Weitere Informationen erhalten Sie in unserem Wiki https://digitale-agentur.com/ oder per E-Mail an support@digitale-agentur.com!

Mit freundlichen Grüßen

Ihr Team von Digitale Agentur

diff --git a/users/views.py b/users/views.py index ee70588..817e513 100644 --- a/users/views.py +++ b/users/views.py @@ -65,6 +65,7 @@ import io as BytesIO import base64 from django.http import HttpResponse + def getICSFile(request, ag): if 'HTTP_AUTHORIZATION' in request.META: auth = request.META['HTTP_AUTHORIZATION'].split() @@ -1277,12 +1278,11 @@ def support(request): messages.warning(request, f'Supportanfrage fehlgeschlagen!' + str(r)) else: messages.success(request, f'Supportanfrage erfolgreich! Ihre Ticketnummer ist '+ str(r.json()) +'!') - # TASK: Hier Browserversion usw. mit einfügen beim TICKET! send_mail( - "Digitale Agentur: " + str(problemconc), - "Hallo " + name, ", wir haben Ihre Anfrage unter der Ticketnummer " + str(r.json()) + " aufgenommen. Vielen Dank. Ihr Team der Digitalen Agentur", - 'noreply@digitale-agentur.com', - [mail], + "Digitale Agentur: " + str(problemconc), + "Hallo " + name, ", wir haben Ihre Anfrage unter der Ticketnummer " + str(r.json()) + " aufgenommen. Vielen Dank. Ihr Team der Digitalen Agentur", + 'noreply@digitale-agentur.com', + [mail], fail_silently=True ) @@ -1613,24 +1613,28 @@ def recalculateAbsence(request, code): try: abinfo_lastyear = UserYearAbsenceInfo.objects.get(user=user, year=str(int(year)-1)) abinfo_thisyear = UserYearAbsenceInfo.objects.get(user=user, year=year) - - abinfo_thisyear.restdays = abinfo_lastyear.days - abinfo_lastyear.days_inuse - abinfo_thisyear.save() + + if(abinfo_lastyear.days_inuse > 0.0): - calcstat += " DAYS UPDATED - NEW RESTDAYS: " + str(abinfo_thisyear.restdays) + abinfo_thisyear.restdays = abinfo_lastyear.days - abinfo_lastyear.days_inuse + abinfo_thisyear.save() - for ab in Absence.objects.filter(user=user, start__year=year): - if(ab.reason.is_holiday): - calculateNewAbsenceDate(ab) + calcstat += " DAYS UPDATED - NEW RESTDAYS: " + str(abinfo_thisyear.restdays) - daysinuse_thisyear = 0.0 - for ab in Absence.objects.filter(user=user, start__year=year): - daysinuse_thisyear += ab.holidays_normal + for ab in Absence.objects.filter(user=user, start__year=year): + if(ab.reason.is_holiday): + calculateNewAbsenceDate(ab) - calcstat += " NEW DAYSINUSE THIS YEAR " + str(daysinuse_thisyear) + daysinuse_thisyear = 0.0 + for ab in Absence.objects.filter(user=user, start__year=year): + daysinuse_thisyear += ab.holidays_normal - abinfo_thisyear.days_inuse = daysinuse_thisyear - abinfo_thisyear.save() + calcstat += " NEW DAYSINUSE THIS YEAR " + str(daysinuse_thisyear) + + abinfo_thisyear.days_inuse = daysinuse_thisyear + abinfo_thisyear.save() + else: + calcstat += " NO DAYS IN 2020 USED " except: calcstat += "ERROR LASTYEAR/THISYEAR USER " + str(user.pk) @@ -1863,11 +1867,13 @@ def cronactionsbill(request, code): newbill.save() mail_to_send = "" - if(agency.payment_address == ""): + if(agency.payment_address == None): mail_to_send = agency.agency_email else: mail_to_send = agency.payment_address + + # BCC Mail with Object - NICHT DEN IMPORT VERGESSEN!!! email = EmailMultiAlternatives( 'Digitale Agentur | Rechnung ' + str(response_text["voucherNumber"]),