From 4c05c3b6afe78e414c2ba947d31ac0694dcf36a1 Mon Sep 17 00:00:00 2001 From: Weverton Date: Sun, 12 Oct 2025 10:03:31 -0300 Subject: [PATCH] beta v.1.1 --- .gitignore | 4 ++ .idea/.gitignore | 8 +++ .idea/WevertonOrg.iml | 25 +++++++++ .../inspectionProfiles/profiles_settings.xml | 6 +++ .idea/misc.xml | 6 +++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 +++ Base/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 151 bytes Base/__pycache__/admin.cpython-312.pyc | Bin 0 -> 195 bytes Base/__pycache__/apps.cpython-312.pyc | Bin 0 -> 453 bytes Base/__pycache__/models.cpython-312.pyc | Bin 0 -> 192 bytes Base/__pycache__/urls.cpython-312.pyc | Bin 0 -> 758 bytes Base/__pycache__/views.cpython-312.pyc | Bin 0 -> 556 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 162 bytes Base/templates/Login/Dashboard.html | 11 ++++ Base/templates/Login/Home.html | 5 ++ Base/urls.py | 14 +++++ Base/views.py | 3 -- Base/views/__pycache__/views.cpython-312.pyc | Bin 0 -> 1386 bytes Base/views/views.py | 21 ++++++++ Setup/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 152 bytes Setup/__pycache__/settings.cpython-312.pyc | Bin 0 -> 2781 bytes Setup/__pycache__/urls.cpython-312.pyc | Bin 0 -> 1091 bytes Setup/__pycache__/wsgi.cpython-312.pyc | Bin 0 -> 636 bytes Setup/settings.py | 20 ++++--- Setup/urls.py | 3 +- Templates/403.html | 7 +++ Templates/404.html | 11 ++++ Templates/Base.html | 25 +++++++++ Templates/BaseLogin.html | 43 +++++++++++++++ Templates/components/_footer.html | 12 +++++ Templates/components/_header.html | 34 ++++++++++++ Templates/components/_msg.html | 17 ++++++ Templates/components/_pagination.html | 49 ++++++++++++++++++ Templates/components/_sidebar.html | 10 ++++ Templates/components/_sidebar_admin.html | 29 +++++++++++ Templates/registration/login.html | 44 ++++++++++++++++ db.sqlite3 | Bin 0 -> 131072 bytes requirements_win.txt | Bin 0 -> 132 bytes 39 files changed, 410 insertions(+), 11 deletions(-) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/WevertonOrg.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Base/__pycache__/__init__.cpython-312.pyc create mode 100644 Base/__pycache__/admin.cpython-312.pyc create mode 100644 Base/__pycache__/apps.cpython-312.pyc create mode 100644 Base/__pycache__/models.cpython-312.pyc create mode 100644 Base/__pycache__/urls.cpython-312.pyc create mode 100644 Base/__pycache__/views.cpython-312.pyc create mode 100644 Base/migrations/__pycache__/__init__.cpython-312.pyc create mode 100644 Base/templates/Login/Dashboard.html create mode 100644 Base/templates/Login/Home.html create mode 100644 Base/urls.py delete mode 100644 Base/views.py create mode 100644 Base/views/__pycache__/views.cpython-312.pyc create mode 100644 Base/views/views.py create mode 100644 Setup/__pycache__/__init__.cpython-312.pyc create mode 100644 Setup/__pycache__/settings.cpython-312.pyc create mode 100644 Setup/__pycache__/urls.cpython-312.pyc create mode 100644 Setup/__pycache__/wsgi.cpython-312.pyc create mode 100644 Templates/403.html create mode 100644 Templates/404.html create mode 100644 Templates/Base.html create mode 100644 Templates/BaseLogin.html create mode 100644 Templates/components/_footer.html create mode 100644 Templates/components/_header.html create mode 100644 Templates/components/_msg.html create mode 100644 Templates/components/_pagination.html create mode 100644 Templates/components/_sidebar.html create mode 100644 Templates/components/_sidebar_admin.html create mode 100644 Templates/registration/login.html create mode 100644 db.sqlite3 create mode 100644 requirements_win.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6b02e10 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +# created by virtualenv automatically +.venv +venv +.idea \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/WevertonOrg.iml b/.idea/WevertonOrg.iml new file mode 100644 index 0000000..7be685c --- /dev/null +++ b/.idea/WevertonOrg.iml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..9275f25 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b1cb7be --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Base/__pycache__/__init__.cpython-312.pyc b/Base/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..16f54111018c0d47b5a28ff32302fddfec81eaa2 GIT binary patch literal 151 zcmX@j%ge<81maPzGC=fW5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!GIO?y2`x@7Dvk+H zElVvb$%NiEJU$uEEl_!p(eI3*UR#>B^G=4F<|$LkeT-r}&y%}*)KNwq6t1scN$ R#Kj=SM`lJw#v*1Q3jpdtB*Fjy literal 0 HcmV?d00001 diff --git a/Base/__pycache__/admin.cpython-312.pyc b/Base/__pycache__/admin.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bb4ed3cecf70dbbc6fc927343d52f3f0fb825a6f GIT binary patch literal 195 zcmX@j%ge<81maPzGMs?)V-N=hn4pZ$0zk%eh7^Vr#vF!R#wbQchDs()=9eI8O~zZS zi7C06d48HqxA;=B67$mY^^)`RN{TX*ikN{4Rx*4BsrzN@Y!wq)oLW>I6P{X@T2zvs z7vqvzoL!P%02lBtN{?|$EKZF98>m-Md5gm)H$SB`C)KWq184>#5Ep|OAD9^#8SgPD I6tMw001u8ak^lez literal 0 HcmV?d00001 diff --git a/Base/__pycache__/apps.cpython-312.pyc b/Base/__pycache__/apps.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67b8ec26e8a60b28e095485bd3c3effd2e97879a GIT binary patch literal 453 zcmX|7Jxc>Y5S_idNKA}q5G93$jd0BsRw5$g1MOlZ!f~*y?&geM?#|siA$CH3fY{_W zh(E=~GAvkGX(dD(D|c^Cro)S3Xb8G5qKoNtXCxALxui{xTEO}j}v7>4IYHW`&ahQ1Y%o`FCkETai_aV=`hG%NoXNGLJM~ z!uUETQK>X38<0H8Fj0OyFb8Pu5$5_?KReyM;6yMkf>U(fREy~5Vlf`yv*t#44JaQy=M9ddmD literal 0 HcmV?d00001 diff --git a/Base/__pycache__/models.cpython-312.pyc b/Base/__pycache__/models.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..513c70375bb9ed931663f12fe00df4e563d11a7c GIT binary patch literal 192 zcmX@j%ge<81maPzGHihKV-N=hn4pZ$0zk%eh7^Vr#vF!R#wbQchDs()=9eI8O~zYn zx%nxnImLdOOt&~wvJ&&s^Yv1aikN|tD;Yk6)ci7Wwu%WYPAw{q2~RCcEh@>+i*ZRU z&MwI>fD8B+rN=lW7N^EQ4AU#9yv1PyWS8co+7)pC4PgZ0Vi4m4Gb1D8JqDQ~HXsK8 DQKB$V literal 0 HcmV?d00001 diff --git a/Base/__pycache__/urls.cpython-312.pyc b/Base/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fc156ad22b7948eeb51581574e764f939a26f18b GIT binary patch literal 758 zcmaJII?Zy@) zB*Ih{{s2@4#{LgXRw7xP)QJhEqKbuyyEMj9hu+}#?!E8c_xW_+8Vv)8b?4o$?k5Pq z54kB;ZB9;Z2xlLJAcPT!p$DPlN~FZ9hvr-pT!laZ7=|iV`}HEE#1MVa4%E~AtgeDl zf1&gX*1uS=5)bAyte(lJiHyavu3+b8=w~tvF|S>mEb-h7v&`rq&)ls$ji2(U134N5 zX;+}O)5EVA2OK>hF_uOW#CWd~kxnmhxi-VSssJ)fT`qM&xE=GRV8jJ1H_){N7NH1$Vvf~R6SUJcl+ ziW@=`-K9uPS!9Yf;zv?U6ZRRL2nqbXy}s&iGEABO4DVo?lEmM@Y&#``|H2d6@nt_> zPT3ml^4i^)gu@8mqnAa5cu0V~7N27kLU;tOAAyxWiUO723qaFHi=)l=-dpeE%PG3~ z9o0rx#;dutlvzu;m axtukZCr$V3_7trho0SX784e-6rS1LySz^iYUk;ZUn0Yu~0z^jS!>4vdww>*c)$W=JIAXCLux! z3(Is`+6I4$jbIZ-ud>ogxGt4%HfJ8poA15%&71GNuf5&{Ms_;>Gx`xQ_R9zVjpD{; z>vVl&1uJ;PB+oeaIH&>{W?_TFDw3_N)!?XV%Q%Y(x8Ad?v)4}I-@eT;cWne!04CgZ zw?Iy+frXa>-co$|i7tiOgzZ`&6i>yjP?YUhAz@!D81hEQnQPG%(wSW+N3wXq1%Jow zIp=`H9q=!nL-w2{;f4$Jcz@xsmXMCDtkBnzz{N;Eg0U_hYGq;98b9;O%ITd4>-h@< zX!2LE18B9%AA%WMJvmQ2!!o}=Fp%%i2qvBExybj&9(C|LHOu4<*~wD>XzPPIeDrhi z($S4iH$Ru(7gxVUt23&yjbykQr)TtS1w8PpOjHu%J^YmHw5)_~qqMzL@&r4o2 zir49&wxd+~of&L%NiEJU$uEEl_!p(eI3*UR#^h$E7bTWt=I0g1#K&jmWtPOp>lIYq;;_lh cPbtkwwJTx;n#c&m#URE +
+

