From 2d2f3f7694a780c8cbb8a56601e4074189470995 Mon Sep 17 00:00:00 2001 From: emile Date: Sun, 12 May 2024 16:10:18 +0300 Subject: [PATCH] new --- .../__pycache__/models.cpython-310.pyc | Bin 5874 -> 6247 bytes osinaweb/billing/models.py | 7 + .../__pycache__/views.cpython-310.pyc | Bin 8129 -> 8201 bytes .../listing_pages/customer-invoices.html | 18 +- .../listing_pages/customer-projects.html | 48 +---- osinaweb/customercore/views.py | 3 + osinaweb/db.sqlite3 | Bin 1245184 -> 1245184 bytes .../__pycache__/models.cpython-310.pyc | Bin 13187 -> 13218 bytes .../osinacore/migrations/0080_project_logo.py | 18 ++ .../0080_project_logo.cpython-310.pyc | Bin 0 -> 681 bytes osinaweb/osinacore/models.py | 1 + .../osinacore/templates/customer_main.html | 185 +++++++++--------- osinaweb/static/images/fbprofile.jpg | Bin 0 -> 30691 bytes 13 files changed, 148 insertions(+), 132 deletions(-) create mode 100644 osinaweb/osinacore/migrations/0080_project_logo.py create mode 100644 osinaweb/osinacore/migrations/__pycache__/0080_project_logo.cpython-310.pyc create mode 100644 osinaweb/static/images/fbprofile.jpg diff --git a/osinaweb/billing/__pycache__/models.cpython-310.pyc b/osinaweb/billing/__pycache__/models.cpython-310.pyc index a5e583c3cfaee79879e12f16164400fa845e2fda..9aeed20c29fe8c6d8398c9b76dc359e6aea5c76f 100644 GIT binary patch delta 715 zcmZ8e&ubGw6rQ);#LbW0WH+1DAfooRim_fqYAu3V5orv>Uo5n;W;T*F$;R1jv1{6< zBvL%&G}nUQO%POiDtPrj5QN-3c~kK0p>Nty&{@83-pqX8y!U4RT=+So1*)1RIDUP( z-uPyI)&dQDzM(BndpVk-=^+__liwx{pc$GSDvrKQWa1b#Vypazw#WZw)y;G0kBASx z)Fb{Bg%PYnBvXk_4M`7f;uQm61uEAFO`tJZc@Jy}J#`S7Cqu$nAQZ5Wwn&dGCD)+` zK6yxhypSlV5oX|#4dWDbBkxJqZBlzvVpni;e5~uPwY^Tng!_<=i~ZExGq2;l?6P?e zm!XU#^-U6=z0+9@nsu)nMsBncmgibQ-ED>QKkEc`!hMJVKJvU?y3E>$1sz>mMNIJH{-$;@^$gQjFqN zL@55ZLb9OYmjxE1`V_xi=q6YjPx#lu-2`ij=xwnCulXg@nPxt&9p&K7>54bbExMhx z`+?wvrq`l)$*wtbTKG2*VID~#23{|cOcJ#Z%Cd^@V8r)|mkV1cVnTk9mp#XbC#{R6 iJ_c_PM}?-bH7vBxE7qfoXyee(=bx-=iIaw6W%dC?rJv6L delta 325 zcmaEE@JW|1pO=@50SK5*+owGd-pH5F#~3%cj?Y)Dogs}eg)@b#g(Hf;oq>fRN+6g) zlY8=8zMY%J1j`s1lP32HX)+2l_vR*Yqn6Gf~fOMwdWfw&lCHwOa`BOeg*Fcy^pRm)DkC{n<8i^snx zCABCZu`)L`uVk{Ds5iSNV^J(n`D7juNyfU#8$_eHqc~F%OH$(t5;IdK^NYzamQL0Y zGhnR*Dk`6xC??5R3AVgnY!PGIWFv7i@miovQ5A>)sfl7QfSO({t}j^w6lnrtxRbbm h9soM2X7XY2aBh%;!J2^l58UFDZ6wrKMT9uSxB*j!OO^lt diff --git a/osinaweb/billing/models.py b/osinaweb/billing/models.py index 429a669d..3956c37d 100644 --- a/osinaweb/billing/models.py +++ b/osinaweb/billing/models.py @@ -95,6 +95,13 @@ class Invoice(models.Model): pdf = models.FileField(upload_to='generated_invoices', null=True, blank=True) def __str__(self): return self.invoice_number + @property + def status(self): + payments = OrderPayment.objects.filter(order=self.order) + if all(payment.date_paid for payment in payments): + return "Completed" + else: + return "Not Completed" def save(self, *args, **kwargs): if not self.invoice_number: current_year = str(timezone.now().year)[-2:] diff --git a/osinaweb/customercore/__pycache__/views.cpython-310.pyc b/osinaweb/customercore/__pycache__/views.cpython-310.pyc index 5a22e0ffb17b2f4454e40c6febf50708b05476e1..7f324cffce26f4d680379ce26bb6085b85547b0a 100644 GIT binary patch delta 720 zcmYLGOKTHR6!v5$lhDcJ(L5$jGKoJ)e7K(@H^6 zT6WR8_%VHDI%K7cWtbf5EICypKAkm7KZLjkwkebN{YZ(!QvbKj(J z({8XrZaiBmvI*0^>`~zZE_z}xRe$ff1;DV=TZIB{cmq(zAKvK$6>c%Zp@YMHZX=Hl z6ib)Jjod&f&mQpfLww|Ghjm=@orJl%;P2vA-GNT;ZDJD^*3U&wg0t)nP6w9hh&FYP zT;}On4)^ek+UuOBa8qg+FPJT^sX_RS-_;&i!a(o@?5kf0{shcuyJ49GaX5}MS{ppW zH=5z7nkPKwhBZutV(=6*q5V)pBNX?ahsHa$3iOVGIfLgk109C&ODHK_V8D|ApA zA}Jfi)$m^8GU4_eZZe#dnaOeOi$?Lc{{owyOqH90m!!(lUvpV0;&VPtAIlLW#8WIr zyE&QRe71yN9U4yPiY+0rI1wl)Nq9vURq=^#^;F2MXs3Lu#k_$P-|A87ab54)>9Hkp vNM2~Ru!6@TpR_@$U?Ut14pSWFI4of_8kBjTtee9MrlS2I<9zh6AUokNaRK#{uTxe-bwAN;Nlj0*v zsFK>KMCEi*18TGnEk&>d#7z;GBI-gA>>uDpx^kxry(gX4yZCYL`M&er%e|Gp_bE9i z%WZr3vV2Ts#@6LoJLGZRUV}8A4fwHN4%w{2U%S9En9y~clXK2GcmEPN1S{{4qv+Uz ziKg4`both}kf+2JivohsoXs`5or3@dmRuvgOI%}z3B80Pgh||T4T=Vpm$A?7bzR}* zW{bgc>FKdTo?UImUw5nU7U$hzC^g==ZvaeTkEaHc_{F0@5r24Q4wNZkme5VOLow3C zXufb}+DMNU&au1HzK2zB7kt7E?{TO$tiD4Ol~j5>H@Ode@Gjq{qdnrU5(k2p|6XU$X_{VsTr0tw(HG9uc#gKqDBn zF*E;jP?gHN`AN!eHGS6-xUPgT6_R((Iu$x7-QP8@VkPvhH$(RtC*%kvLY1&USRyPF ZRtPT$F9}J)Dwf-apbfvbC# -

