Development #48776
import de csv pour des fiches et liaison usager
Début:
24 novembre 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Si le modèle de fiche est configuré pour dire que les fiches peuvent être associées un utilisateur, on modifie la gestion du CSV pour qu'il y ait en première colonne la place pour renseigner l'user, que ça soit sous forme d'uuid ou d'email; un patch qui commencerait genre :
diff --git a/wcs/backoffice/data_management.py b/wcs/backoffice/data_management.py index e3e562a21..1f0adcacc 100644 --- a/wcs/backoffice/data_management.py +++ b/wcs/backoffice/data_management.py @@ -141,7 +141,15 @@ class CardPage(FormPage): def get_import_csv_fields(self): # skip non-data fields - return [x for x in self.formdef.get_all_fields() if isinstance(x, fields.WidgetField)] + class UserField: + key = 'user' + id = '_user' + label = _('User (email or UUID)') + convert_value_from_str = lambda x: x + store_display_value = None + store_structured_value = None + + return [UserField()] + [x for x in self.formdef.get_all_fields() if isinstance(x, fields.WidgetField)] def data_sample_csv(self): carddef_fields = self.get_import_csv_fields() @@ -283,6 +291,9 @@ class CardPage(FormPage): def execute(self, job=None): for item in self.lines: data_instance = self.data_class() + user_value = item.pop('_user', None) + if user_value: + data_instance.user = TODO_lookup(user_value) data_instance.data = item data_instance.just_created() data_instance.store()
Fichiers
Révisions associées
Historique
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0001-cards-csv-import-user-support-48776.patch 0001-cards-csv-import-user-support-48776.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Là ça fait un select par ligne, est-ce qu'il vaut mieux récupérer tous les users et les filtrer ?
Mis à jour par Frédéric Péters il y a plus de 3 ans
Non ça peut passer ainsi, et pour les fichiers gros de toute façon il y a ce taf de boulot en asynchrone à gérer.
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Solution proposée à Solution validée
Ok et je dois rebaser #48407 là-dessus.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit c5c52e4ab8c6a1a17454b5fa09e74b03ab524f49 Author: Lauréline Guérin <zebuline@entrouvert.com> Date: Fri Dec 4 15:29:43 2020 +0100 cards: csv import & user support (#48776)
Mis à jour par Frédéric Péters il y a plus de 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
cards: csv import & user support (#48776)