#2122: catwalk (in sprox.saormprovider) fails when including user in group
creation
------------------------+---------------------------------------------------
 Reporter:  clemens     |       Owner:  faide        
     Type:  defect      |      Status:  new          
 Priority:  normal      |   Milestone:               
Component:  TurboGears  |     Version:  1.9.x        
 Severity:  normal      |    Keywords:  catwalk sprox
------------------------+---------------------------------------------------
 Action:
 * new virtualenv --no-site-packages on Ubuntu 8.10
 * cd tg_env; source bin/activate
 * fresh install of tg-2.0b1 following
 http://www.turbogears.org/2.0/docs/main/DownloadInstall.html
 * paster quickstart demo  # with auth
 * cd demo
 * paster setup-app development.ini
 * paster serve development.ini
 * browse to localhost:8080
 * login
 * browse to /admin
 * select "Group"
 * select "add"
 * enter "newgroup" "newgroup" manager
 * click "Submit"

 Expected result:
 * group "newgroup" added with member manager

 Actual result:
 InvalidRequestError: Invalid column expression '<function return_cls at
 0xa06617c>'

 Selecting permissions during group creation works fine if I don't also
 select a User.

 Traceback:
 Module catwalk.tg2.controller:137 in create          view
 <<          params = pylons.request.params.copy()

             self.provider.create(model, params=kw)
             raise redirect('../')
 >>  self.provider.create(model, params=kw)
 Module sprox.saormprovider:220 in create         view
 <<                  setattr(obj, key, value)
             self.session.add(obj)
             self.create_relationships(obj, params)
             self.session.flush()
             return obj
 >>  self.create_relationships(obj, params)
 Module sprox.saormprovider:205 in create_relationships         view
 <<                  for value in params[relation]:
                         if value is not None:
                             target_obj =
 self.session.query(target).get(value)
                             if target_obj is not None:
                                 if prop.uselist:
 >>  target_obj = self.session.query(target).get(value)
 Module sqlalchemy.orm.scoping:121 in do         view
 <<  def instrument(name):
         def do(self, *args, **kwargs):
             return getattr(self.registry(), name)(*args, **kwargs)
         return do
     for meth in Session.public_methods:
 >>  return getattr(self.registry(), name)(*args, **kwargs)
 Module sqlalchemy.orm.session:908 in query         view
 <<          """Return a new ``Query`` object corresponding to this
 ``Session``."""

             return self._query_cls(entities, self, **kwargs)

         def _autoflush(self):
 >>  return self._query_cls(entities, self, **kwargs)
 Module sqlalchemy.orm.query:93 in __init__         view
 <<          for ent in util.to_list(entities):
                 _QueryEntity(self, ent)

             self.__setup_aliasizers(self._entities)
 >>  _QueryEntity(self, ent)
 Module sqlalchemy.orm.query:1778 in __init__         view
 <<              column = column.__clause_element__()
             elif not isinstance(column, sql.ColumnElement):
                 raise sa_exc.InvalidRequestError("Invalid column
 expression '%r'" % column)
             else:
                 self._result_label = getattr(column, 'key', None)
 >>  raise sa_exc.InvalidRequestError("Invalid column expression '%r'" %
 column)
 InvalidRequestError: Invalid column expression '<function return_cls at
 0xa06617c>'

-- 
Ticket URL: <http://trac.turbogears.org/ticket/2122>
TurboGears <http://www.turbogears.org/>
TurboGears front-to-back web development

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "TurboGears Tickets" group.
This group is read-only. No posting by normal members allowed.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears-tickets?hl=en?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to