ผลต่างระหว่างรุ่นของ "Openerp/histest"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 55: | แถว 55: | ||
string='Appointment by date'), | string='Appointment by date'), | ||
} | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | === histest_view.xml === | ||
+ | |||
+ | '''ส่วน department form:''' | ||
+ | |||
+ | <syntaxhighlight lang="xml"> | ||
+ | <record model="ir.ui.view" id="view_histest_department_form"> | ||
+ | <field name="name">histest.department.form</field> | ||
+ | <field name="model">histest.department</field> | ||
+ | <field name="arch" type="xml"> | ||
+ | <form string="Patient" version="7.0"> | ||
+ | <group> | ||
+ | <field name="name"/> | ||
+ | <field name="appointment_ids"/> | ||
+ | </group> | ||
+ | </form> | ||
+ | </field> | ||
+ | </record> | ||
+ | |||
+ | <record model="ir.actions.act_window" id="action_histest_department"> | ||
+ | <field name="name">Department</field> | ||
+ | <field name="res_model">histest.department</field> | ||
+ | <field name="view_type">form</field> | ||
+ | <field name="view_mode">form,tree</field> | ||
+ | </record> | ||
+ | |||
+ | <menuitem name="แผนก" id="menu_histest_department" | ||
+ | parent="menu_histest_main" sequence="4" | ||
+ | action="histest.action_histest_department"/> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
รุ่นแก้ไขเมื่อ 07:36, 24 เมษายน 2557
เนื้อหา
สร้างโมเดล Department และเชื่อมโยงกับ Appointment เพื่อค้นหาและสร้างรายงาน
histest.py
class HISAppointment(osv.Model):
_name = 'histest.appointment'
_columns = {
'date': fields.date(string=u'วันที่',
required=True),
'patient_id': fields.many2one('histest.patient',
'Patient'),
'department_id': fields.many2one('histest.department',
'Department'),
}
class HISDepartment(osv.Model):
_name = 'histest.department'
_columns = {
'name': fields.char(size=200,
string=u'แผนก',
required=True),
'appointment_ids': fields.one2many('histest.appointment',
'department_id',
'Appointments'),
}
class HISDepartmentSearch(osv.TransientModel):
_name = 'histest.departmentsearch'
def appointment_search(self, cr, uid, ids, field_name=None,
arg=None, context=None):
appointment_obj = self.pool.get('histest.appointment')
dsearches = self.browse(cr, uid, ids)
result = {}
for dsearch in dsearches:
result[dsearch.id] = (
appointment_obj.search(cr, uid,
[('department_id','=',dsearch.department_id.id),
('date','=',dsearch.search_date)],
context=context))
return result
_columns = {
'department_id': fields.many2one('histest.department',
'Department'),
'search_date': fields.date(string=u'วันที่ต้องการหา'),
'appointment_ids': fields.function(appointment_search,
type='one2many',
relation='histest.appointment',
string='Appointment by date'),
}
histest_view.xml
ส่วน department form:
<record model="ir.ui.view" id="view_histest_department_form">
<field name="name">histest.department.form</field>
<field name="model">histest.department</field>
<field name="arch" type="xml">
<form string="Patient" version="7.0">
<group>
<field name="name"/>
<field name="appointment_ids"/>
</group>
</form>
</field>
</record>
<record model="ir.actions.act_window" id="action_histest_department">
<field name="name">Department</field>
<field name="res_model">histest.department</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
</record>
<menuitem name="แผนก" id="menu_histest_department"
parent="menu_histest_main" sequence="4"
action="histest.action_histest_department"/>
เอกสารครั้งก่อน ๆ
- โค้ดสำหรับการทดสอบครั้งที่ 1 วันที่ 27 มี.ค. 2557 - เกี่ยวกับ web module และการเรียก message
- โค้ดสำหรับการทดสอบครั้งที่ 2 วันที่ 3 เม.ย. 2557 - การทำ responsive css และ asynchronous request
- โค้ดสำหรับการทดสอบครั้งที่ 3 - การทำรายงาน