Comment 2 for bug 420750

Revision history for this message
Douglas Cerna (replaceafill) wrote :

By default, SchoolTool has the following demographics fields:
- ID
- Ethnicity
- Language
- Place of birth
- Citizenship

An init suscriber in CanDo sets the demographics fields to be:
- ID
- Language
- Place of birth
- Citizenship
- State report ID
- Ethnicity
- Grade class
- Teacher ID

In schooltool.export.importer.PersonImporter the 'process' method does:

            demographics = IDemographics(person)
            for n, field in enumerate(fields.values()):
                if isinstance(field, DateFieldDescription):
                    value = self.getDateFromCell(sh, row, n + 10, default=None)
                else:
                    value = sh.cell_value(rowx=row, colx=n + 10)
                if value == '':
                    value = None
                demographics[field.name] = value

So after the basicperson attributes, the importer starts looking for the custom demographics fields. The error is caused in CanDo because the sample_data.xls doesn't have columns for the new custom demographics fields. If you take the sample_data.xls and arrange the columns in the right order with the right titles, the importer works.