Project

General

Profile

Segnalazione #330

Importazione CSV: non imposta correttamente gruppo primario

Added by Christopher R. Gabriel over 4 years ago. Updated over 4 years ago.

Status:
Chiuso
Priority:
Normale
Start date:
06/28/2017
Due date:
% Done:

0%


Description

Importanto utenti da CSV, non importa il gruppo primario.

Revisionando la via users.views.CSVImporter riga 870, viene popolato il dict per la definizione di user utilizzando la chiave 'primarygroup', che pero' non e' la definizione del gruppo primario come attributo dell'utente, che e' 'gidNumber', espresso tramite intero che rappresenta il gruppo.

Bisogna, all'interno di CSVImporter, tenere un dict contenente tutti i gruppi presenti nel csv, popolato via via che si importano righe, nella forma {"nomegruppo": "gid numerico"}, popolato e aggiornato via via che si incontrano gruppi nelle righe del csv. Se il gruppo della riga e' presente nel dizionario, si usa il valore numerico corrispondente, altrimenti bisogna fare il lookup del gruppo verso octofussd, ottenerne il gid e aggiungerlo al dizionario di cui sopra, per poi usarlo. Il dizionario funge da cache locale per ridurre le richieste di gruppi a octofussd.

Verificato durante installazione del 27/06

Associated revisions

Revision b5b8de31 (diff)
Added by Mark Caglienzi over 4 years ago

Use the right key. refs: #330

History

#1 Updated by Mark Caglienzi over 4 years ago

  • Status changed from Nuovo to In elaborazione

#2 Updated by Mark Caglienzi over 4 years ago

  • Status changed from In elaborazione to Commenti
  • Assignee changed from Mark Caglienzi to Christopher R. Gabriel

Dopo confronto su jabber è stato deciso di mandare la chiave giusta (cioè primaryGroup con la G maiuscola anziché minuscola) da octofussd, che poi fa il lookup del gid.

In questo modo non c'è da fare lookup in octonet e se ne va il bisogno di avere il dict di cache. Poi octofussd fa il lookup da nome gruppo a gid all'interno di _fillInNewUser(), però lo fa per ogni utente.

Ora l'import di utenti che sono nel primary group docenti funziona nel senso che il gid viene impostato al gid di docenti, e l'utente è inserito in quel gruppo quindi.

Problema correlato: l'utente viene messo comunque nella ou studenti da octofussd.

Codice pushato in t330 ma non mergiato

#3 Updated by Christopher R. Gabriel over 4 years ago

  • Assignee changed from Christopher R. Gabriel to Mark Caglienzi

Ho fatto invocare la setgidNumber in modo esplicito ad octofussd per avere la corretta impostazione della OU.

Ho pubblicato tutto sui rispettivi master (eseguendo il merge di t330 di octonet) e pubblicati:

octofussd 8.0.31-1
octonet 0.2.16-1

Ti chiedo di fare una verifica veloce anche tu, se ti torna, chiudi pure.

#4 Updated by Mark Caglienzi over 4 years ago

  • Status changed from Commenti to Chiuso
  • Assignee changed from Mark Caglienzi to Christopher R. Gabriel

Ho aggiornato octonet e octofussd sulla VM, e ho usato entrambi sulla VM.

Ho fatto un CSV di 10 utenti, metà studenti e metà docenti, e vengono importati nel gruppo giusto e con la ou giusta.

Also available in: Atom PDF