{{ Day }}

+
+ +
+{% endblock %} diff --git a/Base/templates/Login/Home.html b/Base/templates/Login/Home.html new file mode 100644 index 0000000..7f7eb87 --- /dev/null +++ b/Base/templates/Login/Home.html @@ -0,0 +1,5 @@ +{% extends "Base.html" %} +{% block title %} Home {% endblock %} +{% block content %} +

Home

+{% endblock %} \ No newline at end of file diff --git a/Base/urls.py b/Base/urls.py new file mode 100644 index 0000000..e43ef49 --- /dev/null +++ b/Base/urls.py @@ -0,0 +1,14 @@ +from django.urls import path +from django.contrib.auth import views as auth_views +from Base.views import ( + views, +) + + +urlpatterns = [ + # base das URLs + path('', views.Home, name='Home'), + path('login/', auth_views.LoginView.as_view(), name='login'), + path('logout/', auth_views.LogoutView.as_view(), name='logout'), + path('dashboard', views.Dashboard.as_view(), name='Dashboard'), +] \ No newline at end of file diff --git a/Base/views.py b/Base/views.py deleted file mode 100644 index 91ea44a..0000000 --- a/Base/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/Base/views/__pycache__/views.cpython-312.pyc b/Base/views/__pycache__/views.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a2ff4f7f8468a2fd3435b8c534867cfbdc1507a6 GIT binary patch literal 1386 zcmZux&2Jk;6rb4-eW9`dn)vCt(?@?}Ggb=gyV)lg$y@lt-; zNQ16!A|oTACFG&~z8?h#Zhl zkS;HCDO~AH#fQB4QRtIuBl0~eGIWWjDV$4K#M5>dL}V>uFdRhTKOtu_J9}45g3Ou%QZy zJiBPI#*NUTPNzH~dhCeVJ~zWjQT{i8Z}1)TWO`dl7kvTib7U8F@m>5S-jE_O^H`eW z%QAMr^Qma&DR-jojGxJVHsmg9#+UKg+-B}sTUgD)|M*Tk?;D@dh4EZ~a90LRiZuy_ zqbzep?2*fh*7|*i~~?=%6(7_31(B%%HSz?;1cqeNdR*FH{DF%H0=#n*Cw+$GN@2TYY(`&3$+F z+q3)H{6L%E*A@oa!oGHKpk3V4-tVWkQ(IHRmu5jxw+h3l>3)HV`RXa2F-^hAH2H*S z`k~YIgq}0aTW!lrBKatJW#iPieV$L)*~IfqQ^#~pG%XhW-iV|iK?R6|SP9_qCK{H{ z^e#V=RCVS70*IT4la}=fUUZsPP!FrD5z@$RM~sS32`?w^_%*B6NkFJ;Q!!GmB_Xj# z>fWeY?Wj@p#V3SOaa(yVNoYr|$KnmgFJ^osEknkr1F;pJxiF&tE`1$L!GxUxcpzhp k57DcK=#4{k{t&(LS5Crj|D8$Wncd>a?=L+>pv7hW1$MqomH+?% literal 0 HcmV?d00001 diff --git a/Base/views/views.py b/Base/views/views.py new file mode 100644 index 0000000..8c4181b --- /dev/null +++ b/Base/views/views.py @@ -0,0 +1,21 @@ +from django.shortcuts import render +from django.views.generic import TemplateView +from django.contrib.auth.mixins import LoginRequiredMixin #, PermissionRequiredMixin +from django.utils import timezone + + + +# Create your views here. + +def Home(request): + context = { 'ok':'ok', } + return render(request,'Login/Home.html',context ) + +class Dashboard(LoginRequiredMixin, TemplateView): + template_name = 'Login/Dashboard.html' + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + Day = timezone.localtime(timezone.now()) + context['User'] = self.request.user.username.capitalize() + context['Day'] = Day + return context diff --git a/Setup/__pycache__/__init__.cpython-312.pyc b/Setup/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94b147decf3104041799f53658fb4a9521713b5d GIT binary patch literal 152 zcmX@j%ge<81maPzGC=fW5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!GIzF$2`x@7Dvk+H zElVvb$%NiEJU$uEEl_!p(e1gDmi7R1EIXXa&=#K-FuRNmsS$<0qG%}KQ@Vg;JR S2*kx8#z$sGM#ds$APWE>cO_W> literal 0 HcmV?d00001 diff --git a/Setup/__pycache__/settings.cpython-312.pyc b/Setup/__pycache__/settings.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0acffeeb82d1f787045d564bca23c34981fd5f8 GIT binary patch literal 2781 zcmb7G&u`mQ9Jlj3PMoD}+GSg}xlHQFU`{)r+t3)eiQ7e_Nr=-GtV))f_nNwMY|qbG zsZY6c;l>V}xFP-&E~_}K@@WDI2~OD%7fyWbq-~TJ0#ZDetRB$K(ih9L?wuZr8Lq z2|GQDvutx8w;i5g*0F(Y)xn6{IpnURz~ZKgx|+ceN41@i=5?+|zy~*S`4NAMzYW%F z;IV7kn9~e!-c=pVG&uNm_B05m>G*w!j+s5jvB<~8A~M^AAI3Pzplx=G*eHU-qGMWG zn-ovdEe_o~dzjnp={l!t#No`{v+bw`fIenRAh_ML@lBPi6z)DURBPqk_m&FR^iTE{)yH@C7t!JV&fSA0)l_;<-d%kBA-2qR z+gfQaF0~3_H@ST4HopWv%PzZo_ZGjratDZ8OUrKh06)RDV;a0^cM5SgHw?(PO~bLZ z9X^2HotfnJAh$~sOy2|>j&o>X;+~%n5=;mj$m@bG2-FT(T%5FU;0W9P!4WUAsuB#@ z-5lw3HH370pxT%ZaM7GYUh)Bg#m1@3{czIdC<%VdUK;YotO~COfy(FtM5SQ*4^?9C z@+BA^YWQGG_4Y(ADnK}%hX6F7r?rE^9W$KV#0g;I#v4Nr$E;S~unApjKiXH@kDz(@ zFV}3fi|dx(C1lKw37V4c**bBHBOea#S~~P4zXQhDKqq~}mxC5rm{*clO@LZhJst9ZT9s?=+eJ2%ARfOIrowJd-zI3F*L@UGg^ozt>KJ7@5a$GYa= z4_pSAqje$V#l+frr6zijny?|-@Rm^SgNd|*qOep#4on*am+oV_#qPv6#l*aMAGj%N-&ds_#!UKiV1`*jad z%elE@yHi3SSBnx{W(~mDbmMUSLuVAd*l^*-i(QN~wdh5I*}Xgp4tRG>gmuENY8~h( zb4|lK@}j!g(F~U@b{-mrxY{^6~jL zCZ_%bdoc@c9K-PvtAZr@h2k-iSZazb<#X{XFIpB?H`hH@s8;J+Vp(}mms*mSsnnzv zuz&&8C3(z7rChFxTS8Ox(#?9krEE5w(e`Bx$SOEGrL%Y6XOKs9&}!)YdnJbx|qR%OW_eY>0|nhnh=lLc*2h zJ2fxnuUax>-U81hKf0G1t^IVoEms`sLA%$=mFX;WAX^z-BU*0?raC$ zw|(*q^VXr4xCbZP)A4Fl?OZ|*-&EgYp5 zeo0+>p1N_Ay74@>%AVwwGe)QMuy*~SjNlu6QnOAd(Ob8@7Dm&j# z4-!;Pq>rcOzh#ee`4?&K6&1Ob8H8gw=4CP!jSa#q8|o(qSE$_k&!{Z;jb@Ig`QvQ< z>Aj=u^_S6b7IdP4&P6JD?panIghODL2#Cfw@x?gN91^qaeCQdKA1qQ+`9Aw1eYKx_ zkvi8;ynwW0gEW;n-)D|9b5HX}nT3ApI6d1>9<#Gg<45dO*aJh&ee{f)hF!8b5X>$B OaXfeBh?=o^K<-~WyOk#Z literal 0 HcmV?d00001 diff --git a/Setup/__pycache__/urls.cpython-312.pyc b/Setup/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3db99d4d393dd37854fee3cbd008604569006b6 GIT binary patch literal 1091 zcmb7DK~K~`6rOflcIgTjPaX%2S(;!QFkBjtC`u$Tny7?i-DD~4>~7aira0^s-J4q z%i!_=f)f;?HVU;+k2R{dbxp;!xJHe(LCvAUDRsmdnhtpSa6`ks%sMu%1 zY=#r3+9+48_4RgRuWmQ|11PpOUp&PDOL|d10Z}Q(=s`tS=29<^-6&fFs2Z;g4n@at2JNh8Zb)capF_5(o%8D zw$@@_h`T!=EF44q8w(}}gexLW!MLLH1hD>xjjDHi(N!RG_8*Kkk|55)DCvUS6b>3@1qYSS|mbLSRDgVrNCuV&Y46Hh}RHDFb*|zmf z-Ah}`O+TbjV(Yn~9M9`z_5MVWcXPBq`4B8F_C2#F^Ln=nx2D_8r%R%sPx5Go!(&5v zbBsMVAj3_SHbf*zZYWK8bL^ZyqDxptKku!1olQZw=xmW)!X-;OkBE2!7w~uDIq!Fh zhtW|ePP&&jmMIIfnB3>r0Ykkru?*9BP1CdseMU2WV5H4{L3b`DkU4pH^JwYBJN8ai ik5|u(+n*1Oj3CMCV~ z#0PNT8&E%mOA#O>pFoHMoIts8Vx2U!bJ%$^v-9T7YTvJ|Imp;e|JU#hM(BGPEUj`5 zW`_p6MHKmnVrnt$W8-aRWwvi)1bDQ%Y`O5G+67)BTA^1?twn^9g}^>NFZnA|tFdzY z**WO7+9VcykS1gxBzOR%7p?&^bpA6dc;_C$bdwOL?jb*%-}AA z2{1B=WI8YLC<99R{V2~_8b>-6yx%u`PtA->NFXUUuW zjpnnRPOBUCcK7z$omMY=(QWQO-#xC+cXt(No$^FAszo&njesyLETM{P3mI-~)Vn3A zw9S~J3Vf1E!3)PUQW!*IriK&s%tJeAaf2Tf2fwaEV`x-tpo zB7&0N&8Nlc!^QJHl6AvjJ`7Tu=J;)6jQ?0wT$x=**!h9(eMQ!5=fwGf)<2;2vkmub V^YJIN^R0gCWBv9?O Erro 403
+ +{% endblock %} \ No newline at end of file diff --git a/Templates/404.html b/Templates/404.html new file mode 100644 index 0000000..fab86fa --- /dev/null +++ b/Templates/404.html @@ -0,0 +1,11 @@ + + + + + Não Encontrado + + +

Algo deu ruim ai .

+ Home + + \ No newline at end of file diff --git a/Templates/Base.html b/Templates/Base.html new file mode 100644 index 0000000..e627969 --- /dev/null +++ b/Templates/Base.html @@ -0,0 +1,25 @@ + + + + + {% block title %} {% endblock %} + + + + + + + {% include 'components/_header.html' %} +
+ {% block content %} + {% endblock %} +
+ {% include 'components/_footer.html' %} + + + + \ No newline at end of file diff --git a/Templates/BaseLogin.html b/Templates/BaseLogin.html new file mode 100644 index 0000000..b62ebc9 --- /dev/null +++ b/Templates/BaseLogin.html @@ -0,0 +1,43 @@ + + + + + {% block title %} {% endblock %} + + + + + + + {% include 'components/_header.html' %} +
+ +
+
+
+
+ {% include 'components/_msg.html' %} + {% block content %} + {% endblock %} +
+
+
+
+
+ {% include 'components/_footer.html' %} + + + + \ No newline at end of file diff --git a/Templates/components/_footer.html b/Templates/components/_footer.html new file mode 100644 index 0000000..08d87c6 --- /dev/null +++ b/Templates/components/_footer.html @@ -0,0 +1,12 @@ + + \ No newline at end of file diff --git a/Templates/components/_header.html b/Templates/components/_header.html new file mode 100644 index 0000000..305f367 --- /dev/null +++ b/Templates/components/_header.html @@ -0,0 +1,34 @@ +{% load tz %} + + \ No newline at end of file diff --git a/Templates/components/_msg.html b/Templates/components/_msg.html new file mode 100644 index 0000000..538e3bf --- /dev/null +++ b/Templates/components/_msg.html @@ -0,0 +1,17 @@ +{% if messages %} + {% for message in messages %} + + {% endfor %} +{% endif %} + + \ No newline at end of file diff --git a/Templates/components/_pagination.html b/Templates/components/_pagination.html new file mode 100644 index 0000000..d4b587d --- /dev/null +++ b/Templates/components/_pagination.html @@ -0,0 +1,49 @@ +{% if page_obj.has_other_pages %} + +{% endif %} \ No newline at end of file diff --git a/Templates/components/_sidebar.html b/Templates/components/_sidebar.html new file mode 100644 index 0000000..6f98c69 --- /dev/null +++ b/Templates/components/_sidebar.html @@ -0,0 +1,10 @@ +{% if user.is_authenticated %} + +{% endif %} diff --git a/Templates/components/_sidebar_admin.html b/Templates/components/_sidebar_admin.html new file mode 100644 index 0000000..f1d93c3 --- /dev/null +++ b/Templates/components/_sidebar_admin.html @@ -0,0 +1,29 @@ +{% if user.is_authenticated %} + {% if user.is_superuser %} +
+
+ {% if user.is_superuser %} + Dashboard Admin {% endif %} + {% if user.is_superuser %} + Dashboard Test {% endif %} + + {% if perms.Base.view_bankaccount %} + Banks {% endif %} + {% if perms.Movement.view_paymentmethod %} + Metodos de Pag. {% endif %} + {% if perms.Base.view_product %} + Lista de Produtos {% endif %} + {% if perms.Base.view_professional %} + Professional {% endif %} + {% if perms.Calendar.view_time %} + Horarios {% endif %} + {% if perms.Base.view_service %} + Lista de Service {% endif %} + {% if perms.Movement.view_expensemovementt %} + Lista de Despesa {% endif %} +
+
+ {% endif %} +{% endif %} \ No newline at end of file diff --git a/Templates/registration/login.html b/Templates/registration/login.html new file mode 100644 index 0000000..339d5b0 --- /dev/null +++ b/Templates/registration/login.html @@ -0,0 +1,44 @@ +{% extends 'Base.html' %} +{% block title %}Login{% endblock %} + +{% block content %} +
+
+
+
+
+
Login
+
+ {% csrf_token %} +
+ + +
+
+ + +
+
+ +
+
+ {% if form.errors %} +
+
    + {% for field in form %} + {% for error in field.errors %} +
  • {{ error }}
  • + {% endfor %} + {% endfor %} + {% for error in form.non_field_errors %} +
  • {{ error }}
  • + {% endfor %} +
+
+ {% endif %} +
+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..b15468acb24b1f24f0d441a48202631456babc5d GIT binary patch literal 131072 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 literal 0 HcmV?d00001