Rapport de bug pour WCS - 102

Le formulaire a été enregistré le 17/09/2005 10:09 avec le numéro 102.

Nom de l'utilisateurChristophe Boutet

Type Bug

Commentaire / explication

J'ai un problème de regex que j'essaye de résoudre. En fait qu'elle que soit la solution que j'adopte, la tienne ou celle de FT. Si je veux 5 caractères uniquement, le minimum marche, mais pas le maximum, je peux mettre 6 caractères.

j'ai donc essayé un truc à partir de la règle FT pour un champ à un caractère, "nombre d'exemplaires" règle initiale [0-9]{1,1} j'ai appliqué {1,1}[0-9]

J'ai complété un formulaire d'acte de dècès, j'ai validé et première erreur. je me suis dit que j'avais fait une connerie, j'ai donc viré la règle et uniquement laissé [0-9] J'ai complété un nouveau formulaire et ça a foiré aussi: seconde erreur affichée sous la première.

Erreur affichée

première erreur
Traceback (most recent call last):
  File "/usr/lib/python2.3/site-packages/quixote/publish.py", line 273, in process_request
    output = self.try_publish(request)
  File "/usr/lib/python2.3/site-packages/wcs/__init__.py", line 102, in try_publish
    return WcsPublisher.try_publish(self, request)
  File "/usr/lib/python2.3/site-packages/wcs/__init__.py", line 93, in try_publish
    return Publisher.try_publish(self, request)
  File "/usr/lib/python2.3/site-packages/quixote/publish.py", line 251, in try_publish
    output = self.root_directory._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 69, in _q_traverse
    return obj._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 95, in _q_traverse
    return super(AccessControlled, self)._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 69, in _q_traverse
    return obj._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 71, in _q_traverse
    return obj()
  File "/usr/lib/python2.3/site-packages/wcs/forms/root.ptl", line 479, in submit
    if not form.is_submitted() or form.has_errors():
  File "/usr/lib/python2.3/site-packages/quixote/form/form.py", line 191, in has_errors
    if widget.has_error(request=request):
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 100, in has_error
    return bool(self.get_error(request=request))
  File "/usr/lib/python2.3/site-packages/wcs/form.py", line 21, in get_i18n_error
    error = get_error_orig(self, request)
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 96, in get_error
    self.parse(request=request)
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 128, in parse
    self._parse(request)
  File "/usr/lib/python2.3/site-packages/wcs/form.py", line 216, in _parse
    if not re.match(self.field.validation, self.value):
  File "/usr/lib/python2.3/sre.py", line 132, in match
    return _compile(pattern, flags).match(string)
  File "/usr/lib/python2.3/sre.py", line 230, in _compile
    raise error, v # invalid expression
error: nothing to repeat

Form:
f11             zea
f12             zeaf
f13             12/12/1999
f14             aze
f15             zeadzae
f16             10
f3              Le conjoint survivant
f4              ezr
f5              ezrg
f6              ezrg
f7              00000
f8              zaef
f9              zea@
step            0
submit          Suivant

Cookies:
_liberty_idp    /cv6DTZ01Kq84M16/oy00eebbNo=
wcs             fd84c6a47dd334a0

Environment:
CONTENT_LENGTH  1505
CONTENT_TYPE    multipart/form-data; boundary=---------------------------2592245527683
DOCUMENT_ROOT   /usr/share/wcs/web/
HTTP_ACCEPT     text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_ACCEPT_LANGUAGE fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_CONNECTION keep-alive
HTTP_CONTENT_LENGTH 1505
HTTP_CONTENT_TYPE multipart/form-data; boundary=---------------------------2592245527683
HTTP_COOKIE     _liberty_idp="/cv6DTZ01Kq84M16/oy00eebbNo="; wcs="fd84c6a47dd334a0"
HTTP_HOST       wcs.entrouvert.org
HTTP_KEEP_ALIVE 300
HTTP_REFERER    http://wcs.entrouvert.org/forms/acte-de-deces/
HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
PATH_INFO       /forms/acte-de-deces/submit
QUERY_STRING    
REMOTE_ADDR     83.194.240.243
REMOTE_PORT     1307
REMOTE_USER     1
REQUEST_METHOD  POST
REQUEST_URI     /forms/acte-de-deces/submit
SCGI            1
SCRIPT_NAME     
SERVER_ADDR     84.207.4.4
SERVER_ADMIN    fpeters@entrouvert.com
SERVER_NAME     wcs.entrouvert.org
SERVER_PORT     80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e DAV/1.0.3 mod_python/2.7.10 Python/2.3.4 mod_scgi/1.2
UNIQUE_ID       QyvMn1TPBAQAAHlCO7s

