Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 88 additions & 0 deletions project_group/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=============
Project Group
=============

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:d80c6e6c5d23df4b85f0d969f29a4168d71e3fe77c68980ea913055e0e5dfe0b
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproject-lightgray.png?logo=github
:target: https://github.com/OCA/project/tree/19.0/project_group
:alt: OCA/project
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/project-19-0/project-19-0-project_group
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/project&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Allows us to define groups directly on projects.

**Table of contents**

.. contents::
:local:

Usage
=====

Now, when we use Invited internal users options on visibility, a groups
field will appear. Then, all users with access to the project will be
able to see project and related tasks.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/project/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/project/issues/new?body=module:%20project_group%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Dixmit

Contributors
------------

- Enric Tobella (``Dixmit <https://www.dixmit.com/>``\ \_\_)
- Xavier Bol <xavierbol@ik.me>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/project <https://github.com/OCA/project/tree/19.0/project_group>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions project_group/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
17 changes: 17 additions & 0 deletions project_group/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright 2025 Dixmit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Project Group",
"summary": """Add groups for filtering on projects""",
"version": "19.0.1.0.0",
"license": "AGPL-3",
"author": "Dixmit, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/project",
"depends": ["project"],
"data": [
"security/project_project.xml",
"views/project_project.xml",
],
"demo": [],
}
27 changes: 27 additions & 0 deletions project_group/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-02-12 16:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"

#. module: project_group
#: model:ir.model.fields,field_description:project_group.field_project_project__group_ids
msgid "Group"
msgstr "Gruppo"

#. module: project_group
#: model:ir.model,name:project_group.model_project_project
msgid "Project"
msgstr "Progetto"
24 changes: 24 additions & 0 deletions project_group/i18n/project_group.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * project_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: project_group
#: model:ir.model.fields,field_description:project_group.field_project_project__group_ids
msgid "Group"
msgstr ""

#. module: project_group
#: model:ir.model,name:project_group.model_project_project
msgid "Project"
msgstr ""
1 change: 1 addition & 0 deletions project_group/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import project_project
10 changes: 10 additions & 0 deletions project_group/models/project_project.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright 2025 Dixmit
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

from odoo import fields, models


class ProjectProject(models.Model):
_inherit = "project.project"

group_ids = fields.Many2many("res.groups", string="Groups")
3 changes: 3 additions & 0 deletions project_group/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"
2 changes: 2 additions & 0 deletions project_group/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- Enric Tobella (`Dixmit <https://www.dixmit.com/>`__)
- Xavier Bol \<<xavierbol@ik.me>\>
1 change: 1 addition & 0 deletions project_group/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Allows us to define groups directly on projects.
1 change: 1 addition & 0 deletions project_group/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Now, when we use Invited internal users options on visibility, a groups field will appear. Then, all users with access to the project will be able to see project and related tasks.
25 changes: 25 additions & 0 deletions project_group/security/project_project.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2025 Dixmit
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<record model="ir.rule" id="project_groups_rule">
<field name="name">Project: employees: Groups</field>
<field name="model_id" ref="project.model_project_project" />
<field name="domain_force">[
('privacy_visibility', '=', 'followers'),
('group_ids', 'in', user.all_group_ids.ids)
]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]" />
</record>

<record model="ir.rule" id="project_task_groups_rule">
<field name="name">Task: employees: Groups</field>
<field name="model_id" ref="project.model_project_task" />
<field name="domain_force">[
('project_id', '!=', False),
('project_id.privacy_visibility', '=', 'followers'),
('project_id.group_ids', 'in', user.all_group_ids.ids)
]</field>
<field name="groups" eval="[(4, ref('base.group_user'))]" />
</record>
</odoo>
Binary file added project_group/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.
Loading
Loading