Changeset 1394

Show
Ignore:
Timestamp:
02/15/11 15:06:59 (15 months ago)
Author:
zeank
Message:

don't remove panel_def header descriptions like submitText when
filtering a panel

refs #270

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • HelpIM3/branches/chatgroups/HelpIM/web/pageBase.py

    r1360 r1394  
    121121        filters = self.getFiltersForLocation(self.him_request.resourceName) 
    122122        if filters != None: 
    123             new_panel_def = [self.filterPanel(panel, filters) for panel in panel_defs] 
    124             return new_panel_def 
     123            new_panel_defs = [self.filterPanel(panel, filters) for panel in panel_defs] 
     124            return new_panel_defs 
    125125        else: 
    126126            return panel_defs 
     
    161161        (type, panel_def) = panel_def.popitem() 
    162162 
    163         return { 
    164             'table_panel': lambda panel_def: self.filterFields(type, panel_def[0], filters), 
    165             'edit_panel' : lambda panel_def: self.filterFields(type, panel_def[1], filters) 
    166             }[type](panel_def) 
    167          
    168     def filterFields(self, type, columns, filters): 
    169         return {type: [filter( 
    170             lambda column: self.filterPanelField(column, filters), 
    171             columns 
     163        if len(panel_def) == 2: 
     164            header = panel_def[0] 
     165            defs = panel_def[1] 
     166        else: 
     167            header = {} 
     168            defs = panel_def[0] 
     169             
     170        return self.filterFields(type, header, defs, filters) 
     171         
     172    def filterFields(self, type, header, defs, filters): 
     173        return {type: [header, filter( 
     174            lambda fdef: self.filterPanelField(fdef, filters), 
     175            defs 
    172176            )]} 
    173177 
    174     def filterPanelField(self, column, filters): 
     178    def filterPanelField(self, fdef, filters): 
    175179        searchkey = '' 
    176         field_def = column.values()[0] 
     180        field_def = fdef.values()[0] 
    177181         
    178182        if field_def[0] and field_def[0].has_key('id'):