Aufinal/refactor history #496

Merged
lstephan merged 0 commits from Aufinal/refactor_history into aureplop/kpsul_js_refactor 2017-05-16 10:48:18 +02:00
lstephan commented 2017-03-19 04:39:56 +01:00 (Migrated from git.eleves.ens.fr)
  • Classe History construite sur ModelForest, avec toutes les classes d'opérations nécessaires
  • Support de l'historique sur les vues history, kpsul, transfers, account_read.
  • Support de l'actualisation websocket sur les ajouts/annulations d'opérations et annulations de transferts dans toutes les vues.
  • Support de la suppression d'opérations/transfert (pour l'instant sans confirmation) dans toutes les vues
  • Préparation de l'extension du WS aux créations de transferts (quand transfers_create sera réparée)

Note: cette MR s'appuie fortement sur !173, et remplace !132

- Classe `History` construite sur `ModelForest`, avec toutes les classes d'opérations nécessaires - Support de l'historique sur les vues `history`, `kpsul`, `transfers`, `account_read`. - Support de l'actualisation websocket sur les ajouts/annulations d'opérations et annulations de transferts dans toutes les vues. - Support de la suppression d'opérations/transfert (pour l'instant sans confirmation) dans toutes les vues - Préparation de l'extension du WS aux créations de transferts (quand `transfers_create` sera réparée) Note: cette MR s'appuie fortement sur !173, et remplace !132
lstephan commented 2017-03-19 04:40:18 +01:00 (Migrated from git.eleves.ens.fr)

assigned to @delobell

assigned to @delobell
lstephan commented 2017-03-19 04:40:25 +01:00 (Migrated from git.eleves.ens.fr)

added ~25 label

added ~25 label
lstephan commented 2017-03-19 05:00:11 +01:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • c99e4f26 - Move history initialisation as Config.reset callback

Compare with previous version

added 1 commit * c99e4f26 - Move history initialisation as Config.reset callback [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=243&start_sha=66c5a6953ce24303de7d1ab10ddb24e21c628140)
lstephan commented 2017-03-20 04:43:22 +01:00 (Migrated from git.eleves.ens.fr)

added 5 commits

  • 565a0543 - Add support for low stock css
  • fc3e86ae - Add websocket support to ArticleManager
  • 3465dd70 - Change node.type to node.modelname for clarity
  • fe965875 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history
  • 1fcd53d7 - Continue renaming node.type to node.modelname

Compare with previous version

added 5 commits * 565a0543 - Add support for low stock css * fc3e86ae - Add websocket support to ArticleManager * 3465dd70 - Change node.type to node.modelname for clarity * fe965875 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history * 1fcd53d7 - Continue renaming node.type to node.modelname [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=252&start_sha=c99e4f26d01e399b456506ce8d91fff38bb2c8ce)
lstephan commented 2017-03-21 02:38:21 +01:00 (Migrated from git.eleves.ens.fr)

mentioned in issue #144

mentioned in issue #144
lstephan commented 2017-03-25 03:57:48 +01:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • aa6a50a6 - Simplify JS-Python interface for cancel_ops

Compare with previous version

added 1 commit * aa6a50a6 - Simplify JS-Python interface for cancel_ops [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=271&start_sha=1fcd53d780c2aa0efe5a1dceb8ea631154ab6ef7)
lstephan commented 2017-03-25 16:42:03 +01:00 (Migrated from git.eleves.ens.fr)

added 9 commits

  • aa6a50a6...6afbcb44 - 8 commits from branch aureplop/kpsul_js_refactor
  • 0997d850 - Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCO…

Compare with previous version

added 9 commits * aa6a50a6...6afbcb44 - 8 commits from branch `aureplop/kpsul_js_refactor` * 0997d850 - Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCO… [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=275&start_sha=aa6a50a6e7bbbfc7f29cb1f439c98a4955c932b0)
lstephan commented 2017-03-25 17:44:49 +01:00 (Migrated from git.eleves.ens.fr)

added 3 commits

  • 5ff8f69b - Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCO…
  • e6735d44 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history
  • a1c97618 - Fix transfer sort

Compare with previous version

added 3 commits * 5ff8f69b - Merge branch 'aureplop/kpsul_js_refactor' of git.eleves.ens.fr:cof-geek/gestioCO… * e6735d44 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history * a1c97618 - Fix transfer sort [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=277&start_sha=0997d850833085bbeaedc3e3ec236bb1b94c5648)
lstephan commented 2017-04-01 04:51:32 +02:00 (Migrated from git.eleves.ens.fr)

added 7 commits

  • a1c97618...842f2cec - 5 commits from branch aureplop/kpsul_js_refactor
  • 7d93d91a - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles
  • 2774dbb5 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history

Compare with previous version

added 7 commits * a1c97618...842f2cec - 5 commits from branch `aureplop/kpsul_js_refactor` * 7d93d91a - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles * 2774dbb5 - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=314&start_sha=a1c976185ca3a33a6aceaf4a942b5869a840bbd6)
lstephan commented 2017-04-04 02:24:44 +02:00 (Migrated from git.eleves.ens.fr)

