# HG changeset patch # User Sylvain Thénault # Date 1253548941 -7200 # Node ID b1fd9d4ef579d5b6aaedf1948c0b3d5589d5d9f7 # Parent 10ad3869fc928269207d9f0778a31483df6866b2 fix case insensitive selector for entity creation diff -r 10ad3869fc92 -r b1fd9d4ef579 selectors.py --- a/selectors.py Mon Sep 21 18:00:28 2009 +0200 +++ b/selectors.py Mon Sep 21 18:02:21 2009 +0200 @@ -611,14 +611,14 @@ etype = req.form['etype'] except KeyError: return 0 - else: - # only check this is a known type if etype comes from req.form, - # else we want the error to propagate - try: - etype = cls.vreg.case_insensitive_etypes[etype.lower()] - req.form['etype'] = etype - except KeyError: - return 0 + else: + # only check this is a known type if etype comes from req.form, + # else we want the error to propagate + try: + etype = cls.vreg.case_insensitive_etypes[etype.lower()] + req.form['etype'] = etype + except KeyError: + return 0 return self.score_class(cls.vreg['etypes'].etype_class(etype), req) diff -r 10ad3869fc92 -r b1fd9d4ef579 web/views/editforms.py --- a/web/views/editforms.py Mon Sep 21 18:00:28 2009 +0200 +++ b/web/views/editforms.py Mon Sep 21 18:02:21 2009 +0200 @@ -326,11 +326,9 @@ def call(self, **kwargs): """creation view for an entity""" + # at this point we know etype is a valid entity type, thanks to our + # selector etype = kwargs.pop('etype', self.req.form.get('etype')) - try: - etype = self.vreg.case_insensitive_etypes[etype.lower()] - except KeyError: - raise RequestError(self.req._('no such entity type %s') % etype) entity = self.vreg['etypes'].etype_class(etype)(self.req) self.initialize_varmaker() entity.eid = self.varmaker.next()