Projet

Général

Profil

wcs.multi-choices-csv-value.diff

Frédéric Péters, 02 mars 2012 13:49

Télécharger (1,17 ko)

Voir les différences:


  

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