added 341 commits

  • 2774dbb5...9d2298a0 - 335 commits from branch aureplop/kpsul_js_refactor
  • b91edc9c - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles
  • 3ce4dc5c - Add article stock management
  • 07290f6f - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history
  • a173be4f - Use api_with_auth in history
  • 20b7156e - Improve type display
  • ec9f4727 - Fix WS update functions

Compare with previous version

added 341 commits * 2774dbb5...9d2298a0 - 335 commits from branch `aureplop/kpsul_js_refactor` * b91edc9c - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles * 3ce4dc5c - Add article stock management * 07290f6f - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history * a173be4f - Use api_with_auth in history * 20b7156e - Improve type display * ec9f4727 - Fix WS update functions [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=348&start_sha=2774dbb5dec59daa9330a3eba4ae3208376d0003)
lstephan commented 2017-04-04 02:26:54 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

Compare with previous version

added 1 commit * 514f1da6 - Fix SpecialOpeFormatter [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=349&start_sha=ec9f47274ac28cdf4f3244d309818e10a3792de9)
delobell commented 2017-04-05 13:22:50 +02:00 (Migrated from git.eleves.ens.fr)

Le nom est malheureusement déjà pris par l'API pour manipuler l'historique du navigateur :
https://developer.mozilla.org/en-US/docs/Web/API/History_API
D'où les khistory à la place, si t'as un nom plus mignon je t'en prie ;-)

Le nom est malheureusement déjà pris par l'API pour manipuler l'historique du navigateur : https://developer.mozilla.org/en-US/docs/Web/API/History_API D'où les `khistory` à la place, si t'as un nom plus mignon je t'en prie ;-)
delobell commented 2017-04-05 13:24:34 +02:00 (Migrated from git.eleves.ens.fr)

Je t'apprends rien mais on a OperationWebsocket

Je t'apprends rien mais on a `OperationWebsocket`
delobell commented 2017-04-05 13:25:20 +02:00 (Migrated from git.eleves.ens.fr)

A passer dans reset de KPsulManager
Edit: oublie, i'm a boulet

A passer dans `reset` de `KPsulManager` Edit: oublie, i'm a boulet
delobell commented 2017-04-05 13:25:47 +02:00 (Migrated from git.eleves.ens.fr)

Il y a encore besoin de la class table ?

Il y a encore besoin de la class `table` ?
delobell commented 2017-04-05 13:41:27 +02:00 (Migrated from git.eleves.ens.fr)

Pour faire plus "propre" (à mon avis)
Ça peut rentrer dans la class History: fetch(options) qui fait ça sans enregistrer dans api_options et qui fait l'appel à fromAPI. History.api_options permettrait d'avoir des valeurs par défaut si options n'est pas spécifiée (donc History.reset ferait juste un fetch() à la place du fromAPI
La logique de récupération des options depuis les inputs reste ici.

Pour faire plus "propre" (à mon avis) Ça peut rentrer dans la class `History`: `fetch(options)` qui fait ça sans enregistrer dans `api_options` et qui fait l'appel à `fromAPI`. `History.api_options` permettrait d'avoir des valeurs par défaut si `options` n'est pas spécifiée (donc `History.reset` ferait juste un `fetch()` à la place du `fromAPI` La logique de récupération des options depuis les inputs reste ici.
delobell commented 2017-04-05 13:45:20 +02:00 (Migrated from git.eleves.ens.fr)

A passer dans KPsulManager.reset

A passer dans `KPsulManager.reset`
delobell commented 2017-04-05 13:48:19 +02:00 (Migrated from git.eleves.ens.fr)

KPsulManager.reset devrait faire un this.focus. Le focus_next ici peut alors être retiré.

`KPsulManager.reset` devrait faire un `this.focus`. Le `focus_next` ici peut alors être retiré.
delobell commented 2017-04-05 13:52:30 +02:00 (Migrated from git.eleves.ens.fr)

Afin d'avoir un peu plus de clarté, est-ce que tu pourrais mettre la logique de sélection dans une classe distincte ?
On peut imaginer qu'on veut pas forcément que l'historique soit sélectionnable. Une option pourrait indiquer ça. Seulement si elle est activée, on crée l'objet HistorySelection.

Afin d'avoir un peu plus de clarté, est-ce que tu pourrais mettre la logique de sélection dans une classe distincte ? On peut imaginer qu'on veut pas forcément que l'historique soit sélectionnable. Une option pourrait indiquer ça. Seulement si elle est activée, on crée l'objet `HistorySelection`.
delobell commented 2017-04-05 14:03:52 +02:00 (Migrated from git.eleves.ens.fr)

Tu fais pas confiance à l'API pour renvoyer les bonnes données ? ^^

Tu fais pas confiance à l'API pour renvoyer les bonnes données ? ^^
lstephan commented 2017-04-05 14:16:39 +02:00 (Migrated from git.eleves.ens.fr)

Le is_valid sert à vérifier que les opegroups reçus sont conformes aux options de l'historique (c'est pour ça que je dois les conserver d'ailleurs)

Le `is_valid` sert à vérifier que les `opegroups` reçus sont conformes aux options de l'historique (c'est pour ça que je dois les conserver d'ailleurs)
lstephan commented 2017-04-05 15:06:08 +02:00 (Migrated from git.eleves.ens.fr)

