diff --git a/task_deadline_reminder/README.rst b/task_deadline_reminder/README.rst new file mode 100644 index 000000000..501659124 --- /dev/null +++ b/task_deadline_reminder/README.rst @@ -0,0 +1,60 @@ +Task DeadLine Reminder v14 +========================== +This module extends the functionality of project module to allow to send deadline reminder emails on task deadline day. + +Configuration +============= + +By default, a cron job named "Task DeadLine Reminder" will be created while installing this module. +This cron job can be found in: + + **Settings > Technical > Automation > Scheduled Actions** + +This job runs daily by default. + +Usage +===== + +To use this functionality, you need to: + +#. Create a project to which the new tasks will be related. +#. Add a name, deadline date, who the task will be assigned to, etc... +#. In order to send email reminder to responsible user,you have to set reminder box (Project > Task > Reminder ) +#. Go to the Scheduled Action(Settings > Technical > Automation > Scheduled Action) and edit the time at which Deadline Reminder Action is to be done + +The cron job will do the rest. + +Installation +============ +- www.odoo.com/documentation/11.0/setup/install.html +- Install our custom addon + +Bug Tracker +=========== +Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. + +Credits +======= +Cybrosys Techno Solutions + +Author +------ +* Developer v9: Saritha @ cybrosys +* Developer v10, v11: Niyas Raphy @ cybrosys +* V13: Nimisha +* Version 14: JIBIN JAMES Contact: odoo@cybrosys.com + +Maintainer +---------- + +This module is maintained by Cybrosys Technologies. + +For support and more information, please visit https://www.cybrosys.com. + + + + + + + + diff --git a/task_deadline_reminder/__init__.py b/task_deadline_reminder/__init__.py new file mode 100644 index 000000000..656797097 --- /dev/null +++ b/task_deadline_reminder/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +################################################################################### +# Cybrosys Technologies Pvt. Ltd. +# Copyright (C) 2020-TODAY Cybrosys Technologies ().# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import models + + + diff --git a/task_deadline_reminder/__manifest__.py b/task_deadline_reminder/__manifest__.py new file mode 100755 index 000000000..11aebf26a --- /dev/null +++ b/task_deadline_reminder/__manifest__.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +################################################################################### +# Cybrosys Technologies Pvt. Ltd. +# +# Copyright (C) 2020-TODAY Cybrosys Technologies ().# +# This program is free software: you can modify +# it under the terms of the GNU Affero General Public License (AGPL) as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +{ + 'name': "Task Deadline Reminder", + 'version': "14.0.1.0.0", + 'author': 'Cybrosys Techno Solutions', + 'company': 'Cybrosys Techno Solutions', + 'maintainer': 'Cybrosys Techno Solutions', + 'website': 'https://www.cybrosys.com', + 'summary': '''Automatically Send Mail To Responsible User if Deadline Of Task is Today''', + 'description': '''Automatically Send Mail To Responsible User if Deadline Of Task is Today''', + 'category': "Project", + 'depends': ['project'], + 'license': 'AGPL-3', + 'data': [ + 'views/deadline_reminder_view.xml', + 'views/deadline_reminder_cron.xml', + 'data/deadline_reminder_action_data.xml' + ], + 'images': ['static/description/banner.png'], + 'installable': True, + 'auto_install': False +} diff --git a/task_deadline_reminder/data/deadline_reminder_action_data.xml b/task_deadline_reminder/data/deadline_reminder_action_data.xml new file mode 100644 index 000000000..673ed244d --- /dev/null +++ b/task_deadline_reminder/data/deadline_reminder_action_data.xml @@ -0,0 +1,46 @@ + + + + + + Deadline Reminder...!! + ${object.company_id.name}<${object.company_id.email}> + ${object.user_id.email} + Today Due Task -${object.date_deadline or 'n/a' } + + + +
+

Hello ${object.user_id.name},

+

This Email Is To Remind You That You Have Task As Below Listed Which Are Due On Today.

