Commit b5562697 authored by Jim Fulton's avatar Jim Fulton

Added permission settings to be inherited. Also has to

convert to extension classes to make permission machinery
work properly.  This needs some more thought.
parent c6e832cb
......@@ -85,17 +85,22 @@
"""Standard management interface support
$Id: Management.py,v 1.16 1999/03/23 22:41:15 amos Exp $"""
$Id: Management.py,v 1.17 1999/03/25 15:25:31 jim Exp $"""
__version__='$Revision: 1.16 $'[11:-2]
__version__='$Revision: 1.17 $'[11:-2]
import sys, Globals
import sys, Globals, ExtensionClass
from Dialogs import MessageDialog
from Globals import HTMLFile
from string import split, join
class Tabs:
class Tabs(ExtensionClass.Base):
"""Mix-in provides management folder tab support."""
__ac_permissions__=(
('View management screens', ('manage_tabs',)),
)
manage_tabs =HTMLFile('manage_tabs', globals())
manage_options =()
def tabs_path_info(self, script, path):
......@@ -116,8 +121,6 @@ class Tabs:
out.append('<a href="%s/manage_workspace">%s</a>' % (script, p))
out.append(last)
return join(out,'&nbsp;/&nbsp;')
Globals.default__class_init__(Tabs)
......@@ -127,5 +130,10 @@ class Navigation:
manage =HTMLFile('manage', globals())
manage_menu =HTMLFile('menu', globals())
manage_copyright=HTMLFile('copyright', globals())
manage_copyright__roles__=None
__ac_permissions__=(
('View management screens', ('manage', 'manage_menu',)),
)
Globals.default__class_init__(Navigation)
......@@ -85,14 +85,21 @@
__doc__='''short description
$Id: Undo.py,v 1.11 1999/03/10 00:14:56 klm Exp $'''
__version__='$Revision: 1.11 $'[11:-2]
$Id: Undo.py,v 1.12 1999/03/25 15:26:53 jim Exp $'''
__version__='$Revision: 1.12 $'[11:-2]
import Globals
import Globals, ExtensionClass
from DateTime import DateTime
from string import atof, find, atoi, split, rfind
class UndoSupport:
class UndoSupport(ExtensionClass.Base):
__ac_permissions__=(
('Undo changes', (
'manage_undo_transactions', 'undoable_transactions',
)),
('View management screens', ('manage_UndoForm',)),
)
manage_UndoForm=Globals.HTMLFile(
'undo', globals(),
......@@ -111,8 +118,6 @@ class UndoSupport:
if hasattr(self, name): v=getattr(self, name)
else: v=default
return v
def undoable_transactions(self, AUTHENTICATION_PATH=None,
first_transaction=None,
......
......@@ -83,10 +83,10 @@
#
##############################################################################
__doc__="""Principia Find support"""
__version__='$Revision: 1.9 $'[11:-2]
__version__='$Revision: 1.10 $'[11:-2]
import sys, os, string, time, Globals
import sys, os, string, time, Globals, ExtensionClass
from DocumentTemplate.DT_Util import Eval, expr_globals
from AccessControl.Permission import name_trans
from Globals import HTMLFile
......@@ -96,22 +96,29 @@ from string import find
class FindSupport:
"""Find support for Principia Folders"""
class FindSupport(ExtensionClass.Base):
"""Find support for Zope Folders"""
manage_findFrame=HTMLFile('findFrame', globals())
manage_findForm=HTMLFile('findForm', globals())
manage_findAdv=HTMLFile('findAdv', globals())
manage_findResult=HTMLFile('findResult', globals())
# manage_findOpt=HTMLFile('findOpt', globals())
__ac_permissions__=(
('View management screens',
('manage_findFrame', 'manage_findForm', 'manage_findAdv',
'manage_findResult')),
)
def PrincipiaFind(self, obj, obj_ids=None, obj_metatypes=None,
obj_searchterm=None, obj_expr=None,
obj_mtime=None, obj_mspec=None,
obj_permission=None, obj_roles=None,
search_sub=0,
REQUEST=None, result=None, pre=''):
"""Principia Find interface"""
def ZopeFind(self, obj, obj_ids=None, obj_metatypes=None,
obj_searchterm=None, obj_expr=None,
obj_mtime=None, obj_mspec=None,
obj_permission=None, obj_roles=None,
search_sub=0, search_sup=0,
REQUEST=None, result=None, pre=''):
"""Zope Find interface"""
if result is None:
result=[]
......@@ -183,7 +190,7 @@ class FindSupport:
dflag=0
if search_sub and hasattr(bs, 'objectItems'):
self.PrincipiaFind(ob, obj_ids, obj_metatypes,
self.ZopeFind(ob, obj_ids, obj_metatypes,
obj_searchterm, obj_expr,
obj_mtime, obj_mspec,
obj_permission, obj_roles,
......@@ -191,8 +198,22 @@ class FindSupport:
REQUEST, result, p)
if dflag: ob._p_deactivate()
return result
if search_sup and not search_sub and hasattr(obj, 'aq_parent'):
obj=obj.aq_parent
if pre: p="%s/%s" % ('..',pre)
else: p='..'
if hasattr(obj, 'ZopeFind'):
self.ZopeFind(obj, obj_ids, obj_metatypes,
obj_searchterm, obj_expr,
obj_mtime, obj_mspec,
obj_permission, obj_roles,
search_sub, search_sup,
REQUEST, result, p)
return result
ZopeFind=ZopeFind
class td(TemplateDict, cDocument):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment