diff --git a/sequence_in_task/__init__.py b/sequence_in_task/__init__.py new file mode 100644 index 0000000..93e53e3 --- /dev/null +++ b/sequence_in_task/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Task Sequence Number +# +# Copyright (C) 2025 Alireza (AR) +# Author: Alireza (alir.riazi@gmail.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import models \ No newline at end of file diff --git a/sequence_in_task/__manifest__.py b/sequence_in_task/__manifest__.py new file mode 100644 index 0000000..df811f4 --- /dev/null +++ b/sequence_in_task/__manifest__.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Task Sequence Number +# +# Copyright (C) 2025 Alireza (AR) +# Author: Alireza (alir.riazi@gmail.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +{ + 'name': "Task Sequence Number", + 'version': '17.0.0.1', + 'summary': "Automatically assigns and displays a sequence number for tasks", + 'description': """ + Task Sequence Number enhances Odoo's project tasks by assigning + an automatic sequence number to each task. The sequence is + displayed in the task list view for quick identification. + + Key Features: + 📌 Automatic numbering of tasks + 📌 Sequence visible in the task tree view + 📌 Lightweight and easy to install + 📌 Fully integrated with Odoo's project workflow + """, + 'category': 'Project', + 'author': "Alireza (AR)", + 'maintainer': "Alireza", + 'support': "alir.riazi@gmail.com", + 'license': 'LGPL-3', + 'depends': ['project'], + 'data': [ + 'data/sequence.xml', + 'views/project_view.xml', + ], + 'images': ['static/description/banner.png'], + 'assets': { + 'web.assets_backend': [ + 'static/description/index.html', + ], + }, + 'installable': True, + 'application': False, + 'auto_install': False, +} \ No newline at end of file diff --git a/sequence_in_task/__pycache__/__init__.cpython-310.pyc b/sequence_in_task/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..946e508 Binary files /dev/null and b/sequence_in_task/__pycache__/__init__.cpython-310.pyc differ diff --git a/sequence_in_task/__pycache__/__init__.cpython-312.pyc b/sequence_in_task/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000..fc6c43c Binary files /dev/null and b/sequence_in_task/__pycache__/__init__.cpython-312.pyc differ diff --git a/sequence_in_task/__pycache__/__init__.cpython-37.pyc b/sequence_in_task/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000..64447c1 Binary files /dev/null and b/sequence_in_task/__pycache__/__init__.cpython-37.pyc differ diff --git a/sequence_in_task/data/sequence.xml b/sequence_in_task/data/sequence.xml new file mode 100644 index 0000000..b9752cd --- /dev/null +++ b/sequence_in_task/data/sequence.xml @@ -0,0 +1,11 @@ + + + + + Task Sequence + project.task + TS/%(year)s/ + 6 + + + \ No newline at end of file diff --git a/sequence_in_task/models/__init__.py b/sequence_in_task/models/__init__.py new file mode 100644 index 0000000..0387eb2 --- /dev/null +++ b/sequence_in_task/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Task Sequence Number +# +# Copyright (C) 2025 Alireza (AR) +# Author: Alireza (alir.riazi@gmail.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from . import project \ No newline at end of file diff --git a/sequence_in_task/models/__pycache__/__init__.cpython-310.pyc b/sequence_in_task/models/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..f48acf8 Binary files /dev/null and b/sequence_in_task/models/__pycache__/__init__.cpython-310.pyc differ diff --git a/sequence_in_task/models/__pycache__/__init__.cpython-312.pyc b/sequence_in_task/models/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000..181b792 Binary files /dev/null and b/sequence_in_task/models/__pycache__/__init__.cpython-312.pyc differ diff --git a/sequence_in_task/models/__pycache__/__init__.cpython-37.pyc b/sequence_in_task/models/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000..b542c87 Binary files /dev/null and b/sequence_in_task/models/__pycache__/__init__.cpython-37.pyc differ diff --git a/sequence_in_task/models/__pycache__/project.cpython-310.pyc b/sequence_in_task/models/__pycache__/project.cpython-310.pyc new file mode 100644 index 0000000..4dc693d Binary files /dev/null and b/sequence_in_task/models/__pycache__/project.cpython-310.pyc differ diff --git a/sequence_in_task/models/__pycache__/project.cpython-312.pyc b/sequence_in_task/models/__pycache__/project.cpython-312.pyc new file mode 100644 index 0000000..b19dfb8 Binary files /dev/null and b/sequence_in_task/models/__pycache__/project.cpython-312.pyc differ diff --git a/sequence_in_task/models/__pycache__/project.cpython-37.pyc b/sequence_in_task/models/__pycache__/project.cpython-37.pyc new file mode 100644 index 0000000..c3c737e Binary files /dev/null and b/sequence_in_task/models/__pycache__/project.cpython-37.pyc differ diff --git a/sequence_in_task/models/__pycache__/sale_order.cpython-310.pyc b/sequence_in_task/models/__pycache__/sale_order.cpython-310.pyc new file mode 100644 index 0000000..06206e4 Binary files /dev/null and b/sequence_in_task/models/__pycache__/sale_order.cpython-310.pyc differ diff --git a/sequence_in_task/models/project.py b/sequence_in_task/models/project.py new file mode 100644 index 0000000..60307f4 --- /dev/null +++ b/sequence_in_task/models/project.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +################################################################################ +# +# Task Sequence Number +# +# Copyright (C) 2025 Alireza (AR) +# Author: Alireza (alir.riazi@gmail.com) +# +# You can modify it under the terms of the GNU AFFERO +# GENERAL PUBLIC LICENSE (AGPL v3), Version 3. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU AFFERO GENERAL PUBLIC LICENSE (AGPL v3) for more details. +# +# You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE +# (AGPL v3) along with this program. +# If not, see . +# +################################################################################ +from odoo import api, fields, models, _ + +class ProjectTaskType(models.Model): + _inherit = "project.task" + + task_num = fields.Char(string="Task Number" ,help="Task Sequence Number", default=lambda self: _('New'), readonly=True, index=True) + + @api.model_create_multi + def create(self, vals_list): + for vals in vals_list: + vals['task_num'] = self.env['ir.sequence'].next_by_code('project.task') + + return super(ProjectTaskType, self).create(vals_list) + \ No newline at end of file diff --git a/sequence_in_task/static/description/assets/screenshots/Screenshot1.jpg b/sequence_in_task/static/description/assets/screenshots/Screenshot1.jpg new file mode 100644 index 0000000..a8c08db Binary files /dev/null and b/sequence_in_task/static/description/assets/screenshots/Screenshot1.jpg differ diff --git a/sequence_in_task/static/description/assets/screenshots/Screenshot2.jpg b/sequence_in_task/static/description/assets/screenshots/Screenshot2.jpg new file mode 100644 index 0000000..8d5879b Binary files /dev/null and b/sequence_in_task/static/description/assets/screenshots/Screenshot2.jpg differ diff --git a/sequence_in_task/static/description/assets/screenshots/Screenshot3.jpg b/sequence_in_task/static/description/assets/screenshots/Screenshot3.jpg new file mode 100644 index 0000000..e01c6ef Binary files /dev/null and b/sequence_in_task/static/description/assets/screenshots/Screenshot3.jpg differ diff --git a/sequence_in_task/static/description/assets/screenshots/Screenshot4.jpg b/sequence_in_task/static/description/assets/screenshots/Screenshot4.jpg new file mode 100644 index 0000000..3b96383 Binary files /dev/null and b/sequence_in_task/static/description/assets/screenshots/Screenshot4.jpg differ diff --git a/sequence_in_task/static/description/banner.png b/sequence_in_task/static/description/banner.png new file mode 100644 index 0000000..0974bd5 Binary files /dev/null and b/sequence_in_task/static/description/banner.png differ diff --git a/sequence_in_task/static/description/icon.png b/sequence_in_task/static/description/icon.png new file mode 100644 index 0000000..bb94697 Binary files /dev/null and b/sequence_in_task/static/description/icon.png differ diff --git a/sequence_in_task/static/description/index.html b/sequence_in_task/static/description/index.html new file mode 100644 index 0000000..2fb683d --- /dev/null +++ b/sequence_in_task/static/description/index.html @@ -0,0 +1,209 @@ + + + + +Quotation Subject Viewer + + + + + + +
+

