Bug dans les stats K-Fêt ? #209

Closed
opened 2018-10-20 16:55:14 +02:00 by mpepin · 5 comments
mpepin commented 2018-10-20 16:55:14 +02:00 (Migrated from git.eleves.ens.fr)
Internal Server Error: /gestion/k-fet/articles/25/stat/sales

ValueError at /k-fet/articles/25/stat/sales
invalid literal for int() with base 10: '10scale_name=month'

Request Method: GET
Request URL: http://www.cof.ens.fr/gestion/k-fet/articles/25/stat/sales?scale_n_steps=10scale_name=month&scale_last=True
Django Version: 1.11.15
Python Executable: /srv/cof.ens.fr/gestion/venv/bin/python
Python Version: 3.5.3
Python Path: ['/srv/cof.ens.fr/gestion/code', '/srv/cof.ens.fr/gestion/venv/lib/python35.zip', '/srv/cof.ens.fr/gestion/venv/lib/python3.5', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/plat-x86_64-linux-gnu', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages']
Server time: Jeu, 11 Oct 2018 21:32:27 +0200
Installed Applications:
['shared',
 'gestioncof',
 'dal',
 'dal_select2',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'django.contrib.admindocs',
 'bda',
 'captcha',
 'django_cas_ng',
 'bootstrapform',
 'kfet',
 'kfet.open',
 'channels',
 'widget_tweaks',
 'custommail',
 'djconfig',
 'wagtail.wagtailforms',
 'wagtail.wagtailredirects',
 'wagtail.wagtailembeds',
 'wagtail.wagtailsites',
 'wagtail.wagtailusers',
 'wagtail.wagtailsnippets',
 'wagtail.wagtaildocs',
 'wagtail.wagtailimages',
 'wagtail.wagtailsearch',
 'wagtail.wagtailadmin',
 'wagtail.wagtailcore',
 'wagtail.contrib.modeladmin',
 'wagtailmenus',
 'modelcluster',
 'taggit',
 'kfet.auth',
 'kfet.cms',
 'corsheaders']
Installed Middleware:
['corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'kfet.auth.middleware.TemporaryAuthMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'djconfig.middleware.DjConfigMiddleware',
 'wagtail.wagtailcore.middleware.SiteMiddleware',
 'wagtail.wagtailredirects.middleware.RedirectMiddleware']


