【odoo】修改test案例爲班級管理模塊

一、views.xml文件

1、導航欄設計

 

<!-- Top menu item 第一級-->

<menuitem name="班級管理" id="menu_root"/>

<!-- menu categories第二級 -->

<menuitem name="學生管理" id="menu_1" parent="menu_root"/>
<menuitem name="課程管理" id="menu_2" parent="menu_root"/>
<menuitem name="班級活動" id="menu_3" parent="menu_root"/>
<menuitem name="班級論壇" id="menu_4" parent="menu_root"/>

<!-- actions 第三級-->

<menuitem name="學生信息" id="menu_1_list" parent="menu_1"
          action="action_student_info_list"/>
<menuitem name="學生幹部" id="menu_1_list2" parent="menu_1"
          action="action_student_info_list"/>
<menuitem name="大一學年" id="menu_2_list1" parent="menu_2"
          action="action_student_info_list"/>
<menuitem name="大二學年" id="menu_2_list2" parent="menu_2"
          action="action_student_info_list"/>
<menuitem name="班級聚餐" id="menu_3_list1" parent="menu_3"
          action="action_student_info_list"/>
<menuitem name="班級出遊" id="menu_3_list2" parent="menu_3"
          action="action_student_info_list"/>
<menuitem name="學院運會" id="menu_3_list3" parent="menu_3"
          action="action_student_info_list"/>
<menuitem name="正式通知" id="menu_4_list1" parent="menu_4"
          action="action_student_info_list"/>
<menuitem name="大軍水羣" id="menu_4_list2" parent="menu_4"
          action="action_student_info_list"/>

效果圖:

 

 

2、視圖動作

 

<!-- 視圖動作,顯示右側視圖 -->

<record model="ir.actions.act_window" id="action_student_info_list">
  <field name="name">學生信息列表</field>
  <field name="res_model">classmanager.student</field>     對應數據表classmanager.student
  <field name="view_mode">tree,form</field>
</record>

<record model="ir.actions.act_window" id="action_student_leader_list">
  <field name="name">學生幹部列表</field>
  <field name="res_model">classmanager.studentleader</field>
  <field name="view_mode">tree,form</field>
</record>

<record model="ir.actions.act_window" id="action_course_info_list">
  <field name="name">課程列表</field>
  <field name="res_model">classmanager.course</field>
  <field name="view_mode">tree,form</field>
</record>

3、tree視圖

 

 

<!-- tree視圖explicit list view definition -->
<!--學生信息-->
<record model="ir.ui.view" id="student_list">
  <field name="name">學生信息列表</field>
  <field name="model">classmanager.student</field>
  <field name="arch" type="xml">
    <tree>
      <field name="name"/>
      <field name="value"/>
      <field name="value2"/>
      <field name="description"/>
    </tree>
  </field>
</record>
<!--學生幹部-->
<record model="ir.ui.view" id="student_leader_list">
  <field name="name">學生幹部列表</field>
  <field name="model">classmanager.studentleader</field>
  <field name="arch" type="xml">
    <tree>
      <field name="stuname"/>
      <field name="position"/>
      <field name="time"/>
      <field name="starttime"/>
      <field name="aboutjob"/>
    </tree>
  </field>
</record>
<!--課程管理-->
<record model="ir.ui.view" id="course_manager">
  <field name="name">課程管理</field>
  <field name="model">classmanager.course</field>
  <field name="arch" type="xml">
    <tree>
      <field name="cname"/>
      <field name="teacher"/>
      <field name="term"/>
      <field name="classtime"/>
      <field name="aboutcourse"/>
    </tree>
  </field>
</record>

 

 

 

4、form視圖

 

<!-- form視圖 -->
<!--添加學生-->
<record id="view_form_add_student" model="ir.ui.view">
  <field name="name">添加學生</field>
  <field name="model">classmanager.student</field>
  <field name="arch" type="xml">
    <form>
      <sheet>
        <group name="group_top" string="填寫學生信息">
          <field name="name"/>
          <field name="value"/>
          <field name="value2"/>
          <field name="description"/>
        </group>
      </sheet>
    </form>
  </field>
</record>

<!--添加學生幹部-->
<record id="view_form_add_student_leader" model="ir.ui.view">
  <field name="name">添加學生幹部</field>
  <field name="model">classmanager.studentleader</field>
  <field name="arch" type="xml">
    <form>
      <sheet>
        <group name="group_top" string="填寫學生幹部信息">
          <field name="stuname"/>
          <field name="position"/>
          <field name="time"/>
          <field name="starttime"/>
          <field name="aboutjob"/>
        </group>
      </sheet>
    </form>
  </field>
</record>

<!--添加課程-->
<record id="view_form_add_course" model="ir.ui.view">
  <field name="name">添加課程</field>
  <field name="model">classmanager.course</field>
  <field name="arch" type="xml">
    <form>
      <sheet>
        <group name="group_top" string="填寫課程信息">
          <field name="cname"/>
          <field name="teacher"/>
          <field name="term"/>
          <field name="classtime"/>
          <field name="aboutcourse"/>
        </group>
      </sheet>
    </form>
  </field>
</record>

 

 

 

二、models.py

 

# -*- coding: utf-8 -*-

from odoo import models, fields, api

class Student(models.Model):
    _name = 'classmanager.student'

    name = fields.Char(string="姓名")
    value = fields.Integer(string="年齡")
   # value2 = fields.Float(compute="_value_pc", store=True)
    value2 = fields.Date(string="出生日期")
    description = fields.Text(string="自我介紹")

    # @api.depends('value')
    # def _value_pc(self):
    #     self.value2 = float(self.value) / 100

class Leader(models.Model):
    _name = 'classmanager.studentleader'

    stuname = fields.Char(string="姓名")
    position = fields.Char(string="擔任職位")
    time = fields.Integer(string="任期")
   # value2 = fields.Float(compute="_value_pc", store=True)
    starttime = fields.Date(string="上任時間")
    aboutjob = fields.Text(string="工作簡述")

class course(models.Model):
    _name = 'classmanager.course'

    cname = fields.Char(string="課程名")
    teacher = fields.Char(string="任課教師")
    term = fields.Integer(string="持續時間(學期)")
   # value2 = fields.Float(compute="_value_pc", store=True)
    classtime = fields.Date(string="每週上課時間")
    aboutcourse = fields.Text(string="課程簡述")

三、效果圖

 

 

 

 

注意:

1、開發過程中,如果item沒有action屬性,則這個item也不會出現在界面上,item的id不能重複,否則後面的item會覆蓋前面的item。

2、卸載應用過程中不能忽然中斷,否則容易發生某模塊已經刪除,另一依賴這個模塊的模塊無法加載,導致odoo無法啓動

3、修改模塊的數據表名,必須重新啓動odoo

4、xml中的manager.student等是對應模型的_name

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章