From d57b14439817490642c6a81045d54b1b14e2c066 Mon Sep 17 00:00:00 2001 From: Ricky Zhou Date: Fri, 14 Mar 2008 23:58:04 -0400 Subject: [PATCH] Add more methods in json_request.py, remove unused code in user.py. --- fas/fas/json_request.py | 28 +++++++++++++++++++++++----- fas/fas/user.py | 5 ----- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/fas/fas/json_request.py b/fas/fas/json_request.py index c68a4c9..8e75438 100644 --- a/fas/fas/json_request.py +++ b/fas/fas/json_request.py @@ -1,6 +1,8 @@ import turbogears from turbogears import controllers, expose, identity +import sqlalchemy + from fas.model import People from fas.model import Groups from fas.model import Log @@ -12,31 +14,37 @@ class JsonRequest(controllers.Controller): """Create a JsonRequest Controller.""" @identity.require(turbogears.identity.not_anonymous()) - @expose("json") + @expose("json", allow_json=True) def index(self): """Return a help message""" return dict(help='This is a JSON interface.') @identity.require(turbogears.identity.not_anonymous()) - @expose("json") + @expose("json", allow_json=True) def person_by_id(self, id): try: person = People.by_id(id) + person.jsonProps = { + 'People': ('approved_memberships', 'unapproved_memberships') + } return dict(success=True, person=person) except InvalidRequestError: return dict(success=False) @identity.require(turbogears.identity.not_anonymous()) - @expose("json") + @expose("json", allow_json=True) def person_by_username(self, username): try: person = People.by_username(username) + person.jsonProps = { + 'People': ('approved_memberships', 'unapproved_memberships') + } return dict(success=True, person=person) except InvalidRequestError: return dict(success=False) @identity.require(turbogears.identity.not_anonymous()) - @expose("json") + @expose("json", allow_json=True) def group_by_id(self, id): try: group = Groups.by_id(id) @@ -45,7 +53,7 @@ class JsonRequest(controllers.Controller): return dict(success=False) @identity.require(turbogears.identity.not_anonymous()) - @expose("json") + @expose("json", allow_json=True) def group_by_name(self, groupname): try: group = Groups.by_name(groupname) @@ -53,3 +61,13 @@ class JsonRequest(controllers.Controller): except InvalidRequestError: return dict(success=False) + @identity.require(turbogears.identity.not_anonymous()) + @expose("json", allow_json=True) + def user_id(self): + people = {} + peoplesql = sqlalchemy.select([People.c.id, People.c.username]) + persons = peoplesql.execute() + for person in persons: + people[person[0]] = person[1] + return dict(people=people) + diff --git a/fas/fas/user.py b/fas/fas/user.py index 8d00cd9..f3ab6ad 100644 --- a/fas/fas/user.py +++ b/fas/fas/user.py @@ -212,11 +212,6 @@ class User(controllers.Controller): #personal = True else: admin = False - groups = [] - # Possibly extract this info in view (person.roles[n].group gives the group) - for group in person.roles: - groups.append(Groups.by_name(group.group.name)) - cla = None cla = CLADone(person) person.jsonProps = { 'People': ('approved_memberships', 'unapproved_memberships')