Traceback:  

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner
  41.             response = get_response(request)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  187.                 response = self.process_exception_by_middleware(e, request)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/channels/handler.py" in process_exception_by_middleware
  243.             return super(AsgiHandler, self).process_exception_by_middleware(exception, request)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response
  185.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/base.py" in view
  68.             return self.dispatch(request, *args, **kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapper
  67.             return bound_func(*args, **kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/utils/decorators.py" in bound_func
  63.                 return func.__get__(self, type(self))(*args2, **kwargs2)

File "/srv/cof.ens.fr/gestion/code/kfet/views.py" in dispatch
  2448.         return super().dispatch(*args, **kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/base.py" in dispatch
  88.         return handler(request, *args, **kwargs)

File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/detail.py" in get
  116.         context = self.get_context_data(object=self.object)

File "/srv/cof.ens.fr/gestion/code/kfet/views.py" in get_context_data
  2398.         old_ctx = super().get_context_data(*args, **kwargs)

File "/srv/cof.ens.fr/gestion/code/kfet/statistic.py" in get_context_data
  311.         scale_args = self.get_scale_args()

File "/srv/cof.ens.fr/gestion/code/kfet/statistic.py" in get_scale_args
  291.             scale_args['n_steps'] = int(n_steps)

Exception Type: ValueError at /k-fet/articles/25/stat/sales
Exception Value: invalid literal for int() with base 10: '10scale_name=month'
Request information:
USER: kfet_genericteam

GET:
scale_n_steps = '10scale_name=month'
scale_last = 'True'

POST: No POST data

FILES: No FILES data

``` Internal Server Error: /gestion/k-fet/articles/25/stat/sales ValueError at /k-fet/articles/25/stat/sales invalid literal for int() with base 10: '10scale_name=month' Request Method: GET Request URL: http://www.cof.ens.fr/gestion/k-fet/articles/25/stat/sales?scale_n_steps=10scale_name=month&scale_last=True Django Version: 1.11.15 Python Executable: /srv/cof.ens.fr/gestion/venv/bin/python Python Version: 3.5.3 Python Path: ['/srv/cof.ens.fr/gestion/code', '/srv/cof.ens.fr/gestion/venv/lib/python35.zip', '/srv/cof.ens.fr/gestion/venv/lib/python3.5', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/plat-x86_64-linux-gnu', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/lib-dynload', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages'] Server time: Jeu, 11 Oct 2018 21:32:27 +0200 Installed Applications: ['shared', 'gestioncof', 'dal', 'dal_select2', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.admindocs', 'bda', 'captcha', 'django_cas_ng', 'bootstrapform', 'kfet', 'kfet.open', 'channels', 'widget_tweaks', 'custommail', 'djconfig', 'wagtail.wagtailforms', 'wagtail.wagtailredirects', 'wagtail.wagtailembeds', 'wagtail.wagtailsites', 'wagtail.wagtailusers', 'wagtail.wagtailsnippets', 'wagtail.wagtaildocs', 'wagtail.wagtailimages', 'wagtail.wagtailsearch', 'wagtail.wagtailadmin', 'wagtail.wagtailcore', 'wagtail.contrib.modeladmin', 'wagtailmenus', 'modelcluster', 'taggit', 'kfet.auth', 'kfet.cms', 'corsheaders'] Installed Middleware: ['corsheaders.middleware.CorsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'kfet.auth.middleware.TemporaryAuthMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'djconfig.middleware.DjConfigMiddleware', 'wagtail.wagtailcore.middleware.SiteMiddleware', 'wagtail.wagtailredirects.middleware.RedirectMiddleware'] Traceback: File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/channels/handler.py" in process_exception_by_middleware 243. return super(AsgiHandler, self).process_exception_by_middleware(exception, request) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/utils/decorators.py" in _wrapper 67. return bound_func(*args, **kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 23. return view_func(request, *args, **kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/utils/decorators.py" in bound_func 63. return func.__get__(self, type(self))(*args2, **kwargs2) File "/srv/cof.ens.fr/gestion/code/kfet/views.py" in dispatch 2448. return super().dispatch(*args, **kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/base.py" in dispatch 88. return handler(request, *args, **kwargs) File "/srv/cof.ens.fr/gestion/venv/lib/python3.5/site-packages/django/views/generic/detail.py" in get 116. context = self.get_context_data(object=self.object) File "/srv/cof.ens.fr/gestion/code/kfet/views.py" in get_context_data 2398. old_ctx = super().get_context_data(*args, **kwargs) File "/srv/cof.ens.fr/gestion/code/kfet/statistic.py" in get_context_data 311. scale_args = self.get_scale_args() File "/srv/cof.ens.fr/gestion/code/kfet/statistic.py" in get_scale_args 291. scale_args['n_steps'] = int(n_steps) Exception Type: ValueError at /k-fet/articles/25/stat/sales Exception Value: invalid literal for int() with base 10: '10scale_name=month' Request information: USER: kfet_genericteam GET: scale_n_steps = '10scale_name=month' scale_last = 'True' POST: No POST data FILES: No FILES data ```
wallez commented 2018-10-20 18:43:11 +02:00 (Migrated from git.eleves.ens.fr)

C'est normal, il manque un "&" dans l'URL : "scale_n_steps=10scale_name=month"

C'est normal, il manque un "&" dans l'URL : "scale_n_steps=10scale_name=month"
delobell commented 2019-01-05 16:59:59 +01:00 (Migrated from git.eleves.ens.fr)

Déjà on devrait pas retourner une 500 là-dessus.
La validation des paramètres de Scale pourrait être faite dans la vue par un Form.

Je vais faire un tour dans le JS. Non, c'est une vue qui retourne les URLs.

Déjà on devrait pas retourner une 500 là-dessus. La validation des paramètres de `Scale` pourrait être faite dans la vue par un `Form`. ~~Je vais faire un tour dans le JS.~~ Non, c'est une vue qui retourne les URLs.
delobell commented 2019-01-05 17:39:16 +01:00 (Migrated from git.eleves.ens.fr)

Je reproduis pas et rien qui m'a sauté aux yeux dans le code, donc une manipulation humaine ?

TODO

  • Utiliser un Form dans get_scale_args pour valider et nettoyer les paramètres GET scale_{}.
  • C'est une API, en cas d'erreur on peut juste retourner une 4xx dans la vue qui l'utilise (à faire au niveau de kfet.statistic.ScaleMixin je crois).
Je reproduis pas et rien qui m'a sauté aux yeux dans le code, donc une manipulation humaine ? **TODO** - Utiliser un `Form` dans `get_scale_args` pour valider et nettoyer les paramètres GET `scale_{}`. - C'est une API, en cas d'erreur on peut juste retourner une 4xx dans la vue qui l'utilise (à faire au niveau de `kfet.statistic.ScaleMixin` je crois).
delobell commented 2019-01-05 17:39:50 +01:00 (Migrated from git.eleves.ens.fr)

added ~14 ~68 ~65 labels

added ~14 ~68 ~65 labels
lstephan commented 2021-03-04 23:47:15 +01:00 (Migrated from git.eleves.ens.fr)

Ça doit être réglé par !462, normalement.

Ça doit être réglé par !462, normalement.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/gestioCOF#209
No description provided.