Crash si création d'une affaire dans un dossier sans type d'affaire par défaut
Le fameux « bug de st-nazaire » ;-).
Proposition de résolution : modifier le formulaire de création de type de dossier pour obliger à sélectionner un type d'affaire par défaut.
Stacktrace (merci @paul-kilya).
2021-01-15 11:03:00,779 INFO #################### NEW REQUEST COMING ################# ([endi.subscribers.new_request.log_request:22])
2021-01-15 11:03:00,779 INFO + The request object ([endi.subscribers.new_request.log_request:23])
2021-01-15 11:03:00,780 INFO GET /projects/120197/estimations?action=add HTTP/1.1\r
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r
Accept-Encoding: br, gzip, deflate\r
Accept-Language: fr-fr\r
Connection: keep-alive\r
Cookie: endi__menu_mini=false; beaker.session.id=0e9840257809c5bd7e2ce9574559416dfb3562269e23e8f223e448e9bf8a59db4bdab8c0\r
Host: stnazaire.ouvre-boites44.endi.coop\r
Referer: https://stnazaire.ouvre-boites44.endi.coop/projects/120197/estimations\r
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15
# Param\xc3\xa8tres GET de la requ\xc3\xaate #
action : add
# Param\xc3\xa8tres POST de la requ\xc3\xaate #
([endi.subscribers.new_request.log_request:35])
2021-01-15 11:03:00,780 INFO + The session object ([endi.subscribers.new_request.log_request:36])
2021-01-15 11:03:00,780 INFO {'_domain': None, '_path': '/', '_accessed_time': 1610704980.7789571, '_creation_time': 1610702737.0629575, 'auth.userid': 'mperrin', '_csrft_': '3b9b4661f5e33edf7b268b477e3734a3129a6e6c'} ([endi.subscribers.new_request.log_request:37])
2021-01-15 11:03:00,781 INFO ################### END REQUEST METADATA LOG ############# ([endi.subscribers.new_request.log_request:38])
2021-01-15 11:03:00,789 INFO # Retrieving avatar # ([endi.utils.avatar.get_avatar:26])
2021-01-15 11:03:00,789 INFO + Login : mperrin ([endi.utils.avatar.get_avatar:28])
2021-01-15 11:03:00,789 INFO + Returning the user ([endi.utils.avatar.get_avatar:31])
mod_wsgi (pid=10842): Exception occurred processing WSGI script '/var/www/html/endi/pyramid.wsgi'.
Traceback (most recent call last):
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/tweens.py", line 13, in _error_handler
response = request.invoke_exception_view(exc_info)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/view.py", line 769, 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 "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/fanstatic-1.1-py3.6.egg/fanstatic/publisher.py", line 224, in __call__
return self.app(environ, start_response)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/fanstatic-1.1-py3.6.egg/fanstatic/injector.py", line 64, in __call__
response = request.get_response(self.app)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/webob/request.py", line 1314, in send
application, catch_exc_info=False)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/webob/request.py", line 1278, in call_application
app_iter = application(self.environ, start_response)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/router.py", line 270, in __call__
response = self.execution_policy(environ, self)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/router.py", line 279, in default_execution_policy
return request.invoke_exception_view(reraise=True)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/view.py", line 768, in invoke_exception_view
reraise_(*exc_info)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/compat.py", line 179, in reraise
raise value
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/router.py", line 277, in default_execution_policy
return router.invoke_request(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/router.py", line 249, in invoke_request
response = handle_request(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid_methodrewrite/__init__.py", line 89, in methodrewrite_tween
return handler(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/endi-6.0.7-py3.6.egg/endi/utils/sqlalchemy_fix.py", line 25, in tween
return handler(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid_tm-2.2-py3.6.egg/pyramid_tm/__init__.py", line 171, in tm_tween
reraise(*exc_info)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid_tm-2.2-py3.6.egg/pyramid_tm/compat.py", line 36, in reraise
raise value
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid_tm-2.2-py3.6.egg/pyramid_tm/__init__.py", line 136, in tm_tween
response = handler(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/tweens.py", line 43, in excview_tween
response = _error_handler(request, exc)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/tweens.py", line 17, in _error_handler
reraise(*exc_info)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/compat.py", line 179, in reraise
raise value
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/tweens.py", line 41, in excview_tween
response = handler(request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/router.py", line 148, in handle_request
registry, request, context, context_iface, view_name
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/view.py", line 657, in _call_view
response = view_callable(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/config/views.py", line 169, in __call__
return view(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/config/views.py", line 188, in attr_view
return view(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/config/views.py", line 214, in predicate_wrapper
return view(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/viewderivers.py", line 325, in secured_view
return view(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/viewderivers.py", line 436, in rendered_view
result = view(context, request)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid/viewderivers.py", line 130, in _class_view
response = inst()
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/endi-6.0.7-py3.6.egg/endi/views/__init__.py", line 658, in __call__
result = FormView.__call__(self)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/pyramid_deform-0.2-py3.6.egg/pyramid_deform/__init__.py", line 95, in __call__
self.schema = self.schema.bind(**self.get_bind_data())
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/colander-1.4-py3.6.egg/colander/__init__.py", line 2147, in bind
cloned._bind(kw)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/colander-1.4-py3.6.egg/colander/__init__.py", line 2153, in _bind
child._bind(kw)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/colander-1.4-py3.6.egg/colander/__init__.py", line 2158, in _bind
v = v(self, kw)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/colander-1.4-py3.6.egg/colander/__init__.py", line 2315, in __call__
return self.wrapped(node, kw)
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/endi-6.0.7-py3.6.egg/endi/forms/tasks/base.py", line 127, in deferred_default_name
request.context,
File "/var/www/.virtualenvs/endi/lib/python3.6/site-packages/endi-6.0.7-py3.6.egg/endi/models/services/naming.py", line 100, in get_label_for_context
business_type_id = context.project_type.default_business_type.id
AttributeError: 'NoneType' object has no attribute 'id'