From 25a5714f569698dce6ebb53c7e16e64d872482dc Mon Sep 17 00:00:00 2001 From: emile Date: Sat, 27 Apr 2024 19:44:22 +0300 Subject: [PATCH] new --- osinaweb/db.sqlite3 | Bin 1204224 -> 1204224 bytes .../__pycache__/views.cpython-310.pyc | Bin 17125 -> 18005 bytes .../details_templates/ticket-details.html | 58 ++++++++- .../templates/listing_pages/tickets.html | 113 ++++++++++++++++-- osinaweb/osinacore/views.py | 60 ++++++++-- .../f_invoice_invoice.invoice_number.pdf_ | Bin 0 -> 38666 bytes osinaweb/static/js/tickets-filtering.js | 28 +++++ 7 files changed, 238 insertions(+), 21 deletions(-) create mode 100644 osinaweb/static/images/f_invoice_invoice.invoice_number.pdf_ create mode 100644 osinaweb/static/js/tickets-filtering.js diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 630869871470dfbf14d543970f6e37f95b569072..fa3ec6ffc255828415b76f637686076c32d9e2e6 100644 GIT binary patch delta 1300 zcmah|eM}p57{2R$vas+$7{$c6C^}((xIZ=_$`YN+{9VZm(HQ@Dejk_j zeV!-xd){M9{$or2X)Au^wc;B5%K5|N6*w_-y`mU5&)lo1!L2jZl^@_Y7VcHP|2XUR zi5?#>*&R-a_lOIZBl+5`Z!U-3BYGu4nplZXuEcQ!4FZ8cB2Wl4f)+uCz#!x)EAjk2 z>qHyXsb~-DTPe9{1J5(NY=TfK7!7`dCU8wHzLvYJDvLJ_jdOUTOii$3@*XT@Dhx}Cj0_7VGUMb5iY=6FbAJP22Q~&OsNjvVC8F$=$;SQ{;9jhQGUL{G5l~C^7H?mboIEBGC@CW<`x8Y}4 z&52~-d-xIwo`BEcGBR@trjUVII1Wc4rP5Sw(U^5sRZCZtTXVXUMV@NmQUnJBvi1O1 zLc%Z%s4Y)|kv3BpgEKqng4}LVj&^Y;jL6{zhWu^7U4>0>YalP}<47DC9Ou|l!b@+; z+6)(^wNGguqBj?~<>zUld?F-&RRd@`*sMfy*@r zqR+wGolYmpf)bnOW^{!ZhA~tYGc4#&=2bC;>^1r-mDT>5e*_7JNcn|}98=;Ajtzt& z!;vG&zOf-b6^iqTWIPoe=}!)IN2D?Nhg)#5;W@s4*zfBQ(}TfCxU(+uba$XJ-D->0 zcetC=;%MYRUrjKy|Ik27qb+c#tuYi7dC_U(w}n)l2A9b5l9GLw`-IwiyzE7uYMN-R z{=ZDg=SiwS-nYn|_4g+Q-@%49K#MbgySadvejXiW=s-L%Z@0->m@R=TULt|sE8 z9xN!+H2x46y{ORLw)h)`Sx8Vw$OciAsP$5TArwAXVzc^M^zeK7&gJ8Lr(-;~V?4KK z13A*WF^e1-DQ!<6b$zo58%e2eIU$Q&*O!_2n4AkPCqCMV&JT+QO0ipm6V(Qmmorp3 z!(vI6?e=upc6Qp=HSHrcbQ+Wft-)wSXs{ZQ8hQ;5Px}n<3sf=Fg4t4I5fjT55N1VI z)Fj!OWU-hn+GI6DQIi#`VwL5tW{(j!drTKvs73uKVrNY&h?_Hg$8l4-2^K9x3p9T6 z)s!(dlpz142*at!bqfE@$Egd{{kKLNks9lU|p@Dj#Q%sn9nivoF*NAJgkA=H{8MdSXb zLY*9`gGB; zQ#RI%*z00#Pz)_aVDGTl7rEY0MMN@#gehpe$T{@u`S%f%%pm)NZqte?Xw>#V)SLfz z8#FTyL8o7?JY1ep?REM0)MTGNSR@C$`JUt1hg<=7daiS?r{39QEo@K@msJ$oo2vcl z{(onR2Oo;h89hOe+Zfl`qD(X}#GBCw%|xM;QPJPt&?(cd)0zMC$*ny~h=6$rg$KR>6e^LD{{U!8D^36a diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index a1fa5e8a788923de5de673ce6c6fe84038727350..c00748e15279e0a11993837ae5588647aefb2288 100644 GIT binary patch delta 2918 zcmZuz4R91!9l!T>Z|`#7m%HSWOD-V^X>tikdij6^Vi^IQVJfM$(JEu-dSo}4Yq&e! zZWM5@7pJ2wmW-j#I-`R%(H6>#$Y^8+w6=^|8NUj3sI7|vL#fu8R$5}KmbUo+zr8@} zc$xRhd;jnE_Wl05uY8%ju#W`te!s^7zs z7`huEL}e;p_sQ%a&#X+4C;0jJ-F!Blh)BfYSS(veVBus>E@*WC4{ns}ImcvHhV za-84OaD|+}u%#0aZ3vunA57ddN}DAa9c6}^G0@!jp@j>^9WeAwpfMd;N0zW^gJz|y ztP+)Or>ZnVic(o3Zzp0c=jxW*2tQ|5$-2~%bA~QAU#3EhY)YFP_iQXWRi&ty&a69I zfflN3hRk_X_dJ>N&O3@O)5S(iSJs#H7v1nbP^`$ws-x(JQSm`9h*nwj7(p!9^q7tk z1glUzGtyjW-l0#Lit1hCC@MR*nvgCXHr;@gCIm@GcJ`SvxF?EE4EaCl_hI_~lYF`V zZc{R4)pvjvy++h@sD9J?KuNmGkqnG56V8;~50E65M>jIYl%7sc|oz^wOa%sE9CZ|-5J%pYs5uQf49nC#AOSe3BnomHbCAJH-(WxBP zUEYbF9?MVV3@bXB(U*2-?;1|Qs$MR=8I@58l=QJyOt}f+BM3i7_yvHa*afrSz+$Vn z93&)8?zd?4JA{+KnHWD^Td`#`a%Ka_+_aKZl6o2^ZYq;Fk%=4rfSx2uYhXsF6{?_& zhCqii)F~7+5+%y}K7~C8B(CQN8XqF3k(2eOA?$99k3_Cs;v-7O2p?&W@xqF;r6ztebke!_`>o2x^hFk!BP4EJUPoVxV>MxY_ zrIlOAMWMe4;%8C+IO;*xR?kDN_mh|T*IK($FM&o>>Rak|m%(fdALP;x+mQleBMklP z{PotBlHF)bs?r&fRiInAR2jO3Q|0RIsvq|zvo7>GO z7mO6-I)zJ2!+wo`9Ad)&R;BHAmuN6$-|wMzF9M!y(q&WRuP6}p{|#oA0z`IV7kL#Q zeBX_VRn5puOzM~5QRy{c=%Z26OsYu~?tOsb4Tn4ap3lWzgNK_Sm-x}PkH-#SY>`a1 zlf90De~2s9)gJb~jaT9olwCou_$8PoWjtcH-D)OO_B_b;tmI8qRs7NRcI6GUeqKbd z+5^$+SP!xXt`5G>W-TB7C-^G8TiqiuWs? z4yA(iPWJA?i4HFzi~QNnl>htaaRdOa#4#?dI@S0-EG#8cC}=s=KCG~PSaz}e@2dtA z@1d74^cZ;~GYPGGhsLg>)Is=dU3bzJ%J+BmQ!nACx~BaLsF?@vz7!$dAu^N2m*(FgZsWa6HCEcCs_TDV1 zmd~bo$mjXVR05hT|59T;zm{5CBMf|)4hd#CjR|8?V*$dq^bWd&66X7Q8^RA_9oQs% zw3>tnYv4cay%stHf<5lm&1+k?tY|H;Bm7r=3o#Fd3u8t2t&{ZH2j0kM``gG0e!Rb# zH1Tu&>&Yyy8|WkL3wI1WK}eFnwR$i4BQLG_HmT={!31>?K0KI-t%7KlXDpw~X=CEW z_!ve`@*fX=sHp=peFxWb09%8Tz%6*039jp!&N_MJ(1*#7_~_8>Bn79RAYuOWP?A*g zSBE;hFT<8t6hrhbB-UOfq>qP&HSYjQGz>b9cP|_q&$I1$BVEYo`WNy{UF44scaqf$ zXNC`<%dXqft~KZ~Ncf#?kr311HGRX_BXP36m#kapUq3)g`1Q%2L^zIs--hft1bi#8 zvj{IDoI^N|fW4nxM8K}iUPHKo@Fv1Fgm)3VSV0IOf>47HM`%E3M@SK9Evy%(eF&=& j)*-YDjzu-&3yJU}8wURik}dQi delta 1889 zcmZ8iX>3$g6n^K<>+5v34z^|5X-DYLX*=CloOEGRBm_zjF)k4&wKGjxN~hd;O`sMi z5)%wIF+KlW5E2lmL}(g9q%5LUFcd+NkW5fEK~%Pgi6T-w=S>F_Cb{3-d%o|UbMCpz zJNph?eG42ByWOJDZ_};f)-%h79ILX>nvsFl+-zKw;l_ntbL!tj-&F}zlTDS|ajQ26 z2eSHc)a^+VpeRu@aZaHM^&#;)nHO>gu5iBygE*A$%9Mj7u#)obgwjOHBsnoPc2BzlM@W*1Yx5is#Qr=N98DznWnL?M!DOzzOGetmEqYL2-4%{T9?R4uM-x-l z`#Ruj!=IM#OzTNRbedFE9k*%nctSWYzYV@2VS#lciR4$5pFEKuq2Og0BhuxRV?+$F z;uBVkB@|lNbMI}%v+VH->{}kSd&6pzX_C;PxOjj zQz-cZu_j5k^eQ29Z_)4*7-rfd`HWcX2stMSh1>@&Sx#ON~HSSLB%yv&08WXr|#r zu3~o$47`57CVkvL!@z#!If9rr;q|CJ15XsCP8p#JM$?J0iF7c-WJm|mCrkn~-q7<@ zZx5Wp?Bd0)UF^f~tj0b6$cCSclhx^gY`y@GSQ!>iSi#k2$J0x3&h`Lh>-# zdh#%rt{9XQY8P33*zho~#GZDRbKyHeyUC~ABroCm(j44Sve3StrF{gugxrtkOM=#) z*Es|Gw-c^P^hHC^p1(Z@6ep{NMU1!^G z_-m<8+yr!%rNfP3Uzru)3Rad^+COD_4*_l8evFhKn{tZ=F|E0)E8H21muFJEJn{VS zg^GaZCeJd27CoXjcLepe6=8Xst#=e0tawh`1AI_XBkn6$UD;>f$4nmqMcId+SI&na zv{d<>57=&y(0Vgs~nJn%d4_LL1$wQZmn8pEu(#sAG5}U<<%azj7`q*Dd>DEchI1|36HZd8T zAnjN@{l4=M8G6jV`E|agslG0`2d6(Z?D~g2PGaDV_FLoCb_@gxAQcM(UU1@qz)Wbx zO@V4~4Ic??2YOz^b#KFNyj}MpSh2s}BmPowcYU)fn~D*$v_v{P>HTYqbjr=_I1}?4 z8gr?jiu{PjTL@lB?V!sW)q`}H_3mgmD&6>I!)(}yqYVpSDwW;?fMtz-5cpDKk@d4j zTaY{4-}ncB7yD+0ArG(3ETy+GeO58}hG)&%!Nm31K`o!76=2gGued01<(w)g8s0Xi zR;=638SG@>?}$9Wz~2SQuf9CWFv@V8;RFM}s*)d0$*-Y2&v1d^62tEdHyG|SC>)ob zI7KEiq%hbSTntkojWCzHUIrgS5iXy*I>TZCkwVQ(%|@+|niKEMokknrc{cDLTK4TW diff --git a/osinaweb/osinacore/templates/details_templates/ticket-details.html b/osinaweb/osinacore/templates/details_templates/ticket-details.html index 4b28e4ae..62778329 100644 --- a/osinaweb/osinacore/templates/details_templates/ticket-details.html +++ b/osinaweb/osinacore/templates/details_templates/ticket-details.html @@ -4,15 +4,51 @@
-

Ticket: {{ticket.ticket_number}}

+

Ticket #{{ticket.ticket_number}}

+ + {% if last_ticket_status.status == 'Open' %} +
+
+

Opened by {{last_ticket_status.added_by.first_name}} at {{last_ticket_status.date_added}}

+
+ {% elif last_ticket_status.status == 'Working On' %} +
+
+

Updated to 'Working On' by {{last_ticket_status.added_by.first_name}} at {{last_ticket_status.date_added}}

+
+ {% elif last_ticket_status.status == 'Closed' %}
-

Closed by Linode at 20-4-24 16:30

+

Closed by {{last_ticket_status.added_by.first_name}} at {{last_ticket_status.date_added}}

+
+ {% endif %} + + +
+

{{ticket.description}} +

+
+ + {% if ticket.ticketattachment_set.all %} + + {% endif %} +
+
{% for update in ticket_updates %} @@ -67,6 +103,22 @@ {{update.description}}

+ + {% if update.ticketattachment_set.all %} + + {% endif %} +
@@ -112,7 +164,7 @@
- + diff --git a/osinaweb/osinacore/templates/listing_pages/tickets.html b/osinaweb/osinacore/templates/listing_pages/tickets.html index 159b3385..c34b4e79 100644 --- a/osinaweb/osinacore/templates/listing_pages/tickets.html +++ b/osinaweb/osinacore/templates/listing_pages/tickets.html @@ -26,13 +26,16 @@
-

Open Tickets

-

Closed Tickets

+ +
-
+ + + +
@@ -65,28 +68,112 @@ + + {% for ticket in open_tickets %} + + + + + {% endfor %} +
-

My - Account Balance

+

{{ticket.title}}

-

22666766

+

{{ticket.ticket_number}}

-

Django

+

{{ticket.regarding}}

-

20-2-2024

+

{{ticket.last_update_date_added}}

-

Ositcom Ltd

+

{{ticket.last_update_added_by}}

+
+ +
+
+ + + + + + + + +
+ + + {% endblock %} \ No newline at end of file diff --git a/osinaweb/osinacore/views.py b/osinaweb/osinacore/views.py index 4e740c20..0835181d 100644 --- a/osinaweb/osinacore/views.py +++ b/osinaweb/osinacore/views.py @@ -245,14 +245,6 @@ def customers(request, *args, **kwargs): return render(request, 'listing_pages/customers.html', context) -@staff_login_required -def tickets(request, *args, **kwargs): - - context = { - - } - - return render(request, 'listing_pages/tickets.html', context) @staff_login_required @@ -334,6 +326,53 @@ def my_tasks(request, *args, **kwargs): return render(request, 'listing_pages/tasks.html', context) +@staff_login_required +def tickets(request, *args, **kwargs): + if request.user.is_superuser: + open_tickets = Ticket.objects.filter(status__in=['Open', 'Working On']) + closed_tickets = Ticket.objects.filter(status__in=['Closed']) + else: + open_tickets = Ticket.objects.filter(status__in=['Open', 'Working On'], department=request.user.staffprofile.staff_position.department) + closed_tickets = Ticket.objects.filter(status__in=['Closed'], department=request.user.staffprofile.staff_position.department) + + for ticket in open_tickets: + unread_updates_count = 0 + last_update = ticket.ticketupdate_set.exclude(added_by=request.user).order_by('-date_added').first() + if last_update: + last_update_added_by = last_update.added_by.first_name + last_update_date_added = last_update.date_added + else: + last_update_added_by = None + last_update_date_added = None + + for ticket_update in ticket.ticketupdate_set.exclude(added_by=request.user): + if not TicketRead.objects.filter(ticket_update=ticket_update, user=request.user, read=True).exists(): + unread_updates_count += 1 + + ticket.unread_updates_count = unread_updates_count + ticket.last_update_added_by = last_update_added_by + ticket.last_update_date_added = last_update_date_added + + for ticket in closed_tickets: + last_update = ticket.ticketupdate_set.order_by('-date_added').first() + if last_update: + last_update_added_by = last_update.added_by + last_update_date_added = last_update.date_added + else: + last_update_added_by = None + last_update_date_added = None + + ticket.last_update_added_by = last_update_added_by + ticket.last_update_date_added = last_update_date_added + + context = { + 'open_tickets': open_tickets, + 'closed_tickets': closed_tickets + + } + + return render(request, 'listing_pages/tickets.html', context) + @staff_login_required def my_notes(request): @@ -444,13 +483,16 @@ def customerdetails(request, customer_id): def ticket_details(request, ticket_number): ticket = get_object_or_404(Ticket, ticket_number=ticket_number) ticket_updates = TicketUpdate.objects.filter(ticket=ticket).order_by('id') - for update in ticket_updates: + for update in TicketUpdate.objects.filter(ticket=ticket).exclude(added_by=request.user).order_by('id'): if not TicketRead.objects.filter(ticket_update=update, user=request.user).exists(): TicketRead.objects.create(ticket_update=update, user=request.user, read=True) + last_ticket_status = TicketStatusUpdate.objects.all().last() + context = { 'ticket' : ticket, 'ticket_updates': ticket_updates, + 'last_ticket_status': last_ticket_status } diff --git a/osinaweb/static/images/f_invoice_invoice.invoice_number.pdf_ b/osinaweb/static/images/f_invoice_invoice.invoice_number.pdf_ new file mode 100644 index 0000000000000000000000000000000000000000..18ff943e6a7c0be130a076bb7aae79fe3364d45f GIT binary patch literal 38666 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 literal 0 HcmV?d00001 diff --git a/osinaweb/static/js/tickets-filtering.js b/osinaweb/static/js/tickets-filtering.js new file mode 100644 index 00000000..56537dd5 --- /dev/null +++ b/osinaweb/static/js/tickets-filtering.js @@ -0,0 +1,28 @@ +function showOpenTickets() { + openTicketsContainer.classList.remove('hidden'); + closedTicketsContainer.classList.add('hidden'); + openTicketsLink.classList.add('text-secondosiblue', 'font-semibold'); + closedTicketsLink.classList.remove('text-secondosiblue', 'font-semibold'); + closedTicketsLink.classList.add('text-gray-500'); +} + + +function showClosedTickets() { + openTicketsContainer.classList.add('hidden'); + closedTicketsContainer.classList.remove('hidden'); + closedTicketsLink.classList.add('text-secondosiblue', 'font-semibold'); + openTicketsLink.classList.remove('text-secondosiblue', 'font-semibold'); + openTicketsLink.classList.add('text-gray-500'); +} + +const openTicketsLink = document.getElementById('openTicketsLink'); +const closedTicketsLink = document.getElementById('closedTicketsLink'); +const openTicketsContainer = document.getElementById('openTickets'); +const closedTicketsContainer = document.getElementById('closedTickets'); + + +openTicketsLink.addEventListener('click', showOpenTickets); +closedTicketsLink.addEventListener('click', showClosedTickets); + + +showOpenTickets(); \ No newline at end of file