Skip to content
Draft
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
97 changes: 97 additions & 0 deletions base_tier_validation_board/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
==========================
Tier Review Activity Board
==========================

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

.. |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/licence-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%2Fserver--ux-lightgray.png?logo=github
:target: https://github.com/OCA/server-ux/tree/18.0/base_tier_validation_board
:alt: OCA/server-ux
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-ux-18-0/server-ux-18-0-base_tier_validation_board
: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/server-ux&target_branch=18.0
:alt: Try me on Runboat

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

This module adds an tier review board with form, tree, kanban, calendar,
pivot, graph and search views.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to:

1. Access to the views from menu Boards.

From the form view of the tier review you can navigate to the origin of
the tier review.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-ux/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/server-ux/issues/new?body=module:%20base_tier_validation_board%0Aversion:%2018.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
-------

* ForgeFlow

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

- `ForgeFlow <https://www.forgeflow.com>`__:

- Jasmin Solanki (jasmin.solanki@forgeflow.com)

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.

.. |maintainer-JasminSForgeFlow| image:: https://github.com/JasminSForgeFlow.png?size=40px
:target: https://github.com/JasminSForgeFlow
:alt: JasminSForgeFlow

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-JasminSForgeFlow|

This module is part of the `OCA/server-ux <https://github.com/OCA/server-ux/tree/18.0/base_tier_validation_board>`_ 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 base_tier_validation_board/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
18 changes: 18 additions & 0 deletions base_tier_validation_board/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2024 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Tier Review Activity Board",
"summary": "Dashboard with kanban, list, pivot and graph views over"
" every pending/approved/rejected tier review, gated by an opt-in"
" group and per-document ACL.",
"version": "19.0.1.0.0",
"development_status": "Beta",
"maintainers": ["JasminSForgeFlow"],
"category": "Tools",
"website": "https://github.com/OCA/tier-validation",
"author": "ForgeFlow, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": ["base_tier_validation", "spreadsheet_dashboard"],
"data": ["security/groups.xml", "views/tier_review_view.xml"],
}
55 changes: 55 additions & 0 deletions base_tier_validation_board/i18n/base_tier_validation_board.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_tier_validation_board
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Comment: </strong>"
msgstr ""

#. module: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Requsted by: </strong>"
msgstr ""

#. module: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Todo by: </strong>"
msgstr ""

#. module: base_tier_validation_board
#: model:ir.model.fields,field_description:base_tier_validation_board.field_tier_review__related_model_instance
msgid "Document"
msgstr ""

#. module: base_tier_validation_board
#: model:ir.model.fields,field_description:base_tier_validation_board.field_tier_review__res_name
msgid "Resource Name"
msgstr ""

#. module: base_tier_validation_board
#: model:res.groups,name:base_tier_validation_board.group_show_tier_review_board
msgid "Show tier review board"
msgstr ""

#. module: base_tier_validation_board
#: model:ir.model,name:base_tier_validation_board.model_tier_review
msgid "Tier Review"
msgstr ""

#. module: base_tier_validation_board
#: model:ir.actions.act_window,name:base_tier_validation_board.open_boards_tier_reviews
#: model:ir.ui.menu,name:base_tier_validation_board.board_menu_tier_reviews
msgid "Tier Reviews"
msgstr ""
58 changes: 58 additions & 0 deletions base_tier_validation_board/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_tier_validation_board
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-06-26 10:45+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 4.17\n"

#. module: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Comment: </strong>"
msgstr "<strong>Commento: </strong>"

#. module: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Requsted by: </strong>"
msgstr "<strong>Richiesto da: </strong>"

#. module: base_tier_validation_board
#: model_terms:ir.ui.view,arch_db:base_tier_validation_board.tier_review_view_kanban
msgid "<strong>Todo by: </strong>"
msgstr "<strong>Da fare di: </strong>"

#. module: base_tier_validation_board
#: model:ir.model.fields,field_description:base_tier_validation_board.field_tier_review__related_model_instance
msgid "Document"
msgstr "Documento"

#. module: base_tier_validation_board
#: model:ir.model.fields,field_description:base_tier_validation_board.field_tier_review__res_name
msgid "Resource Name"
msgstr "Nome risorsa"

#. module: base_tier_validation_board
#: model:res.groups,name:base_tier_validation_board.group_show_tier_review_board
msgid "Show tier review board"
msgstr "Visualizza scheda revisione livelli"

#. module: base_tier_validation_board
#: model:ir.model,name:base_tier_validation_board.model_tier_review
msgid "Tier Review"
msgstr "Revisione livello"

#. module: base_tier_validation_board
#: model:ir.actions.act_window,name:base_tier_validation_board.open_boards_tier_reviews
#: model:ir.ui.menu,name:base_tier_validation_board.board_menu_tier_reviews
msgid "Tier Reviews"
msgstr "Revisioni livello"
2 changes: 2 additions & 0 deletions base_tier_validation_board/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import res_users
from . import tier_review
35 changes: 35 additions & 0 deletions base_tier_validation_board/models/res_users.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2026 OCA / @bosd
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import api, models


class Users(models.Model):
_inherit = "res.users"

@api.model
def tier_review_dashboard_action(self):
"""Expose the Tier Reviews dashboard as the destination of the
systray's "Show all reviews" footer link.

The base module ships ``tier_review_dashboard_action`` as a stub
returning ``False`` so the systray omits the link when no
dashboard module is installed. When this module is installed,
we point the link at the all-reviews kanban gated by
``group_show_tier_review_board``.
"""
action = self.env.ref(
"base_tier_validation_board.open_boards_tier_reviews",
raise_if_not_found=False,
)
if not action:
return False
# Only expose the link to users who can actually see the
# dashboard menu in the first place. Otherwise the link would
# take them to an action that immediately errors with an
# AccessError.
if not self.env.user.has_group(
"base_tier_validation_board.group_show_tier_review_board"
):
return False
return action.read()[0]
Loading
Loading