From 1925d8dd441d82935080ea089464c02aa304b079 Mon Sep 17 00:00:00 2001 From: mtpc4s9 Date: Sat, 29 Nov 2025 15:30:22 +0700 Subject: [PATCH] ok --- addons/zoo/__manifest__.py | 24 ++--- addons/zoo/demo/1_zoo_keeper_speciality.csv | 11 ++ addons/zoo/demo/2_hr_employee_keepers.csv | 16 +++ .../zoo/demo/3_zoo_keeper_certification.csv | 18 ++++ addons/zoo/models/__init__.py | 3 +- .../__pycache__/__init__.cpython-312.pyc | Bin 439 -> 473 bytes .../__pycache__/zoo_keeper.cpython-312.pyc | Bin 0 -> 3580 bytes addons/zoo/models/zoo_keeper.py | 102 ++++++++++++++++++ addons/zoo/security/ir.model.access.csv | 4 +- .../views/zoo_keeper_certificate_views.xml | 97 +++++++++++++++++ .../zoo/views/zoo_keeper_speciality_views.xml | 80 ++++++++++++++ addons/zoo/views/zoo_keeper_views.xml | 86 +++++++++++++++ addons/zoo_plus/__manifest__.py | 8 ++ .../src/xml/product_card_name_template.xml | 11 ++ .../zoo_plus/static/src/xml/product_price.xml | 20 ++++ 15 files changed, 465 insertions(+), 15 deletions(-) create mode 100644 addons/zoo/demo/1_zoo_keeper_speciality.csv create mode 100644 addons/zoo/demo/2_hr_employee_keepers.csv create mode 100644 addons/zoo/demo/3_zoo_keeper_certification.csv create mode 100644 addons/zoo/models/__pycache__/zoo_keeper.cpython-312.pyc create mode 100644 addons/zoo/models/zoo_keeper.py create mode 100644 addons/zoo/views/zoo_keeper_certificate_views.xml create mode 100644 addons/zoo/views/zoo_keeper_speciality_views.xml create mode 100644 addons/zoo/views/zoo_keeper_views.xml create mode 100644 addons/zoo_plus/static/src/xml/product_card_name_template.xml create mode 100644 addons/zoo_plus/static/src/xml/product_price.xml diff --git a/addons/zoo/__manifest__.py b/addons/zoo/__manifest__.py index b60f800..342d020 100644 --- a/addons/zoo/__manifest__.py +++ b/addons/zoo/__manifest__.py @@ -9,21 +9,12 @@ 'website': 'https://minhng.info', 'category': 'Uncategorized', # https://github.com/odoo/odoo/blob/18.0/odoo/addons/base/data/ir_module_category_data.xml 'version': '0.1', - 'depends': [ - 'product', - ], - 'data': [], - 'demo': [], - 'css': [], - # 'qweb': ['static/src/xml/*.xml'], - 'installable': True, - 'auto_install': False, - 'application': True, - - # Depends declaration + + # Dependencies 'depends': [ 'product', 'mail', + 'hr', ], # Data files declaration @@ -38,6 +29,13 @@ 'wizard/toy_add_views.xml', 'wizard/cage_update_views.xml', 'wizard/animal_feeding_views.xml', - 'views/zoo_husbandry_task_views.xml' + 'views/zoo_husbandry_task_views.xml', + 'views/zoo_keeper_views.xml', + 'views/zoo_keeper_certificate_views.xml', + 'views/zoo_keeper_speciality_views.xml', ], + + 'installable': True, + 'auto_install': False, + 'application': True, } \ No newline at end of file diff --git a/addons/zoo/demo/1_zoo_keeper_speciality.csv b/addons/zoo/demo/1_zoo_keeper_speciality.csv new file mode 100644 index 0000000..20ef21a --- /dev/null +++ b/addons/zoo/demo/1_zoo_keeper_speciality.csv @@ -0,0 +1,11 @@ +id,name,description +speciality_reptile,Reptile Care Specialist,Expertise in caring for snakeslizardsturtles and other reptiles +speciality_mammal,Mammal Care Specialist,Expertise in caring for large and small mammals +speciality_bird,Avian Care Specialist,Expertise in caring for birds and aviaries +speciality_aquatic,Aquatic Animal Specialist,Expertise in caring for fishamphibians and marine life +speciality_primate,Primate Behavior Specialist,Expertise in primate care and behavioral enrichment +speciality_carnivore,Large Carnivore Specialist,Expertise in caring for big catsbears and other carnivores +speciality_herbivore,Herbivore Nutrition Specialist,Expertise in herbivore diet planning and nutrition +speciality_nocturnal,Nocturnal Animal Specialist,Expertise in caring for nocturnal species +speciality_exotic,Exotic Species Specialist,Expertise in rare and exotic animal care +speciality_veterinary,Veterinary Assistant,Expertise in animal health monitoring and medical support diff --git a/addons/zoo/demo/2_hr_employee_keepers.csv b/addons/zoo/demo/2_hr_employee_keepers.csv new file mode 100644 index 0000000..b92a66d --- /dev/null +++ b/addons/zoo/demo/2_hr_employee_keepers.csv @@ -0,0 +1,16 @@ +id,name,is_zoo_keeper,work_email,mobile_phone,speciality_ids/id +keeper_sarah_chen,Sarah Chen,TRUE,sarah.chen@zoo.com,+1-555-0101,"speciality_reptile,speciality_exotic" +keeper_james_rodriguez,James Rodriguez,TRUE,james.rodriguez@zoo.com,+1-555-0102,"speciality_mammal,speciality_carnivore" +keeper_emily_watson,Emily Watson,TRUE,emily.watson@zoo.com,+1-555-0103,speciality_bird +keeper_michael_okonkwo,Michael Okonkwo,TRUE,michael.okonkwo@zoo.com,+1-555-0104,"speciality_primate,speciality_veterinary" +keeper_lisa_nguyen,Lisa Nguyen,TRUE,lisa.nguyen@zoo.com,+1-555-0105,speciality_aquatic +keeper_david_patel,David Patel,TRUE,david.patel@zoo.com,+1-555-0106,speciality_herbivore +keeper_anna_kowalski,Anna Kowalski,TRUE,anna.kowalski@zoo.com,+1-555-0107,"speciality_nocturnal,speciality_reptile" +keeper_robert_smith,Robert Smith,TRUE,robert.smith@zoo.com,+1-555-0108,speciality_carnivore +keeper_maria_santos,Maria Santos,TRUE,maria.santos@zoo.com,+1-555-0109,"speciality_bird,speciality_exotic" +keeper_william_jones,William Jones,TRUE,william.jones@zoo.com,+1-555-0110,speciality_mammal +keeper_sofia_garcia,Sofia Garcia,TRUE,sofia.garcia@zoo.com,+1-555-0111,speciality_primate +keeper_thomas_mueller,Thomas Mueller,TRUE,thomas.mueller@zoo.com,+1-555-0112,"speciality_veterinary,speciality_aquatic" +keeper_olivia_brown,Olivia Brown,TRUE,olivia.brown@zoo.com,+1-555-0113,"speciality_herbivore,speciality_mammal" +keeper_daniel_kim,Daniel Kim,TRUE,daniel.kim@zoo.com,+1-555-0114,speciality_exotic +keeper_isabella_rossi,Isabella Rossi,TRUE,isabella.rossi@zoo.com,+1-555-0115,"speciality_nocturnal,speciality_bird" diff --git a/addons/zoo/demo/3_zoo_keeper_certification.csv b/addons/zoo/demo/3_zoo_keeper_certification.csv new file mode 100644 index 0000000..322d521 --- /dev/null +++ b/addons/zoo/demo/3_zoo_keeper_certification.csv @@ -0,0 +1,18 @@ +id,certificate_code,name,employee_id/id,issue_date,expiry_date,description +cert_sarah_1,CERT-2023-001,Advanced Reptile Handling,keeper_sarah_chen,2023-01-15,2026-01-15,Certified in safe handling of venomous and non-venomous reptiles +cert_james_1,CERT-2023-002,Big Cat Safety Protocol,keeper_james_rodriguez,2023-02-20,2025-02-20,Certified in safe working practices around large carnivores +cert_emily_1,CERT-2023-003,Avian Health Management,keeper_emily_watson,2023-03-10,2026-03-10,Certified in bird disease prevention and health monitoring +cert_michael_1,CERT-2023-004,Primate Enrichment Specialist,keeper_michael_okonkwo,2023-04-05,2026-04-05,Certified in behavioral enrichment for primates +cert_lisa_1,CERT-2023-005,Aquatic Life Support Systems,keeper_lisa_nguyen,2023-05-12,2026-05-12,Certified in aquarium and aquatic system management +cert_david_1,CERT-2023-006,Herbivore Nutrition Certificate,keeper_david_patel,2023-06-18,2026-06-18,Certified in specialized diets for herbivorous animals +cert_anna_1,CERT-2023-007,Nocturnal Species Care,keeper_anna_kowalski,2023-07-22,2026-07-22,Certified in care and management of nocturnal animals +cert_robert_1,CERT-2023-008,Wildlife First Aid,keeper_robert_smith,2023-08-30,2025-08-30,Certified in emergency first aid for exotic animals +cert_maria_1,CERT-2023-009,Exotic Bird Training,keeper_maria_santos,2023-09-14,2026-09-14,Certified in positive reinforcement training for exotic birds +cert_william_1,CERT-2023-010,Large Mammal Husbandry,keeper_william_jones,2023-10-08,2026-10-08,Certified in care and management of large mammals +cert_sofia_1,CERT-2023-011,Primate Health Monitoring,keeper_sofia_garcia,2023-11-19,2026-11-19,Certified in primate health assessment and monitoring +cert_thomas_1,CERT-2023-012,Veterinary Assistant Wildlife,keeper_thomas_mueller,2023-12-05,2025-12-05,Certified veterinary assistant for exotic animals +cert_olivia_1,CERT-2024-001,Animal Nutrition Specialist,keeper_olivia_brown,2024-01-20,2027-01-20,Certified in zoo animal nutrition and diet formulation +cert_daniel_1,CERT-2024-002,Exotic Species Conservation,keeper_daniel_kim,2024-02-28,2027-02-28,Certified in conservation breeding programs for exotic species +cert_isabella_1,CERT-2024-003,Wildlife Behavior Analysis,keeper_isabella_rossi,2024-03-15,2027-03-15,Certified in animal behavior observation and analysis +cert_sarah_2,CERT-2024-004,Exotic Animal Transport,keeper_sarah_chen,2024-04-10,2026-04-10,Certified in safe transport of exotic reptiles +cert_james_2,CERT-2024-005,Animal CPR and Emergency Response,keeper_james_rodriguez,2024-05-22,2025-05-22,Certified in emergency medical response for zoo animals diff --git a/addons/zoo/models/__init__.py b/addons/zoo/models/__init__.py index 09e5407..1cc9acf 100644 --- a/addons/zoo/models/__init__.py +++ b/addons/zoo/models/__init__.py @@ -5,4 +5,5 @@ from . import zoo_health_record from . import zoo_diet_plan from . import zoo_diet_line from . import zoo_animal_meal -from . import zoo_husbandry_task \ No newline at end of file +from . import zoo_husbandry_task +from . import zoo_keeper \ No newline at end of file diff --git a/addons/zoo/models/__pycache__/__init__.cpython-312.pyc b/addons/zoo/models/__pycache__/__init__.cpython-312.pyc index cf9c9766d710c03ea7bc31a8d9e935868c62e46c..66b7048c737a421e351c16e71542badf505b155d 100644 GIT binary patch delta 126 zcmdnae3O~?G%qg~0}$+3s+sv~BCjN4!9?{`ffR-m&K!nZ&L~bshDt6??uirn1vMFO zaaHB#$7iRe7Ni#WX>v_gV$@cNwJaGKk$} WkiW|y4Mwte85Hg@NEGn_6#)Pyz8|3g delta 70 zcmcb~yq%f%G%qg~0}zOwQq6ogkyny2Wukg2OC_f!*Tgyf%zm1jlWiEaCTBC+aPb3G VF#>V1?BtD%vK;pq6pDC(TmWv857+H-BS^-#&Z*yyD(q;rt}p%*K0p~YTmpuO~_RLVuCzL_OOicyiG1L$$) z&2Qe!zWKfPMt_Y)LkQZ!U-H^lQH1`%2EFF%c6R>=oi&6J7HX(2l!dyd?5TUpUIBT~ z&k*)JLfA`$nuX3DN* zxwp6tdQC4pmz+q&;CH3yYMnR%*iW@ILwEcYqt>kJ^S#b_8U)8UVwKby``LkSs1Ryt zOIpQUcI@il&}>f}9v?bPRW%EFktUekh^F5o)Fk{Ed@Gs;eJLMt0t#0uiW5>4IBT;; zpdV3`yG^ymP7R}gqUlvaH4F5Zm=&ru*jG??nU4R8VbqAKJ5kM4`fhfDaB;2kbr8<6 zo@1;QIN5XpKi7#nlQ{H!Z1OqU1*>R(wpiD#BDrr-^_+^ap_@f8UUZqyy4~w6G+NXT z3%FoRG&K;9kR3bOdDl+Oc5duQC_S~ZxK>&%eOa{Q={>KI9_`%R37|}F<-_gtnXU90 zJ3VJ7=Ir>m9iOmc<977zy{MFVN9dGxl4xvZU3waO60_4qJAK-YP1w=GUQir+ZA(nk zGrhf!4!}Rb^bZ4&1=<}COB6&}J_eAXhJ9Gt^dAIbfa8)wAQWyU;kv5T3Raa874N6`K&@EXJqWWxUAwR8 zj#vWP+6oCHgp1oMeJCRlHhNsUz}G6mJ2wobVua z&DQc8&avK1Pn?F1i9rC*B2%4foM*tE7ZY#1h+XKs`zoAy{O0d3{r1xOlAU0Li;Q*_ zfQPA5E4j6^t7o5m@-q2)=Y7zOOs~ATotoN8O)+XQ3QjN<#@c&VaWpN-7a}Kn!OS7Zs7y>$m59rA9ytI5&o{wxs59k=?sH|&yP%;`~ z3CA}R2RlbOmfh4)!^r`QvHyxn4WQy2#cpV*;gJDUlB3wI4mF&{na$CIZyf<#dU@+dxjM<{1oC-Ntq%t2@!O4F2uXgdp&y%KkLIuFxymSN)k2_j#G zntyAtJ$75y?ly_sPn<;7oApl#g=Ei)2t5bF5i15HMwaC1Sti&Q&;k=hCRo@xk{f4G zgH*GkV$!V^16Bft4i61tk#^|1X~M1xD)htG?l&~rat9-WXIwBUO;)L$lmdmX(X@yH zMS(Cl!R-iNM=)Oq#T$ws$GCYS%wa7B!xoipPJ>e-#GX~`Z}-n2){q6#ZOh$RJi=f*%yfMlPYTDiCO`ReC(Y!b?X9ZlNN8F)x! zXJ3dTI}sEa{U3`)>NJ#*;%f2Bhjwg~SxOw=^LtY#p`wIPa(pGTc4GC!vl}lH^PTrz z!FZ_VBqsndzB>LQ_twkA<<5I>vZM^EQ>&+5%v^@&4-~BA1n2`uN_0N>%|~B+v@-s! zZ{jUvBO2H+C}T1Y1J|*>o9w?9_p!z+ zDR + + + + + zoo.keeper.certification.form.view + zoo.keeper.certification + +
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + + zoo.keeper.certification.list.view + zoo.keeper.certification + + + + + + + + + + + + + + + + Certifications + zoo.keeper.certification + list,form + +

