From 850f4f6187c1f1cab39f8ff27883730e11e7a99b Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Thu, 5 Feb 2026 18:33:31 +0000 Subject: [PATCH] Autosave: 20260205-183330 --- accounting/__pycache__/tests.cpython-311.pyc | Bin 0 -> 218 bytes assets/pasted-20260205-164945-08c624c0.png | Bin 0 -> 56510 bytes config/__pycache__/wsgi.cpython-311.pyc | Bin 679 -> 772 bytes config/wsgi.py | 5 +- core/__pycache__/tests.cpython-311.pyc | Bin 0 -> 212 bytes core/__pycache__/urls.cpython-311.pyc | Bin 11488 -> 11607 bytes core/__pycache__/views.cpython-311.pyc | Bin 139040 -> 139438 bytes core/templates/core/customer_display.html | 461 +++++++++++++++++++ core/templates/core/pos.html | 77 +++- core/urls.py | 1 + core/views.py | 9 + manage.py | 4 +- requirements.txt | 3 +- 13 files changed, 555 insertions(+), 5 deletions(-) create mode 100644 accounting/__pycache__/tests.cpython-311.pyc create mode 100644 assets/pasted-20260205-164945-08c624c0.png create mode 100644 core/__pycache__/tests.cpython-311.pyc create mode 100644 core/templates/core/customer_display.html diff --git a/accounting/__pycache__/tests.cpython-311.pyc b/accounting/__pycache__/tests.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f6e650458812567a8f6a22ebbb91e573273c45c GIT binary patch literal 218 zcmZ3^%ge<80vU~&HbCkzm;)u4p!8=UAY(d13PTEG4nr>0!_wS z93iR2CC-V(seYPFx42WX67$mY^-6$ZMa)12D;Yk6)crEn&&bbB)h|sd%_}L@PpwEz zE-lF~(l5_1$}TQQOitBLOis=R%4O!I>w`2G>lIY~;;_lhPbtkwwJYKPn!yOf#j-%+ T12ZEd;|&Id3)oN*8&CxRJYzTM literal 0 HcmV?d00001 diff --git a/assets/pasted-20260205-164945-08c624c0.png b/assets/pasted-20260205-164945-08c624c0.png new file mode 100644 index 0000000000000000000000000000000000000000..5b715a0e9277a1f87d377ae17a2067bf3f377ca3 GIT binary patch literal 56510 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 literal 0 HcmV?d00001 diff --git a/config/__pycache__/wsgi.cpython-311.pyc b/config/__pycache__/wsgi.cpython-311.pyc index 9c49e09df194d2dbcad4868349c9177db4b15571..1dbe5b051324989ae09672821fd9ac76525d3f6f 100644 GIT binary patch delta 228 zcmZ3^+QP=WoR^o20SJU2wq$Oc$SWDt2jom=NMVR#NMTH2%3+LR1k+4WOiT=^Oj*nz z#UQW@h*yJIAc7I3nmLChmoIg8cQMIMKFDOx!UN<207Z)%RR910 diff --git a/config/wsgi.py b/config/wsgi.py index e2fbd58..05c92fe 100644 --- a/config/wsgi.py +++ b/config/wsgi.py @@ -8,9 +8,12 @@ https://docs.djangoproject.com/en/5.2/howto/deployment/wsgi/ """ import os +import pymysql + +pymysql.install_as_MySQLdb() from django.core.wsgi import get_wsgi_application os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') -application = get_wsgi_application() +application = get_wsgi_application() \ No newline at end of file diff --git a/core/__pycache__/tests.cpython-311.pyc b/core/__pycache__/tests.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca65c6f1cbccb9171775d350ebae992a3b5bda65 GIT binary patch literal 212 zcmZ3^%ge<81XbViGi`wMV-N=hn4pZ$LO{lJh7^Vr#vF!R#wbQch7_h?22JLdAO)I? zw>Uyli%Xmni&OnHnQn2XWF_XM=j)XK#fq4L3RW_F2C4g{tDljdo2p-$RGL>(s-Ies znp|3vU!-52UzA;3keHmRpPXNmst?jutXEL^i^C>2KczG$)vkyGsGAXpi)Det2WCb_ P#v2R@7qFosHlPXsb$T{e literal 0 HcmV?d00001 diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 93ff41b20831fde553613652a09cde1afe73826f..8c5c3aa9793539f76fbe545bd3f1902703b1dcb8 100644 GIT binary patch delta 2034 zcmZXVUrbY19LH(-VJ|A^<`C$$rA10xD6%Q)P+&+4DA1O+kUhb8AGCt0E~b5DEPa-V0m?DYJ&af`QU^ZlIjxxdq# z-|6kk@n7NED_gVTOX%?zgJOf>iEXJuM&q%W!|ULrE?z@=Ze?V_YZe`Sz1!^ zK)mU?XNsSn`XN^0{SkXA!=9?8#a!$8)!fSB!gRJ}DxF)(q^`C;+iMIZwuipGTlq(& zX$o)HLgwt-_>;|9T_p-;_lu8byVDmhEvC;;Co<{W3huDqHfP)Lj(r7{y65KX48E)z z-nk+~lX&Nz;t9tgQvlNr)fO=CF~0=mX5iL=yQ`mV6wWee*Pxw4yIvN+&mFcMMMGCG z-fT6O2k?c%ChmM?j8}f@thVft%3icPtIcl(aLnnTo8G|*r`1v=XZPa`k*j5{!TZh{ zORdaSd@Qmm^8tL}thLCmq}%at;n&IW2DI1LSX?qUVrRY8;+ENilOlU%Zo&3q>P!0{Z+<^;`m&wc9!5A{v%+5U=p1!)t4Yh8g=dYGVTz& z6=4w7Aj%=Cr%0JG6*pIzCAxs0xKt%gFo$0Ym?y{}6Ll8|E*f>^2A*c&c?KB`G8{7c zA}K4T;u&mSCAwtXpl*(G+cDM|WDwFI#37_#Cglpo8&%~h!8KeLaGhWc^Nng~ouJ3O z-CkMgFl!%RFsQ*Ghe6$MmhBA~N<)5{H=blYvDas>my|v%cdJT2foPrEsssr_7;>wn zVRHcQxa;Xx7R6<^IuxV%F{60x=25P;Y=s#3HSlxr>*Hj^4dY;bl)K)4w80>(L6}2W zKTF0rd?i+&AecnEM^zF8Nj&9Ihf)MHMxi&CnkD0cVZ6Cinv6NQ)I32(F10|A#Xmh( zB}cG=d%f0;Rf0?Zt9ty=MFv3)f*gYSWiqZ9hAY3y-C~EM3}PC@IK=d;q+Bx;dGy-Y z$w3A~8Vqq5(yx=UW+(?Xr@8$I!`sf?$~w*U;CEiD;xDC!;;#aF3Hs2~q?Y#+oG!&W zk9FV-QK)qLY=||#sN9M(=+>Z{L$@9#Vb~Bn1=qvYC%ayMr3eX84En4}j9>&GG+C8V zf;j%%Bz|!O=TL7_LlXp(M$xvdX?`ri#ugbYX|Tj$Nl%cHG!*$v>SMtf2D2K>a+uXq zq|D%Wv#QJzT);H}X@WVt->h!T6J(4^@?mm@4bL%{*I=H*yuLt6)=*?~df1sHgOmm- z4kjXDsZ#D=5c+aP{^@8kL gA8dC+9!_ycMi`80Fv?+6@0ZHWUBy>6EB-S71^aDfDgXcg delta 2260 zcmZ{m$xmBH9LF*F(LB~PN=&dHi%BqE*biFD0|rdgV8A9xW0ou=l~bvQ z9NLI>a-dRGS?Zydx`?P3q^echQ!kZfq>-vtQIk`pN>w#~LMQX{Q(RTC<)``h`|)q) z&3MNCHTq({{PXhik^=c?`0Tv|`LNt#s(k7=QK3cOTKVxxf$Jx-UNQB}i;BN1OxMUS zH9=ylt*t&O^-Z(9{9cy0dHe0ewfOS&#MbuaDft$esePaPS(}31mk_CYM!Ic*k}U}) z`P%xFJhru(yyQEZF0a4Y^t89|SfO~Mps4ua=%dO#^Ak(POu@mx!NDPps#L?YdT-}R zI=eujmq9OwUQw*llGmiADlL0WTCUQHf*RGab#La$Qr1GDgFy#}4slGyZ<43=*23dn z@@2j44fW1Ra@KA=YF6z^^0=`oeM+^fup3#2n;qE%g&qby9D0OB#a4`~_PY29Cv6+1 z;9=n5;1RmYt5r^m8?!~+d4Z12Q;0H%a)^o=C7i|r`d*w@IpE!P1cgZklN=_6LkZ5DV9)Gu#~>YzP?%*f z%VAcyl;F+@4VgG^>^{6f!Oy^-=HM4iN@&jS;yfJ;Q3x{#a|nwTCA8*u;iLXl3Tq73 zIIM{_C7jI(?yQeD5B(6MFwJ0^!?ZZ3^7dSQI^*LF=MQD>Z;@koIfM=+^eEv`&3+ND za%LY;7+^5KVLW`c}xmMNKAqk;Szbb!5SP#m@wrE*)n#1x{rEhC`1@UI7GxGDt<#zH#R`M zvlQkS%yF0#0aSwIFIj&IAw(_{1a{e#5Zt`*?LH?Vq9$Vi4jG5&=|#q|_-_6CtD^ zj1VEMPOCPHFh@cX<`JT#&ZQSGAS@P=Pu$kxC8Ss(S#Gdu%SbD#L>ysNl~_YqS0xe% zNmU}ffpp6lbbY3apXodte06}N(AYE#b>qzk(l8FOEi|?b<4k6T+q(~MQV1{za0rMU zG;SM)I%WFl$Yt`(RifR&^e*|wrEB*PcFA$Kp1zMTd?YvNc{@M1@jXXy!3?808|ST_ zpO3xTL0&XQ4Wsp-h@X|m&k}_ggBXXH@S!qhC~6YqRwZA!OSOv_`pNfhixxl#lIIep z5JDd{S<_)`Up7jpgSP#!?$tbAL1WG^oLM_}%l(%(j(Jp~hSGlEvwW!+HJL|&x9 z{B4X%lJqv~+6KZcvM3>iuu0O*x_b-Zu2D%HeC>zT6vh~gaTpW#(Abp|*K{A-4-EVN i3-}HiBS2yftL6o@;G?9eML+IS@UZmdb2BCXVf+gr!oCXt diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 218b2cc8d34ed5a72a630f16d51572f938bbca12..f7d89aefb22ab33d668c684070b835e52ff58cee 100644 GIT binary patch delta 389 zcmZ3mk7M0I4!-5Qyj%=G@Nz>-W_jI2J_$yjjq0XcGO3y=#VriWfHJE=(qIs^CWSGW zL9?VeiK{({i*b7r7t>WHrewy+6X%IAr7%oZl(eg_Wh`Nbsb^rQVMt+2VX9%wWL(A! zGzo|y0B8zxl@6Bz5IC0>m*nTB7Ad$TCTHfQE4XA97vv;XDrh*nxo9ecWu}&cl~qY4 z=NF~wCqq@or$ChHWt8OR6oJguWGPZ-V3;hjL%?2>sVEC50v0Z20iVcAB4Gdqo7zAV|?_VY%VZKA_K*j}2|BKuKSGWT%umltZ099zN-EPUt z + /* --- Critical Layout Overrides for Full Screen --- */ + #sidebar, + .navbar, + .top-navbar, + #sidebarCollapse, + .mobile-cart-toggle, + footer { + display: none !important; + } + + #wrapper { + display: block !important; + width: 100% !important; + height: 100vh !important; + overflow: hidden !important; + } + + #content { + margin-left: 0 !important; + width: 100% !important; + height: 100% !important; + padding: 0 !important; + overflow: hidden !important; + } + + main { + padding: 0 !important; + height: 100% !important; + margin: 0 !important; + } + + body { + overflow: hidden; + background-color: #f8f9fa; + padding: 0 !important; + margin: 0 !important; + } + + /* --- Customer Display Specific Styles --- */ + .customer-display-container { + height: 100vh; + width: 100vw; + display: flex; + flex-direction: row; + position: relative; + } + + .left-panel { + flex: 1; /* Takes 50% or remaining space */ + background: white; + padding: 2rem; + display: flex; + flex-direction: column; + box-shadow: 2px 0 10px rgba(0,0,0,0.05); + z-index: 10; + height: 100%; + max-width: 50%; /* limit width to half screen */ + } + + .right-panel { + flex: 1; + background: #f8f9fa; + display: flex; + align-items: center; + justify-content: center; + padding: 2rem; + flex-direction: column; + height: 100%; + } + + .cart-items-container { + flex-grow: 1; + overflow-y: auto; + margin-bottom: 2rem; + padding-right: 10px; /* space for scrollbar */ + } + + /* Custom Scrollbar for items */ + .cart-items-container::-webkit-scrollbar { + width: 6px; + } + .cart-items-container::-webkit-scrollbar-thumb { + background-color: #dee2e6; + border-radius: 4px; + } + + .cart-item { + border-bottom: 1px solid #eee; + padding: 1rem 0; + display: flex; + justify-content: space-between; + align-items: center; + animation: fadeIn 0.3s ease-in-out; + } + .cart-item:last-child { + border-bottom: none; + } + + .item-name { + font-weight: 600; + font-size: 1.2rem; + color: #212529; + } + .item-price { + color: #6c757d; + font-size: 0.9rem; + } + .item-total { + font-weight: 700; + font-size: 1.3rem; + color: var(--bs-primary); + } + + .total-section { + background: var(--bs-primary); + color: white; + padding: 2.5rem; + border-radius: 1.5rem; + box-shadow: 0 10px 30px rgba(0,0,0,0.15); + margin-bottom: 2rem; + width: 100%; + max-width: 500px; + } + .total-label { + font-size: 1.4rem; + opacity: 0.9; + margin-bottom: 0.5rem; + } + .total-amount { + font-size: 4.5rem; + font-weight: 800; + line-height: 1; + } + + .logo-placeholder { + max-width: 300px; + opacity: 0.5; + margin-bottom: 2rem; + } + + .promo-card { + flex: 1; + width: 100%; + max-width: 500px; + background: white; + border-radius: 1.5rem; + display: flex; + align-items: center; + justify-content: center; + text-align: center; + padding: 2rem; + box-shadow: 0 5px 15px rgba(0,0,0,0.05); + } + + @keyframes fadeIn { + from { opacity: 0; transform: translateY(10px); } + to { opacity: 1; transform: translateY(0); } + } + + /* Connection Status Dot */ + .status-dot { + position: absolute; + top: 10px; + right: 10px; + width: 12px; + height: 12px; + border-radius: 50%; + background-color: #dc3545; /* Red initially */ + z-index: 100; + transition: background-color 0.3s; + border: 2px solid white; + box-shadow: 0 0 5px rgba(0,0,0,0.2); + } + .status-dot.connected { + background-color: #198754; /* Green */ + } + + /* Debug Panel */ + #debugPanel { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + background: rgba(0,0,0,0.8); + color: #0f0; + font-family: monospace; + font-size: 10px; + padding: 10px; + max-height: 150px; + overflow-y: auto; + display: none; /* Hidden by default, toggleable */ + z-index: 2000; + } + .debug-toggle { + position: absolute; + bottom: 10px; + left: 10px; + font-size: 10px; + opacity: 0.3; + z-index: 2001; + cursor: pointer; + } + +{% endblock %} + +{% block content %} +
+
+
Debug
+ + +
+
+ {% if site_settings.logo %} + Logo + {% endif %} +
+

{{ site_settings.business_name|default:"POS Display" }}

+
{% trans "Your Order Details" %}
+
+
+ +
+ +
+ +

{% trans "Welcome!" %}

+

{% trans "Items will appear here as scanned." %}

+
+
+ +
+
+ {% trans "Subtotal" %} + --- +
+
+ {% trans "VAT" %} + --- +
+ +
+
+ + +
+
+
{% trans "Total to Pay" %}
+
0.00
+
+ +
+
+
+

{% trans "Thank You!" %}

+

{% trans "We appreciate your business." %}

+
+ + +
+
+
+
+ +
Waiting for data...
+
+{% endblock %} + +{% block scripts %} + +{% endblock %} \ No newline at end of file diff --git a/core/templates/core/pos.html b/core/templates/core/pos.html index 02cde53..cdf6a88 100644 --- a/core/templates/core/pos.html +++ b/core/templates/core/pos.html @@ -128,6 +128,9 @@

{% trans "Point of Sale" %}

+
@@ -515,6 +518,71 @@ {% localize off %}