wcs.multi-choices-csv-value.diff
wcs/fields.py (copie de travail) | ||
---|---|---|
746 | 746 |
def stats(self, values): |
747 | 747 |
return item_items_stats(self, values) |
748 | 748 | |
749 |
def get_csv_heading(self): |
|
750 |
labels = [self.label] |
|
751 |
if self.max_choices: |
|
752 |
labels.extend(['']*(self.max_choices-1)) |
|
753 |
elif len(self.items): |
|
754 |
labels.extend(['']*(len(self.items)-1)) |
|
755 |
return labels |
|
756 | ||
757 |
def get_csv_value(self, value): |
|
758 |
values = [] |
|
759 |
for one_value in value: |
|
760 |
values.append(one_value) |
|
761 |
if self.max_choices: |
|
762 |
nb_columns = self.max_choices |
|
763 |
elif len(self.items): |
|
764 |
nb_columns = len(self.items) |
|
765 |
else: |
|
766 |
nb_columns = 1 |
|
767 | ||
768 |
if len(values) > nb_columns: |
|
769 |
# this would happen if max_choices is set after forms were already |
|
770 |
# filled with more values |
|
771 |
values = values[:nb_columns] |
|
772 |
elif len(values) < nb_columns: |
|
773 |
values.extend(['']*(nb_columns-len(values))) |
|
774 |
return values |
|
749 | 775 |
register_field_class(ItemsField) |
750 | 776 | |
751 | 777 |