diff --git a/project_acceptance/controllers/mail.py b/project_acceptance/controllers/mail.py index 0ee35d82..a3215a4c 100644 --- a/project_acceptance/controllers/mail.py +++ b/project_acceptance/controllers/mail.py @@ -5,15 +5,19 @@ from odoo.addons.portal.controllers import mail class PortalChatter(mail.PortalChatter): - - + @http.route() def portal_chatter_post(self, res_model, res_id, message, attachment_ids='', attachment_tokens='', **kwargs): if request.httprequest.method == 'POST': task = request.env['project.task'].browse([res_id]) - # task.with_context('skip_detect_exceptions').write({'task_acceptance': 'feedback'}) - task.sudo().ignore_exception = True - task.sudo().task_acceptance = 'feedback' - task.sudo().ignore_exception = False + # try: + # task_sudo = self._document_check_access('project.task', res_id, access_token=access_token) + # except (AccessError, MissingError): + # return {'error': _('Invalid task.')} + task.sudo().with_context(skip_detect_exceptions=True).write({'task_acceptance': 'feedback'}) + # task_sudo.with_context(skip_detect_exceptions=True).write({'task_acceptance': 'feedback'}) + # task_sudo.ignore_exception = True + # task_sudo.task_acceptance = 'feedback' + # task_sudo.ignore_exception = False + return super(PortalChatter, self).portal_chatter_post(res_model, res_id, message, attachment_ids=attachment_ids, attachment_tokens=attachment_tokens, **kwargs) - \ No newline at end of file diff --git a/project_acceptance/controllers/portal.py b/project_acceptance/controllers/portal.py index a370d1fd..09f2dee9 100644 --- a/project_acceptance/controllers/portal.py +++ b/project_acceptance/controllers/portal.py @@ -3,30 +3,37 @@ from odoo.http import request from odoo.addons.portal.controllers import portal - class CustomerPortal(portal.CustomerPortal): - - @http.route('/my/task//accept', type='http', auth="user", website=True) + + @http.route('/my/task//accept', type='http', auth="user", methods=['POST'], website=True) def portal_task_accept(self, task_id, access_token=None, **post): - if request.httprequest.method == 'POST': - task = request.env['project.task'].browse([task_id]) - # task.with_context('skip_detect_exceptions').write({'task_acceptance': 'accept'}) - task.sudo().ignore_exception = True - task.sudo().task_acceptance = 'accept' - task.sudo().ignore_exception = False - - - @http.route(['/my/task//decline'], type='http', auth="user", website=True) + + try: + task_sudo = self._document_check_access('project.task', task_id, access_token=access_token) + except (AccessError, MissingError): + return {'error': _('Invalid task.')} + + task_sudo.with_context(skip_detect_exceptions=True).write({'task_acceptance': 'accept'}) + # task_sudo.ignore_exception = True + # task_sudo.task_acceptance = 'accept' + # task_sudo.ignore_exception = False + return request.redirect(task_sudo.get_portal_url()) + + @http.route(['/my/task//decline'], type='http', methods=['POST'], auth="user", website=True) def portal_task_decline(self, task_id, access_token=None, **post): - if request.httprequest.method == 'POST': - task = request.env['project.task'].browse([task_id]) - # task.with_context('skip_detect_exceptions').write({'task_acceptance': 'decline'}) - task.sudo().ignore_exception = True - task.sudo().task_acceptance = 'decline' - task.sudo().ignore_exception = False - - - + + try: + task_sudo = self._document_check_access('project.task', task_id, access_token=access_token) + except (AccessError, MissingError): + return {'error': _('Invalid task.')} + + task_sudo.with_context(skip_detect_exceptions=True).write({'task_acceptance': 'decline'}) + # task_sudo.ignore_exception = True + # task_sudo.task_acceptance = 'decline' + # task_sudo.ignore_exception = False + return request.redirect(task_sudo.get_portal_url()) + + ###################################################################### # The next code is for modal views and to sign document for acceptance ##################################################################### diff --git a/project_acceptance/static/src/img/circle-stop-solid.svg b/project_acceptance/static/src/img/circle-stop-solid.svg deleted file mode 100644 index 7b4a1c01..00000000 --- a/project_acceptance/static/src/img/circle-stop-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/project_acceptance/static/src/img/comment-regular.svg b/project_acceptance/static/src/img/comment-regular.svg deleted file mode 100644 index aa4373fd..00000000 --- a/project_acceptance/static/src/img/comment-regular.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/project_acceptance/static/src/img/square-check-solid.svg b/project_acceptance/static/src/img/square-check-solid.svg deleted file mode 100644 index a98e04b7..00000000 --- a/project_acceptance/static/src/img/square-check-solid.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/project_acceptance/static/src/js/project_acceptance_controllers.js b/project_acceptance/static/src/js/project_acceptance_controllers.js new file mode 100644 index 00000000..eaf861c7 --- /dev/null +++ b/project_acceptance/static/src/js/project_acceptance_controllers.js @@ -0,0 +1,32 @@ +odoo.define('project_acceptance.AcceptanceFormController', function (required) { + "use stric"; + var FormController = require('web.FormController'); + var core = require('web.core'); + var QWeb = core.qweb; + var _t = core._t; + var AcceptanceFormController = FormController.extend({ + events: _.extend({}, FormController.prototype.events, { + 'click .o_account_followup_manual_action_button': '_onManualAction', + }), + _onManualAction: function (){ + + }, + }) + +}) + +// odoo.define('project_acceptance.ProjectAcceptanceButton', function(require) { +// 'use strict'; + +// const ProjectAcceptanceButton = require('point_of_sale.ProjectAcceptanceButton'); +// const Registries = require('point_of_sale.Registries'); + +// const FormProjectAcceptanceButton = ProjectAcceptanceButton => +// class extends ProjectAcceptanceButton { + +// }; + +// Registries.Component.extend(ProjectAcceptanceButton, FormProjectAcceptanceButton); + +// return ProjectAcceptanceButton; +// }); diff --git a/project_acceptance/views/project_portal_templates.xml b/project_acceptance/views/project_portal_templates.xml index 4c5cd1d6..31e09bc7 100644 --- a/project_acceptance/views/project_portal_templates.xml +++ b/project_acceptance/views/project_portal_templates.xml @@ -4,92 +4,75 @@