Du coup, il faudrait faire un reset(options), ce qui me gêne un peu...

Du coup, il faudrait faire un `reset(options)`, ce qui me gêne un peu...
delobell commented 2017-04-05 15:26:43 +02:00 (Migrated from git.eleves.ens.fr)

Effectivement c'est pas joli. Mais sinon, j'me dis qu'il devrait juste pas y avoir de fetch dans reset

Effectivement c'est pas joli. Mais sinon, j'me dis qu'il devrait juste pas y avoir de `fetch` dans `reset`
delobell commented 2017-04-05 15:27:20 +02:00 (Migrated from git.eleves.ens.fr)

Au début de fetch, tu peux faire un reset du coup

Au début de `fetch`, tu peux faire un reset du coup
lstephan commented 2017-04-05 16:26:49 +02:00 (Migrated from git.eleves.ens.fr)

added 20 commits

  • 514f1da6...2e0de754 - 5 commits from branch aureplop/kpsul_js_refactor
  • 05156f37 - Update addExistingPurchase
  • e5791efe - Remove last traces of old articles
  • cb28b928 - Remove articleSelect from _env
  • 021937a3 - Small bugfixes
  • 9c559d9e - Add articles reset to kpsul.reset
  • 3b9affb3 - Add focus methods
  • a29de134 - Move focus ; move is_low_stock to method
  • 840010b6 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles
  • 1761c5f1 - Change fromAPI logic
  • 360c442a - Remove useless class
  • e051631a - Use WebSocket classes
  • 7ec7ed26 - Rename History class
  • 290d4ecb - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history
  • 8d13c0a4 - Add fetch method
  • 88f7ea94 - Move selection logic to another class

Compare with previous version

added 20 commits * 514f1da6...2e0de754 - 5 commits from branch `aureplop/kpsul_js_refactor` * 05156f37 - Update addExistingPurchase * e5791efe - Remove last traces of old articles * cb28b928 - Remove articleSelect from _env * 021937a3 - Small bugfixes * 9c559d9e - Add articles reset to kpsul.reset * 3b9affb3 - Add focus methods * a29de134 - Move focus ; move is_low_stock to method * 840010b6 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_articles * 1761c5f1 - Change fromAPI logic * 360c442a - Remove useless class * e051631a - Use WebSocket classes * 7ec7ed26 - Rename History class * 290d4ecb - Merge branch 'Aufinal/refactor_articles' into Aufinal/refactor_history * 8d13c0a4 - Add fetch method * 88f7ea94 - Move selection logic to another class [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=373&start_sha=514f1da6dfa11d39a719820a939e80eb4921f920)
delobell commented 2017-04-05 16:57:29 +02:00 (Migrated from git.eleves.ens.fr)

Y'a juste à passer un template qui n'a pas de champ class="trigramme" en théorie

Y'a juste à passer un template qui n'a pas de champ `class="trigramme"` en théorie
delobell commented 2017-04-05 16:59:44 +02:00 (Migrated from git.eleves.ens.fr)

history est pris

`history` est pris
delobell commented 2017-04-05 16:59:56 +02:00 (Migrated from git.eleves.ens.fr)

C'est jetable non ?

C'est jetable non ?
delobell commented 2017-04-05 17:01:28 +02:00 (Migrated from git.eleves.ens.fr)

et je trouve que ça fait plus sens de soit passer un template sans class="trigramme", soit une option qui switche modifie le template utilisé dans KHistory pour virer le div concerné

et je trouve que ça fait plus sens de soit passer un template sans `class="trigramme"`, soit une option qui switche modifie le template utilisé dans KHistory pour virer le div concerné
delobell commented 2017-04-05 17:02:30 +02:00 (Migrated from git.eleves.ens.fr)

nope

nope
lstephan commented 2017-04-05 21:51:30 +02:00 (Migrated from git.eleves.ens.fr)

added 2 commits

Compare with previous version

added 2 commits * f57c2921 - Rename history var * ed0a82ed - Add no_trigramme option [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=384&start_sha=88f7ea941db792850ee02585ca4d815b86a9ce45)
lstephan commented 2017-04-09 22:54:58 +02:00 (Migrated from git.eleves.ens.fr)

added 73 commits

  • ed0a82ed...7fc07ac6 - 71 commits from branch aureplop/kpsul_js_refactor
  • 051231a0 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_history
  • 688d5bba - Adapt history to new structure

Compare with previous version

added 73 commits * ed0a82ed...7fc07ac6 - 71 commits from branch `aureplop/kpsul_js_refactor` * 051231a0 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_history * 688d5bba - Adapt history to new structure [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=416&start_sha=ed0a82ed5d7d5548fba12f5f5540980b0e565f11)
lstephan commented 2017-04-10 04:25:17 +02:00 (Migrated from git.eleves.ens.fr)

added 2 commits

Compare with previous version

added 2 commits * 5e875263 - Add index for Day objects * 47da80f2 - Add related objects [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=417&start_sha=688d5bba29758294b08dedabf2f2dca275036a6d)
delobell commented 2017-04-10 13:19:42 +02:00 (Migrated from git.eleves.ens.fr)