+
+
+ + + + + + + + + + + + + + + + + + + +
TaskProjectDeadlineAssigned ToLink
${object.name}${object.project_id.name}${object.date_deadline}${object.user_id.name}View Now
+
+ + ]]> +
+
+ +
+
diff --git a/task_deadline_reminder/doc/RELEASE_NOTES.md b/task_deadline_reminder/doc/RELEASE_NOTES.md new file mode 100644 index 000000000..62156eedf --- /dev/null +++ b/task_deadline_reminder/doc/RELEASE_NOTES.md @@ -0,0 +1,6 @@ +## Module + +#### 16.10.2020 +#### Version 14.0.1.0.0 +#### ADD +Initial Commit diff --git a/task_deadline_reminder/models/__init__.py b/task_deadline_reminder/models/__init__.py new file mode 100644 index 000000000..804dd48f7 --- /dev/null +++ b/task_deadline_reminder/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import deadline_reminder + + diff --git a/task_deadline_reminder/models/deadline_reminder.py b/task_deadline_reminder/models/deadline_reminder.py new file mode 100644 index 000000000..7f8be9550 --- /dev/null +++ b/task_deadline_reminder/models/deadline_reminder.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- + +import datetime +from datetime import datetime +from odoo import SUPERUSER_ID +from odoo.http import request +from odoo import api, fields, models, _ + + +class DeadLineReminder(models.Model): + _inherit = "project.task" + + task_reminder = fields.Boolean("Reminder") + + @api.model + def _cron_deadline_reminder(self): + + + su_id = self.env['res.partner'].browse(SUPERUSER_ID) + for task in self.env['project.task'].search([('date_deadline', '!=', None), + ('task_reminder', '=', True), ('user_id', '!=', None)]): + + reminder_date = task.date_deadline + today = datetime.now().date() + if reminder_date == today and task: + template_id = self.env['ir.model.data'].get_object_reference( + 'task_deadline_reminder', + 'email_template_edi_deadline_reminder')[1] + if template_id: + email_template_obj = self.env['mail.template'].browse(template_id) + values = email_template_obj.generate_email(task.id, ['subject', 'body_html', 'email_from', 'email_to', 'partner_to', 'email_cc', 'reply_to', 'scheduled_date']) + msg_id = self.env['mail.mail'].create(values) + if msg_id: + msg_id._send() + + return True + + diff --git a/task_deadline_reminder/static/description/banner.png b/task_deadline_reminder/static/description/banner.png new file mode 100644 index 000000000..baf3e2862 Binary files /dev/null and b/task_deadline_reminder/static/description/banner.png differ diff --git a/task_deadline_reminder/static/description/icon.png b/task_deadline_reminder/static/description/icon.png new file mode 100644 index 000000000..d0287340b Binary files /dev/null and b/task_deadline_reminder/static/description/icon.png differ diff --git a/task_deadline_reminder/static/description/images/banner_lifeline_for_task.jpeg b/task_deadline_reminder/static/description/images/banner_lifeline_for_task.jpeg new file mode 100644 index 000000000..4a467ea22 Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_lifeline_for_task.jpeg differ diff --git a/task_deadline_reminder/static/description/images/banner_project_report_xls_pdf.png b/task_deadline_reminder/static/description/images/banner_project_report_xls_pdf.png new file mode 100644 index 000000000..3c430a7eb Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_project_report_xls_pdf.png differ diff --git a/task_deadline_reminder/static/description/images/banner_project_status_report.png b/task_deadline_reminder/static/description/images/banner_project_status_report.png new file mode 100644 index 000000000..d1b689710 Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_project_status_report.png differ diff --git a/task_deadline_reminder/static/description/images/banner_subtask.jpeg b/task_deadline_reminder/static/description/images/banner_subtask.jpeg new file mode 100644 index 000000000..f2b224110 Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_subtask.jpeg differ diff --git a/task_deadline_reminder/static/description/images/banner_task_deadline_reminder.jpeg b/task_deadline_reminder/static/description/images/banner_task_deadline_reminder.jpeg new file mode 100644 index 000000000..998679818 Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_task_deadline_reminder.jpeg differ diff --git a/task_deadline_reminder/static/description/images/banner_task_statusbar.jpeg b/task_deadline_reminder/static/description/images/banner_task_statusbar.jpeg new file mode 100644 index 000000000..2c57cbb7b Binary files /dev/null and b/task_deadline_reminder/static/description/images/banner_task_statusbar.jpeg differ diff --git a/task_deadline_reminder/static/description/images/checked.png b/task_deadline_reminder/static/description/images/checked.png new file mode 100644 index 000000000..578cedb80 Binary files /dev/null and b/task_deadline_reminder/static/description/images/checked.png differ diff --git a/task_deadline_reminder/static/description/images/cybrosys.png b/task_deadline_reminder/static/description/images/cybrosys.png new file mode 100644 index 000000000..d76b5bafb Binary files /dev/null and b/task_deadline_reminder/static/description/images/cybrosys.png differ diff --git a/task_deadline_reminder/static/description/images/remainder email.png b/task_deadline_reminder/static/description/images/remainder email.png new file mode 100644 index 000000000..f12ca885f Binary files /dev/null and b/task_deadline_reminder/static/description/images/remainder email.png differ diff --git a/task_deadline_reminder/static/description/images/remainder.png b/task_deadline_reminder/static/description/images/remainder.png new file mode 100644 index 000000000..d6312037e Binary files /dev/null and b/task_deadline_reminder/static/description/images/remainder.png differ diff --git a/task_deadline_reminder/static/description/images/scheduled action.png b/task_deadline_reminder/static/description/images/scheduled action.png new file mode 100644 index 000000000..69f2624c0 Binary files /dev/null and b/task_deadline_reminder/static/description/images/scheduled action.png differ diff --git a/task_deadline_reminder/static/description/images/setting remainder.png b/task_deadline_reminder/static/description/images/setting remainder.png new file mode 100644 index 000000000..add129aaa Binary files /dev/null and b/task_deadline_reminder/static/description/images/setting remainder.png differ diff --git a/task_deadline_reminder/static/description/images/task_timer_youtube.png b/task_deadline_reminder/static/description/images/task_timer_youtube.png new file mode 100644 index 000000000..fb6579727 Binary files /dev/null and b/task_deadline_reminder/static/description/images/task_timer_youtube.png differ diff --git a/task_deadline_reminder/static/description/index.html b/task_deadline_reminder/static/description/index.html new file mode 100644 index 000000000..7d03f31f3 --- /dev/null +++ b/task_deadline_reminder/static/description/index.html @@ -0,0 +1,296 @@ +
cybrosys-logo
+
+
+
+

