Assalamu'alaikum warohmatullah,
Tidak sedikit perusahaan yang memiliki kerangka kerja yang baku saat mengerjakan sebuah project, maka kesempatan kali ini saya ingin berbagi pengalaman tentang bagaimana membuat template project di odoo 12.
berikut tahapan yang kita lakukan :
1. Seperti biasa, mari kita membuat modul bernama project_template (bebas)
2. Tambahkan depends 'project' pada field __manifest__.py
3. Buka file models/model.py dan masukkan kode di bawah ini
from odoo import models, fields, api class ProjectStageTemplate(models.Model): _inherit = 'project.task.type' project_management = fields.Boolean(string='Project Management') preparation = fields.Boolean(string='Preparation') mobilization = fields.Boolean(string='Mobilization') operation = fields.Boolean(string='Operation') demobilization = fields.Boolean(string='Demobilization') reporting = fields.Boolean(string='Reporting') others = fields.Boolean(string='Others') class CreateProjectTemplate(models.Model): _inherit = 'project.project' @api.model def create(self, values): stages = [] obj_task_type = self.env['project.task.type'].search( ['|', '|','|','|','|','|', ('project_management','=',True), ('preparation','=',True), ('mobilization','=',True), ('operation','=',True), ('demobilization','=',True), ('reporting','=',True), ('others','=',True), ]) for x in obj_task_type: stages.append(x.id) values['type_ids'] = [(6,0,stages)] return super(CreateProjectTemplate, self).create(values)
4. setelah itu mari kita buat template tipe project dengan membuat file data/stage_templates.xml dan masukkan kode berikut ini :
<odoo> <data> <!-- Record Templates Project Stage --> <record id="stage_project_management" model="project.task.type"> <field name="sequence">1</field> <field name="name">Project Management</field> <field name="project_management" eval=" </record> <record id="stage_preparation" model="project.task.type"> <field name="sequence">2</field> <field name="name">Preparation</field> <field name="preparation" eval="True"/> </record> <record id="stage_mobilization" model="project.task.type"> <field name="sequence">3</field> <field name="name">Mobilization</field> <field name="mobilization" eval="True"/>
</record> <record id="stage_operation" model="project.task.type"> <field name="sequence">4</field> <field name="name">Operation</field> <field name="operation" eval="True"/> </record> <record id="stage_demobilization" model="project.task.type"> <field name="sequence">5</field> <field name="name">Demobilization</field> <field name="demobilization" eval="True"/> </record> <record id="stage_reporting" model="project.task.type"> <field name="sequence">6</field> <field name="name">Reporting</field> <field name="reporting" eval="True"/> </record> <record id="stage_others" model="project.task.type"> <field name="sequence">7</field> <field name="name">Others</field> <field name="others" eval="True"/> </record> </data> </odoo>
Jika semua tahapan sudah selesai, mari kita install dan mencoba modulnya.
Sekian artikel dari saya, kurang-lebihnya saya mohon maaf.
Wassalamu'alaikum warohmatullah wabarokatuh