@@ -29,25 +29,6 @@ def __init__(self, context, request):
2929 field_id = field ["field_id" ]
3030 self .form_fields_order .append (field_id )
3131
32- def get_ordered_keys (self , record ):
33- """
34- We need this method because we want to maintain the fields order set in the form.
35- The form can also change during time, and each record can have different fields stored in it.
36- """
37- record_order = record .attrs .get ("fields_order" , [])
38- if record_order :
39- return record_order
40- order = []
41- # first add the keys that are currently in the form
42- for k in self .form_fields_order :
43- if k in record .attrs :
44- order .append (k )
45- # finally append the keys stored in the record but that are not in the form (maybe the form changed during time)
46- for k in record .attrs .keys ():
47- if k not in order and k not in SKIP_ATTRS :
48- order .append (k )
49- return order
50-
5132 def render (self ):
5233 self .check_permission ()
5334
@@ -74,7 +55,7 @@ def get_data(self):
7455 for item in store .search ():
7556 data = {}
7657 fields_labels = self .get_fields_labels (item )
77- for k in self .get_ordered_keys ( item ) :
58+ for k in self .form_fields_order :
7859 if k in SKIP_ATTRS :
7960 continue
8061 value = item .attrs .get (k , None )
@@ -87,6 +68,7 @@ def get_data(self):
8768 value = item .attrs .get (k , None )
8869 data [k ] = json_compatible (value )
8970 rows .append (data )
71+
9072 columns .extend (fixed_columns )
9173 writer = csv .DictWriter (sbuf , fieldnames = columns , quoting = csv .QUOTE_ALL )
9274 writer .writeheader ()
0 commit comments