Ignore:
Timestamp:
25 Oct 2007, 14:21:01 (17 years ago)
Author:
joachim
Message:

fixes for emailed problems

File:
1 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/base/Widgets.py

    r2428 r2433  
    488488    def _getLGAs(self):
    489489        voc = getattr(self.portal_vocabularies,self.vocabulary)
     490        if getattr(self,'_v_states',None) is not None and\
     491           getattr(self,'_v_lgas',None) is not None and\
     492           getattr(self,'_v_d',None) is not None:
     493            return (_v_d,_v_states,_v_lgas)
    490494        states = []
    491495        lgas  = []
     
    506510                lgas.append(lga)
    507511            d[k] = v
    508 
     512        self._v_d = d
     513        self._v_state = state
     514        self._v_lga = lga
    509515        return (d,states,lgas)
    510516
     
    521527        v = v.lower()
    522528        combined,states,lgas = self._getLGAs()
    523         one_field = False
    524         if len(v) == 0:
    525             pass
    526         elif not self.state_field and not self.lga_field:
    527             one_field = True
    528             if v not in combined.keys():
     529        datamodel = datastructure.getDataModel()
     530        if not self.state_field and not self.lga_field:
     531            if len(v) == 0 and self.is_required:
     532                datastructure.setError(widget_id, "%s required" % widget_id)
     533                return 0
     534            elif v not in combined.keys():
    529535                datastructure.setError(widget_id, "'%s' not a valid lga key" % v)
    530536                return 0
    531         else:
     537            datamodel[self.fields[0]] = v
     538        else:
     539            state = datastructure.get(self.state_field,"").lower()
     540            lga = datastructure.get(self.lga_field,"").lower()
    532541            if widget_id == self.state_field:
    533                 if v not in states:
     542                if state not in states:
    534543                    datastructure.setError(widget_id, "'%s' not a valid state" % v)
    535544                    return 0
    536545            elif widget_id == self.lga_field:
    537                 if "_".join(re.split('\W+',v)) not in lgas:
     546                if lga not in lgas:
    538547                    datastructure.setError(widget_id, "'%s' not a valid lga" % v)
    539548                    return 0
    540                 if datastructure[self.state_field]:
    541                     v = datastructure[self.state_field] + '_' + v
    542 
    543         if self.is_required and not len(v):
    544             datastructure.setError(widget_id, "lga required")
    545             return 0
    546 
    547         datamodel = datastructure.getDataModel()
    548         if one_field:
    549             datamodel[self.fields[0]] = v
    550         else:
    551             state = datastructure[self.state_field].lower()
    552             lga = "_".join(datastructure[self.lga_field].lower().split())
     549            if len(state) == 0 or len(lga) == 0:
     550                datastructure.setError(widget_id, "state AND lga must be given")
     551                return 0
    553552            datamodel[self.fields[0]] =   state + "_" + lga
    554553        return 1
Note: See TracChangeset for help on using the changeset viewer.