development.ini | 3 +++
elections2/controllers/root.py | 4 ++--
elections2/lib/admin.py | 4 ++--
elections2/templates/master.html | 2 +-
4 files changed, 8 insertions(+), 5 deletions(-)
New commits:
commit ccc31815aa53d4ba4a921f908cb90440e859339c
Merge: dc8c329 5253f6c
Author: Toshio Kuratomi <toshio(a)fedoraproject.org>
Date: Thu Aug 18 09:40:47 2011 -0700
Merge branch 'master' of
git+ssh://git.fedorahosted.org/git/elections
Conflicts:
elections2/lib/admin.py
diff --cc elections2/lib/admin.py
index 70aa216,c6675de..9a44b61
--- a/elections2/lib/admin.py
+++ b/elections2/lib/admin.py
@@@ -28,7 -28,8 +28,8 @@@
#import turbogears
#from turbogears import controllers, expose, flash, redirect, config
#from turbogears import identity
-from tg import expose, flash, require, url, request, redirect
+from tg import config, expose, flash, require, url, request, redirect
+ from repoze.what import predicates
from elections2.lib.base import BaseController
from fedora.client import AuthError, AppError
from elections2 import model
commit dc8c329e1f636dfd9aa838d1c7419f8d6aa79496
Author: Toshio Kuratomi <toshio(a)fedoraproject.org>
Date: Thu Aug 18 09:39:38 2011 -0700
Make the elections administration group configurable
diff --git a/development.ini b/development.ini
index 280fe99..7204752 100644
--- a/development.ini
+++ b/development.ini
@@ -79,6 +79,9 @@ templating.mako.compiled_templates_dir = %(here)s/data/templates
# execute malicious code after an exception is raised.
#set debug = false
+# Set to a group that is allowed to administrate all elections
+admingroup = 'elections'
+
# Logging configuration
# Add additional loggers, handlers, formatters here
# Uses python's logging config file format
diff --git a/elections2/controllers/root.py b/elections2/controllers/root.py
index 54a5b23..83d4b60 100644
--- a/elections2/controllers/root.py
+++ b/elections2/controllers/root.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"""Main Controller"""
-from tg import expose, flash, require, url, request, redirect
+from tg import config, expose, flash, require, url, request, redirect
from pylons.i18n import ugettext as _, lazy_ugettext as l_
from tgext.admin.tgadminconfig import TGAdminConfig
from tgext.admin.controller import AdminController
@@ -224,7 +224,7 @@ class RootController(BaseController):
turbogears.flash("We are sorry, the results for this election cannot be
viewed at this time because the election has not started.")
raise turbogears.redirect("/")
elif election.embargoed == 1:
- if identity.in_group('elections') :
+ if identity.in_group(config.get('admingroup', 'elections')):
pass
else :
match = 0
diff --git a/elections2/lib/admin.py b/elections2/lib/admin.py
index 19de935..70aa216 100644
--- a/elections2/lib/admin.py
+++ b/elections2/lib/admin.py
@@ -28,7 +28,7 @@
#import turbogears
#from turbogears import controllers, expose, flash, redirect, config
#from turbogears import identity
-from tg import expose, flash, require, url, request, redirect
+from tg import config, expose, flash, require, url, request, redirect
from elections2.lib.base import BaseController
from fedora.client import AuthError, AppError
from elections2 import model
@@ -44,7 +44,7 @@ import sqlalchemy, tg
identity = request.environ.get('repoze.who.identity')
class Admin(BaseController):
- allow_only = predicates.in_group("elections")
+ allow_only = predicates.in_group(config.get('admingroup',
'elections'))
def __init__(self, fas, appTitle):
#print dir(fas), fas.username
diff --git a/elections2/templates/master.html b/elections2/templates/master.html
index 7d60744..f86100c 100644
--- a/elections2/templates/master.html
+++ b/elections2/templates/master.html
@@ -37,7 +37,7 @@
<li py:if="request.identity" id="admin"
class="loginlogout"><a
href="${tg.url('/admin')}">Admin</a></li>
</span>
<!--
- <li py:if="('elections' in
tg.identity.groups)">Admin</li>
+ <li py:if="(tg.config.get('admingroup', 'elections') in
tg.identity.groups)">Admin</li>
-->
</ul>
<div py:if="tg.flash" class="flash">