Plantage en modification de semestre si association avec le référentiel supprimée #483

Closed
opened 2022-09-01 15:19:04 +02:00 by jmplace · 1 comment
Collaborator

reproduction:

  • prendre un semestre BUT existant avec le programme associé à un référentiel
  • supprimer dans le programme la réféence au référentiel
  • reprendre le semestre et tenter la modification du semestre.

données envoyées le 01/09/2022 vers 15h15 (Lille)

formsemestre 944 (info BUT 1 semestre 1)

  • résultat:

lors de l'accés à l'écran de modification de semestre j obtiens un plantage avec la pile suivante:

INFO:  (INFO) initialized archiver, path=/opt/scodoc-data/archives
Traceback (most recent call last):
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2091, in __call__
    return self.wsgi_app(environ, start_response)
  File "/opt/scodoc/app/__init__.py", line 212, in __call__
    return self.app(environ, start_response)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2076, in wsgi_app
    response = self.handle_exception(e)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/opt/scodoc/app/decorators.py", line 79, in scodoc_function
    return func(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 91, in decorated_function
    return f(*args, **kwargs)
  File "/opt/scodoc/app/decorators.py", line 217, in scodoc7func_decorator
    value = func(*pos_arg_values, **kwargs)
  File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 113, in formsemestre_editwithmodules
    r = do_formsemestre_createwithmodules(edit=1)
  File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 231, in do_formsemestre_createwithmodules
    modules = sorted(
  File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 233, in <lambda>
    key=lambda m: m.sort_key_apc(),
  File "/opt/scodoc/app/models/modules.py", line 124, in sort_key_apc
    len(self.parcours) == self.formation.referentiel_competence.parcours.count()
AttributeError: 'NoneType' object has no attribute 'parcours'
reproduction: * prendre un semestre BUT existant avec le programme associé à un référentiel * supprimer dans le programme la réféence au référentiel * reprendre le semestre et tenter la modification du semestre. données envoyées le 01/09/2022 vers 15h15 (Lille) formsemestre 944 (info BUT 1 semestre 1) * résultat: lors de l'accés à l'écran de modification de semestre j obtiens un plantage avec la pile suivante: ``` INFO: (INFO) initialized archiver, path=/opt/scodoc-data/archives Traceback (most recent call last): File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2091, in __call__ return self.wsgi_app(environ, start_response) File "/opt/scodoc/app/__init__.py", line 212, in __call__ return self.app(environ, start_response) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2076, in wsgi_app response = self.handle_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/opt/scodoc/venv/lib/python3.9/site-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/opt/scodoc/app/decorators.py", line 79, in scodoc_function return func(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 91, in decorated_function return f(*args, **kwargs) File "/opt/scodoc/app/decorators.py", line 217, in scodoc7func_decorator value = func(*pos_arg_values, **kwargs) File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 113, in formsemestre_editwithmodules r = do_formsemestre_createwithmodules(edit=1) File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 231, in do_formsemestre_createwithmodules modules = sorted( File "/opt/scodoc/app/scodoc/sco_formsemestre_edit.py", line 233, in <lambda> key=lambda m: m.sort_key_apc(), File "/opt/scodoc/app/models/modules.py", line 124, in sort_key_apc len(self.parcours) == self.formation.referentiel_competence.parcours.count() AttributeError: 'NoneType' object has no attribute 'parcours' ```
Owner

Fixed by e758c8778e

Fixed by e758c8778ef4fcf365145fa64f76be8aa9756772
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
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: ScoDoc/ScoDoc#483
No description provided.