User Log Details

+

Helps to remind the deadline of various tasks.

+
+

Key Highlights

+
    +
  • Helps the HR manager to know the deadline of various tasks.
  • +
  • HR can send reminder mail to the particular employee whose tasks is going to end today
  • +
  • HR can take actions and further processes based on the deadline
  • + +
+
+
+
+ +
+
+
+
+ +
+
+ +

Overview

+
+

+ This module send auto reminder to responsible user of task if deadline = Today. Cron job will run everyday and search for task which due today and send reminder email to employee.

+
+
+ +

Task DeadLine Reminder

+
+
    +

    + Helps the HR manager to know the deadline of various tasks. +

    + +

    + HR can send reminder mail to the particular employee whose tasks is going to end today +

    + +

    + HR can take actions and further processes based on the deadline +

    +
+
+ +
+
+

Screenshots

+
+
+
+ +
+
+
+
+ + +
+
    +
+
+
+
+
+
+
+

Suggested Products

+
+ +
+
+

Our Service

+
+ +
+
+
+

Our Industries

+
+ +
+
+
+ +
+
+

Trading

+

Easily procure and sell your products.

+
+
+
+
+ +
+
+

Manufacturing

+

Plan, track and schedule your operations.

+
+
+
+
+ +
+
+

Restaurant

+

Run your bar or restaurant methodical.

+
+
+
+
+ +
+
+

POS

+

Easy configuring and convivial selling.

+
+
+
+
+ +
+
+

E-commerce & Website

+

Mobile friendly, awe-inspiring product pages.

+
+
+
+
+ +
+
+

Hotel Management

+

An all-inclusive hotel management application.

+
+
+
+
+ +
+
+

Education

+

A Collaborative platform for educational management.

+
+
+
+
+ +
+
+

Service Management

+

Keep track of services and invoice accordingly.

+
+
+
+
+
+ +
+
+
+

Need Any Help?

+
+

If you have anything to share with us based on your use of this module, please let us know. We are ready to offer our support.

+
+

Email us

+

odoo@cybrosys.com / info@cybrosys.com

+
+
+

Contact Us

+ www.cybrosys.com +
+
+
+
+
+
+
+
+
+ +
+ + + + + + + +
+
+
+ \ No newline at end of file diff --git a/task_deadline_reminder/views/deadline_reminder_cron.xml b/task_deadline_reminder/views/deadline_reminder_cron.xml new file mode 100644 index 000000000..ede641ed2 --- /dev/null +++ b/task_deadline_reminder/views/deadline_reminder_cron.xml @@ -0,0 +1,16 @@ + + + + + Task DeadLine Reminder + + code + model._cron_deadline_reminder() + + 1 + days + -1 + + + + diff --git a/task_deadline_reminder/views/deadline_reminder_view.xml b/task_deadline_reminder/views/deadline_reminder_view.xml new file mode 100644 index 000000000..3c150738e --- /dev/null +++ b/task_deadline_reminder/views/deadline_reminder_view.xml @@ -0,0 +1,17 @@ + + + + + + ProjectTaskRemainder + project.task + + + + + + + + + + \ No newline at end of file