ofbiz-framework issueshttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues2024-03-22T09:15:42Zhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/114Proposer une gestion de notes associées au shipment2024-03-22T09:15:42ZPierre GaudinProposer une gestion de notes associées au shipmentDe manière identique a ce qui est fait sur ordr, quote, workeffort .... ajouter une gestion de note associé à l'objet Shipment via une table ShipmentNote.
Il faudrait faire les modifications suivantes :
modification du modèle de données...De manière identique a ce qui est fait sur ordr, quote, workeffort .... ajouter une gestion de note associé à l'objet Shipment via une table ShipmentNote.
Il faudrait faire les modifications suivantes :
modification du modèle de données
développement des services
développement de l'écran de gestion + requestmap et viewla reprisePierre GaudinPierre Gaudinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/144Mettre a jour le formulaire d'execution de service selon le type de champs (E...2024-03-22T09:15:15ZLeila MekikaMettre a jour le formulaire d'execution de service selon le type de champs (Ex: datetimepicker pour un timestamp)Lors de l’exécution d'un service depuis webtools les paramètres IN apparaissent comme des champs de saisie texte quelquesoit le type de données attendu.
La proposition est d'adapter l'affichage du formulaire en fonction du type de champ ...Lors de l’exécution d'un service depuis webtools les paramètres IN apparaissent comme des champs de saisie texte quelquesoit le type de données attendu.
La proposition est d'adapter l'affichage du formulaire en fonction du type de champ attendu (hors objet)Leila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/164Ajout du viewEntityCondition sur les dynamicView2023-12-21T10:03:41ZLeila MekikaAjout du viewEntityCondition sur les dynamicViewActuellement pour dkt, on a ajouté une methode DynamicViewEntity.addViewLink() qui prend en parametre le viewEntityCondition
Verifier que ce developpement est remonté dans OFBiz
Completer ce developpement pour permettre d'ajouter une con...Actuellement pour dkt, on a ajouté une methode DynamicViewEntity.addViewLink() qui prend en parametre le viewEntityCondition
Verifier que ce developpement est remonté dans OFBiz
Completer ce developpement pour permettre d'ajouter une condition complexe (cf [makeOrderCondition](https://labs.nereide.fr/10923/plugins/plugins/-/commit/29e97bd7b9cb1e726bcc51b0592b751030fc9df5#110ae7518829c8c8325006903fd21b5c006b0054_626_424))
avec possibiliter de combinaison AND/ORLeila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/23Récupération main menu avec id webapp (5)2023-12-01T10:08:14ZGil PortenseigneRécupération main menu avec id webapp (5)OFBIZ-10601OFBIZ-10601la repriseNicolas MalinNicolas Malinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/157Retour de generic value incomplet depuis le cache2023-11-17T09:39:16ZLeila MekikaRetour de generic value incomplet depuis le cacheLors de la récupération de gv via un from depuis le cache, il arrive qu'on se retrouve avec une generic value incomplete (comme si il y avait eu un select)
Exemples de cas:
https://labs.nereide.fr/10923/plugins/plugins/-/commit/8e16ee8a...Lors de la récupération de gv via un from depuis le cache, il arrive qu'on se retrouve avec une generic value incomplete (comme si il y avait eu un select)
Exemples de cas:
https://labs.nereide.fr/10923/plugins/plugins/-/commit/8e16ee8a2929c5c7073e6a3bae6d3b9fc897b15c
https://labs.nereide.fr/10923/plugins/plugins/-/commit/3d05a569a0689fd9669d8cf47a8fd6c42707e764
Objectif:
Identifier les mises en cache ayant causé le souci et eventuellement préparer une correction de l'EntityQueryLeila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/160Correction de la validation de formulaire dans une modale2023-11-17T09:34:28ZLeila MekikaCorrection de la validation de formulaire dans une modaleLes champs obligatoires ne sont pas contrôlés dans un formulaire lorsque celui ci est a l'intérieur d'une modale.
Exemple:Les champs obligatoires ne sont pas contrôlés dans un formulaire lorsque celui ci est a l'intérieur d'une modale.
Exemple:Leila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/150Ajout d'un element callback dans les liens2023-11-17T09:33:22ZNicolas MalinAjout d'un element callback dans les liensNicolas MalinNicolas Malinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/155Ajout d'une macro timeline2023-05-09T16:45:07ZPierre GaudinAjout d'une macro timelinePierre GaudinPierre Gaudinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/159Blog : correction condition d'affichage des content dans un screen2023-04-21T12:11:06ZLeila MekikaBlog : correction condition d'affichage des content dans un screenla balise content n'affiche pas correctement les images. Une condition de type empeche le chargement sans que la raison ne soit clairela balise content n'affiche pas correctement les images. Une condition de type empeche le chargement sans que la raison ne soit claireLeila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/161Ajout du parametre auto-parameters-form sur on event update area2023-04-21T12:04:53ZLeila MekikaAjout du parametre auto-parameters-form sur on event update areaPermet de transferer les parametres saisis par l'utilisateur dans un unpdate areaPermet de transferer les parametres saisis par l'utilisateur dans un unpdate areaLeila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/163Amélioration : permettre de renvoyer une liste de Check2023-01-26T08:14:14ZCharles STELTZLENAmélioration : permettre de renvoyer une liste de Checkhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/113Généraliser et remonter la gestion des flux2023-01-26T08:13:59ZGil PortenseigneGénéraliser et remonter la gestion des fluxL'outil de gestion des flux de Decathlon permet de visualiser et régénérer le traitement de commEvents pour l'envoi de données.
L'objectif est de faciliter la maintenance des échanges de données entre OFBiz et l'applicatif externe. Que ...L'outil de gestion des flux de Decathlon permet de visualiser et régénérer le traitement de commEvents pour l'envoi de données.
L'objectif est de faciliter la maintenance des échanges de données entre OFBiz et l'applicatif externe. Que ce soient les flux entrant ou sortant.
Deux possibilités :
* La gestion de envoi et réception de flux de manière asynchrone
* La reception d'un flux créé le commEvent avec le content associé, sans traitement ultérieur
* Le traitement d'un flux entrant se fait dans un second temps pour logger les erreurs et permettre l'analyse.
* La génération d'un flux sortant se fait classiquement
* L'envoi du flux sortant, peut etre précédé d'un service de contrôle validant la donnée envoyée.
* La gestion de flux synchrone :
* L'execution de l'envoi se fait de manière synchrone, un commEvent et content est créé pour logger l'envoi et permettre son réenvoi
* Le log de la reception se fait directement post traitement, à l'instar de l'envoi.
L'outil ne doit pas gérer l'ensemble des commEvent OFBiz. Il faut donc définir un discriminant pour les commEvent à suivre.
L'outil permet de gérer ce commEvent :
* Recherche un flux
* Replanification d'un flux sans modification
* Replanification avec modification (régénération de content)
Le flux généralisés, supportés sont :
- les mails à suivres avec PJ (génération de PJ sur un content)
- flux ftp
Avoir un service d'alimentation d'un mail à suivre/ftp à générer.
Avoir un job de traitement des commEvent simplifié. Pour planification de leur envoi (ou voir si les jobs standards font le taf)
**Tâches :**
- [x] Description globale de la tâche
- [ ] Definition des cas d'usages
- [ ] Définition de nouveaux types de commEvent
- [ ] Définition cas d'usage mail (idées de flux à suivre, autour d'une commande)
- [ ] Reprise des écrans
- [ ] Recherche de commEvent sous-type créés
- [ ] Liste des commEvent et content associés
- [ ] Services
- [ ] écriture de service de création de commEvent
- [ ] écriture de job de traitement de commEvent
- [ ] écriture de service de replanification de commEvent
Pad (brouillon collaboratif) du ticket:
https://pad.libre-entreprise.org/p/nereide_communautaire_113
**17 septembre 2019 : Le besoin exprimé par Pierre est plus simple que celui implémenté chez Decathlon :**
Logger les appels WS et leur retours de certains services dans des commEvents afin d'avoir des quantités chiffrés d'erreur, et de produire des analyses cas par cas.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
L'idée : de manière spécifique définir un service qui sera branché en écoute sur le serviceEngine (ou en seca sur les services à analyser) qui va :
* Vérifier (dans le cas `serviceEngine`) le fait que ce service est paramétré par `systemProperty` pour être loggé
* Créer un commEvent en enregistrant
* Dans un content les paramètres d'entrées de service sérialisés.
* Dans le status du commEvent : le code retour succès ou erreur
* Dans un autre content les données retournées préfixé du code retour exact, et éventuellement du header
* Dans le contactMechIdTo : une référence vers un contactMEch de type `webService` indiquant le endpoint contacté
* Dans le partyIdFrom l'acteur émetteur de l'appel
* Dans le partyIdTo l'acteur destinataire (identifié du header et du sens de l'appel in/OUT)
Cela fait on peut logger de manière paramétrable les services désirés.
Les données sauvegardées sur le commEvent permettent son rejeu, à coder de façon spécifique...
Reste a voir si c'est remontable/justifiable auprès de la communauté.la repriseGil PortenseigneGil Portenseignehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/34Répétition de code pour lancer les événements2022-12-30T15:55:16ZMathieu LirzinRépétition de code pour lancer les événementsVoir description faîte dans le ticket [OFBIZ-10474](https://issues.apache.org/jira/browse/OFBIZ-10474).Voir description faîte dans le ticket [OFBIZ-10474](https://issues.apache.org/jira/browse/OFBIZ-10474).https://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/39Réusinage et documentation de ‘EntityCondition’2022-12-30T15:55:16ZMathieu LirzinRéusinage et documentation de ‘EntityCondition’L'organisation de la hiérarchie de classe `EntityConditionBase` mériterait d'être repensée. Premièrement elle fait un usage abusif de l'héritage avec pour unique objectif de partager du code. Le diagramme suivant représente la hiérarchie...L'organisation de la hiérarchie de classe `EntityConditionBase` mériterait d'être repensée. Premièrement elle fait un usage abusif de l'héritage avec pour unique objectif de partager du code. Le diagramme suivant représente la hiérarchie de classes actuelle:
```mermaid
graph BT
EntityCondition-->EntityConditionBase
EntityOperator-->EntityConditionBase
EntityConditionValue-->EntityConditionBase
```
Il faut dans premier temps séparer `EntityCondition`, `EntityConditionValue`, et `EntityOperator` en trois hiérarchies différentes:
- [x] Vider la classe `EntityConditionBase`
- [x] Supprimer l'héritage
La deuxième étape consiste à refactoriser et documenter `EntityCondition`:
- [x] Transformer `EntityCondition` en interface
- [x] Remplacer la classe `EntityConditionFunction` par `EntityNotCondition`
- [x] Supprimer le code mort
- [x] Écrire la javadoc
On laisse de coté la refactorisation/documentation de `EntityOperator` et `EntityConditionValue` pour un autre ticketYolande et remontée de codeGil PortenseigneGil Portenseignehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/63Amélioration du performFind pour supporter des DynamicEntityView2022-07-08T16:38:54ZNicolas MalinAmélioration du performFind pour supporter des DynamicEntityViewActuellement le performFind ne travail que sur des entity ou des viewEntity, seleument dans des cas complexe nous avons besoins de pouvoir créer dynamiquement la vue.Actuellement le performFind ne travail que sur des entity ou des viewEntity, seleument dans des cas complexe nous avons besoins de pouvoir créer dynamiquement la vue.Nicolas MalinNicolas Malinhttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/158Le champ required n'est pas pris en compte dans un formulaire avec upload2022-07-01T12:53:19ZLeila MekikaLe champ required n'est pas pris en compte dans un formulaire avec uploadSouci remonté par Charles:
dans OFBiz, dans un Form de type "upload",
si en plus des champs nécessaires au chargement, on ajoute un champs supplémentaire obligatoire,
alors l'étoile "*" apparait bien mais cela ne fonctionne pas, j'arr...Souci remonté par Charles:
dans OFBiz, dans un Form de type "upload",
si en plus des champs nécessaires au chargement, on ajoute un champs supplémentaire obligatoire,
alors l'étoile "*" apparait bien mais cela ne fonctionne pas, j'arrive à submiter le formulaire sans remplir ce champs obligatoire
(en plus, le fond du champs reste clair au lieu d'etre en jaune)
illustration :
le Form
<form name="viewCreditNoteRequestAddDocument" type="upload" target="addCustRequestContent" default-table-style="basic-table" >
<field name="custRequestId"><hidden/></field>
<field name="uploadedFile" title="Fichier" tooltip="Taille des documents inférieurs à 5 Mo" required-field="true"><file/></field>
<field name="description" required-field="true"><text/></field>
<field name="upload" title="${uiLabelMap.CreditNoteRequestDownload}" position="2"><submit/></field>
</form>
et le rendu est le suivant :
![Capture_d_écran_de_2022-04-26_17-31-43](/uploads/77bd3eaed59769a6a86b2fc81c2af71c/Capture_d_écran_de_2022-04-26_17-31-43.png)Gil PortenseigneGil Portenseignehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/27Amélioration de la gestion des erreurs sur l'appel du run groovy DSL2022-06-24T15:57:11ZLeila MekikaAmélioration de la gestion des erreurs sur l'appel du run groovy DSLAmélioration de la gestion des erreurs sur l'appel du runService groovy DSL.
runService throw une ExecutionServiceException et le message d'erreur obtenu en retour est trop détaillé
https://pad.libre-entreprise.org/p/OFBizErreurGroovyAmélioration de la gestion des erreurs sur l'appel du runService groovy DSL.
runService throw une ExecutionServiceException et le message d'erreur obtenu en retour est trop détaillé
https://pad.libre-entreprise.org/p/OFBizErreurGroovyBonne Année 2019Gil PortenseigneGil Portenseignehttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/98Amelioration: Ajouter un moyen de filtrer les agreements en cours dans l'ecra...2022-05-18T09:41:51ZLeila MekikaAmelioration: Ajouter un moyen de filtrer les agreements en cours dans l'ecran standardLorsque les agreements sont mis à jour très régulièrement, et deviennent très nombreux, il serait pratique d'avoir un moyen de filtrer dans la recherche sur les agreements valides dans l’écran standard:
https://localhost:8443/accounting/...Lorsque les agreements sont mis à jour très régulièrement, et deviennent très nombreux, il serait pratique d'avoir un moyen de filtrer dans la recherche sur les agreements valides dans l’écran standard:
https://localhost:8443/accounting/control/FindAgreementLeila MekikaLeila Mekikahttps://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/81Amélioration: RequestHandler garder le nom du fichier lors d'erreur2021-11-10T09:13:01ZNicolas MalinAmélioration: RequestHandler garder le nom du fichier lors d'erreurLors d'un retour erreur avec d'un fichier on perd le nom du fichier à transférer
```
/* DECATHLON specific */
//TODO : suggest to DEV -> manage return error request (no need to retrieve the file name)
if (contentT...Lors d'un retour erreur avec d'un fichier on perd le nom du fichier à transférer
```
/* DECATHLON specific */
//TODO : suggest to DEV -> manage return error request (no need to retrieve the file name)
if (contentType.contains("application") || contentType.contains("text")) {
String fileName = req.getParameter("responseFileName");
if (UtilValidate.isEmpty(fileName)) fileName = (String) req.getAttribute("responseFileName");
if (UtilValidate.isNotEmpty(fileName)) {
resp.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
}
}
/* DECATHLON specific */
```https://labs.nereide.fr/10031/apache/ofbiz-framework/-/issues/75Amélioration: Ajout de makeEntityCondition sur les vue dynamique2021-04-14T06:23:34ZNicolas MalinAmélioration: Ajout de makeEntityCondition sur les vue dynamique```
// ========= = DECATHLON specific = ==========
public ViewEntityCondition makeViewEntityCondition(Delegator delegator, String entityAlias, String fieldName, String operator, String value) {
return makeViewEntityConditi...```
// ========= = DECATHLON specific = ==========
public ViewEntityCondition makeViewEntityCondition(Delegator delegator, String entityAlias, String fieldName, String operator, String value) {
return makeViewEntityCondition(delegator, entityAlias, fieldName, operator, value, "");
}
public ViewEntityCondition makeViewEntityCondition(Delegator delegator, String entityAlias, String fieldName, String operator, String value, String relEntityAlias) {
return makeViewEntityCondition(delegator, entityAlias, fieldName, operator, value, relEntityAlias, "");
}
public ViewEntityCondition makeViewEntityCondition(Delegator delegator, String entityAlias, String fieldName, String operator, String value, String relEntityAlias, String relFieldName) {
HashMap<String, Object> myElement = new HashMap<String, Object>() ;
HashMap<String, Object> whereConditionExpr = new HashMap<String, Object>() ;
if (UtilValidate.isNotEmpty(entityAlias)) {
whereConditionExpr.put("entity-alias",entityAlias) ;
}
if (UtilValidate.isNotEmpty(fieldName)) {
whereConditionExpr.put("field-name",fieldName) ;
}
if (UtilValidate.isNotEmpty(operator)) {
whereConditionExpr.put("operator",operator) ;
}
if (UtilValidate.isNotEmpty(value)) {
whereConditionExpr.put("value",value) ;
}
if (UtilValidate.isNotEmpty(relEntityAlias)) {
whereConditionExpr.put("rel-entity-alias",relEntityAlias) ;
}
if (UtilValidate.isNotEmpty(relFieldName)) {
whereConditionExpr.put("rel-field-name",relFieldName) ;
}
myElement.put("whereConditionExpr",whereConditionExpr) ;
return new ViewEntityCondition(this.makeModelViewEntity(delegator), null, myElement) ;
}
// ========= = DECATHLON specific = ==========
```