From e5f8f8c743a62d53be4c30bd40c3778630678a9b Mon Sep 17 00:00:00 2001 From: "holger.trampe" Date: Wed, 20 Jan 2021 10:29:08 +0100 Subject: [PATCH] Manuelle Rechnung Fehler korrigiert --- adm/templates/adm/adm_user_single.html | 8 ++++---- adm/views.py | 16 +++++++++++++--- .../__pycache__/settings.cpython-38.pyc | Bin 4787 -> 4787 bytes dump.rdb | Bin 5887 -> 8474 bytes .../__pycache__/counter_tag.cpython-38.pyc | Bin 22729 -> 22991 bytes standards/templatetags/counter_tag.py | 15 ++++++++++++++- .../timemanagement/rendered_table.html | 6 ++++-- .../timemanagement/tm_ab_management.html | 2 +- timemanagement/views.py | 1 + 9 files changed, 37 insertions(+), 11 deletions(-) diff --git a/adm/templates/adm/adm_user_single.html b/adm/templates/adm/adm_user_single.html index 692dcb9..59f2ab9 100644 --- a/adm/templates/adm/adm_user_single.html +++ b/adm/templates/adm/adm_user_single.html @@ -129,8 +129,8 @@ Beginn der Zeiterfassung: {{usertimedata.startdate|date:"d.m.Y"}} Art Start Ende - Halbstart - Halbende + Ganz/Vor/Na + Ganz/Vor/Na Erstellt am Status Urlaub N @@ -146,8 +146,8 @@ Beginn der Zeiterfassung: {{usertimedata.startdate|date:"d.m.Y"}} {{ab.reason.name}} {{ab.start|date:"d.m.Y"}} {{ab.end|date:"d.m.Y"}} - {{ab.start_ishalf}} - {{ab.end_ishalf}} + {% if ab.startday_info == "1" %} Vormittags {% elif ab.startday_info == "2" %} Nachmittags {% else %} Ganzer Tag {% endif %} + {% if ab.endday_info == "1" %} Vormittags {% elif ab.endday_info == "2" %} Nachmittags {% else %} Ganzer Tag {% endif %} {{ab.created_date|date:"d.m.Y"}} {% if ab.confirm_status == 0 %} OK {% elif ab.confirm_status == 1 %} Beantragt {% else %} Abgelehnt {% endif %} {{ab.holidays_normal}} diff --git a/adm/views.py b/adm/views.py index e459bae..507dfe8 100644 --- a/adm/views.py +++ b/adm/views.py @@ -250,8 +250,18 @@ class AdmAddBill(CreateView): r = requests.get("https://api.lexoffice.io/v1/invoices/" + response_text["id"], data=json_data, headers=headers) response_text = json.loads(r.text) - newbill = AgencyBills(agency=agency, lexid=newbill_id, billtype="invoice", billnumber=response_text["voucherNumber"], billstatus=response_text["voucherStatus"], start=start_date, end=end_date, plan=plan, usercount=usercount) - newbill.save() + form.instance.agency = agency + form.instance.lexid = newbill_id + form.instance.agency = agency + form.instance.billtype="invoice" + form.instance.billnumber = response_text["voucherNumber"] + form.instance.billstatus = response_text["voucherStatus"] + form.instance.start = start_date + form.instance.end = end_date + form.instance.plan = plan + form.instance.usercount = usercount + #newbill = AgencyBills(agency=agency, lexid=newbill_id, billtype="invoice", billnumber=response_text["voucherNumber"], billstatus=response_text["voucherStatus"], start=start_date, end=end_date, plan=plan, usercount=usercount) + form.save() mail_to_send = "" if(agency.payment_address == None): @@ -260,7 +270,7 @@ class AdmAddBill(CreateView): mail_to_send = agency.payment_address - + # 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 4d628a89cdde71a7932e3c18c5aa3e5f8bac0de1..b5388f276bac2f745556ae0734dc063391289c8c 100644 GIT binary patch delta 20 acmdn2x>=Pwl$V!_0SK;rXWz)ZLI?miY6X7) delta 20 acmdn2x>=Pwl$V!_0SNM5vTo#FAp`(4GzA9$ diff --git a/dump.rdb b/dump.rdb index 7800ded12d048a51608828d7bd51b0302de7a0d2..620c6627e682b03e0629be3bf3dfb305955b6458 100644 GIT binary patch literal 8474 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 bN1*EEeB#P&Kk4oH@A;Q(S$6dFOHcg=b38Y{ literal 5887 zcmeHKX>3$g7@cadv=D3qisI5%5W-gOyZgl`tt>$*iZm#TX1FVkwxx6dYls+=z1Q)SKA zGF!Iu*&#WhXn(oTjjgD(vP_lQ?V;AtAL;2WA1>ngOVUE2J~^^#L1g@b%7rx*wos5RsgK+Lrf0jJVvfFK4& zu>ie$;M=`v2a8g{B+eLSh=q^@*acD$BZQTj;{Z~`SV@LX850>Lol!`{Fg* zgN@}BioB^;q>QPVN#T8W^g82kGP>d`T$ z$RCrSmhD#Sm5uFOvvQ!416a4ihP6#G;6dj)8w zC3nIID#SIjUfpnpc8-7($N&U@!bSk$RR-2;r4aay5#%$C0<48H6j1MRCTT#Z_b6l* zS*+#W-)0=T@2}^c6w?Wyyhh3yg&1q6XzaLv@YaF>0j?44|1ecd86YNr^pFB$FJBrY zV?KcX;j)O(4=$YDoGK<|Rxm&;H-KZxls7(g)=?Yy<>%LT=4I(AV*=`e03uDPBc3Qw z00Th);f^^09eZo({-#uUIwq0uJB5hD#%h?d#!i3_7gumgVKPG#p-as58rx z-Y3}(sy{LFyV(A1D*UA=lAAWK@he7ODcCk#HzuN#+a0IXZJcsr1*0cYx$(`|!*)oI zuZN>Ui?h#KOL?{Zx~?UEP5-~F!@M^KoUsm%4lB-RpFmzwi07wgpS6XXkF~X#x&~g- z^!vVH8=fv*F)fk$?!^D62ck!|)0vv}`IPU$Y7(Aw}nbv*t_8XfwPanQ|-lIh?B~pJ*{E@vxoi4R?b3--noqGR7 z}{{r^%|Xyz>WKC@C(P;p$&|ZB zznF;9d7pLvI@lT9x0KE;4mBTKKU)nSm1v6R#AltsT{-f8ckI)ql10yK4)+?Jj^K{_ z?BvSARndE|cw%H^;f_R<&ikx;pLG_11yw&h^7x$khL+twZb>x7bKX6Z?&ueCp#r0j{x(Hvj+t diff --git a/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc b/standards/templatetags/__pycache__/counter_tag.cpython-38.pyc index bce2a8bb6785b6fbd20b05af59c0a0a2f6d20da6..fc5ad0420df9d657918e4ee59b4d2449e2c8d3ff 100644 GIT binary patch delta 1482 zcmYjRT}&KR6rM9PJNw5h3&?gM3zf$HEQL~9lCl)a^4HxZg#wFW_Mxyc)3VF5TkZ}T z%&w&2!NjC#;(7B4YGc&2X~-r`Y7>ob^~Im4X|g8z)EJFXqdpjY@tj!|ZgRi*?m6E* z=iGB==94}6tOCC0b=@P;`05wu(y!S)-#`San24C5;{C{{;HT+>BgDfX z-lvDq$q)`;@6lH8V_qj2eE7$3e@8uQIjgYqxA1a_mSJ7=u(b)NqUXE~Y;I(D25&_L zgevlg0?>-uXfJ5kKYDxXIC+<8{y)6LoHWO17Vi=mPzIXvt8ZG81z9<(Sn7^rSITN7 z$&hc#+h8ayQdub}S!Y?bT%>T5N4*JUN6C@(?05~wE|j&}uClY_%+{4%gnHR+_4{^I zqMB7-(hRLd+6J3Zz-`!7%AS(5Ar*y)@WtyFthuBw}6 zTGWothpF{A#msJKBQA{{-a0|9s>eug78f)5jiM>sEa)Ss`g4Us(Og_9E$JN5?@ zC*`#Yw107}khfM+?%IM3DW6>m>C%e?xHr}j<}*mL3M$CZ4w~$PI>T>{*$fa-+>f z4`ANeh0Wvrez!umr}8$%1>y`~)DyzZ@m4sEQwu@7J6`Xv-{lzh{bybS^6zY ziAdr*hEbx|JWt-fKIHj*SR4p1qSzfj6+F-7)sa&AuRPfgBEDbXt@sFB#4q9`|Z%KcBh)?N~p(4FSaICt%^~y;bxQF%+{x||Hn z4EB#G#EgF|^hOf&GMr&J%g{%V3h;NZVP$fsgqcfQnU_t&%vouAr${lvFu@RKNH9z? eTw+KwtT3#Cq)Q^lw7{@lnOcYd_4D-?NB;qF5>7?{ delta 1249 zcmZXT&uJEs zYysYpKe$OItPsU^bod_dc#>hz%i;cRKWn)?Itwv*cvcQA1EZX6r6VJKz7|ezW(4Tl z5rnOE@sSG9PI@v1F6vMIC?Y_g2Erd^WKj_o;miFsr3PhDR%_Zd*AGfrUr>tTs#t=e z+O8~$1yOEVR3+UDs!7X-%q!YaY?mD@(a`V^#<8V27AMu&`AWmhmZi$M`G(7pV3-RXbjqmVou!{f{h<~aD?$SS zU7&+szPi9Y^eELvBK2|eYoRDrjWwzpFe>w%bS2dRd+Bw`?D9{~U#!$@JU)tc)vgKk zy;uX>C&jxR;SR&iGtx@hV2pakZnQRYM(2#+w%7->*$jV|z8wnkjPo&xkZ{Z8$i_oJ zD;)v)ChMWU(m9<^4dWEcL;?r-0M)g9YZoq6YnY&NCfu=&UHp!}_RdGN2~4g#-OpsA zadvtvWhes$pD>1HIOAQt{&~XtVi-3xkk-A~9Qn&km{KE7m5uKV%LwaQ!b z0%q4%&}De)HxEZu2-ELJhoF;!$Ce;S-yd6r8TukO183@g=5_*{BAD221i5KWZpQNB z0op$i1B;3i3vid7PQ<~cNBK_bpPV-S;Fit}3OxTd8}>DormItPb5T48lq+l@H6Jwo z-k>Z=Wt!&lA=!EXm87amXBhAP%&M<7oc}9sb$Efg^U7tPC4bVbY HKS}-v{(uU= diff --git a/standards/templatetags/counter_tag.py b/standards/templatetags/counter_tag.py index 290a1ce..7882219 100644 --- a/standards/templatetags/counter_tag.py +++ b/standards/templatetags/counter_tag.py @@ -745,10 +745,23 @@ Gibt das verfügbare Urlaubskontingent eines Mitarbeiters zurück @register.simple_tag def kontingent(user): kon = 0.0 + restdays = 0.0 try: yearinfo = list(UserYearAbsenceInfo.objects.filter(year=date.today().year, user=user))[0] inuse = yearinfo.days_inuse - kon = yearinfo.days - inuse + + usertime = UserTime.objects.get(user=user) + loosedate = usertime.loose_holidedate.split(".") + today = date.today() + today_month = today.month + today_day = today.day + + loosedata_date = datetime.date(today.year, int(loosedate[1]), int(loosedate[0])) + + if today < loosedata_date: + restdays = yearinfo.restdays + + kon = yearinfo.days - inuse + restdays except: pass diff --git a/timemanagement/templates/timemanagement/rendered_table.html b/timemanagement/templates/timemanagement/rendered_table.html index 7a8b87c..337bd8e 100644 --- a/timemanagement/templates/timemanagement/rendered_table.html +++ b/timemanagement/templates/timemanagement/rendered_table.html @@ -472,7 +472,8 @@ function recalculateChoosenDays(userid=false){ $("#holidayyear").html(date_start.getFullYear()); $("#restholidays").html(data["restholiday_thisyear"]); - $("#detail_rest").html(data["restholiday_thisyear"]); + $("#detail_rest").html(data["restholiday_lastyear"]); + $("#detail_rest_2").html(data["restholiday_lastyear"]); $("#detail_resthol").html(data["restholiday_lastyear"]); $("#detail_next").html(data["restholiday_nextyear"]); $("#detail_next_rest").html(data["restholiday_nextyear_rest"]); @@ -554,7 +555,8 @@ function recalculateChoosenDaysAfterInit(){ } $("#restholidays").html(data["restholiday_thisyear"]); - $("#detail_rest").html(data["restholiday_thisyear"]); + $("#detail_rest").html(data["restholiday_lastyear"]); + $("#detail_rest_2").html(data["restholiday_lastyear"]); $("#detail_resthol").html(data["restholiday_lastyear"]); $("#detail_next").html(data["restholiday_nextyear"]); $("#holidayyear").html(new_start[2]); diff --git a/timemanagement/templates/timemanagement/tm_ab_management.html b/timemanagement/templates/timemanagement/tm_ab_management.html index d9f5526..79d2c34 100644 --- a/timemanagement/templates/timemanagement/tm_ab_management.html +++ b/timemanagement/templates/timemanagement/tm_ab_management.html @@ -92,7 +92,7 @@
-  Tage /  verbleibend im Jahr  +  Tage /  verbleibend im Jahr  (0 Rest)
diff --git a/timemanagement/views.py b/timemanagement/views.py index 276d602..47c52c2 100644 --- a/timemanagement/views.py +++ b/timemanagement/views.py @@ -1041,6 +1041,7 @@ def TimeAjax(request): "userown_absences" : userown_absences_string, "choosenuser_name" : user.first_name + " " + user.last_name } + print(data) # REQUEST USER NO RIGHTS else: data = {