From 3ae0293647a46c277068f7f498e1e54cadb4f254 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 13 Mar 2026 18:31:37 +0100 Subject: [PATCH] Primeira fase do projeto --- .__manifest__.py.swp | Bin 0 -> 12288 bytes __init__.py | 1 + __manifest__.py | 17 + __pycache__/__init__.cpython-313.pyc | Bin 0 -> 205 bytes models/__init__.py | 7 + models/__pycache__/__init__.cpython-313.pyc | Bin 0 -> 416 bytes .../__pycache__/academic_year.cpython-313.pyc | Bin 0 -> 775 bytes models/__pycache__/assessment.cpython-313.pyc | Bin 0 -> 863 bytes models/__pycache__/enrollment.cpython-313.pyc | Bin 0 -> 1060 bytes .../__pycache__/school_class.cpython-313.pyc | Bin 0 -> 862 bytes models/__pycache__/student.cpython-313.pyc | Bin 0 -> 838 bytes models/__pycache__/subject.cpython-313.pyc | Bin 0 -> 745 bytes models/__pycache__/teacher.cpython-313.pyc | Bin 0 -> 744 bytes models/academic_year.py | 9 + models/assessment.py | 17 + models/enrollment.py | 26 ++ models/school_class.py | 17 + models/student.py | 14 + models/subject.py | 12 + models/teacher.py | 9 + security/groups.xml | 15 + security/ir.model.access.csv | 8 + security/rules.xml | 10 + views/academic_views.xml | 0 views/assessment_views.xml | 0 views/class_views.xml | 0 views/enrollment_views.xml | 0 views/school_views.xml | 313 ++++++++++++++++++ views/student_views.xml | 0 views/subject_views.xml | 0 views/teacher_views.xml | 0 31 files changed, 475 insertions(+) create mode 100644 .__manifest__.py.swp create mode 100644 __init__.py create mode 100644 __manifest__.py create mode 100644 __pycache__/__init__.cpython-313.pyc create mode 100644 models/__init__.py create mode 100644 models/__pycache__/__init__.cpython-313.pyc create mode 100644 models/__pycache__/academic_year.cpython-313.pyc create mode 100644 models/__pycache__/assessment.cpython-313.pyc create mode 100644 models/__pycache__/enrollment.cpython-313.pyc create mode 100644 models/__pycache__/school_class.cpython-313.pyc create mode 100644 models/__pycache__/student.cpython-313.pyc create mode 100644 models/__pycache__/subject.cpython-313.pyc create mode 100644 models/__pycache__/teacher.cpython-313.pyc create mode 100644 models/academic_year.py create mode 100644 models/assessment.py create mode 100644 models/enrollment.py create mode 100644 models/school_class.py create mode 100644 models/student.py create mode 100644 models/subject.py create mode 100644 models/teacher.py create mode 100644 security/groups.xml create mode 100644 security/ir.model.access.csv create mode 100644 security/rules.xml create mode 100644 views/academic_views.xml create mode 100644 views/assessment_views.xml create mode 100644 views/class_views.xml create mode 100644 views/enrollment_views.xml create mode 100644 views/school_views.xml create mode 100644 views/student_views.xml create mode 100644 views/subject_views.xml create mode 100644 views/teacher_views.xml diff --git a/.__manifest__.py.swp b/.__manifest__.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..45eff17bc2541669585ee33ad9a5f43f4853e901 GIT binary patch literal 12288 zcmeI&zl+pB6bJA*D;s~;O4MQ+H`(t0 z6ZAi@6YcH~@UO5GUp83@%OTe)-+?dLWZs+2d|->PnU3$@x)WWACrZX~r4s!)-+LXa zH>VG)85NGJk>!!&;JK~XcdXTowvEqyur%7dba_1Jc(GQP+~6#fRC$-MWlpl-JeR4l zmMfQ(6w+qxoM|%NVW3 literal 0 HcmV?d00001 diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..3bb458c --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,17 @@ +{ + 'name': 'Gestao Escolar', + 'version': '1.0', + 'summary': 'Sistema de Gestão Escolar', + 'author': 'Sebastiao', + 'category': 'Education', + 'depends': ['base'], + + 'data': [ + 'security/groups.xml', + 'security/ir.model.access.csv', + 'views/school_views.xml', + ], + + 'installable': True, + 'application': True, +} diff --git a/__pycache__/__init__.cpython-313.pyc b/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58bcd692fcb0a7ed9d08a304acde7dac5c5783f2 GIT binary patch literal 205 zcmey&%ge<81oPf)$`l3Ck3k$5V1hC}3ji5Y8G;#t8NC_27>gJc7}A+EnO`yjg*6#( zvE}Bcq~;X+X)@hnC}IYRtz`HNBpGgb>1X8Urs}5yCG+!iQ}T6-^Gi$e^q6Uq^c}kI~2bFVqyXb33Xw!f^9Xal3aC;hdu}of!KJQNM(VA ztx{j0X9Je?&(C)5ET5*+F{AN){HWjQ`{ft^Bl^SXnefWiY|S6oJx9Lqj>r*4!7(|; zI5;6Em;|Tf6w~00oM9H6lXJ`$Y*Q>pKb+bx`HsZCoexi_WX zm{?T-G*UICwV}+tY>o0|W78otP5awqOy|a0zj|C21H+i^!Nf=EBlD5_D13}4-q?wf z4Nszi)`*R1EOaXkD+{g%aRR|hr^n0>MtPU!dyfIDom literal 0 HcmV?d00001 diff --git a/models/__pycache__/academic_year.cpython-313.pyc b/models/__pycache__/academic_year.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..33a702b99b93f21780ee70d23c51cb56aecc3b14 GIT binary patch literal 775 zcmah{&ui2`6rRZ@G42mb)!NchEDIiT=*CM0=~584AglJ!h#)KsF`4eBB$@4-$)PR6 zg5aSZs+Q8LSFipj-j=y2cv|ovtlpj3>{1Vc19|hk`M&ou^UaKFwK7s;IQks_Q1f@4 z%!V}u<1Gcwk&k@*7_~9rwgJW(T0(W?8_UQqb?~k|E4rLFN(Bb9Yr57*C$1swltnb* z(%y?{67ld-kB~V{#sdY;Q3nC`5g0y(l5c?Nm%!@SyVw3MDX`jz>09?PIEugiFMeaX z2<87OD!vWX?iJUO)dyh^(KHTU&;UmII7c^m*kded1XHGQsHmgbOt_|%&s;1Wpa*#j zH2Q>g+?sR<$%2#;BFls*2l7PYDj^4XkW865LiS?dB8fAaF-2RG8l{RT4P3a5(=7bmf@PIr_3Rm>-f)VBd9wg>m8!2*$$3Sk5ks6|P|XGV|kE zq>Axz#CRG<2}!678`B)g3JDKbG)yC!FkNaFR@YC?9?*mcXQ>ZIp|EEv6gKu^>Zii! zD;Z)7W1jkH6ktD-$za z4|1!KR~tW#(v~^u-q>KhHf~-vbE}qDYtp-Jj@r`eY`p8d?R+eMsoa0vV)c39eb*4W zlEzevVmwAy-Oi%9I$*(WNF=Ps#q@XC9cjw90(ebsHzf$+SJ3>WuR-_ytMSE$i{C)P GY33h;k>%(B literal 0 HcmV?d00001 diff --git a/models/__pycache__/enrollment.cpython-313.pyc b/models/__pycache__/enrollment.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..25ff4bc8592995132873b36f1b5cb88a59fda656 GIT binary patch literal 1060 zcmZ`&O>5LZ7@q7VX?ESO+Pd8e?bd>aJ#+(t2SEy@wn){2os&=)VlumpB$;(4DRe1x zLGa*3EtLKRz4}YUi_2UTJk?Wc_3k^#ZtKAYGV{F8Ja68w$$7b4MDVQt{N%6Z5c;8v z@nej@`7(ebgb~&rp$&~|8#$g^Kn=8raPB6;`E6~>96Md^ck>zMdRK25C(3B$q!}`g z211%0p9Y?AFZBpr1pEN(5!yyv!-(gw#`8GGb)4tMwz*aL*CoS{h>i_x-pg_8O2q`W zQbplPMFAI6MG+MB|3$G8zV=kZC0vF`C0ya{UTXRkmv&f>wndzH;3Fq+23ndlMa=!E+b@m2;0BHm(pXhne|khZuH(_rciVf^ z;r;T;$Xs{^W-G5+?YObOOQpGz?!XjW7WM)fQ%@FF$1vrc$fZG$@?*$LPy{41;n9wh z1o20-*{Vp3kjM!sA+ksa%rXfSE)nuFae~oFm5`3lMI87MjTjsosSl_;DqQaOVxL7^ zhtEsvi4*PJVG)(ZQ6Gr!Nh>W_q1w1gqN-F(0n>m&K`c^ja^ghD8-yt2yTpm1anF;O z3PSi41UQEmNo?=1klJ0icr04-*pgsL%lp zW%kuNzcr4%*)pWAvgay`tf$5k^^0ZssUBqNML^QJpN(vp-v(2IS2SQb&1;(W4K;u3 SGurIC-Q)fD`+pF?)blU4=N|U} literal 0 HcmV?d00001 diff --git a/models/__pycache__/school_class.cpython-313.pyc b/models/__pycache__/school_class.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a1e05ecfc2855202f3096825b8bdb39c9a143cfa GIT binary patch literal 862 zcmZ`&&ui2`6rRZ@Y1|*J){5&we;_COmSluAL`URK*fryhjD5R>U{B*|>wB!}*$ z3xWqPYN71at5^RLy)ARG;Hej>RPW9tyVirwVe-BAzBlvDmzm32t&G(8e*P&8F+$&T zFd5buT&^o{iU=b332I}&Z3B!YR7ZCaF&c=J_VKPgX}bD8EEO2cj@h)%b5P zXVrl6e;Lutf@C(&<_QCv8xi{E6yFEWVJ~UeX%4oJeTs&DE zIrY&@U8QI3S8cd6S$C&tNmFYBy+dJ;wXH8_v9~^9!EPudokxZL>oBiE^;D3ktLdVI YG5(4cf11}NJ7@#lMV@vGdHNwfD6En$=SO;uxiK&t^Fld}CJQkOXe4Bz zAJQlgy~}un{uKNKt0(9XaqJJH%YSh5wcEy1#sxh>YqVo*W2EMUy-Wg=xU@q>UR z!i{N0Mx4E(5SZV)yVR#SI^ychEQ}IRw86YXvr1#UJ6mgvpP!enO}8i8r~R|?y>V++ zxjyYoI;U^WD)%AaAMd<&W6CCMX06TY>px7rZohrTZ?87*I;J#KZ(Nnhl`;3!Bg`96 sC(NT8fTZ;#7k-Ctf(u^)i48E{b&T;>wE5F0WBYx78hwa z!6Hqx2)4Gi{wH?FGzP3LI`cfk7~s!~lz!VE3Heg?~dztQxV1y^6tA{u}@GJ7kWys|M7_ zJkCj68YbO`)_DPs9-ezlm+@Cfvi zPcOYW(NWhMG;Xvbr?C{(|oOwC1t%_UZfX LyY4Tf;570N_ejD* literal 0 HcmV?d00001 diff --git a/models/__pycache__/teacher.cpython-313.pyc b/models/__pycache__/teacher.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ef9f41963b6e7118d7a56ba36d8ec6c3ca66102 GIT binary patch literal 744 zcmah{zi-qq6t?rL;eHeW0;*Fb5E4U%HY^=bQ5RZ<-nBw?$CIp(xR;8FFBP3Vad*1E-4@d0^XyahRj)scvm9;% z<~tf(Ac6?)qkRl`-va9{T0{2`v3iKuLww{dNtf%EU1M-YPTfe+a>xVeReTc#TSA44>!Il4Jw1@}o z(MsT}E{Rjl^J5mpDTA5O^Kw-z_BLg`saBfkae$Q%?6k^&B_GjY&{006WmGUqRf|$B zyUGpjP{%t5pcG7J=SH`B8m7Ep;Yb&rmm3M+5WJE++~sjquu_VUC!B|I zB_uCslq9?qVZkao2L7Ds#JXo;qj_`u0!+Ub#uP<7(B?IocGf3*(;MrP!T0vH^X;?k z56+kN{mJgMbN#%3)_-%Lqf7W|4{j}wI1F6nm=}OKtQPAYm~T>FV|3Knw>47!qq>$m i(9 + + + Student + + + + Teacher + + + + School Manager + + + diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv new file mode 100644 index 0000000..b433f95 --- /dev/null +++ b/security/ir.model.access.csv @@ -0,0 +1,8 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_student,access_student,model_cefope_student,,1,1,1,1 +access_teacher,access_teacher,model_school_teacher,,1,1,1,1 +access_academic_year,access_academic_year,model_school_academic_year,,1,1,1,1 +access_class,access_class,model_school_class,,1,1,1,1 +access_subject,access_subject,model_school_subject,,1,1,1,1 +access_enrollment,access_enrollment,model_school_enrollment,,1,1,1,1 +access_assessment,access_assessment,model_school_assessment,,1,1,1,1 diff --git a/security/rules.xml b/security/rules.xml new file mode 100644 index 0000000..07456ec --- /dev/null +++ b/security/rules.xml @@ -0,0 +1,10 @@ + + + + Student sees only his record + + + [('user_id','=',user.id)] + + + diff --git a/views/academic_views.xml b/views/academic_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/assessment_views.xml b/views/assessment_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/class_views.xml b/views/class_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/enrollment_views.xml b/views/enrollment_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/school_views.xml b/views/school_views.xml new file mode 100644 index 0000000..1fce6aa --- /dev/null +++ b/views/school_views.xml @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + student.list + cefope.student + + + + + + + + + + + + student.form + cefope.student + +
+ + + + + + + + +
+
+
+ + + Students + cefope.student + list,form + + + + + + + + + + teacher.list + school.teacher + + + + + + + + + + + teacher.form + school.teacher + +
+ + + + + + + +
+
+
+ + + Teachers + school.teacher + list,form + + + + + + + + + + academic.year.list + school.academic.year + + + + + + + + + + + academic.year.form + school.academic.year + +
+ + + + + + + +
+
+
+ + + Academic Years + school.academic.year + list,form + + + + + + + + + + class.list + school.class + + + + + + + + + + + class.form + school.class + +
+ + + + + + + +
+
+
+ + + Classes + school.class + list,form + + + + + + + + + + subject.list + school.subject + + + + + + + + + + subject.form + school.subject + +
+ + + + + + +
+
+
+ + + Subjects + school.subject + list,form + + + + + + + + + + enrollment.list + school.enrollment + + + + + + + + + + + + enrollment.form + school.enrollment + +
+ + + + + + + + +
+
+
+ + + Enrollments + school.enrollment + list,form + + + + + + + + + + assessment.list + school.assessment + + + + + + + + + + + assessment.form + school.assessment + +
+ + + + + + + +
+
+
+ + + Assessments + school.assessment + list,form + + + + +
diff --git a/views/student_views.xml b/views/student_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/subject_views.xml b/views/subject_views.xml new file mode 100644 index 0000000..e69de29 diff --git a/views/teacher_views.xml b/views/teacher_views.xml new file mode 100644 index 0000000..e69de29