Notification de paiement : erreur dans le traitement des dates
La vue crée des objets Payment avec des date alors que la colonne date est un datetime.
Dans le code de la notification de paiement, on doit traiter les deux cas.
Sinon on a
/invoices/249272/addpayment?popup=popup1'
Traceback (most recent call last):
File "/opt/venv/lib/python3.9/site-packages/pyramid/tweens.py", line 13, in _error_handler
response = request.invoke_exception_view(exc_info)
File "/opt/venv/lib/python3.9/site-packages/sentry_sdk/integrations/pyramid.py", line 100, in sentry_patched_invoke_exception_view
rv = old_invoke_exception_view(self, *args, **kwargs)
File "/opt/venv/lib/python3.9/site-packages/pyramid/view.py", line 786, in invoke_exception_view
raise HTTPNotFound
pyramid.httpexceptions.HTTPNotFound: The resource could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/venv/lib/python3.9/site-packages/pyramid_exclog/__init__.py", line 134, in exclog_tween
response = handler(request)
File "/opt/venv/lib/python3.9/site-packages/caerp/utils/sqlalchemy_fix.py", line 25, in tween
return handler(request)
File "/opt/venv/lib/python3.9/site-packages/pyramid_tm/__init__.py", line 178, in tm_tween
reraise(*exc_info)
File "/opt/venv/lib/python3.9/site-packages/pyramid_tm/compat.py", line 36, in reraise
raise value
File "/opt/venv/lib/python3.9/site-packages/pyramid_tm/__init__.py", line 143, in tm_tween
response = handler(request)
File "/opt/venv/lib/python3.9/site-packages/pyramid/tweens.py", line 43, in excview_tween
response = _error_handler(request, exc)
File "/opt/venv/lib/python3.9/site-packages/pyramid/tweens.py", line 17, in _error_handler
reraise(*exc_info)
File "/opt/venv/lib/python3.9/site-packages/pyramid/util.py", line 733, in reraise
raise value
File "/opt/venv/lib/python3.9/site-packages/pyramid/tweens.py", line 41, in excview_tween
response = handler(request)
File "/opt/venv/lib/python3.9/site-packages/pyramid/router.py", line 143, in handle_request
response = _call_view(
File "/opt/venv/lib/python3.9/site-packages/sentry_sdk/integrations/pyramid.py", line 91, in sentry_patched_call_view
return old_call_view(registry, request, *args, **kwargs)
File "/opt/venv/lib/python3.9/site-packages/pyramid/view.py", line 674, in _call_view
response = view_callable(context, request)
File "/opt/venv/lib/python3.9/site-packages/pyramid/viewderivers.py", line 319, in secured_view
return view(context, request)
File "/opt/venv/lib/python3.9/site-packages/pyramid/viewderivers.py", line 427, in rendered_view
result = view(context, request)
File "/opt/venv/lib/python3.9/site-packages/pyramid/viewderivers.py", line 127, in _class_view
response = inst()
File "/opt/venv/lib/python3.9/site-packages/caerp/views/__init__.py", line 678, in __call__
result = FormView.__call__(self)
File "/opt/venv/lib/python3.9/site-packages/pyramid_deform/__init__.py", line 109, in __call__
result = success_method(validated)
File "/opt/venv/lib/python3.9/site-packages/caerp/views/payment/invoice.py", line 269, in submit_success
self.notify()
File "/opt/venv/lib/python3.9/site-packages/caerp/views/payment/invoice.py", line 199, in notify
self.request.registry.notify(
File "/opt/venv/lib/python3.9/site-packages/pyramid/registry.py", line 103, in notify
[_ for _ in self.subscribers(events, None)]
File "/opt/venv/lib/python3.9/site-packages/zope/interface/registry.py", line 448, in subscribers
return self.adapters.subscribers(objects, provided)
File "/opt/venv/lib/python3.9/site-packages/zope/interface/adapter.py", line 899, in subscribers
subscription(*objects)
File "/opt/venv/lib/python3.9/site-packages/pyramid/config/adapters.py", line 97, in derived_subscriber
return subscriber(arg[0])
File "/opt/venv/lib/python3.9/site-packages/caerp/events/status_changed.py", line 35, in notify_on_status_changed
notify_task_status_changed(
File "/opt/venv/lib/python3.9/site-packages/caerp/utils/notification/task.py", line 230, in notify_task_status_changed
_get_notification(request, node, status, comment),
File "/opt/venv/lib/python3.9/site-packages/caerp/utils/notification/task.py", line 189, in _get_notification
body=_get_body(request, task, status, comment),
File "/opt/venv/lib/python3.9/site-packages/caerp/utils/notification/task.py", line 149, in _get_body
amount_in_integer = _find_paid_amount(task)
File "/opt/venv/lib/python3.9/site-packages/caerp/utils/notification/task.py", line 81, in _find_paid_amount
payment.date.date() == last_payment.date.date()
AttributeError: 'datetime.date' object has no attribute 'date'