{{invoice.order.due_date}}

+

+ {% if invoice.order.orderpayment_set.all.last.date_due %} + {{invoice.order.orderpayment_set.all.last.date_due}} + {% else %} + - + {% endif %}

@@ -59,8 +64,8 @@ - -

{{invoice.order.status}}

+ +

{{invoice.status}}

@@ -81,12 +86,19 @@ + {% if invoice.status == 'Not Completed' %} + {% else %} + + {% endif %} diff --git a/osinaweb/customercore/templates/listing_pages/customer-projects.html b/osinaweb/customercore/templates/listing_pages/customer-projects.html index 8ce26ad2..de7c5e41 100644 --- a/osinaweb/customercore/templates/listing_pages/customer-projects.html +++ b/osinaweb/customercore/templates/listing_pages/customer-projects.html @@ -8,24 +8,26 @@

My Projects

diff --git a/osinaweb/customercore/views.py b/osinaweb/customercore/views.py index 9e6efd25..6a485385 100644 --- a/osinaweb/customercore/views.py +++ b/osinaweb/customercore/views.py @@ -150,6 +150,7 @@ def customer_add_ticket_update_reaction(request, reaction_type, ticketupdate_id) def customer_invoices(request, *args, **kwargs): invoices = Invoice.objects.filter(order__customer = request.user.customerprofile) + context = { 'invoices' : invoices, } @@ -388,8 +389,10 @@ def dedicated_servers_plans(request, *args, **kwargs): @customer_login_required def customer_projects(request, *args, **kwargs): + projects = Project.objects.filter(customer=request.user.customerprofile) context = { + 'projects': projects, } diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index e79970f54f4408eeaa6d1912c014fd1fee01b6d3..ed107c5f4ff4bced6d953ca90f26cf4b7a465f07 100644 GIT binary patch delta 2442 zcmah~du&tJ8NcV;hu=Q7(?A3)u|t#45Igt!d2O`?$4(oQmxJ?wXi~_-c{sr~&I?Bx zA!ACUs((0f;8t4;QP-~RBm_}3j>JIfs!fCJK~}AsT4_qvO)V4+Iz+~(DBZa+Nyj9F zkI((S`+ev8edm7XyT5z@;cJa_)1-O{~eZ@b)&ZUc1 z1VG8svJLu;cC+B{@x0IOu-QFsL2xepEm3Ax>d^%P0r;#ov+bnWIJWe9W*g#&Wyh5N z#HBORr8A&9pR8cfRY0r|T}5l?BlIO&mEM1o8^feu zYrle@A(f(pA?ZuuYxv%`P#4a*Z=riw8>T-)g-QlMK)faEN*R=%Rg**z-KEev^db5> zDv2*S+$NgCguWR&mcku3o91%3S! z-y4Wzh*Sc=G8|2c4H!8Iv6CB$QqDZ6RFSF14=OcmCLjHaB)dVO8>AyPhn!*wIf>6q z&=o`$5Oj`613_nrR1$PX!2lUuE)OE;a(xu|n`;^-!_gB|lx~+4hqTLdJKery`EVLa z6WvpXQe^Z;q=}5)4H+3Ap9ZB;&7#qa zKhNq5wRD*AN{R*j8OV5vca|EIZ<@MY+%BqvYH21iZorXo5*zqJj{00ar(kpNg5Ypq-wosPH0=ggBt_EHsimvo zLx^D#dcYM@lVda*$?^%E!Ym|vl%^IcUSaRi9Mke}olF`sI#jsFK>`y{@f%pmtWo@Dmx*{md|DdcB z70c+*&j`vig{D!%#*la7Lk#hV(*A3vU9zT?juEYrWNx>RPZ8KSdfuD+Bm`xva?>ip za&LN zu4GTMqkGI54vZZ*ni}`ljMVza5Boi#hTw2ZRj{owJ=jtgvbQ^9qoJ3p>a7Qd2YUPm zt7D;Ls6QTzjWm1w-k!P!ag(HKBaO|i?wU~2-PRiFuzEsmb&26{V{Ln&CJ@|pu%*7K Wi64x|TtkDx;Kunp&Qfmj{rNA06@tM4 delta 1581 zcmaJ>Yiv|S6u$Ggb9cA9d+y$a(3H}4oT8chOe^vSmnvwZ92nfx}jF#br zzKWu7sHQSp6N;8aqoD=S1)0m8#YGMe3~Q1kKkZKCr2`kbGH<2wfW=>0+EufvZ+Jf+ z-j5dh;ijg;Nh|~J!wB4ki*Qm*8AOL+fi$%-f^ZObNVQn0E;a+C-l`LX{EH+vR@QR5 zPZ~9sZC#wadjyHQNAQ#)av$yp_j!C9P@#Bu1?#2*!95M`!ENEbg|C7W1&A(JdXc#I z5PM>i+%a+$3IZgb*=`3#7!_ka%O$4>?rUIEuOQbUS6bY~Gga>5NA3v?Cg2a@PLOM0 z_((pLA<2m?L`-a+6vF~akh4JCRO zXckBoFd>?=Kc*j#F&aY$g+9oh#-jdh=11s^SpE)6>lhLK+9zy+cYc7F`00I?$Ixd& zKgv4YYFl~!Mci|k<%*rdY&w$c2q%Y5Fe!!@I^l>l7s?<5zSQ7PxCPf`o!`NEIbANz zFDMZ{6CHpkoYxpLsD=k%5RokzzNpsIsX!)os)%wUJU{BcYf{zxexH4oxxFGA&MexUs@L zih44E3x_a&vBm94CR^N6JR;fR-Be1RC!ca7}y zz)hCXCTq>8Kc|T=Nfk<99u*(VeV2fhX^0+ zGIgHGac)mGcAKKH+cy*?UR2ACqrL($vkvDXwr%#dnOhf%MMJ*RWn`+eh8yF)dFlWh zPEm8iH`-4^WCu4A)=Eh^i-;W?tnK-j>=wBxD~PeNRy?!QYDBcJwXas}OIv3NrVXNl zTeY~VfErVV`WR{`gl`fedpSE%SPME z&%S8|^sKsW59#NJ`mxE|FL_q;pLbhF#IZeA1I;$hB@Ot)YSh)JQ#DeeMp-36PONUW0sli&ZA_w}HVvIbLv0%Bku(gJYO;BU;UM%w z4=h!+)Br7EhQ^;eXU(N9U22=9Rz8IoT0lOqC>#n$f}#1rP&F>Wew?*B{IK9wpvlWPAk{KOzZLkv6|0t(&2eesn=4kSX-e1QuRI?(4hz*7e=39kB9kum>}^#F!vXi1ESHfuum7;rlkry0+Y}T@a?z zun0aj)H9JsSg5>$AOb@jK_G~cAdi4bV)~zdXrlk9@jv}T&$-pCiP|ss*K^N3=iGD8 zu&?f@nG`sOWgZ3DIZqtf zdpt2jv|hzC@U5qT<=`b#4?IvGWt$;t^t-m9&KT+G1lv&5Z$`?X&p@$0G^$qPXB@9e z)M(Y4B+Y_oMUH8_I$;wWdj-dVv{N;!HL9dqP{O5EA9NQDiCV$8BHt$XGV<$?@A><` z9@o8MCp+%s!jviV%%ph8%d#d<|$WXN10xYnu?o|{&URAO@ zoE^%gwY;YC*I{$OYbIN~0ONthYy>_J^aOSy;|LC&Dn>FGncM87gzrRiVCpJ@8mKB>af8x1g~$%&x)7a95Y`q>uDh z5|B?E2>#2LSvO*nDDx=}T}GgQ;)#utC~`ZUdr~+z6xo7%{t#Ki?!eN9hm-^VXIY%G zfmW*tIGk*VhbY}QaOie~atl$~(E2`M-PYL0_QQroI@d_!BesgjQFjEUQ0*JiFXx1k zE-^3TQ$jl!U2ETut0HiHJO?kdhrn$zLNVI%FH=PnELEDKL!zl7n({y>cFHcYY0PU| z@_YjB#T2vfW}F-`9YW3TAl6jR4hebef9PxarG-jfspjwC-|?#7tXy+UhS?pKPgQ@H0~LiAhL#F z3BiX10|+G(xtgrVctxd=P#z&+OX_-RAfu`4^I0z1j|(=}HWyM{8`3g)euAWz6P$-) zJYqVAoAuC2B+HsHcEEcksEZ&gs$U!d1YM6^^UD~U09B`Kg|lDx3{qCFxB4eyN&X_ zBwv2*+~|de@!LX{b*SdUWdBPT> z+(qVwS+jJF3E%I6d(o*i^wM+jG7ER;y)9qRbl-Eji}@shXbrk=c#+@`fv7l<;VU$y pkaCI>r<3rzSbsj~=;{syWQS~(U9v?s%QdnjFOt3ZS!Bs8{RMJ$^}_%F delta 2187 zcmZ`)Yiv|S6y9m~ad*3~-fs8N?Y7&sw%iu_ph}98fYQ_uBSkG>7L;syZ|l;s+s@rK zP?U;Pt4Iral$T;!AVeyu)~Xn!P)#IAAq7bk_m|O-`1)ZYzxd@jvnAbV+?)CCnKNh3 z{pLJok9X|pa3mcLn*o30->+<+oph{qvFOxhmxsAJQMm;Nj}Uais-j|e*S&^y!EN_3 z)(Ly^8+-{|(s2AOAxH*0lbN0I1loFF+Gd^lJ^vtMy|BB$&vdv^9)a@(gJ#;qd!X5) z;L@bO5|<8p$`J7jIeZ)3@|3V7yku&EhYQ238+Hf%u72DzNc%WJKbrc@C>iu|7%L3I z{z!O0%iU^MO{!V7sM2t5)S=~$I>!uAm(W{LZxebq>hn=A&%XlQ*0bEyS5o zwTrm}y?9lp>KZgeeM5$Jrn=SqK`H7VG8hffz|#grPFvRTO*fQI|M#oAKNA3uyZ~Rk-!l$QxW>@^ImH7Sf8d8!B}aDmv5lua)Kubo+r@Z zQGeXLgT!4Fy2_m>?!%!MA!HIDGdGjOkeE}vJvp$u&r;WQ{G|T7tiWQ=FJrcO`YCeF(M|2L+Exb^uEAi`gZZEpBKKOj>FGdII9a z-y#qp{TG)78fAbsU*gbZ1PUge*eHpbw$r&mklPp9j^8wuY+`c|D|tkD@BciDQmQ)5Q=~r;*c7#mAoSCjUBD`0Xwz8uzP#QE+6~SbUAKWG@Tr4fi%OXxa5jchh zH_25dJ$B5t#Jr3j6ONXLH`|Zm>b;tTvGAJzxEMu)AG2N1Inl)^y70h5WfOLhP-9Bl zp5nuBr%W*m7W;^R={WBE306f4*>Pcy9S?fsuPS1$KR)VSheK8Hm8&|B4q1^j2#Xx=pKZzh<5L)A;zgYZrD$O9jf zViEy!h;9rEfC{nY0%@Db!o)o!Ux1;->(~mowODJU&u4o5Gm=DRz9Q*sgtVinm&fR0 zXpU=LYQ~)i>Lm(lXa;TSh`SR7$sl7zJMpnIw*@&;QHJZRaCOOZ80zYp3icxYPgEEc z#!rg=e;kg~)ZL5FTumU4(wiZ3g>IVQWt=x>$0k$o*xZ+e_m#Cz<)zT(Hy3SmVABN6 z8%Vqi)3uGhYbdtRb_oT^;6`E|#;?s2Q_UyH^jp|lS8SO@ajk+LN(+@t%4n^aK->ve zNfNHJIZ|KG;mSt($i2QMjzx^m;b%gyyna)~4Ya`8vb40fcf}JL|Bif7UA6MVByJ{1 z!E_)D>3SO*hTHY^f$ON;vf!5PHo^Wn)GnRaME~|YK_KY#lO!5%h@=q$AQ0U_HxC~r zpeuljG8Ac_p((|fQ=~YZgkQ&^^g&BQW6&=^7+&-WH47g?; zuXq<#5ofO$L?Avh5XiUUlc)s5Cv27cq*=C#T;8?KsHWER)-5^%sBP_`o0d|sCbuO8 zWEBTiMZgUiC&0ya2{C;MEG`5rF9e|}q(qgu?CoC;BFv0!dsUketA}Oz=!sN% z!ch*R*_LK>@V~a5)HnseEw4shtW9IyJGK%o*=W_DxwzkH?XumVjRH9tLh`Va z>{W*Z`2rXW{)|!h zGJoBv21CQ;X22^ozq0X=;1GW8iw_n@TVU5}M6KI%EMA~Jo6Jz0DBX7V->AVC?`%8O zrYnL-MUVTCz*hB*nVWmu%!!w^my8qP=mHWuXeE`^juBEF21h)4W3 skAJ6^0Y6^FE}JQiU=wx>n+5QCi8;GR=eYFgtkyGnj?8+FJJF%|1I16l*Z=?k literal 0 HcmV?d00001 diff --git a/osinaweb/osinacore/models.py b/osinaweb/osinacore/models.py index d7d61b75..12f87c4e 100644 --- a/osinaweb/osinacore/models.py +++ b/osinaweb/osinacore/models.py @@ -139,6 +139,7 @@ class ProjectType(models.Model): class Project(models.Model): name = models.CharField(max_length=50) + logo = models.ImageField(null=True, blank=True) customer = models.ForeignKey(CustomerProfile, on_delete=models.CASCADE, null=True) manager = models.ForeignKey(StaffProfile, on_delete=models.CASCADE, null=True) project_type = models.ManyToManyField('ProjectType', default='', related_name='manager_project') diff --git a/osinaweb/osinacore/templates/customer_main.html b/osinaweb/osinacore/templates/customer_main.html index 758a3c15..f1a315dc 100644 --- a/osinaweb/osinacore/templates/customer_main.html +++ b/osinaweb/osinacore/templates/customer_main.html @@ -417,101 +417,110 @@ {% block modules_section %}
-
-
-
-

Invoices

- - - - - - - - - -
-
-

{{customer_open_invoices_count}}

-
-
-
-
-
-
-

Projects

- - - - - - - - - - - - - - - - - + + + + -
-
-
-

Tickets

- - - - - - - - - - -
- +
{% endblock modules_section %} diff --git a/osinaweb/static/images/fbprofile.jpg b/osinaweb/static/images/fbprofile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a9f0f3eda212ebe464a38904940beb7102d3a6d1 GIT binary patch literal 30691 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