[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/ComponentArchitecture - component.zcml:1.1.2.2 metaConfigure.py:1.1.2.2
   
    Jim Fulton
     
    jim@zope.com
       
    Sun, 2 Jun 2002 10:35:04 -0400
    
    
  
Update of /cvs-repository/Zope3/lib/python/Zope/App/ComponentArchitecture
In directory cvs.zope.org:/tmp/cvs-serv29793/lib/python/Zope/App/ComponentArchitecture
Modified Files:
      Tag: Zope3InWonderland-branch
	component.zcml metaConfigure.py 
Log Message:
- Added template attribute to allow views to be created from a
  template source file.
- Added beginnings of a Zope debugger. This required seperating site
  and server configuration.
- Added the ability to specify a config file package in the
  zopeConfigure directive. Made "config.zcml" a default for the file
  attribute in the include directive.
- Fixed mapply to unwrap proxied objects. This was necessary once
  views became wrapped in proxies. We need to investigate why they
  weren't being wrapped before. 
- I updated enough system page templates and zcml directives so that:
  - Zope now starts. :)
  - The root folder contents listing can be viewed.
  Many more templates and zcml files need to be updated to reflect the
  way views are now handled.
=== Zope3/lib/python/Zope/App/ComponentArchitecture/component.zcml 1.1.2.1 => 1.1.2.2 ===
    xmlns:zmi='http://namespaces.zope.org/zmi'
    xmlns:browser='http://namespaces.zope.org/browser'
+   package="Zope.ComponentArchitecture"
 >
 
 <serviceType name='Utilities'
=== Zope3/lib/python/Zope/App/ComponentArchitecture/metaConfigure.py 1.1.2.1 => 1.1.2.2 ===
 def _checker(_context, permission_id, allowed_interface, allowed_attributes):
     if (not allowed_attributes) and (not allowed_interface):
-        raise ConfigurationError(
-            "Must specify allowed_interface or allowed_names "
-            "to be allowed with permission_id.")
+        allowed_attributes = "__call__"
 
     if permission_id == 'Zope.Public':
         permission_id = CheckerPublic
@@ -180,27 +178,19 @@
             )
         ]
 
-def defaultView(_context, type, name, factory=None, for_=None, layer='',
-                permission_id=None,
-                allowed_interface=None, allowed_attributes=None):
-
+def defaultView(_context, type, name, for_=None, **__kw):
 
-    if factory is None:
-        if (permission_id or allowed_attributes or allowed_interface):
-            raise ConfigurationError(
-                "Must specify a factory with permission_id, "
-                "allowed_interface, or allowed_attributes.")
-        actions = []
+    if __kw:
+        actions = view(_context, type=type, name=name, for_=for_, **__kw)
     else:
-        actions = view(_context, factory, type, name, for_, layer,
-                       permission_id, allowed_interface, allowed_attributes)
+        actions = []
 
     if for_ is not None:
         for_ = _context.resolve(for_)
     type = _context.resolve(type)
 
     actions += [Action(
-        discriminator = ('defaultViewName', for_, name, type),
+        discriminator = ('defaultViewName', for_, type, name),
         callable = handler,
         args = ('Views','setDefaultViewName', for_, type, name),
         )]