cubes issueshttps://forge.extranet.logilab.fr/groups/cubicweb/cubes/-/issues2023-12-12T11:43:10Zhttps://forge.extranet.logilab.fr/cubicweb/cubes/web/-/issues/5[views]: url in urlattr are escaped2023-12-12T11:43:10ZSimon Chabot[views]: url in urlattr are escapedSimon ChabotSimon Chabothttps://forge.extranet.logilab.fr/cubicweb/cubes/elasticsearch/-/issues/8[es] add an option for indexing numeric fields (Float, Int)2023-12-11T14:03:32ZKatia Saurfelt[es] add an option for indexing numeric fields (Float, Int)1.1.0https://forge.extranet.logilab.fr/cubicweb/cubes/web/-/issues/3[reledit] : bug dans le calcul des permissions pour les relations pour l'affi...2023-12-08T15:46:37ZViet-Hung Nhu[reledit] : bug dans le calcul des permissions pour les relations pour l'affichage actionbox_appearsin_addmenuLes permissions sur l'ajout des entités peuvent être complexes, cette complexité n'est pas prise en compte dans le calcul des permissions
P.ex dans le cas de némo, la permission sur l'ajout d'un objet peut impliquer le sujet, ce qui n'e...Les permissions sur l'ajout des entités peuvent être complexes, cette complexité n'est pas prise en compte dans le calcul des permissions
P.ex dans le cas de némo, la permission sur l'ajout d'un objet peut impliquer le sujet, ce qui n'est pas pris en compte dans la méthode AddRelatedActions.add_related_schemashttps://forge.extranet.logilab.fr/cubicweb/cubes/jsonschema/-/issues/3Errors in site_cubicweb.py2023-12-07T13:23:59ZKatia SaurfeltErrors in site_cubicweb.py1.
``` File "/home/katia/.virtualenvs/siaf4.2/lib/python3.9/site-packages/cubicweb_jsonschema/site_cubicweb.py", line 60, in <module>
add_mappers_to_cube_appobject_path()
File "/home/katia/.virtualenvs/siaf4.2/lib/python3.9/site-p...1.
``` File "/home/katia/.virtualenvs/siaf4.2/lib/python3.9/site-packages/cubicweb_jsonschema/site_cubicweb.py", line 60, in <module>
add_mappers_to_cube_appobject_path()
File "/home/katia/.virtualenvs/siaf4.2/lib/python3.9/site-packages/cubicweb_jsonschema/site_cubicweb.py", line 52, in add_mappers_to_cube_appobject_path
LOGGER.warning(
Message: 'failed to import %s.%s, "mappers" appobjects will not loaded for this configuration'
```
2.
```
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/katia/src/siafcw28/jsonschema/cubicweb_jsonschema/site_cubicweb.py", line 59, in <module>
add_mappers_to_cube_appobject_path()
File "/home/katia/src/siafcw28/jsonschema/cubicweb_jsonschema/site_cubicweb.py", line 51, in add_mappers_to_cube_appobject_path
LOGGER.warning(
Message: 'failed to import %s.%s, "mappers" appobjects will not loaded for this configuration'
Arguments: (('cubicweb.server.serverconfig', 'ServerConfiguration'),)
```1.7.2Katia SaurfeltKatia Saurfelthttps://forge.extranet.logilab.fr/cubicweb/cubes/elasticsearch/-/issues/7Upgrade elasticsearch and elasticsearch-dsl2023-11-24T10:42:25ZKatia SaurfeltUpgrade elasticsearch and elasticsearch-dslUpgrade elasticsearch and elasticsearch-dsl versions to ">=8.0.0,<9.0.0"Upgrade elasticsearch and elasticsearch-dsl versions to ">=8.0.0,<9.0.0"1.1.0Katia SaurfeltKatia Saurfelthttps://forge.extranet.logilab.fr/cubicweb/cubes/elasticsearch/-/issues/6Common terms query is no longer supported in ES 8.X2023-10-31T18:03:00ZKatia SaurfeltCommon terms query is no longer supported in ES 8.X[deprecation.elasticsearch][CRITICAL] Deprecated field [common] used, replaced by [[match] query which can efficiently skip blocks of documents if the total number of hits is not tracked][deprecation.elasticsearch][CRITICAL] Deprecated field [common] used, replaced by [[match] query which can efficiently skip blocks of documents if the total number of hits is not tracked]1.1.0https://forge.extranet.logilab.fr/cubicweb/cubes/elasticsearch/-/issues/5Specifying types in requests is no longer supported2023-11-24T10:42:26ZKatia SaurfeltSpecifying types in requests is no longer supportedRemove `doc_types` argument from requestsRemove `doc_types` argument from requests1.1.0Katia SaurfeltKatia Saurfelthttps://forge.extranet.logilab.fr/cubicweb/cubes/elasticsearch/-/issues/4Update to ES 8.X2023-11-03T14:14:59ZKatia SaurfeltUpdate to ES 8.XUpdate to the latest (8.10) ElasticSearc versionUpdate to the latest (8.10) ElasticSearc version1.1.0Katia SaurfeltKatia Saurfelthttps://forge.extranet.logilab.fr/cubicweb/cubes/web/-/issues/2Ignorer les vues abstraites dans le système de sélection automatique des vues2023-10-31T13:35:03ZNicola SpantiIgnorer les vues abstraites dans le système de sélection automatique des vues## Problème
Si une vue CubicWeb a un `__select__`, elle semble toujours tentée. La nom de la classe a beau avoir un nom commençant par un underscore et avoir `__abstract__ = True`, il est tout de même tenté de la sélectionner.
## Exemp...## Problème
Si une vue CubicWeb a un `__select__`, elle semble toujours tentée. La nom de la classe a beau avoir un nom commençant par un underscore et avoir `__abstract__ = True`, il est tout de même tenté de la sélectionner.
## Exemple
```
from cubicweb_web import action
class _DownloadExecutableFileResult(action.Action):
__abstract__ = True
submenu = _('download results')
vid = 'nemo.bytes-attribute-download'
class _DownloadExecutableErrors(_DownloadExecutableFileResult):
__abstract__ = True
__regid__ = 'nemo.download_fcast_calibration_errors'
__select__ = (is_in_state('wfs_finished', 'wfs_failed')
& score_entity(lambda e: e.has_errors_file))
```
## Souhait
On souhaite qu'un underscore au début du nom de la classe ou `__abstract__ = True` fasse que la classe soit ignorée dans le mécanisme de sélection. Cela ne doit pas valoir pour la ou les classes qui en héritent et qui n'ont pas l'une de ses propriétés.
## Notes
### Pile d'appels incomplète
```
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/cwvreg.py:278: in possible_actions
actions = rset.possible_actions(**kwargs) # cached implementation
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/rset.py:104: in possible_actions
actions = self.req.vreg["actions"].poss_visible_objects(
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/cwvreg.py:272: in poss_visible_objects
return sorted(self.possible_objects(*args, **kwargs), key=lambda x: x.order)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:669: in possible_objects
obj = self._select_best(objects, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:714: in _select_best
objectscore = obj.__select__(obj, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:1255: in traced
ret = selector(cls, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:275: in __call__
partscore = selector(cls, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:1255: in traced
ret = selector(cls, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:1255: in traced
ret = selector(cls, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/logilab/common/registry.py:1255: in traced
ret = selector(cls, *args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/predicates.py:196: in __call__
escore = self.score(req, rset, row, col)
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/predicates.py:211: in score
return self.score_entity(rset.get_entity(row, col))
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/predicates.py:721: in intscore
score = scorefunc(*args, **kwargs)
../../.virtualenvs/nemo/lib/python3.9/site-packages/cubicweb/predicates.py:1138: in score
return self._score(adapted)
```
### Tentative de recherche de l'origine
```
# logilab/common/registry.py
class RegistryStore(dict):
@classmethod
def is_registrable(cls, obj: Any) -> bool:
[some code]
if obj.__dict__.get("__abstract__", False):
return False
```
Malgré ça, le problème se pose.https://forge.extranet.logilab.fr/cubicweb/cubes/fresh/-/issues/5Pour les lignes de dépense, enlever de "pour le compte [de]" les gens désactivés2023-10-12T14:51:13ZNicola SpantiPour les lignes de dépense, enlever de "pour le compte [de]" les gens désactivés## Situation actuelle
Quand on ajoute ou modifie une ligne de dépense (`ExpenseLine`), il y a un champ "pour le compte [de]" (`paid_for`). Pour ce champ, l'interface web propose une liste, avec des trucs généraux de la boite et une lign...## Situation actuelle
Quand on ajoute ou modifie une ligne de dépense (`ExpenseLine`), il y a un champ "pour le compte [de]" (`paid_for`). Pour ce champ, l'interface web propose une liste, avec des trucs généraux de la boite et une ligne par employé·e. C'est pratique, mais cette liste ne fait que grossir, car les ex-salarié·e·s sont toujours dedans, alors qu'illes ne vont évidemment plus faire la moindre note de frais auprès de Logilab.
## Interface graphique
![Capture_d_écran_2023-10-12_16-41-57](/uploads/aea10537cd7c37b23d122b60ad79ca54/Capture_d_écran_2023-10-12_16-41-57.png)
## Souhait
On voudrait que la liste ne contienne pas les ex-salarié·e·s, du moins pour les nouvelles lignes de dépense et l'édition de celles plus récentes que le départ de 'ex-salarié·e.https://forge.extranet.logilab.fr/cubicweb/cubes/fresh/-/issues/3Move ENV form secret to env2023-08-17T14:29:06ZXavier GarnierMove ENV form secret to envhttps://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/26Transactions abandoned by clients are not removed/garbage collected2022-12-20T10:35:13ZFrank BessouTransactions abandoned by clients are not removed/garbage collectedhttps://forge.extranet.logilab.fr/cubicweb/cubes/celery/-/issues/1Permettre le fonctionnement avec CubicWeb 3.38 et publier une version avec ça2022-11-30T16:27:58ZNicola SpantiPermettre le fonctionnement avec CubicWeb 3.38 et publier une version avec çahttps://forge.extranet.logilab.fr/cubicweb/cubes/fresh/-/issues/2Permettre d'envoyer plusieurs fichiers d'un coup2022-11-29T15:33:25ZNicola SpantiPermettre d'envoyer plusieurs fichiers d'un coupQuand on fait une note de frais, on a souvent plein de fichiers (train, métro, hôtel, multiples repas). Devoir mettre les fichiers un par un est long. Ce serait donc bien de pouvoir en envoyer plusieurs d'un coup. Une solution de contour...Quand on fait une note de frais, on a souvent plein de fichiers (train, métro, hôtel, multiples repas). Devoir mettre les fichiers un par un est long. Ce serait donc bien de pouvoir en envoyer plusieurs d'un coup. Une solution de contournement peut être de tout mettre dans un PDF, mais on perd alors l'information du nom de fichier (qui peut donner une explication rapide sans avoir à analyser la facture), d'où la pertinence de téléverser plusieurs fichiers et idéalement avec la possibilité de le faire d'un seul coup.https://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/25considering remove specific json renderer and use the default pyramid one2022-11-24T09:50:35ZFabien Amargerfabien.amarger@logilab.frconsidering remove specific json renderer and use the default pyramid onehttps://forge.extranet.logilab.fr/cubicweb/cubes/fresh/-/issues/1Considérer le format WebP à afficher comme image2022-09-30T15:08:22ZNicola SpantiConsidérer le format WebP à afficher comme imagePour une note de frais, il faut joindre une ou des pièces justificatives. On peut ensuite cliquer dessus dans l'interface web. Pour le PNG et le JPG, ça s'affiche dans la page web en tant qu'image. En revanche, ce n'est pas le cas pour [...Pour une note de frais, il faut joindre une ou des pièces justificatives. On peut ensuite cliquer dessus dans l'interface web. Pour le PNG et le JPG, ça s'affiche dans la page web en tant qu'image. En revanche, ce n'est pas le cas pour [le WebP](https://fr.wikipedia.org/wiki/WebP), alors que ça devrait.
Exemple : https://intranet.logilab.fr/fresh/file/9829195https://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/24Add a logout route to invalidate the JWT cookie2022-07-27T12:09:53ZArnaud VergnetAdd a logout route to invalidate the JWT cookiehttps://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/22Several DNS for the same CW server2022-07-27T12:14:07ZFabien Amargerfabien.amarger@logilab.frSeveral DNS for the same CW serverFor the semwebpro instance, there are several DNS to access to this server:
- https://www.semweb.pro
- https://semweb.pro
Since the API cube use the `api-server-name` as base URL to define the API routes, only one can be handled.
It wou...For the semwebpro instance, there are several DNS to access to this server:
- https://www.semweb.pro
- https://semweb.pro
Since the API cube use the `api-server-name` as base URL to define the API routes, only one can be handled.
It would be nice to let both routes access to the API as it is for the interface.https://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/21Relations marked as symmetric appear twice in schema2023-06-09T09:34:11ZArnaud VergnetRelations marked as symmetric appear twice in schemaIf a relation as a different entity as subject and object with the option `symmetric` set, the schema will export it twice.If a relation as a different entity as subject and object with the option `symmetric` set, the schema will export it twice.https://forge.extranet.logilab.fr/cubicweb/cubes/api/-/issues/17openapi swagger editor validation error2022-06-17T14:39:30ZArnaud Vergnetopenapi swagger editor validation errorThe openapi file is not validated by the swagger editor: https://editor.swagger.io/
![Screenshot_2022-06-13_at_11-47-18_Swagger_Editor](/uploads/929745a079534bf88b7af3aad77d3060/Screenshot_2022-06-13_at_11-47-18_Swagger_Editor.png)The openapi file is not validated by the swagger editor: https://editor.swagger.io/
![Screenshot_2022-06-13_at_11-47-18_Swagger_Editor](/uploads/929745a079534bf88b7af3aad77d3060/Screenshot_2022-06-13_at_11-47-18_Swagger_Editor.png)