+ Add a new Certification +

+

+ Track keeper certifications, issue and expiry dates. +

+
+
+ + + + +
+
\ No newline at end of file diff --git a/addons/zoo/views/zoo_keeper_speciality_views.xml b/addons/zoo/views/zoo_keeper_speciality_views.xml new file mode 100644 index 0000000..e7647a4 --- /dev/null +++ b/addons/zoo/views/zoo_keeper_speciality_views.xml @@ -0,0 +1,80 @@ + + + + + + zoo.keeper.speciality.form.view + zoo.keeper.speciality + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + + zoo.keeper.speciality.list.view + zoo.keeper.speciality + + + + + + + + + + + + Specialities + zoo.keeper.speciality + list,form + +

+ Add a new Speciality +

+

+ Create keeper specialities like Reptile Care, Mammal Care, etc. +

+
+
+ + + + +
+
\ No newline at end of file diff --git a/addons/zoo/views/zoo_keeper_views.xml b/addons/zoo/views/zoo_keeper_views.xml new file mode 100644 index 0000000..f97560e --- /dev/null +++ b/addons/zoo/views/zoo_keeper_views.xml @@ -0,0 +1,86 @@ + + + + + + hr.employee.form.zoo.inherit + hr.employee + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hr.employee.search.zoo.inherit + hr.employee + + + + + + + + + + + + Keepers + hr.employee + list,form,kanban + [('is_zoo_keeper', '=', True)] + {'default_is_zoo_keeper': True} + +

