Projet

Général

Profil

Bug #1227

Bug export Excel sur les choix multiples

Ajouté par Thomas Noël il y a plus de 12 ans. Mis à jour il y a plus de 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
18 janvier 2012
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Planning:

Description

Les choix multiples renvoient une liste Python, et ça n'est pas géré par xlwt.

Exception:
  type = '<type 'exceptions.Exception'>', value = 'Unexpected data type <type 'list'>'

Stack trace (most recent call first):
  File "/usr/lib/pymodules/python2.6/xlwt/Row.py", line 248, in write
   246             self.insert_cell(col, FormulaCell(self.__idx, col, style_index, label))
   247         else:
>  248             raise Exception("Unexpected data type %r" % type(label))
   249
   250     write_blanks = set_cell_mulblanks

  locals:
     self = <xlwt.Row.Row object at 0x2d61838>
     style = <xlwt.Style.XFStyle object at 0x28ab590>
     col = 16
     style_index = 17
     label = ['Agenda Site Web', 'Annonce vid\xc3\xa9o', 'Calicot']

  File "/usr/lib/pymodules/python2.6/xlwt/Worksheet.py", line 1003, in write
  1001
  1002     def write(self, r, c, label="", style=Style.default_style):
> 1003         self.row(r).write(c, label, style)
  1004
  1005     def merge(self, r1, r2, c1, c2, style=Style.default_style):

  locals:
     self = <xlwt.Worksheet.Worksheet object at 0x3e8b750>
     style = <xlwt.Style.XFStyle object at 0x28ab590>
     r = 1
     c = 16
     label = ['Agenda Site Web', 'Annonce vid\xc3\xa9o', 'Calicot']

Révisions associées

Révision 13f48f3b (diff)
Ajouté par Thomas Noël il y a plus de 12 ans

fix csv/xls export of ItemsFields

fix #1227 http://dev.entrouvert.org/issues/1227

Historique

#1

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Statut changé de Nouveau à Solution déployée

Correctif : dans l'excel (et dans le csv), afficher les choix multiples sous la forme "un, deux, trois" :

--- fields.py    2012-01-18 10:30:14.000000000 +0100
+++ fields.py.orig    2012-01-18 10:30:38.000000000 +0100
@@ -734,7 +734,7 @@
                 return
             d[v] = None

-    def convert_value_to_str(self, value):
+    def get_view_value(self, value):
         if value:
             try:
                 return ', '.join([(x) for x in value])
@@ -742,9 +742,6 @@
                 pass
         return ''

-    def get_view_value(self, value):
-        return self.convert_value_to_str(value)
-
     def stats(self, values):
         return item_items_stats(self, values)

J'y vais ?

#2

Mis à jour par Thomas Noël il y a plus de 12 ans

  • % réalisé changé de 0 à 90

Appliqué par commit r2242.

#3

Mis à jour par Thomas Noël il y a plus de 12 ans

  • Statut changé de Solution déployée à Résolu (à déployer)
  • Version cible mis à Au-quotidien 2012.2

solution également posée sur la prod (via un patch manuel)

#4

Mis à jour par Frédéric Péters il y a presque 11 ans

  • % réalisé changé de 90 à 100
#5

Mis à jour par Frédéric Péters il y a presque 11 ans

  • Statut changé de Résolu (à déployer) à Fermé
#6

Mis à jour par Thomas Noël il y a plus de 8 ans

  • Version cible Au-quotidien 2012.2 supprimé

Formats disponibles : Atom PDF