From 807c4c3f5e729d8b2f463d93e73b0dbbc008492b Mon Sep 17 00:00:00 2001 From: Dharmang Soni Date: Wed, 4 Apr 2018 15:34:43 +0530 Subject: [REF] mail, note: move reminder feature from mail to note MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit refactors f488dc58c37fdc7fd49df759165de641e213444b that added reminder feature in activities. After merging it was suggested specifications were not correct and it has been decided to move the whole reminder feature in note. Reminders are now notes instead of activities. Now when having note appµ systray proposes to create a note / reminder. A note.note record is created with info given by the user. If a date is given in the systray quick create then an activity is scheduled on this note. This means user can create records in activity systray that are not activities but notes used as reminders. Those will use the first availableµ note column for the user. As reminders are now notes the support of activities not linked to any document is removed, as well as archiving activities and tests linked to that behavior. This commit has been not carefully tested nor in-depth reviewied. It is considered as too important for the upcoming freeze. This closes task ID 1833628. Closes #24129 . Many thanks to @dpr-odoo for its quick development and good work on this task. --- addons/note/controllers/__init__.py | 4 ++++ addons/note/controllers/note.py | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 addons/note/controllers/__init__.py create mode 100644 addons/note/controllers/note.py (limited to 'addons/note/controllers') diff --git a/addons/note/controllers/__init__.py b/addons/note/controllers/__init__.py new file mode 100644 index 00000000000..4d2e8b5ad27 --- /dev/null +++ b/addons/note/controllers/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from . import note \ No newline at end of file diff --git a/addons/note/controllers/note.py b/addons/note/controllers/note.py new file mode 100644 index 00000000000..bdcf2e85059 --- /dev/null +++ b/addons/note/controllers/note.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import http +from odoo.http import request + + +class NoteController(http.Controller): + + @http.route('/note/new', type='json', auth='user') + def note_new_from_systray(self, note, activity_type_id=None, date_deadline=None): + """ Route to create note and their activity directly from the systray """ + note = request.env['note.note'].create({'memo': note}) + if date_deadline: + activity_values = { + 'note': note.memo, + 'date_deadline': date_deadline, + 'res_model_id': request.env.ref("note.model_note_note").id, + 'res_id': note.id, + 'note_id': note.id, + } + if not activity_type_id: + activity_type_id = request.env['mail.activity.type'].sudo().search([('category', '=', 'reminder')], limit=1).id + if activity_type_id: + activity_values['activity_type_id'] = activity_type_id + request.env['mail.activity'].create(activity_values) + return note.id -- cgit v1.2.3