seconde erreur:
Traceback (most recent call last):
  File "/usr/lib/python2.3/site-packages/quixote/publish.py", line 273, in process_request
    output = self.try_publish(request)
  File "/usr/lib/python2.3/site-packages/wcs/__init__.py", line 102, in try_publish
    return WcsPublisher.try_publish(self, request)
  File "/usr/lib/python2.3/site-packages/wcs/__init__.py", line 93, in try_publish
    return Publisher.try_publish(self, request)
  File "/usr/lib/python2.3/site-packages/quixote/publish.py", line 251, in try_publish
    output = self.root_directory._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 69, in _q_traverse
    return obj._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 95, in _q_traverse
    return super(AccessControlled, self)._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 69, in _q_traverse
    return obj._q_traverse(path)
  File "/usr/lib/python2.3/site-packages/quixote/directory.py", line 71, in _q_traverse
    return obj()
  File "/usr/lib/python2.3/site-packages/wcs/forms/root.ptl", line 479, in submit
    if not form.is_submitted() or form.has_errors():
  File "/usr/lib/python2.3/site-packages/quixote/form/form.py", line 191, in has_errors
    if widget.has_error(request=request):
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 100, in has_error
    return bool(self.get_error(request=request))
  File "/usr/lib/python2.3/site-packages/wcs/form.py", line 21, in get_i18n_error
    error = get_error_orig(self, request)
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 96, in get_error
    self.parse(request=request)
  File "/usr/lib/python2.3/site-packages/quixote/form/widget.py", line 128, in parse
    self._parse(request)
  File "/usr/lib/python2.3/site-packages/wcs/form.py", line 216, in _parse
    if not re.match(self.field.validation, self.value):
  File "/usr/lib/python2.3/sre.py", line 132, in match
    return _compile(pattern, flags).match(string)
  File "/usr/lib/python2.3/sre.py", line 230, in _compile
    raise error, v # invalid expression
error: nothing to repeat

Form:
f11             azec
f12             azec
f13             zaef
f14             eza
f15             zaef
f16             8
f3              Le conjoint survivant
f4              aerzger
f5              ezgr
f6              egz
f7              44444
f8              egzge
f9              azec@
step            0
submit          Suivant

Cookies:
_liberty_idp    /cv6DTZ01Kq84M16/oy00eebbNo=
wcs             fd84c6a47dd334a0

Environment:
CONTENT_LENGTH  1501
CONTENT_TYPE    multipart/form-data; boundary=---------------------------1897421525405
DOCUMENT_ROOT   /usr/share/wcs/web/
HTTP_ACCEPT     text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING gzip,deflate
HTTP_ACCEPT_LANGUAGE fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
HTTP_CONNECTION keep-alive
HTTP_CONTENT_LENGTH 1501
HTTP_CONTENT_TYPE multipart/form-data; boundary=---------------------------1897421525405
HTTP_COOKIE     _liberty_idp="/cv6DTZ01Kq84M16/oy00eebbNo="; wcs="fd84c6a47dd334a0"
HTTP_HOST       wcs.entrouvert.org
HTTP_KEEP_ALIVE 300
HTTP_REFERER    http://wcs.entrouvert.org/forms/acte-de-deces/
HTTP_USER_AGENT Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.7.10) Gecko/20050717 Firefox/1.0.6
PATH_INFO       /forms/acte-de-deces/submit
QUERY_STRING    
REMOTE_ADDR     83.194.240.243
REMOTE_PORT     1311
REMOTE_USER     1
REQUEST_METHOD  POST
REQUEST_URI     /forms/acte-de-deces/submit
SCGI            1
SCRIPT_NAME     
SERVER_ADDR     84.207.4.4
SERVER_ADMIN    fpeters@entrouvert.com
SERVER_NAME     wcs.entrouvert.org
SERVER_PORT     80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e DAV/1.0.3 mod_python/2.7.10 Python/2.3.4 mod_scgi/1.2
UNIQUE_ID       QyvM51TPBAQAAHs3MhE

StatutTerminée

Historique

17/09/2005 10:19 Frédéric Péters
Accepté

Le bug, là, c'est deux trucs: d'abord w.c.s. qui accepte que tu lui donnes une regex erronée. Le second, le fait que tu tapes des regex erronées alors qu'il suffit de me demander la bonne.

17/09/2005 10:21 Frédéric Péters
Terminée

Oubliant le document FT, je pensais avoir donné un exemple \d\d\d\d\d pour le code postal. 5 chiffres. \d serait donc valable pour un chiffre. Dans le cas présent, demander 0 exemplaire, ça n'a cependant pas de sens, [1-9] ferait ainsi l'affaire.