def format_persons(self): fields = [('User Name', Text, attrgetter('__name__')), ('Prefix', Text, attrgetter('prefix')), ('First Name', Text, attrgetter('first_name')), ('Middle Name', Text, attrgetter('middle_name')), ('Last Name', Text, attrgetter('last_name')), ('Suffix', Text, attrgetter('suffix')), ('Preferred Name', Text, attrgetter('preferred_name')), ('Birth Date', Date, attrgetter('birth_date')), ('Gender', Text, attrgetter('gender')), ('Password', Text, lambda p: None)] def demographics_getter(attribute): def getter(person): demographics = IDemographics(person) return demographics[attribute] return getter app = ISchoolToolApplication(None) demographics_fields = IDemographicsFields(app) for field in demographics_fields.values(): title = field.title format = Text if isinstance(field, DateFieldDescription): format = Date getter = demographics_getter(field.name) fields.append((title, format, getter)) items = self.context['persons'].values() return self.format_table(fields, items, importer='export_persons')
def columns(self): result = [] limit_keys = ['students'] dfs = IDemographicsFields(ISchoolToolApplication(None)) for df in dfs.filter_keys(limit_keys): name = df.name if name not in LEAVE_SCHOOL_FIELDS: result.append(zc.table.column.GetterColumn( name=name, title=df.title, getter=self.get_person_demographics(name) )) return result
def columns(self): result = [] limit_keys = ['students'] dfs = IDemographicsFields(ISchoolToolApplication(None)) for df in dfs.filter_keys(limit_keys): name = df.name if name not in LEAVE_SCHOOL_FIELDS: result.append( zc.table.column.GetterColumn( name=name, title=df.title, getter=self.get_person_demographics(name))) return result
def isValidKey(self, key): app = ISchoolToolApplication(None) demographics_fields = IDemographicsFields(app) return key in demographics_fields