From 868f40a1fce89c338a50290437afc6834fcf094d Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Tue, 11 Apr 2006 12:03:28 -0400 Subject: Enable identity tracking --- Bugs-Everywhere-Web/beweb/app.cfg | 16 ++++++++-------- Bugs-Everywhere-Web/beweb/model.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'Bugs-Everywhere-Web/beweb') diff --git a/Bugs-Everywhere-Web/beweb/app.cfg b/Bugs-Everywhere-Web/beweb/app.cfg index 0035ffb..024fa8a 100644 --- a/Bugs-Everywhere-Web/beweb/app.cfg +++ b/Bugs-Everywhere-Web/beweb/app.cfg @@ -31,7 +31,7 @@ # -------------- # Enable Visit tracking -# visit.on=False +visit.on=True # Number of minutes a visit may be idle before it expires. # visit.timeout=20 @@ -57,29 +57,29 @@ # -------- # Switch to turn on or off the Identity management module -# identity.on=False +identity.on=True # [REQUIRED] URL to which CherryPy will internally redirect when an access # control check fails. If Identity management is turned on, a value for this # option must be specified. -# identity.failure_url=None +identity.failure_url="/login" # The IdentityProvider to use -- defaults to the SqlObjectIdentityProvider which # pulls User, Group, and Permission data out of your model database. -# identity.provider="sqlobject" +identity.provider="sqlobject" # The names of the fields on the login form containing the visitor's user ID # and password. In addition, the submit button is specified simply so its # existence may be stripped out prior to passing the form data to the target # controller. -# identity.form.user_name="user_name" -# identity.form.password="password" -# identity.form.submit="login" +identity.form.user_name="user_name" +identity.form.password="password" +identity.form.submit="login" # What sources should the identity provider consider when determining the # identity associated with a request? Comma separated list of identity sources. # Valid sources: form, visit, http_auth -# identity.source="form,http_auth,visit" +identity.source="form,http_auth,visit" # SqlObjectIdentityProvider diff --git a/Bugs-Everywhere-Web/beweb/model.py b/Bugs-Everywhere-Web/beweb/model.py index e20d1ce..33d2d2f 100644 --- a/Bugs-Everywhere-Web/beweb/model.py +++ b/Bugs-Everywhere-Web/beweb/model.py @@ -1,7 +1,7 @@ from sqlobject import * from turbogears.database import PackageHub # Uncomment the following line if you wish to use Identity and SO_Provider -# from turbogears.identity.soprovider import TG_User, TG_Group, TG_Permission +from turbogears.identity.soprovider import TG_User, TG_Group, TG_Permission hub = PackageHub("beweb") __connection__ = hub -- cgit From ec4b4a390bff3a0225681380ae949e6da64401c6 Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Tue, 11 Apr 2006 16:41:47 -0400 Subject: Use people listings from identity framework, not config, on bug pages. --- Bugs-Everywhere-Web/beweb/model.py | 3 +++ Bugs-Everywhere-Web/beweb/templates/bugs.kid | 3 ++- Bugs-Everywhere-Web/beweb/templates/edit_bug.kid | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) (limited to 'Bugs-Everywhere-Web/beweb') diff --git a/Bugs-Everywhere-Web/beweb/model.py b/Bugs-Everywhere-Web/beweb/model.py index 33d2d2f..2bda299 100644 --- a/Bugs-Everywhere-Web/beweb/model.py +++ b/Bugs-Everywhere-Web/beweb/model.py @@ -6,5 +6,8 @@ from turbogears.identity.soprovider import TG_User, TG_Group, TG_Permission hub = PackageHub("beweb") __connection__ = hub +def people_map(): + return dict([(u.userId, u.displayName) for u in TG_User.select()]) + # class YourDataClass(SQLObject): # pass diff --git a/Bugs-Everywhere-Web/beweb/templates/bugs.kid b/Bugs-Everywhere-Web/beweb/templates/bugs.kid index b83a593..3271537 100644 --- a/Bugs-Everywhere-Web/beweb/templates/bugs.kid +++ b/Bugs-Everywhere-Web/beweb/templates/bugs.kid @@ -2,7 +2,8 @@ -- cgit From 3edaf3974b197c89189803b2f99834fd8d735c64 Mon Sep 17 00:00:00 2001 From: Aaron Bentley Date: Tue, 11 Apr 2006 18:32:26 -0400 Subject: Used identity for new comments and bugs --- Bugs-Everywhere-Web/beweb/controllers.py | 4 ++++ Bugs-Everywhere-Web/beweb/model.py | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'Bugs-Everywhere-Web/beweb') diff --git a/Bugs-Everywhere-Web/beweb/controllers.py b/Bugs-Everywhere-Web/beweb/controllers.py index 9231030..4417a63 100644 --- a/Bugs-Everywhere-Web/beweb/controllers.py +++ b/Bugs-Everywhere-Web/beweb/controllers.py @@ -23,6 +23,7 @@ class Comment(PrestHandler): bug_tree = project_tree(comment_data['project']) bug = bug_tree.get_bug(comment_data['bug']) comment = new_comment(bug, "") + comment.From = identity.current.user.userId comment.content_type = "text/restructured" comment.save() raise cherrypy.HTTPRedirect(comment_url(comment=comment.uuid, @@ -33,6 +34,7 @@ class Comment(PrestHandler): bug_tree = project_tree(comment_data['project']) bug = bug_tree.get_bug(comment_data['bug']) reply_comment = new_comment(bug, "") + reply_comment.From = identity.current.user.userId reply_comment.in_reply_to = comment.uuid reply_comment.save() reply_data = dict(comment_data) @@ -92,9 +94,11 @@ class Bug(PrestHandler): "search" : search, } + @identity.require( identity.has_permission("editbugs")) @provide_action("action", "New bug") def new_bug(self, bug_data, bug, **kwargs): bug = new_bug(project_tree(bug_data['project'])) + bug.creator = identity.current.user.userId bug.save() raise cherrypy.HTTPRedirect(bug_url(bug_data['project'], bug.uuid)) diff --git a/Bugs-Everywhere-Web/beweb/model.py b/Bugs-Everywhere-Web/beweb/model.py index 2bda299..6a603bb 100644 --- a/Bugs-Everywhere-Web/beweb/model.py +++ b/Bugs-Everywhere-Web/beweb/model.py @@ -2,12 +2,14 @@ from sqlobject import * from turbogears.database import PackageHub # Uncomment the following line if you wish to use Identity and SO_Provider from turbogears.identity.soprovider import TG_User, TG_Group, TG_Permission +from turbogears import identity hub = PackageHub("beweb") __connection__ = hub def people_map(): - return dict([(u.userId, u.displayName) for u in TG_User.select()]) + return dict([(u.userId, u.displayName) for u in TG_User.select() if + "fixbugs" in identity.current.permissions]) # class YourDataClass(SQLObject): # pass -- cgit