Thêm 02 models:

1. Health Records
2. Diet Plan: embedded Diet line
This commit is contained in:
mtpc4s9 2025-11-21 21:39:24 +07:00
parent ff24529f43
commit 44645e7c70
10 changed files with 114 additions and 7 deletions

View File

@ -30,5 +30,6 @@
'security/ir.model.access.csv',
'views/zoo_animal_views.xml',
'views/zoo_creature_views.xml',
'views/zoo_cage_views.xml',
],
}

View File

@ -1,2 +1,3 @@
from . import zoo_animal
from . import zoo_creature
from . import zoo_creature
from . import zoo_cage

Binary file not shown.

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class ZooCage(models.Model):
_name = 'zoo.cage'
_description = 'Zoo Cage'
_order = 'name'
name = fields.Char(string='Cage Name', required=True)
capacity = fields.Integer(string='Capacity', help='Maximum number of animals')
location = fields.Char(string='Location')
cage_type = fields.Selection([
('indoor', 'Indoor'),
('outdoor', 'Outdoor'),
('aquarium', 'Aquarium'),
('aviary', 'Aviary'),
], string='Cage Type', default='outdoor')
area = fields.Float(string='Area (m²)', help='Cage area in square meters')
description = fields.Text(string='Description')
active = fields.Boolean(string='Active', default=True)

View File

@ -11,6 +11,15 @@ class ZooCreature(models.Model):
('water', 'Water'),
('ground', 'Ground'),
('sky', 'Sky'),
('ocean', 'Ocean'),
('forest', 'Forest'),
('desert', 'Desert'),
('mountain', 'Mountain'),
('river', 'River'),
('lake', 'Lake'),
('pond', 'Pond'),
('sea', 'Sea'),
('cool', 'Cool'),
], string='Environment', default='ground')
is_rare = fields.Boolean('Is Rare', default=False)

View File

@ -1,3 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_zoo_animal,access_zoo_animal,model_zoo_animal,base.group_user,1,1,1,1
access_zoo_creature,access_zoo_creature,model_zoo_creature,base.group_user,1,1,1,1
access_zoo_creature,access_zoo_creature,model_zoo_creature,base.group_user,1,1,1,1
access_zoo_cage,access_zoo_cage,model_zoo_cage,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_zoo_animal access_zoo_animal model_zoo_animal base.group_user 1 1 1 1
3 access_zoo_creature access_zoo_creature model_zoo_creature base.group_user 1 1 1 1
4 access_zoo_cage access_zoo_cage model_zoo_cage base.group_user 1 1 1 1

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- Định nghĩa Form view -->
<record id="zoo_animal_form_view" model="ir.ui.view">
<field name="name">zoo.animal.form.view</field>
<field name="model">zoo.animal</field>
@ -93,6 +94,7 @@
</field>
</record>
<!-- Định nghĩa List view -->
<record id="zoo_animal_list_view" model="ir.ui.view">
<field name="name">zoo.animal.list.view</field>
<field name="model">zoo.animal</field>
@ -100,21 +102,22 @@
<list string="Animals" default_order="create_date desc">
<field name="image" widget="image" options='{"size": [64, 64]}'/>
<field name="name"/>
<field name="nickname"/>
<!-- <field name="nickname"/> -->
<field name="creature_id"/>
<field name="dob"/>
<field name="age"/>
<field name="gender"/>
<field name="weight"/>
<field name="mother_id"/>
<field name="father_id"/>
<field name="is_purchased"/>
<field name="number_of_children"/>
<!-- <field name="mother_id"/> -->
<!-- <field name="father_id"/> -->
<!-- <field name="is_purchased"/> -->
<!-- <field name="number_of_children"/> -->
<field name="is_alive"/>
</list>
</field>
</record>
<!-- Định nghĩa Action -->
<record id="action_zoo_animal" model="ir.actions.act_window">
<field name="name">Zoo Animal</field>
<field name="type">ir.actions.act_window</field>
@ -124,6 +127,7 @@
(0, 0, {'view_mode': 'form', 'view_id': ref('zoo_animal_form_view')})]"/>
</record>
<!-- Định nghĩa Menu -->
<menuitem id="menu_zoo"
name="Zoo"
sequence="10"

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<!-- Định nghĩa Form view -->
<record id="zoo_cage_form_view" model="ir.ui.view">
<field name="name">zoo.cage.form.view</field>
<field name="model">zoo.cage</field>
<field name="arch" type="xml">
<form>
<sheet>
<div class="oe_title">
<label for="name" string="Cage" class="oe_edit_only"/>
<h1><field name="name" placeholder="e.g. Cage A1"/></h1>
</div>
<group name="basic_information">
<group>
<field name="cage_type"/>
<field name="location"/>
<field name="capacity"/>
</group>
<group>
<field name="area"/>
<field name="active"/>
</group>
</group>
<group>
<field name="description" colspan="2" nolabel="1" placeholder="Description about the cage..."/>
</group>
</sheet>
</form>
</field>
</record>
<!-- Định nghĩa List view -->
<record id="zoo_cage_list_view" model="ir.ui.view">
<field name="name">zoo.cage.list.view</field>
<field name="model">zoo.cage</field>
<field name="arch" type="xml">
<list string="Cages" default_order="name">
<field name="name"/>
<field name="cage_type"/>
<field name="location"/>
<field name="capacity"/>
<field name="area"/>
<field name="active"/>
</list>
</field>
</record>
<!-- Định nghĩa Action -->
<record id="action_zoo_cage" model="ir.actions.act_window">
<field name="name">Cage</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">zoo.cage</field>
<field name="view_ids" eval="[(5, 0, 0),
(0, 0, {'view_mode': 'list', 'view_id': ref('zoo_cage_list_view')}),
(0, 0, {'view_mode': 'form', 'view_id': ref('zoo_cage_form_view')})]"/>
</record>
<!-- Định nghĩa Menu -->
<menuitem id="menu_zoo_cage"
name="Cage"
action="action_zoo_cage"
sequence="20"
parent="menu_zoo"
groups="base.group_user"/>
</data>
</odoo>