Skip to content

Commit

Permalink
TA#66864 [16.0][MIG] project_task_type (#404)
Browse files Browse the repository at this point in the history
* TA#66864 [16.0][MIG] project_task_type

---------

Co-authored-by: Majda EL MARIOULI <[email protected]>
  • Loading branch information
lanto-razafindrabe and majouda authored Jul 7, 2024
1 parent 44bfcff commit 7b2f6d0
Show file tree
Hide file tree
Showing 16 changed files with 286 additions and 0 deletions.
1 change: 1 addition & 0 deletions .docker_files/main/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"depends": [
"project",
"project_task_date_planned",
"project_task_type",
],
"installable": True,
}
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ RUN gitoo install-all --conf_file /gitoo.yml --destination "${THIRD_PARTY_ADDONS
USER odoo

COPY project_task_date_planned /mnt/extra-addons/project_task_date_planned
COPY project_task_type /mnt/extra-addons/project_task_type

COPY .docker_files/main /mnt/extra-addons/main
COPY .docker_files/odoo.conf /etc/odoo
17 changes: 17 additions & 0 deletions project_task_type/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Project Task Type

This module adds the field `Type` to the form view of a task.

![Task Form](static/description/task_form.png?raw=true)

A task type can be a scenario, a bug issue, a milestone, etc.

## Configuration

The task types are editable under Project / Settings / Task Types.

![Task Type List](static/description/task_type_list.png?raw=true)