Tu peux le passer en defaults_api et créer defaults dont tu te sers au début du contructeur, les templates passent alors dedans et ça te permet de virer les if (options.. ou if (!options... dans le constructeur

Tu peux le passer en `defaults_api` et créer `defaults` dont tu te sers au début du contructeur, les templates passent alors dedans et ça te permet de virer les `if (options..` ou `if (!options...` dans le constructeur
delobell commented 2017-04-10 13:21:08 +02:00 (Migrated from git.eleves.ens.fr)

Le contenu du else if passe dans le constructeur aussi

Le contenu du `else if` passe dans le constructeur aussi
delobell commented 2017-04-10 13:26:33 +02:00 (Migrated from git.eleves.ens.fr)

A mon avis, le block if (window.kpsul) devrait pas avoir à être là.
Pour compenser, on peut créer un lancer un event que kpsul récupérerait. Ça serait plus pratique à faire si api_with_auth acceptait les callbacks de la même manière que $.ajax

A mon avis, le block `if (window.kpsul)` devrait pas avoir à être là. Pour compenser, on peut créer un lancer un event que kpsul récupérerait. Ça serait plus pratique à faire si api_with_auth acceptait les callbacks de la même manière que `$.ajax`
delobell commented 2017-04-10 13:28:11 +02:00 (Migrated from git.eleves.ens.fr)

Tu peux utiliser to_update.update(update_data) qui fournit une meilleure encapsulation au cas où on changerait la structure interne de ModelObject

Tu peux utiliser `to_update.update(update_data)` qui fournit une meilleure encapsulation au cas où on changerait la structure interne de `ModelObject`
delobell commented 2017-04-10 13:35:23 +02:00 (Migrated from git.eleves.ens.fr)

Y me semble que ça devrait plutôt être == au cas où verbose_name = new String('opegroup')

Y me semble que ça devrait plutôt être `==` au cas où `verbose_name = new String('opegroup')`
delobell commented 2017-04-10 13:35:31 +02:00 (Migrated from git.eleves.ens.fr)

Idem

Idem
delobell commented 2017-04-10 13:42:23 +02:00 (Migrated from git.eleves.ens.fr)

A mon avis, il vaut mieux faire une classe par opération spéciale. Ça devrait grandement nous aider par la suite pour le panier & co.

A mon avis, il vaut mieux faire une classe par opération spéciale. Ça devrait grandement nous aider par la suite pour le panier & co.
delobell commented 2017-04-10 16:17:31 +02:00 (Migrated from git.eleves.ens.fr)

Pour le système d'index, avec cette structure en forêts, ça a l'air de tenir la route.
Afin d'avoir un peu plus de flexibilité à l'utilisation de classes et sous-classes, est-ce que traverse ne prendrait pas plutôt une classe comme premier argument et checke avec isInstance plutôt que le nom du modèle ?

Pour le système d'index, avec cette structure en forêts, ça a l'air de tenir la route. Afin d'avoir un peu plus de flexibilité à l'utilisation de classes et sous-classes, est-ce que traverse ne prendrait pas plutôt une classe comme premier argument et checke avec isInstance plutôt que le nom du modèle ?
delobell commented 2017-04-10 16:20:10 +02:00 (Migrated from git.eleves.ens.fr)

Bon pour l'instant ça a pas l'air de trop poser problème d'utiliser des arbres mais je maintiens que c'est une limitation

Bon pour l'instant ça a pas l'air de trop poser problème d'utiliser des arbres mais je maintiens que c'est une limitation
lstephan commented 2017-04-10 17:34:57 +02:00 (Migrated from git.eleves.ens.fr)

added 4 commits

  • cfb39b10 - Better default options
  • 983a5578 - Add cancel_history event
  • cd0e4c6f - Allow (basic) chaining on api_with_auth
  • 84d47827 - Compatibility changes on history.js

Compare with previous version

added 4 commits * cfb39b10 - Better default options * 983a5578 - Add cancel_history event * cd0e4c6f - Allow (basic) chaining on api_with_auth * 84d47827 - Compatibility changes on history.js [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=423&start_sha=47da80f21c93ef67da246a83a73ebd05999c3178)
delobell commented 2017-04-10 17:47:54 +02:00 (Migrated from git.eleves.ens.fr)

Plutôt le lancer sur this (l'objet KHistory) et je crois que jQuery propose qqch de plus portable pour lancer des events (à vérifier)

Plutôt le lancer sur this (l'objet `KHistory`) et je crois que jQuery propose qqch de plus portable pour lancer des events (à vérifier)
lstephan commented 2017-04-10 19:53:55 +02:00 (Migrated from git.eleves.ens.fr)

Pour moi, justement, on les traite tous de façon similaire (sauf ptet withdraw ou il faut penser à le mettre en négatif), donc on perd plus à faire une classe différente pour tous.

Pour moi, justement, on les traite tous de façon similaire (sauf ptet `withdraw` ou il faut penser à le mettre en négatif), donc on perd plus à faire une classe différente pour tous.
lstephan commented 2017-04-10 20:08:50 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • ce3d8aa6 - Change event triggered when canceling opes

Compare with previous version

added 1 commit * ce3d8aa6 - Change event triggered when canceling opes [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=426&start_sha=84d478271bfb6cb06d100a959deb7e984e099ed4)
delobell commented 2017-04-10 20:26:56 +02:00 (Migrated from git.eleves.ens.fr)

Effectivement j'avais en mémoire qu'on avait plein de fonctions différentes selon le type d'opération mais en fait ces fonctions sont très très proches... donc on peut s'en passer.
Après justement pour les petites personnalisations en fonction du type d'opération, on peut mettre la logique commune (donc presque tout) dans SpecialOperation, puis les petites personnalisations dans des sous-classes (type le - du retrait). Je propose de garder ça dans un coin de la tête quand ce type de problématique va apparaître.

Effectivement j'avais en mémoire qu'on avait plein de fonctions différentes selon le type d'opération mais en fait ces fonctions sont très très proches... donc on peut s'en passer. Après justement pour les petites personnalisations en fonction du type d'opération, on peut mettre la logique commune (donc presque tout) dans SpecialOperation, puis les petites personnalisations dans des sous-classes (type le - du retrait). Je propose de garder ça dans un coin de la tête quand ce type de problématique va apparaître.
delobell commented 2017-04-10 20:33:06 +02:00 (Migrated from git.eleves.ens.fr)

Ah je pensais pas exactement à ça quand on en parlait. Pour ici faut lancer un event type cancel_done sur this. T'as essayé si juste $(this).trigger('...') ça fonctionnait à tout hasard ?

Ah je pensais pas exactement à ça quand on en parlait. Pour ici faut lancer un event type `cancel_done` sur this. T'as essayé si juste `$(this).trigger('...')` ça fonctionnait à tout hasard ?
lstephan commented 2017-04-10 20:40:41 +02:00 (Migrated from git.eleves.ens.fr)

added 2 commits

  • 2eba6892 - Revert "Change event triggered when canceling opes"
  • 8c02e5da - Trigger event on history itself

Compare with previous version

added 2 commits * 2eba6892 - Revert "Change event triggered when canceling opes" * 8c02e5da - Trigger event on history itself [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=427&start_sha=ce3d8aa6f7025881aba002f23dfc23604bc07cf5)
delobell commented 2017-04-14 13:13:55 +02:00 (Migrated from git.eleves.ens.fr)

Ça devrait plutôt être au début de display à mon avis.
En plus l'historique précédent resterait affiché le temps de recevoir et traiter la réponse.

Ça devrait plutôt être au début de `display` à mon avis. En plus l'historique précédent resterait affiché le temps de recevoir et traiter la réponse.
delobell commented 2017-04-14 13:17:35 +02:00 (Migrated from git.eleves.ens.fr)

J'ai le sentiment que add_node et update_node devrait être sur ModelForest

J'ai le sentiment que `add_node` et `update_node` devrait être sur `ModelForest`
delobell commented 2017-04-14 13:57:08 +02:00 (Migrated from git.eleves.ens.fr)

Ça marche parce qu'on affiche un élément pour le jour. Mais si on remplace le template de day par ''. L'item est placé au mauvais endroit.
En créant un div "children", on devrait éviter ça.

Ça marche parce qu'on affiche un élément pour le jour. Mais si on remplace le template de `day` par `''`. L'item est placé au mauvais endroit. En créant un div "children", on devrait éviter ça.
delobell commented 2017-04-14 14:36:40 +02:00 (Migrated from git.eleves.ens.fr)

Tu peux ajouter un warning et un todo ici stp ?
Comme quoi l'objet ajax n'est pas utilisable s'il y a une erreur d'authentification/permissions

Tu peux ajouter un warning et un todo ici stp ? Comme quoi l'objet ajax n'est pas utilisable s'il y a une erreur d'authentification/permissions
delobell commented 2017-04-14 14:37:30 +02:00 (Migrated from git.eleves.ens.fr)

Si on essaie d'éviter les arguments par défaut, faut changer ici

Si on essaie d'éviter les arguments par défaut, faut changer ici
delobell commented 2017-04-14 14:38:28 +02:00 (Migrated from git.eleves.ens.fr)

Il manque des parenthèses non ?

Il manque des parenthèses non ?
delobell commented 2017-04-14 14:42:14 +02:00 (Migrated from git.eleves.ens.fr)

Ça concerne pas directement cette MR, mais je me demande s'il vaut mieux pas un bouton pour demander updateHistory. Là c'est fait dès que y'a une modification dans les filtres, ça génère beaucoup de requêtes du coup.

Ça concerne pas directement cette MR, mais je me demande s'il vaut mieux pas un bouton pour demander `updateHistory`. Là c'est fait dès que y'a une modification dans les filtres, ça génère beaucoup de requêtes du coup.
delobell commented 2017-04-14 14:44:52 +02:00 (Migrated from git.eleves.ens.fr)

Ces deux là devraient plutôt être dans KHistory et ArticleManager à mon avis

Ces deux là devraient plutôt être dans KHistory et ArticleManager à mon avis
delobell commented 2017-04-14 14:52:32 +02:00 (Migrated from git.eleves.ens.fr)

Pas besoin du lambda ? T'as pas de problème sans le filter ?
et même chose 2 lignes en dessous

Pas besoin du lambda ? T'as pas de problème sans le filter ? et même chose 2 lignes en dessous
delobell commented 2017-04-14 14:55:09 +02:00 (Migrated from git.eleves.ens.fr)

On s'en fiche un peu mais là il va te dire que y'a erreur d'alignement. Je ferais plutôt :

last_stock = (
    InventoryArticle.objects
    .select...
    ...
)
On s'en fiche un peu mais là il va te dire que y'a erreur d'alignement. Je ferais plutôt : ```python last_stock = ( InventoryArticle.objects .select... ... ) ```
delobell commented 2017-04-14 15:02:46 +02:00 (Migrated from git.eleves.ens.fr)

J'ai lu que à partir de Django v qqch, les select_related ne doivent se faire que sur les champs correspondants à des objets "entiers".
En gros il faut juste faire from_acc, to_acc et canceled_by.
Y'en a aussi qq lignes au-dessus au passage. De manière générale tu peux les modifier quand t'en croises comme ça ;-)

J'ai lu que à partir de Django v qqch, les `select_related` ne doivent se faire que sur les champs correspondants à des objets "entiers". En gros il faut juste faire `from_acc`, `to_acc` et `canceled_by`. Y'en a aussi qq lignes au-dessus au passage. De manière générale tu peux les modifier quand t'en croises comme ça ;-)
delobell commented 2017-04-14 15:05:09 +02:00 (Migrated from git.eleves.ens.fr)

Pour faire plus court, tu peux passer ça avant le if accounts avec `if not request.user.has_perm...: accounts = [request.user.acc...]

Pour faire plus court, tu peux passer ça avant le `if accounts` avec `if not request.user.has_perm...: accounts = [request.user.acc...]
lstephan commented 2017-04-14 16:46:17 +02:00 (Migrated from git.eleves.ens.fr)

Le fait est que update_node utilise this.container et this.templates, donc c'est pas évident à bouger.

Le fait est que `update_node` utilise `this.container` et `this.templates`, donc c'est pas évident à bouger.
lstephan commented 2017-04-14 16:58:13 +02:00 (Migrated from git.eleves.ens.fr)

Plus globalement, en voulant être un peu customisable, je passe mon temps à donner templates et container en arguments... Tu penses que ça serait plus pratique de les mettre comme attributs et de les changer à chaque appel à display ?

Plus globalement, en voulant être un peu customisable, je passe mon temps à donner `templates` et `container` en arguments... Tu penses que ça serait plus pratique de les mettre comme attributs et de les changer à chaque appel à `display` ?
lstephan commented 2017-04-14 17:00:16 +02:00 (Migrated from git.eleves.ens.fr)

Quelque part, il reste utilisable ; il faut juste refaire le branchement selon $xhr.responseJSON.

Quelque part, il reste utilisable ; il faut juste refaire le branchement selon `$xhr.responseJSON`.
lstephan commented 2017-04-14 17:01:14 +02:00 (Migrated from git.eleves.ens.fr)

Je suis d'accord, c'est assez relou...

Je suis d'accord, c'est assez relou...
lstephan commented 2017-04-14 17:44:27 +02:00 (Migrated from git.eleves.ens.fr)

J'ai oublié de le remettre en virant un changement, mais j'ai jamais eu d'erreurs. Ceci dit, ça peut pas faire de mal.

J'ai oublié de le remettre en virant un changement, mais j'ai jamais eu d'erreurs. Ceci dit, ça peut pas faire de mal.
lstephan commented 2017-04-14 17:52:15 +02:00 (Migrated from git.eleves.ens.fr)

added 6 commits

Compare with previous version

added 6 commits * de865c61 - Move container clearing * 034a6614 - Tweaks on kfet.js * 659b2089 - Add filter to cancel_opes * b544d6c5 - Better alignment * 10068645 - Change select_related for future compatibility * b2a5dfd6 - Move permission check [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=438&start_sha=8c02e5da0c36f6c7b93ae26cb513dcdf11764036)
delobell commented 2017-04-14 20:40:50 +02:00 (Migrated from git.eleves.ens.fr)

Ah oui en fait ça gère et les données + de l'affichage. La chose étant que ModelForest est dédiée aux données donc lui passer les templates et container dès le constructeur je suis pas super chaud de base. Cependant j'suis d'accord qu'on devrait pas devoir à s'embêter autant avec ces templates et container alors qu'on est sur le composant qui gère l'historique.
La question c'est: est-ce qu'on veut avoir plus affichages distincts (et simultanés) pour une seule ModelForest ? Si c'est pas le cas (ou qu'on dit que c'est pas le cas pour l'instant), on peut dire que ModelForest fait plus que juste gérer les données. Au pire les affichages supplémentaires peuvent être gérés "à la main" en dehors de ModelForest...
Qu'entends-tu par les changer à chaque appel à display ?

Ah oui en fait ça gère et les données + de l'affichage. La chose étant que `ModelForest` est dédiée aux données donc lui passer les `templates` et `container` dès le constructeur je suis pas super chaud de base. Cependant j'suis d'accord qu'on devrait pas devoir à s'embêter autant avec ces `templates` et `container` alors qu'on est sur le composant qui gère l'historique. La question c'est: est-ce qu'on veut avoir plus affichages distincts (et simultanés) pour une seule `ModelForest` ? Si c'est pas le cas (ou qu'on dit que c'est pas le cas pour l'instant), on peut dire que ModelForest fait plus que juste gérer les données. Au pire les affichages supplémentaires peuvent être gérés "à la main" en dehors de `ModelForest`... Qu'entends-tu par les changer à chaque appel à `display` ?
lstephan commented 2017-04-24 18:17:50 +02:00 (Migrated from git.eleves.ens.fr)

ArticleManager certes, mais l'autre est spécifique à kpsul...

ArticleManager certes, mais l'autre est spécifique à kpsul...
lstephan commented 2017-04-24 18:26:33 +02:00 (Migrated from git.eleves.ens.fr)

added 42 commits

  • b2a5dfd6...b0d35667 - 38 commits from branch aureplop/kpsul_js_refactor
  • 20d63513 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_history
  • e283439e - Create ForestDisplay class
  • 46ac82fd - Adapt history to changes
  • 5096e5f1 - Adapt ArticleManager

Compare with previous version

added 42 commits * b2a5dfd6...b0d35667 - 38 commits from branch `aureplop/kpsul_js_refactor` * 20d63513 - Merge remote-tracking branch 'origin/aureplop/kpsul_js_refactor' into Aufinal/refactor_history * e283439e - Create ForestDisplay class * 46ac82fd - Adapt history to changes * 5096e5f1 - Adapt ArticleManager [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=446&start_sha=b2a5dfd68269469a6eadb93325ff1738d2b5b7f4)
lstephan commented 2017-04-24 19:12:21 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

Compare with previous version

added 1 commit * 16dbfed9 - Add chidren div in display [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=447&start_sha=5096e5f12937ff0cdd252c21d79ced8e2139c4ab)
lstephan commented 2017-04-24 19:46:39 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

Compare with previous version

added 1 commit * 8b8a3f8a - Update button in history [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=448&start_sha=16dbfed9774ff60de0304b959a7594c9c7ec2baf)
lstephan commented 2017-04-24 23:09:56 +02:00 (Migrated from git.eleves.ens.fr)

Solution retenue pour l'instant : une classe ForestDisplay à part, qui demande container et templates à la création, et qui n'a pas besoin d'être subclassée pour chaque implémentation de ModelForest.

Solution retenue pour l'instant : une classe `ForestDisplay` à part, qui demande `container` et `templates` à la création, et qui n'a pas besoin d'être subclassée pour chaque implémentation de `ModelForest`.
delobell commented 2017-04-26 12:11:32 +02:00 (Migrated from git.eleves.ens.fr)

Ça marche aussi de donner la référence à la ModelForest ? Si oui, tu peux retirer le début de update.

Ça marche aussi de donner la référence à la ``ModelForest`` ? Si oui, tu peux retirer le début de ``update``.
delobell commented 2017-04-26 12:20:51 +02:00 (Migrated from git.eleves.ens.fr)

La mise à jour de l'historique devrait directement être dans l'objet KHistory je pense, avec une option "live" pour activer ou non cette fonctionnalité

La mise à jour de l'historique devrait directement être dans l'objet KHistory je pense, avec une option "live" pour activer ou non cette fonctionnalité
lstephan commented 2017-05-14 18:04:25 +02:00 (Migrated from git.eleves.ens.fr)

Ça marcherait, mais au départ mon idée était d'avoir un display totalement indépendant du data, et seulement lié à un container + templates. Ceci dit, j'ai quand même besoin de conserver data pour la structure.

Ça marcherait, mais au départ mon idée était d'avoir un display totalement indépendant du data, et seulement lié à un `container` + `templates`. Ceci dit, j'ai quand même besoin de conserver `data` pour la structure.
lstephan commented 2017-05-14 22:23:33 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 31b742fd - Move ws update to respective classes

Compare with previous version

added 1 commit * 31b742fd - Move ws update to respective classes [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=467&start_sha=8b8a3f8a256f414523eef35dda8506ca30416b4f)
lstephan commented 2017-05-15 01:18:54 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • c12c705f - Bind ForestDisplay to initial data

Compare with previous version

added 1 commit * c12c705f - Bind ForestDisplay to initial data [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=472&start_sha=31b742fdb7e6f3791a41978cb3813780a5423431)
delobell commented 2017-05-15 12:14:54 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
delobell commented 2017-05-15 17:35:52 +02:00 (Migrated from git.eleves.ens.fr)

Elle devrait s'appeler khistory

Elle devrait s'appeler `khistory`
delobell commented 2017-05-15 17:36:47 +02:00 (Migrated from git.eleves.ens.fr)

Idem

Idem
delobell commented 2017-05-15 17:38:34 +02:00 (Migrated from git.eleves.ens.fr)

A mon avis, les transferts ne devraient pas apparaître sur l'historique de K-Psul

A mon avis, les transferts ne devraient pas apparaître sur l'historique de K-Psul
delobell commented 2017-05-15 17:51:23 +02:00 (Migrated from git.eleves.ens.fr)

Je pense qu'il faut mettre à jour des choses dans le js intégré à kpsul.html.
Par exemple, dans addExistingPurchase :
var article = kpsul.article_manager.get_article(parseInt(id));
TypeError: kpsul.article_manager.get_article is not a function

Je pense qu'il faut mettre à jour des choses dans le js intégré à `kpsul.html`. Par exemple, dans `addExistingPurchase` : `var article = kpsul.article_manager.get_article(parseInt(id));` `TypeError: kpsul.article_manager.get_article is not a function`
delobell commented 2017-05-15 18:40:53 +02:00 (Migrated from git.eleves.ens.fr)

On a aussi perdu le contrôle du nombre d'article commandé au clavier

On a aussi perdu le contrôle du nombre d'article commandé au clavier
lstephan commented 2017-05-15 22:39:50 +02:00 (Migrated from git.eleves.ens.fr)

added 3 commits

Compare with previous version

added 3 commits * f4cb1e2e - Add opesonly option * ad426872 - Fix tranfers page * ac33e630 - Fix addExistingPurchase + few other bugs [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=474&start_sha=c12c705f8b048076053d0c9dec9d44d285db5ca1)
delobell commented 2017-05-15 23:53:13 +02:00 (Migrated from git.eleves.ens.fr)

Il ne sert même plus

Il ne sert même plus
delobell commented 2017-05-15 23:54:55 +02:00 (Migrated from git.eleves.ens.fr)

Idem

Idem
delobell commented 2017-05-15 23:56:43 +02:00 (Migrated from git.eleves.ens.fr)

Idem

Idem
lstephan commented 2017-05-16 00:00:10 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • c2da055b - Remove duplicate ws updates

Compare with previous version

added 1 commit * c2da055b - Remove duplicate ws updates [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=476&start_sha=ac33e6302e184936dcd01642ffa16d29db204915)
delobell commented 2017-05-16 00:05:05 +02:00 (Migrated from git.eleves.ens.fr)

J'ai l'impression que c'est mieux de faire : var options = $.extend({}, this.api_options, api_options);. On risque de perdre les opesonly ou autres définis lors de la création d'un objet KHistory sinon.

J'ai l'impression que c'est mieux de faire : `var options = $.extend({}, this.api_options, api_options);`. On risque de perdre les `opesonly` ou autres définis lors de la création d'un objet `KHistory` sinon.
delobell commented 2017-05-16 00:21:20 +02:00 (Migrated from git.eleves.ens.fr)

Il ne sert plus aussi

Il ne sert plus aussi
lstephan commented 2017-05-16 00:21:26 +02:00 (Migrated from git.eleves.ens.fr)

Il faut quand même conserver les options (pour tester les WS), mais un $.extend(this.api_options, api_options) peut être pratique oui.

Il faut quand même conserver les options (pour tester les WS), mais un `$.extend(this.api_options, api_options)` peut être pratique oui.
lstephan commented 2017-05-16 00:25:35 +02:00 (Migrated from git.eleves.ens.fr)

Je l'utilise un peu partout pour trigger les reset (notamment de kpsul), ceci dit, il y a une typo dans history.html.

Je l'utilise un peu partout pour trigger les reset (notamment de kpsul), ceci dit, il y a une typo dans `history.html`.
lstephan commented 2017-05-16 00:32:38 +02:00 (Migrated from git.eleves.ens.fr)

added 2 commits

Compare with previous version

added 2 commits * 93c8844b - typo * 43e77236 - Extend history options [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=477&start_sha=c2da055b605210e2637f0aabf93bbfac792a7f33)
delobell commented 2017-05-16 00:46:02 +02:00 (Migrated from git.eleves.ens.fr)

Ah il se passe par le nom en chaine, pas par la variable ^^

Ah il se passe par le nom en chaine, pas par la variable ^^
delobell commented 2017-05-16 00:46:49 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
delobell commented 2017-05-16 01:31:01 +02:00 (Migrated from git.eleves.ens.fr)

Faudrait ajouter if (this.selection) this.selection.reset();à on_success.
Les 4 utilisations de KHistory le font de leur côté.

Faudrait ajouter `if (this.selection) this.selection.reset();`à on_success. Les 4 utilisations de `KHistory` le font de leur côté.
lstephan commented 2017-05-16 02:11:50 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 6a6fc38e - Add selection reset to cancel_opes

Compare with previous version

added 1 commit * 6a6fc38e - Add selection reset to cancel_opes [Compare with previous version](https://git.eleves.ens.fr/cof-geek/gestioCOF/merge_requests/192/diffs?diff_id=478&start_sha=43e772363efd235da72620274cd95cc97b55ba58)
delobell commented 2017-05-16 10:48:20 +02:00 (Migrated from git.eleves.ens.fr)

merged

merged
delobell commented 2017-05-16 10:48:32 +02:00 (Migrated from git.eleves.ens.fr)

mentioned in commit 311e0c48bd

mentioned in commit 311e0c48bd19638f07f6d812814676fb63a946e8
delobell commented 2017-05-16 10:48:49 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
lstephan commented 2019-12-18 20:14:44 +01:00 (Migrated from git.eleves.ens.fr)

mentioned in issue #77

mentioned in issue #77
Sign in to join this conversation.
No reviewers
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#496
No description provided.