+ Add a new Zoo Keeper +

+

+ Manage keeper profiles, specialities, and certifications. +

+
+
+ + + + + + + + +
+
\ No newline at end of file diff --git a/addons/zoo_plus/__manifest__.py b/addons/zoo_plus/__manifest__.py index cd46409..2183939 100644 --- a/addons/zoo_plus/__manifest__.py +++ b/addons/zoo_plus/__manifest__.py @@ -8,10 +8,18 @@ 'version': '0.1', 'depends': [ 'zoo', # <-- depends on zoo (parent - Folder name) addon + 'point_of_sale', # <-- depends on point_of_sale addon ], 'data': [ 'security/ir.model.access.csv', ], + + 'assets': { + 'point_of_sale._assets_pos': [ + 'zoo_plus/static/src/xml/product_card_name_template.xml', + 'zoo_plus/static/src/xml/product_price.xml', + ], + }, 'demo': [], 'css': [], # 'qweb': ['static/src/xml/*.xml'], diff --git a/addons/zoo_plus/static/src/xml/product_card_name_template.xml b/addons/zoo_plus/static/src/xml/product_card_name_template.xml new file mode 100644 index 0000000..bf14b0b --- /dev/null +++ b/addons/zoo_plus/static/src/xml/product_card_name_template.xml @@ -0,0 +1,11 @@ + + + + + font-family: "Cambria"; + font-weight: 600; + font-size: 120%; + color: #2563eb; + + + \ No newline at end of file diff --git a/addons/zoo_plus/static/src/xml/product_price.xml b/addons/zoo_plus/static/src/xml/product_price.xml new file mode 100644 index 0000000..f295bdd --- /dev/null +++ b/addons/zoo_plus/static/src/xml/product_price.xml @@ -0,0 +1,20 @@ + + + + + font-family: "Aptos"; + font-weight: 600; + font-size: 120%; + color: #6711d6ff; + + + + + + font-weight: bold; + text-decoration: underline; + color: #7618f1ff; + + + + \ No newline at end of file