Overview

+

+ Task Sequence Number enhances Odoo's project management by assigning an automatic sequence + number to each task. The sequence is visible in the task list view, helping teams quickly + identify and organize their work. +

+ +

Key Features

+
    +
  • + 📌 Automatic numbering of tasks + + Every new task created will receive a unique sequence number, ensuring clear tracking + and easy reference. + +
  • +
  • + 📌 Sequence visible in the task tree view + + A new column displays the task sequence number directly in the list view, making it + simple for users to locate and distinguish tasks. + +
  • +
  • + 📌 Fully integrated with Odoo's project workflow + + The numbering is seamlessly applied to Odoo's existing project and task processes, + ensuring compatibility without extra configuration. + +
  • +
  • + 📌 Lightweight and easy to install + + The module is simple to set up, works immediately after installation, and does not + affect other project features. + +
  • +
+ +

Benefits

+
    +
  • ⏱ Save time by quickly identifying tasks through unique numbers
  • +
  • 📋 Improve task organization and tracking within projects
  • +
  • 🚀 Boost team efficiency by simplifying task referencing in discussions and reports
  • +
+ +

Installation

+
    +
  • Place this module folder into your Odoo addons directory.
  • +
  • Update the apps list in Odoo and search for "Task Sequence Number".
  • +
  • Click 'Install' to activate the module and start using its features.
  • +
+
+ +

Screenshots

+
+ TO DO Screenshot 1
+ TO DO Screenshot 1
+ TO DO Screenshot 1
+ TO DO Screenshot 1
+
+ +

License

+

LGPL-3 License: https://www.gnu.org/licenses/lgpl-3.0.html

+ +

Author & Support

+

+ Author: Alireza Riazi (AR)
+ Email: alir.riazi@gmail.com
+ +

+ + + + + + diff --git a/sequence_in_task/views/project_view.xml b/sequence_in_task/views/project_view.xml new file mode 100644 index 0000000..b6d65ca --- /dev/null +++ b/sequence_in_task/views/project_view.xml @@ -0,0 +1,48 @@ + + + + + project.task.inherit + project.task + + + + + + + + + project.task.kanban.inherit + project.task + + + + + + + + + project.task.tree.inherit + project.task + + + + + + + + + project.task.search.inherit + project.task + + + + + + + + + + + + \ No newline at end of file