Contributors
------------
* Numigi (tm) and all its contributors (https://bit.ly/numigiens)
4 changes: 4 additions & 0 deletions project_task_type/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2024-today Numigi and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from . import models
20 changes: 20 additions & 0 deletions project_task_type/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2024-today Numigi and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

{
"name": "Project Task Type",
"version": "16.0.1.0.0",
"author": "Numigi",
"maintainer": "Numigi",
"website": "https://bit.ly/numigi-com",
"license": "LGPL-3",
"category": "Project",
"summary": "Add a field for typing tasks.",
"depends": ["project"],
"data": [
"views/project_task.xml",
"views/task_type.xml",
"security/ir.model.access.csv",
],
"installable": True,
}
103 changes: 103 additions & 0 deletions project_task_type/i18n/fr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_search_date_range
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-16 11:38-0400\n"
"PO-Revision-Date: 2022-06-16 11:45-0400\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: \n"
"X-Generator: Poedit 2.0.6\n"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__active
msgid "Active"
msgstr "Actif"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__color
msgid "Color Index"
msgstr "Index de la couleur"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__create_uid
msgid "Created by"
msgstr "Créé par"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__create_date
msgid "Created on"
msgstr "Créé le"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__description
msgid "Description"
msgstr "Description"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__display_name
msgid "Display Name"
msgstr "Nom affiché"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__id
msgid "ID"
msgstr "ID"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type____last_update
msgid "Last Modified on"
msgstr "Modifié le"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__write_uid
msgid "Last Updated by"
msgstr "Modifié par"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__name
msgid "Name"
msgstr "Nom"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_task_type__sequence
msgid "Sequence"
msgstr "Séquence"

#. module: project_task_type
#: model:ir.model,name:project_task_type.model_project_task
msgid "Task"
msgstr "Tâche"

#. module: project_task_type
#: model:ir.model,name:project_task_type.model_task_type
#: model_terms:ir.ui.view,arch_db:project_task_type.view_task_search_form_with_group_by_task_type_id
#: model_terms:ir.ui.view,arch_db:project_task_type.view_task_type_form
msgid "Task Type"
msgstr "Type de tâche"

#. module: project_task_type
#: model:ir.actions.act_window,name:project_task_type.task_type_action
#: model:ir.ui.menu,name:project_task_type.task_type_menu
#: model_terms:ir.ui.view,arch_db:project_task_type.view_task_type_search
#: model_terms:ir.ui.view,arch_db:project_task_type.view_task_type_tree
msgid "Task Types"
msgstr "Types de tâches"

#. module: project_task_type
#: model:ir.model.fields,field_description:project_task_type.field_project_task__task_type_id
msgid "Type"
msgstr "Type"
7 changes: 7 additions & 0 deletions project_task_type/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright 2024-today Numigi and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from . import (
project_task,
task_type,
)
14 changes: 14 additions & 0 deletions project_task_type/models/project_task.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright 2024-today Numigi and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from odoo import fields, models


class ProjectTaskWithType(models.Model):
"""Add the field task_type_id on tasks."""

_inherit = "project.task"

task_type_id = fields.Many2one(
"task.type", "Type", ondelete="restrict", index=True, tracking=True
)
18 changes: 18 additions & 0 deletions project_task_type/models/task_type.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2024-today Numigi and all its contributors (https://bit.ly/numigiens)
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).

from odoo import fields, models


class TaskType(models.Model):

# project.task.type is already used to designate a workflow stage for a task.
_name = "task.type"
_description = "Task Type"
_order = "sequence"

name = fields.Char(required=True, translate=True)
sequence = fields.Integer()
description = fields.Text(translate=True)
active = fields.Boolean(default=True)
color = fields.Integer(string="Color Index")
3 changes: 3 additions & 0 deletions project_task_type/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_task_type,access_task_type,model_task_type,,1,0,0,0
access_task_type_manager,access_task_type_admin,model_task_type,project.group_project_manager,1,1,1,1
Binary file added project_task_type/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions project_task_type/static/description/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<section class="oe_container">
<div class="oe_row oe_spaced">
<h2 class="oe_slogan">Add the field Type on tasks</h3>
<div class="oe_span12">
<div class="oe_span12">
<img src="task_form.png" class="oe_picture oe_screenshot">
</div>
</div>
</div>
</section>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions project_task_type/views/project_task.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<record id="view_task_form_with_task_type" model="ir.ui.view">
<field name="name">Task Form With Task Type</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="arch" type="xml">
<field name="user_ids" position="after">
<field name="task_type_id" />
</field>
</field>
</record>

<record id="view_task_search_form_with_task_type_id" model="ir.ui.view">
<field name="name">Search Task By Task Type</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_search_form" />
<field name="arch" type="xml">
<field name="stage_id" position="after">
<field name="task_type_id" />
</field>
</field>
</record>

<record id="view_task_search_form_with_group_by_task_type_id" model="ir.ui.view">
<field name="name">Group Tasks By Task Type</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_search_form" />
<field name="arch" type="xml">
<group position="inside">
<filter string="Task Type" name="group_by_task_type_id" context="{'group_by':'task_type_id'}" />
</group>
</field>
</record>

</odoo>
51 changes: 51 additions & 0 deletions project_task_type/views/task_type.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<odoo>

<record id="view_task_type_form" model="ir.ui.view">
<field name="name">Task Type Form</field>
<field name="model">task.type</field>
<field name="arch" type="xml">
<form string="Task Type">
<sheet>
<group>
<field name="name"/>
<field name="description"/>
<field name="sequence"/>
<field name="active"/>
</group>
</sheet>
</form>
</field>
</record>

<record id="view_task_type_tree" model="ir.ui.view">
<field name="name">Task Type List</field>
<field name="model">task.type</field>
<field name="arch" type="xml">
<tree string="Task Types">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="active"/>
</tree>
</field>
</record>

<record id="view_task_type_search" model="ir.ui.view">
<field name="name">Task Type Search</field>
<field name="model">task.type</field>
<field name="arch" type="xml">
<search string="Task Types">
<field name="name" string="Task Types"/>
</search>
</field>
</record>

<record id="task_type_action" model="ir.actions.act_window">
<field name="name">Task Types</field>
<field name="res_model">task.type</field>
<field name="view_mode">tree,form</field>
</record>

<menuitem action="task_type_action" id="task_type_menu" parent="project.menu_project_config"/>

</odoo>

0 comments on commit 7b2f6d0

Please sign in to comment.