Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
170 มุมมอง

Hello everyone,

We are a development studio and we need to plan which projects our team members will be working on.

In Odoo (Planning + Projects), we use the Gantt view to allocate our collaborators across multiple projects.

  At the moment, each timeslot on the Planning Gantt displays the time and role (e.g. Developer, Graphic Designer), but what we would like is to display the project name instead of the role.

We already added a custom field x_studio_project (Many2one to project.project) with Odoo Studio, and it works well for allocation. However, we haven’t found a way to make this project name visible directly on the Gantt timeslots.

  • Is there any way to configure this in Studio (without code)?
  • Or is a small custom module (Python, overriding name_get on planning.slot) the only clean solution?
  • Has anyone seen a ready-made app in the Odoo Apps marketplace that does this?

Thanks in advance for your advice!

อวตาร
ละทิ้ง
ผู้เขียน คำตอบที่ดีที่สุด

Hi @Cybrosys,

Thanks a lot for your reply.

Your answer actually helped me realize that I could achieve my goal using the Gantt view in the Projects app rather than in the Planning app, which doesn’t quite fit our needs.

Now I can see, for each collaborator, the tasks they’re working on during the week and plan accordingly — that’s already very useful.

The only drawback is that, at this high-level view, we’d prefer to display the project name rather than the task name in the gantt view. Still, it’s great that there’s already color-coding by project.

If I understood correctly, I should be able to achieve this using the inherited view approach you shared. I haven’t managed to make it work yet, but I’ll take some time to learn more and give it another try.

Here are the steps I followed so far:

  • I created a new custom view under Parameters / Technical / UI / Views.
  • I defined it as project.task.dependency.view.gantt, inheriting from project.task.dependency.view.gantt, with inheritance mode set to Extended View.
  • Model: Task
  • Then I pasted your code.

However, this has no effect on my view.

For reference, when I click the debug icon and select View: Gantt, the view name displayed is project.task.view.gantt.

why should we use project.task.dependency.view.gantt instead?

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi,

To add your custom field in the project gantt view, You can create a view that inherits the "project.task.dependency.view.gantt" view and add the below code


    <xpath expr="//gantt/templates/div" position="inside">

        <div class="row no-gutters">

            <div class="col">

                <ul class="pl-1 mb-0">

                    <li>

                        <strong>Project :</strong>

                        <t t-esc="project_id.display_name"/>

                    </li>

                    <li>

                        <strong>Time :</strong>

                        <t t-esc="planned_date_begin.toFormat('yyyy-MM-dd hh:mm:ss a')"/>-

                        <t t-esc="date_deadline.toFormat('yyyy-MM-dd hh:mm:ss a')"/>

                    </li>

                    <!-- Like wise You can add any fields u need   -->

                </ul>

            </div>

        </div>

    </xpath>

   




Or If you need to do it through code You can use the below code


    <record id="project_task_dependency_view_gantt_inherit" model="ir.ui.view">

                <field name="name">project.task.dependency.view.gantt.inherit</field>

                <field name="model">project.task</field>

                <field name="inherit_id" ref="project_enterprise.project_task_dependency_view_gantt"/>

                <field name="arch" type="xml">

                    <!-- Add fields You need -->

                    <xpath expr="//gantt/templates/div" position="inside">

                        <div class="row no-gutters">

                            <div class="col">

                                <ul class="pl-1 mb-0">

                                    <li>

                                        <strong>Project :</strong>

                                        <t t-esc="project_id.display_name"/>

                                    </li>

                                    <li>

                                        <strong>Time :</strong>

                                        <t t-esc="planned_date_begin.toFormat('yyyy-MM-dd hh:mm:ss a')"/>-

                                        <t t-esc="date_deadline.toFormat('yyyy-MM-dd hh:mm:ss a')"/>

                                    </li>

                                    <!-- Like wise You can add any fields u need   -->


                                </ul>

                            </div>

                        </div>

                    </xpath>


                </field>

            </record>



Hope it helps.

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
ส.ค. 24
1986
1
มี.ค. 23
3123
Planning only on weekday, no weekends. แก้ไขแล้ว
1
พ.ย. 21
3001
1
ก.ย. 24
4302
0
มี.ค. 15
4039