From bbaedc4f4674315d7a7b73551045ce01de85b819 Mon Sep 17 00:00:00 2001 From: Jared Kipe Date: Tue, 15 Jun 2021 10:34:58 -0700 Subject: [PATCH] [IMP] website_sale_signifyd: hibou_professional and improve filter for submitting --- website_sale_signifyd/__init__.py | 2 ++ website_sale_signifyd/__manifest__.py | 6 ++++-- website_sale_signifyd/controllers/__init__.py | 2 ++ website_sale_signifyd/controllers/signifyd.py | 8 +++++++- website_sale_signifyd/models/__init__.py | 2 ++ website_sale_signifyd/models/partner.py | 2 ++ website_sale_signifyd/models/sale_order.py | 7 ++++++- website_sale_signifyd/models/signifyd.py | 2 ++ website_sale_signifyd/models/signifyd_connector.py | 2 ++ website_sale_signifyd/models/stock.py | 2 ++ website_sale_signifyd/models/website.py | 2 ++ 11 files changed, 33 insertions(+), 4 deletions(-) diff --git a/website_sale_signifyd/__init__.py b/website_sale_signifyd/__init__.py index 91c5580f..e2de6faa 100644 --- a/website_sale_signifyd/__init__.py +++ b/website_sale_signifyd/__init__.py @@ -1,2 +1,4 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from . import controllers from . import models diff --git a/website_sale_signifyd/__manifest__.py b/website_sale_signifyd/__manifest__.py index eba24d0d..e05d59b1 100644 --- a/website_sale_signifyd/__manifest__.py +++ b/website_sale_signifyd/__manifest__.py @@ -8,9 +8,10 @@ Automate Order Fraud Detection with the Signifyd API. """, 'website': 'https://hibou.io/', 'depends': [ - 'website_sale', - 'stock', 'delivery', + 'hibou_professional', + 'stock', + 'website_sale', ], 'data': [ 'security/ir.model.access.csv', @@ -23,4 +24,5 @@ Automate Order Fraud Detection with the Signifyd API. ], 'installable': True, 'application': False, + 'license': 'OPL-1', } diff --git a/website_sale_signifyd/controllers/__init__.py b/website_sale_signifyd/controllers/__init__.py index 387cb370..4aee65d9 100644 --- a/website_sale_signifyd/controllers/__init__.py +++ b/website_sale_signifyd/controllers/__init__.py @@ -1 +1,3 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from . import signifyd diff --git a/website_sale_signifyd/controllers/signifyd.py b/website_sale_signifyd/controllers/signifyd.py index aba30ab2..f92e2ffe 100644 --- a/website_sale_signifyd/controllers/signifyd.py +++ b/website_sale_signifyd/controllers/signifyd.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + import json from odoo.http import Controller, request, route from odoo.http import Response @@ -12,10 +14,14 @@ class SignifydWebhooks(Controller): def _case_update(self): data = json.loads(request.httprequest.data) vals = request.env['signifyd.connector'].process_post_values(data) - case = self._get_case(vals.get('case_id')) + case_id = vals.get('case_id') + case = self._get_case(case_id) if case: case.update_case_info(vals) return Response({'response': 'success'}, status=200, mimetype='application/json') + if case_id == 1: + # Special case when verifying webhook. + return Response({'response': 'success'}, status=200, mimetype='application/json') return Response({'response': 'failed'}, status=500, mimetype='application/json') def _get_case(self, case_id): diff --git a/website_sale_signifyd/models/__init__.py b/website_sale_signifyd/models/__init__.py index 5408481e..378ba4e5 100644 --- a/website_sale_signifyd/models/__init__.py +++ b/website_sale_signifyd/models/__init__.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from . import partner from . import sale_order from . import signifyd diff --git a/website_sale_signifyd/models/partner.py b/website_sale_signifyd/models/partner.py index 63ae2b6b..847a813a 100644 --- a/website_sale_signifyd/models/partner.py +++ b/website_sale_signifyd/models/partner.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from odoo import api, fields, models diff --git a/website_sale_signifyd/models/sale_order.py b/website_sale_signifyd/models/sale_order.py index b57d5abc..27d8defd 100644 --- a/website_sale_signifyd/models/sale_order.py +++ b/website_sale_signifyd/models/sale_order.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from odoo import api, fields, models from odoo.exceptions import UserError from odoo.http import request @@ -28,10 +30,13 @@ class SaleOrder(models.Model): def action_confirm(self): res = super().action_confirm() - for sale in self.filtered(lambda so: so.state in ('sale', 'done') and not so.signifyd_case_id): + for sale in self.filtered(lambda so: so._should_post_signifyd()): _case = sale.post_signifyd_case() return res + def _should_post_signifyd(self): + return self.state in ('sale', 'done') and not self.signifyd_case_id + def post_signifyd_case(self): if not self.website_id.signifyd_connector_id: return diff --git a/website_sale_signifyd/models/signifyd.py b/website_sale_signifyd/models/signifyd.py index 6138a2fb..df0126d8 100644 --- a/website_sale_signifyd/models/signifyd.py +++ b/website_sale_signifyd/models/signifyd.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + import requests import json from datetime import datetime as dt diff --git a/website_sale_signifyd/models/signifyd_connector.py b/website_sale_signifyd/models/signifyd_connector.py index 696d6e59..42a9b0e5 100644 --- a/website_sale_signifyd/models/signifyd_connector.py +++ b/website_sale_signifyd/models/signifyd_connector.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + import requests from datetime import datetime as dt from base64 import b64encode diff --git a/website_sale_signifyd/models/stock.py b/website_sale_signifyd/models/stock.py index c3dea3db..5429cf17 100644 --- a/website_sale_signifyd/models/stock.py +++ b/website_sale_signifyd/models/stock.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from odoo import fields, models from odoo.exceptions import UserError diff --git a/website_sale_signifyd/models/website.py b/website_sale_signifyd/models/website.py index 2cb78188..b9807f1a 100644 --- a/website_sale_signifyd/models/website.py +++ b/website_sale_signifyd/models/website.py @@ -1,3 +1,5 @@ +# Part of Hibou Suite Professional. See LICENSE_PROFESSIONAL file for full copyright and licensing details. + from odoo import api, fields, models