[Erp5-report] r12737 - in /spec/debian/erp5-cmfactionicons: ./ CMFActionIcons/ CMFActionIco...

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Feb 15 17:32:55 CET 2007


Author: yusei
Date: Thu Feb 15 17:32:49 2007
New Revision: 12737

URL: http://svn.erp5.org?rev=12737&view=rev
Log:
commit debian(unstable) packages.

Added:
    spec/debian/erp5-cmfactionicons/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/ActionIconsTool.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/DEPENDENCIES.txt
    spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/Install.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/__init__.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/README.txt
    spec/debian/erp5-cmfactionicons/CMFActionIcons/__init__.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/changelog
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/compat
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/control
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/copyright
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/dzproduct
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/postinst
    spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/permissions.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/actionicons_macros.pt
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/approve_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/edit_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/expire_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/folder_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/metadata_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/policies_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/preview_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/reject_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/retract_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/submit_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/undo_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/user_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/worklist_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/yank_icon.png   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/standard_mappings.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/__init__.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_ActionIconsTool.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_all.py
    spec/debian/erp5-cmfactionicons/CMFActionIcons/tool.gif   (with props)
    spec/debian/erp5-cmfactionicons/CMFActionIcons/version.txt
    spec/debian/erp5-cmfactionicons/CMFActionIcons/www/
    spec/debian/erp5-cmfactionicons/CMFActionIcons/www/aitEdit.zpt
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.diff.gz   (with props)
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.dsc
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_all.deb   (with props)
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.build
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.changes
    spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4.orig.tar.gz   (with props)

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/ActionIconsTool.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/ActionIconsTool.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/ActionIconsTool.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/ActionIconsTool.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,421 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Map CMF actions to icons, for ease of building icon-centric toolbars.
+
+$Id: ActionIconsTool.py 36457 2004-08-12 15:07:44Z jens $
+"""
+
+import os
+
+from Globals import InitializeClass
+from Globals import package_home
+from AccessControl import ClassSecurityInfo
+from OFS.SimpleItem import SimpleItem
+
+from Products.PageTemplates.PageTemplateFile import PageTemplateFile
+from Products.CMFCore.Expression import Expression
+from Products.CMFCore.utils import UniqueObject
+
+from permissions import ManagePortal
+from permissions import View
+
+_wwwdir = os.path.join( package_home( globals() ), 'www' )
+
+class ActionIcon( SimpleItem ):
+
+    security = ClassSecurityInfo()
+
+    _title = None           # Use the one supplied by the provider
+    _priority = 0           # All animals are equal....
+    _category = 'object'
+    _action_id = 'view'
+    _icon_expr_text = 'document_icon'
+
+    def __init__( self
+                , category
+                , action_id
+                , icon_expr_text=''
+                , title=None
+                , priority=0
+                ):
+
+        self._category = category
+        self._action_id = action_id
+        self.updateIconExpression( icon_expr_text )
+        self._title = title
+        self._priority = priority
+
+    security.declareProtected( View, 'getTitle' )
+    def getTitle( self ):
+
+        """ Simple accessor """
+        return self._title
+
+    security.declareProtected( View, 'getPriority' )
+    def getPriority( self ):
+
+        """ Simple accessor """
+        return self._priority
+
+    security.declareProtected( View, 'getCategory' )
+    def getCategory( self ):
+
+        """ Simple accessor """
+        return self._category
+
+    security.declareProtected( View, 'getActionId' )
+    def getActionId( self ):
+
+        """ Simple accessor """
+        return self._action_id
+
+    security.declareProtected( View, 'getExpression' )
+    def getExpression( self ):
+
+        """ Simple accessor """
+        return self._icon_expr_text
+
+    security.declareProtected( View, 'getIconURL' )
+    def getIconURL( self, context=None ):
+
+        """ Simple accessor """
+        if context is None:
+            return self._icon_expr_text
+
+        return self._icon_expr( context )
+
+    security.declareProtected( ManagePortal, 'updateIconExpression' )
+    def updateIconExpression( self, icon_expr_text ):
+
+        """ Mutate icon expression. """
+        self._icon_expr_text = icon_expr_text
+
+        if not ':' in icon_expr_text: # default to 'string:' type
+            icon_expr_text = 'string:%s' % icon_expr_text
+
+        self._icon_expr = Expression( icon_expr_text )
+
+InitializeClass( ActionIcon )
+
+
+class ActionIconsTool( UniqueObject, SimpleItem ):
+
+    """ Map actions only icons.
+    """
+    meta_type = 'Action Icons Tool'
+    id = 'portal_actionicons'
+
+    security = ClassSecurityInfo()
+    security.declareObjectProtected( View )
+
+    def __init__( self ):
+
+        self.clearActionIcons()
+
+    #
+    #   Accessors
+    #
+    security.declareProtected( ManagePortal, 'listActionIcons' )
+    def listActionIcons( self ):
+
+        """ Return a sequence of mappings for action icons
+
+        o Mappings are in the form: ( category, action ) -> icon,
+          where category and action are strings and icon is an ActionIcon
+          instance.
+        """
+        return [ x.__of__( self ) for x in self._icons ]
+
+    security.declareProtected( View, 'getActionInfo' )
+    def getActionInfo( self
+                     , category
+                     , action_id
+                     , context=None
+                     ):
+
+        """ Return a tuple, '(title, priority, icon ID), for the given action.
+
+        o Raise a KeyError if no icon has been defined for the action.
+        """
+        ai = self._lookup[ ( category, action_id ) ]
+        return ( ai.getTitle()
+               , ai.getPriority()
+               , ai.getIconURL( context )
+               )
+
+    security.declareProtected( View, 'queryActionInfo' )
+    def queryActionInfo( self
+                       , category
+                       , action_id
+                       , default=None
+                       , context=None
+                       ):
+
+        """ Return a tuple, '(title, priority, icon ID), for the given action.
+
+        o Return 'default' if no icon has been defined for the action.
+        """
+        ai = self._lookup.get( ( category, action_id ) )
+        return ai and ( ai.getTitle()
+                      , ai.getPriority()
+                      , ai.getIconURL( context )
+                      ) or default
+
+    security.declareProtected( View, 'getActionIcon' )
+    def getActionIcon( self, category, action_id, context=None ):
+
+        """ Return an icon ID for the given action.
+
+        o Raise a KeyError if no icon has been defined for the action.
+
+        o Context is an Expression context object, used to evaluate
+          TALES expressions.
+        """
+        return self._lookup[ ( category, action_id ) ].getIconURL( context )
+
+    security.declareProtected( View, 'queryActionIcon' )
+    def queryActionIcon( self, category, action_id
+                       , default=None, context=None ):
+
+        """ Return an icon ID for the given action.
+
+        o Return 'default' if no icon has been defined for the action.
+
+        o Context is an Expression context object, used to evaluate
+          TALES expressions.
+        """
+        ai = self._lookup.get( ( category, action_id ) )
+        return ai and ai.getIconURL( context ) or default
+
+    security.declareProtected( View, 'updateActionDicts' )
+    def updateActionDicts( self, categorized_actions, context=None ):
+
+        """ Update a set of dictionaries, adding 'title, 'priority', and
+            'icon' keys.
+
+        o S.b. passed a data structure like that returned from ActionsTool's
+          'listFilteredActionsFor':
+
+          - Dict mapping category -> seq. of dicts, where each of the
+            leaf dicts must have 'category' and 'id' keys.
+
+        o *Will* overwrite the 'title' key, if title is defined on the tool.
+
+        o *Will* overwrite the 'priority' key.
+
+        o *Will* overwrite the 'icon' key, if icon is defined on the tool
+
+        o XXX:  Don't have a way to pass Expression context yet.
+        """
+        result = {}
+
+        for category, actions in categorized_actions.items():
+
+            new_actions = []
+
+            for action in actions:
+
+                action = action.copy()
+
+                action_id = action.get( 'id' )
+
+                #  Hack around DCWorkflow's ID-less worklist actions.
+                if action_id is None and action.get( 'category' ) == 'workflow':
+                    action[ 'id' ] = action_id = action.get( 'name' )
+
+                if action_id:
+
+                    info = self.queryActionInfo( category
+                                               , action_id
+                                               , context=context
+                                               )
+                    if info is not None:
+
+                        title, priority, icon = info
+
+                        if title is not None:
+                            action[ 'title' ] = title
+
+                        if priority is not None:
+                            action[ 'priority' ] = priority
+
+                        if icon is not None:
+                            action[ 'icon' ] = icon
+
+                new_actions.append( action )
+
+            new_actions.sort( lambda x, y: cmp( x.get( 'priority', 0 )
+                                              , y.get( 'priority', 0 )
+                                              ) )
+            result[ category ] = new_actions
+
+        return result
+
+    __call__ = updateActionDicts
+
+    #
+    #   Mutators
+    #
+    security.declareProtected( ManagePortal, 'addActionIcon' )
+    def addActionIcon( self
+                     , category
+                     , action_id
+                     , icon_expr
+                     , title=None
+                     , priority=0
+                     ):
+
+        """ Add an icon for the given action.
+
+        o Raise KeyError if an icon has already been defined.
+        """
+        if self.queryActionInfo( category, action_id ) is not None:
+            raise KeyError, 'Duplicate definition!'
+
+        icons = list( self._icons )
+        icons.append( ActionIcon( category
+                                , action_id
+                                , icon_expr
+                                , title
+                                , priority
+                                ) )
+        self._lookup[ ( category, action_id ) ] = icons[-1]
+        self._icons = tuple( icons )
+
+    security.declareProtected( ManagePortal, 'updateActionIcon' )
+    def updateActionIcon( self
+                        , category
+                        , action_id
+                        , icon_expr
+                        , title=None
+                        , priority=0
+                        ):
+
+        """ Update the icon for the given action.
+
+        o Raise KeyError if an icon has not already been defined.
+        """
+        if self._lookup.get( ( category, action_id ) ) is None:
+            raise KeyError, 'No such definition!'
+
+        icons = list( self._icons )
+        for ai in icons:
+            if ( ai.getCategory() == category
+             and ai.getActionId() == action_id
+               ):
+                ai.updateIconExpression( icon_expr )
+                ai._title = title
+                ai._priority = priority
+                break
+        else:
+            raise KeyError, ( category, action_id )
+        self._icons = tuple( icons )
+
+    security.declareProtected( ManagePortal, 'removeActionIcon' )
+    def removeActionIcon( self, category, action_id ):
+
+        """ Remove the icon for the given action.
+
+        o Raise KeyError if an icon has not already been defined.
+        """
+        if self.queryActionInfo( category, action_id ) is None:
+            raise KeyError, 'No such definition (%s, %s)!' % (
+                category, action_id)
+
+        icons = list( self._icons )
+        icon = self._lookup[ ( category, action_id ) ]
+        icons.remove( icon )
+        del self._lookup[ ( category, action_id ) ]
+        self._icons = tuple( icons )
+
+    security.declareProtected( ManagePortal, 'clearActionIcons' )
+    def clearActionIcons( self ):
+
+        """ Remove all mappings from the tool.
+        """
+        self._icons = ()
+        self._lookup = {}
+
+    #
+    #   ZMI
+    #
+    manage_options =  ( { 'label' : 'Icons'
+                        , 'action' : 'manage_editActionIcons'
+                        }
+                      ,
+                      ) + SimpleItem.manage_options
+
+    security.declareProtected( ManagePortal, 'manage_editActionIcons' )
+    manage_editActionIcons = PageTemplateFile( 'aitEdit', _wwwdir )
+
+    security.declareProtected( ManagePortal, 'manage_addActionIcon' )
+    def manage_addActionIcon( self
+                            , category
+                            , action_id
+                            , icon_expr
+                            , title
+                            , priority
+                            , REQUEST
+                            ):
+
+        """ Add an icon for the given action via the ZMI.
+        """
+        self.addActionIcon( category
+                          , action_id
+                          , icon_expr
+                          , title
+                          , priority
+                          )
+
+        REQUEST['RESPONSE'].redirect( '%s/manage_editActionIcons'
+                                      '?manage_tabs_message=Action+added.'
+                                    % self.absolute_url()
+                                    )
+
+    security.declareProtected( ManagePortal, 'manage_updateActionIcon' )
+    def manage_updateActionIcon( self
+                               , category
+                               , action_id
+                               , icon_expr
+                               , title
+                               , priority
+                               , REQUEST
+                               ):
+
+        """ Update an icon for the given action via the ZMI.
+        """
+        self.updateActionIcon( category
+                             , action_id
+                             , icon_expr
+                             , title
+                             , priority
+                             )
+
+        REQUEST['RESPONSE'].redirect( '%s/manage_editActionIcons'
+                                      '?manage_tabs_message=Action+updated.'
+                                    % self.absolute_url()
+                                    )
+
+    security.declareProtected( ManagePortal, 'manage_removeActionIcon' )
+    def manage_removeActionIcon( self, category, action_id, REQUEST ):
+
+        """ Remove the icon for the given action via the ZMI.
+        """
+        self.removeActionIcon( category, action_id )
+
+        REQUEST['RESPONSE'].redirect( '%s/manage_editActionIcons'
+                                      '?manage_tabs_message=Action+removed.'
+                                    % self.absolute_url()
+                                    )
+
+InitializeClass( ActionIconsTool )

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/DEPENDENCIES.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/DEPENDENCIES.txt?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/DEPENDENCIES.txt (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/DEPENDENCIES.txt Thu Feb 15 17:32:49 2007
@@ -1,0 +1,2 @@
+Zope >= 2.7.0
+CMFCore

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/Install.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/Install.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/Install.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/Install.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,93 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+# 
+##############################################################################
+""" CMFActionIcons Installer
+
+This file is an installation script for CMFActionIcons.  It's meant to be
+used as an External Method.  To use, add an external method to the
+root of the CMF Site that you want CMFActoinIcons registered in with the
+configuration:
+
+ id: install_actionicons
+ title: Install Action Icons *optional*
+ module name: CMFActionIcons.Install
+ function name: install
+
+Then go to the management screen for the newly added external method
+and click the 'Try it' tab.  The install function will execute and give
+information about the steps it took to register and install the
+CMFActionIcons into the CMF Site instance. 
+"""
+import string
+from cStringIO import StringIO
+
+from Acquisition import aq_base
+
+from Products.CMFCore.DirectoryView import addDirectoryViews
+from Products.CMFCore.utils import getToolByName
+
+from Products.CMFActionIcons import actionicons_globals
+from Products.CMFActionIcons.standard_mappings import installActionIconMappings
+
+
+def install( self, install_standard_mappings=1 ):
+    """ Register the CMF ActionIcons tool and skins.
+    """
+    out = StringIO()
+    skinstool = getToolByName( self, 'portal_skins' )
+    portal_url = getToolByName( self, 'portal_url' )
+
+    # Add the CMFActionIcons tool to the site's root
+    p = portal_url.getPortalObject()
+    x = p.manage_addProduct[ 'CMFActionIcons' ].manage_addTool(
+                                        type='Action Icons Tool')
+
+
+    out.write( "Added 'portal_actionicons' tool to site." )
+
+    if install_standard_mappings:
+        tool = getToolByName( p, 'portal_actionicons' )
+        installActionIconMappings( tool )
+        out.write( "Added standard mappings to the tool." )
+    
+    # Setup the skins
+    if 'actionicons' not in skinstool.objectIds():
+        # We need to add Filesystem Directory Views for any directories
+        # in our skins/ directory.  These directories should already be
+        # configured.
+        addDirectoryViews( skinstool, 'skins', actionicons_globals )
+        out.write( "Added 'actionicons' directory view to portal_skins\n" )
+
+    # Now we need to go through the skin configurations and insert
+    # 'actionicons' into the configurations.  Preferably, this should be
+    # right after where 'custom' is placed.  Otherwise, we append
+    # it to the end.
+    skins = skinstool.getSkinSelections()
+    for skin in skins:
+        path = skinstool.getSkinPath( skin )
+        path = [ x.strip() for x in path.split( ',' ) ]
+        if 'actionicons' not in path:
+            try:
+                path.insert( path.index( 'custom' ) + 1, 'actionicons' )
+            except ValueError:
+                path.append( 'actionicons' )
+                
+            path = string.join( path, ', ' )
+            # addSkinSelection will replace exissting skins as well.
+            skinstool.addSkinSelection( skin, path )
+            out.write( "Added 'actionicons' to %s skin\n" % skin )
+        else:
+            out.write( "Skipping %s skin, 'actionicons' is already set up\n"
+                     % skin )
+
+    return out.getvalue()
+

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/__init__.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/__init__.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/__init__.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/Extensions/__init__.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,16 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+# 
+##############################################################################
+""" Extensions package for CMFActionIcons product.
+
+$Id: __init__.py 36457 2004-08-12 15:07:44Z jens $
+"""

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/README.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/README.txt?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/README.txt (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/README.txt Thu Feb 15 17:32:49 2007
@@ -1,0 +1,8 @@
+CMFActionIcons README
+
+  Overview
+
+    The action icons tool provides a centralized registry mapping CMF
+    "actions" (identified by their category and ID) to additional presentation
+    metadata (display title and icon).  The skins here show alternative
+    mechanisms for using this metadata within a site template.

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/__init__.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/__init__.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/__init__.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/__init__.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,33 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+# 
+##############################################################################
+""" Product: CMFActionIcons
+
+Define tool for mapping CMF actions onto icons.
+
+$Id: __init__.py 37118 2005-07-07 16:52:34Z regebro $
+"""
+from Products.CMFCore.DirectoryView import registerDirectory
+from Products.CMFCore.utils import ToolInit
+
+from ActionIconsTool import ActionIconsTool
+
+actionicons_globals = globals()
+
+registerDirectory( 'skins', actionicons_globals )
+
+def initialize( context ):
+
+    ToolInit( meta_type='CMF Action Icons Tool'
+            , tools=( ActionIconsTool, )
+            , icon="tool.gif"
+            ).initialize( context )

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/changelog
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/changelog?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/changelog (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/changelog Thu Feb 15 17:32:49 2007
@@ -1,0 +1,6 @@
+erp5-cmfactionicons (1.5.4-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Yusei TAHARA <yusei at domen.cx>  Wed, 14 Feb 2007 03:27:56 +0900
+

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/compat
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/compat?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/compat (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/compat Thu Feb 15 17:32:49 2007
@@ -1,0 +1,1 @@
+5

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/control
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/control?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/control (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/control Thu Feb 15 17:32:49 2007
@@ -1,0 +1,13 @@
+Source: erp5-cmfactionicons
+Section: web
+Priority: optional
+Maintainer: Yusei TAHARA
+Build-Depends: debhelper (>= 5.0)
+Build-Depends-Indep: zope-debhelper (>= 0.3.6)
+Standards-Version: 3.7.2
+
+Package: erp5-cmfactionicons
+Architecture: all
+Depends: erp5-zope
+Description: CMFActionIcons
+ This package provides CMFActionIcons product for zope.

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/copyright
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/copyright?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/copyright (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/copyright Thu Feb 15 17:32:49 2007
@@ -1,0 +1,1 @@
+Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/dzproduct
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/dzproduct?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/dzproduct (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/dzproduct Thu Feb 15 17:32:49 2007
@@ -1,0 +1,3 @@
+Name: CMFActionIcons
+Package: erp5-cmfactionicons
+ZopeVersions: >= 2.7

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/postinst
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/postinst?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/postinst (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/postinst Thu Feb 15 17:32:49 2007
@@ -1,0 +1,7 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
+
+db_stop

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules Thu Feb 15 17:32:49 2007
@@ -1,0 +1,44 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+pwd        := $(shell pwd)
+debian     := $(pwd)/debian/erp5-cmfactionicons
+
+build: build-stamp
+build-stamp:
+	touch build-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp configure-stamp
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs
+	dh_installerp5zope .
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installdocs
+	dh_installexamples
+	dh_installchangelogs
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+binary-arch:
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary install

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/debian/rules
------------------------------------------------------------------------------
    svn:executable = *

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/permissions.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/permissions.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/permissions.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/permissions.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,25 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" CMFActionIcons product permissions.
+
+$Id: permissions.py 36457 2004-08-12 15:07:44Z jens $
+"""
+from AccessControl import ModuleSecurityInfo
+
+security = ModuleSecurityInfo('Products.CMFActionIcons.permissions')
+
+security.declarePublic('ManagePortal')
+from Products.CMFCore.permissions import ManagePortal
+
+security.declarePublic('View')
+from Products.CMFCore.permissions import View

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/actionicons_macros.pt
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/actionicons_macros.pt?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/actionicons_macros.pt (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/actionicons_macros.pt Thu Feb 15 17:32:49 2007
@@ -1,0 +1,75 @@
+<td metal:define-macro="action_icon_cell"
+    tal:define="id action/id | action/name | string:unknown;
+                clean_id python:id.replace( ' ', '_' );
+                category action/category | string:uncategorized;
+                url action/url;
+                title action/title | id;
+               "
+    tal:attributes="title title;
+                    id string:${category}X${clean_id};
+                   " >
+    <a tal:define="icon  action/icon | nothing"
+        tal:attributes="href url;
+                        title title;
+                    "
+        ><img src="icon" width="16" height="16" border="0"
+            tal:attributes="src string:${portal_url}/${icon};
+                            alt title;
+                            " /></a>
+</td>
+
+<div metal:define-macro="horizontal_strip" >
+ <table class="mainActions" cellpadding="3" cellspacing="2" border="1">
+  <tr tal:define="atool    here/portal_actions;
+                  aitool   nocall: here/portal_actionicons;
+                  actions  python: aitool(atool.listFilteredActionsFor(here));
+                  oactions actions/object;
+                  factions actions/folder;
+                  wactions actions/workflow;
+                  gactions actions/global;
+                  nactions python: factions + oactions + gactions;
+                 ">
+
+   <tal:action tal:repeat="action nactions">
+    <td metal:use-macro="here/actionicons_macros/macros/action_icon_cell" />
+   </tal:action>
+
+    <td tal:content="wf_state"> Private </td>
+
+   <tal:action tal:repeat="action wactions">
+    <td metal:use-macro="here/actionicons_macros/macros/action_icon_cell" />
+   </tal:action>
+
+  </tr>
+ </table>
+</div>
+
+<div metal:define-macro="vertical_strip" >
+<table class="mainActions" cellpadding="3" cellspacing="2" border="1"
+       tal:define="atool    here/portal_actions;
+                   aitool   nocall: here/portal_actionicons;
+                   actions  python: aitool(atool.listFilteredActionsFor(here));
+                   oactions actions/object;
+                   factions actions/folder;
+                   wactions actions/workflow;
+                   gactions actions/global;
+                   nactions python: factions + oactions + gactions;
+                  ">
+
+ <tr tal:repeat="action nactions">
+  <td metal:use-macro="here/actionicons_macros/macros/action_icon_cell" />
+ </tr>
+
+ <tr>
+  <td tal:content="wf_state">
+    Private
+  </td>
+ </tr>
+
+ <tr tal:repeat="action wactions">
+  <td metal:use-macro="here/actionicons_macros/macros/action_icon_cell" />
+ </tr>
+
+</table>
+
+</div>

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/approve_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/approve_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/approve_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/edit_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/edit_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/edit_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/expire_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/expire_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/expire_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/folder_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/folder_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/folder_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/metadata_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/metadata_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/metadata_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/policies_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/policies_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/policies_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/preview_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/preview_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/preview_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/reject_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/reject_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/reject_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/retract_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/retract_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/retract_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/submit_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/submit_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/submit_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/undo_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/undo_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/undo_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/user_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/user_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/user_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/worklist_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/worklist_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/worklist_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/yank_icon.png
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/yank_icon.png?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/skins/actionicons/yank_icon.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/standard_mappings.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/standard_mappings.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/standard_mappings.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/standard_mappings.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,157 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+# 
+##############################################################################
+""" ActionIcons tool:  standard CMF mappings.
+
+This module makes available a "starter set" of action -> icon mappings.
+It will be installed by default when the tool is set up, unless an alternate
+set is provided.
+
+$Id: standard_mappings.py 36457 2004-08-12 15:07:44Z jens $
+"""
+
+OBJECT_ACTIONS = \
+( { 'category'              : 'object'
+  , 'action_id'             : 'view'
+  , 'title'                 : 'View'
+  , 'priority'              : 0
+  , 'icon_expr'             : 'view_icon.png'
+  }
+, { 'category'              : 'object'
+  , 'action_id'             : 'preview'
+  , 'title'                 : 'Preview'
+  , 'priority'              : 1
+  , 'icon_expr'             : 'preview_icon.png'
+  }
+, { 'category'              : 'object'
+  , 'action_id'             : 'edit'
+  , 'title'                 : 'Edit'
+  , 'priority'              : 2
+  , 'icon_expr'             : 'edit_icon.png'
+  }
+, { 'category'              : 'object'
+  , 'action_id'             : 'metadata'
+  , 'title'                 : 'Metadata'
+  , 'priority'              : 3
+  , 'icon_expr'             : 'metadata_icon.png'
+  }
+)
+
+FOLDER_ACTIONS = \
+( { 'category'              : 'folder'
+  , 'action_id'             : 'folderContents'
+  , 'title'                 : 'Folder Contents'
+  , 'priority'              : 0
+  , 'icon_expr'             : 'folder_icon.png'
+  }
+, { 'category'              : 'folder'
+  , 'action_id'             : 'localroles'
+  , 'title'                 : 'Local Roles'
+  , 'priority'              : 1
+  , 'icon_expr'             : 'user_icon.png'
+  }
+, { 'category'              : 'folder'
+  , 'action_id'             : 'syndication'
+  , 'title'                 : 'Syndication'
+  , 'priority'              : 2
+  , 'icon_expr'             : 'syndication_icon.png'
+  }
+)
+
+WORKFLOW_ACTIONS = \
+( { 'category'              : 'workflow'
+  , 'action_id'             : 'submit'
+  , 'title'                 : 'Submit'
+  , 'priority'              : 0
+  , 'icon_expr'             : 'submit_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'history'
+  , 'title'                 : 'History'
+  , 'priority'              : 1
+  , 'icon_expr'             : 'history_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'retract'
+  , 'title'                 : 'Retract'
+  , 'priority'              : 2
+  , 'icon_expr'             : 'retract_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'publish'
+  , 'title'                 : 'Publish'
+  , 'priority'              : 3
+  , 'icon_expr'             : 'approve_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'reject'
+  , 'title'                 : 'Reject'
+  , 'priority'              : 4
+  , 'icon_expr'             : 'reject_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'expire'
+  , 'title'                 : 'Expire'
+  , 'priority'              : 5
+  , 'icon_expr'             : 'expire_icon.png'
+  }
+, { 'category'              : 'workflow'
+  , 'action_id'             : 'yank'
+  , 'title'                 : 'Yank'
+  , 'priority'              : 6
+  , 'icon_expr'             : 'yank_icon.png'
+  }
+)
+
+GLOBAL_ACTIONS = \
+( { 'category'              : 'global'
+  , 'action_id'             : 'undo'
+  , 'title'                 : 'Undo'
+  , 'priority'              : 0
+  , 'icon_expr'             : 'undo_icon.png'
+  }
+, { 'category'              : 'global'
+  , 'action_id'             : 'configPortal'
+  , 'title'                 : 'Policies'
+  , 'priority'              : 1
+  , 'icon_expr'             : 'policies_icon.png'
+  }
+, { 'category'              : 'global'
+  , 'action_id'             : 'worklist'
+  , 'title'                 : 'Worklist'
+  , 'priority'              : 2
+  , 'icon_expr'             : 'worklist_icon.png'
+  }
+)
+
+DEFAULT_MAPPINGS = ( OBJECT_ACTIONS
+                   + FOLDER_ACTIONS
+                   + WORKFLOW_ACTIONS
+                   + GLOBAL_ACTIONS
+                   )
+
+def installActionIconMappings( tool, mappings=DEFAULT_MAPPINGS, clear_first=1 ):
+
+    """ Add the specified mappings to the tool.
+
+    o If 'clear_first', then zap existing mappings first.
+    """
+    if clear_first:
+        tool.clearActionIcons()
+
+    for mapping in mappings:
+        tool.addActionIcon( category=mapping[ 'category' ]
+                          , action_id=mapping[ 'action_id' ]
+                          , icon_expr=mapping[ 'icon_expr' ]
+                          , title=mapping[ 'title' ]
+                          , priority=mapping[ 'priority' ]
+                          )

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/__init__.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/__init__.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/__init__.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/__init__.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,16 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+# 
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+# 
+##############################################################################
+""" CMFActionIcons product unit tests
+
+$Id: __init__.py 36457 2004-08-12 15:07:44Z jens $
+"""

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_ActionIconsTool.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_ActionIconsTool.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_ActionIconsTool.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_ActionIconsTool.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,229 @@
+##############################################################################
+#
+# Copyright (c) 2003 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Unit tests for ActionIconsTool module.
+
+$Id: test_ActionIconsTool.py 37135 2005-07-08 13:24:33Z tseaver $
+"""
+
+import unittest
+import Testing
+try:
+    import Zope2
+except ImportError: # BBB: for Zope 2.7
+    import Zope as Zope2
+Zope2.startup()
+
+
+class ActionIconToolTests( unittest.TestCase ):
+
+    def _makeOne( self, *args, **kw ):
+
+        from Products.CMFActionIcons.ActionIconsTool import ActionIconsTool
+
+        return ActionIconsTool( *args, **kw )
+
+    def test_empty( self ):
+
+        tool = self._makeOne()
+
+        self.assertEqual( len( tool.listActionIcons() ), 0 )
+        self.assertRaises( KeyError, tool.getActionIcon, 'foo', 'bar' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar' ), None )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar', 'baz' ), 'baz' )
+        self.assertRaises( KeyError, tool.removeActionIcon, 'foo', 'bar' )
+
+    def test_addActionIcon( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+
+        icons = tool.listActionIcons()
+        self.assertEqual( len( icons ), 1 )
+
+        icon = icons[0]
+        self.assertEqual( icon.getCategory(), 'foo' )
+        self.assertEqual( icon.getActionId(), 'bar' )
+        self.assertEqual( icon.getExpression(), 'qux' )
+        self.assertEqual( icon.getIconURL(), 'qux' )
+
+        self.assertRaises( KeyError, tool.getActionIcon, 'foo', 'baz' )
+        self.assertEqual( tool.getActionIcon( 'foo', 'bar' ), 'qux' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar' ), 'qux' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar', 'baz' ), 'qux' )
+
+    def test_addActionIcon_duplicate( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+        self.assertRaises( KeyError, tool.addActionIcon, 'foo', 'bar', 'qux' )
+
+    def test_addActionIcon_multiple( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+        tool.addActionIcon( 'foo', 'baz', 'spam' )
+        tool.addActionIcon( 'abc', 'def', 'ghi' )
+
+        icons = tool.listActionIcons()
+        self.assertEqual( len( icons ), 3 )
+
+        icon = icons[0]
+        self.assertEqual( icon.getCategory(), 'foo' )
+        self.assertEqual( icon.getActionId(), 'bar' )
+        self.assertEqual( icon.getExpression(), 'qux' )
+        self.assertEqual( icon.getIconURL(), 'qux' )
+
+        icon = icons[1]
+        self.assertEqual( icon.getCategory(), 'foo' )
+        self.assertEqual( icon.getActionId(), 'baz' )
+        self.assertEqual( icon.getExpression(), 'spam' )
+        self.assertEqual( icon.getIconURL(), 'spam' )
+
+        icon = icons[2]
+        self.assertEqual( icon.getCategory(), 'abc' )
+        self.assertEqual( icon.getActionId(), 'def' )
+        self.assertEqual( icon.getExpression(), 'ghi' )
+        self.assertEqual( icon.getIconURL(), 'ghi' )
+
+    def test_updateActionIcon( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+
+        self.assertEqual( tool.getActionIcon( 'foo', 'bar' ), 'qux' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar' ), 'qux' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar', 'baz' ), 'qux' )
+
+        tool.updateActionIcon( 'foo', 'bar', 'bam' )
+
+        self.assertEqual( tool.getActionIcon( 'foo', 'bar' ), 'bam' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar' ), 'bam' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar', 'baz' ), 'bam' )
+
+    def test_updateActionIcon_emptyiconexpr( self ):
+
+        # CMF Collector # 239
+
+        tool = self._makeOne()
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+        tool.updateActionIcon( 'foo', 'bar', '' )
+        tool.updateActionIcon( 'foo', 'bar', 'bam' )
+
+        self.assertEqual( tool.getActionIcon( 'foo', 'bar' ), 'bam' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar' ), 'bam' )
+        self.assertEqual( tool.queryActionIcon( 'foo', 'bar', 'baz' ), 'bam' )
+
+    def test_updateActionIcon_nonesuch( self ):
+
+        tool = self._makeOne()
+        self.assertRaises( KeyError
+                         , tool.updateActionIcon, 'foo', 'baz', 'qux' )
+
+    def test_removeActionIcon( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+        tool.addActionIcon( 'foo', 'baz', 'spam' )
+        tool.addActionIcon( 'abc', 'def', 'ghi' )
+
+        tool.removeActionIcon( 'foo', 'baz' )
+
+        icons = tool.listActionIcons()
+        self.assertEqual( len( icons ), 2 )
+
+        icon = icons[0]
+        self.assertEqual( icon.getCategory(), 'foo' )
+        self.assertEqual( icon.getActionId(), 'bar' )
+        self.assertEqual( icon.getExpression(), 'qux' )
+        self.assertEqual( icon.getIconURL(), 'qux' )
+
+        icon = icons[1]
+        self.assertEqual( icon.getCategory(), 'abc' )
+        self.assertEqual( icon.getActionId(), 'def' )
+        self.assertEqual( icon.getExpression(), 'ghi' )
+        self.assertEqual( icon.getIconURL(), 'ghi' )
+
+        self.assertEqual( tool.getActionIcon( 'foo', 'bar' ), 'qux' )
+        self.assertRaises( KeyError, tool.getActionIcon, 'foo', 'baz' )
+        self.assertEqual( tool.getActionIcon( 'abc', 'def' ), 'ghi' )
+
+    def test_removeActionIcon_nonesuch( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux' )
+        tool.addActionIcon( 'foo', 'baz', 'spam' )
+        tool.addActionIcon( 'abc', 'def', 'ghi' )
+
+        self.assertRaises( KeyError, tool.removeActionIcon, 'jkl', 'mno' )
+
+    def test_removeActionIcon_noIconURL( self ):
+        # Regression test, issue #333
+        tool = self._makeOne()
+        tool.addActionIcon( 'foo', 'bar', '' )
+
+        tool.removeActionIcon( 'foo', 'bar' )
+        self.assertEqual(len(tool.listActionIcons()), 0)
+
+    def test_updateActionDicts( self ):
+
+        tool = self._makeOne()
+
+        tool.addActionIcon( 'foo', 'bar', 'qux', 'FooBar' )
+        tool.addActionIcon( 'foo', 'baz', 'spam', 'FooBaz', 1 )
+        tool.addActionIcon( 'abc', 'def', 'ghi' )
+
+        sod = { 'foo' : ( { 'id' : 'bar' }
+                        , { 'id' : 'baz', 'icon' : 'qwerty' }
+                        , { 'id' : 'bam' }
+                        )
+              , 'abc' : ( { 'id' : 'def', 'title' : 'DEF' }
+                        ,
+                        )
+              }
+
+        sod2 = tool.updateActionDicts( sod )
+
+        self.assertEqual( len( sod2 ), len( sod ) )
+
+        self.assertEqual( len( sod2['foo'] ), len( sod['foo'] ) )
+        self.assertEqual( sod2['foo'][0]['icon'], 'qux' )
+        self.assertEqual( sod2['foo'][0]['title'], 'FooBar' )
+        self.assertEqual( sod2['foo'][0]['priority'], 0 )
+
+        self.failIf( sod2['foo'][1].has_key( 'icon' ) ) # sorted higher!
+
+        self.assertEqual( sod2['foo'][2]['icon'], 'spam' )
+        self.assertEqual( sod2['foo'][2]['title'], 'FooBaz' )
+        self.assertEqual( sod2['foo'][2]['priority'], 1 )
+
+        self.assertEqual( len( sod2['abc'] ), len( sod['abc'] ) )
+        self.assertEqual( sod2['abc'][0]['icon'], 'ghi' )
+        self.assertEqual( sod2['abc'][0]['title'], 'DEF' )
+
+        sod3 = tool( sod )
+        self.assertEqual( sod2, sod3 )
+
+
+def test_suite():
+    return unittest.TestSuite((
+        unittest.makeSuite(ActionIconToolTests),
+        ))
+
+if __name__ == '__main__':
+    unittest.main(defaultTest='test_suite')

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_all.py
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_all.py?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_all.py (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/tests/test_all.py Thu Feb 15 17:32:49 2007
@@ -1,0 +1,39 @@
+##############################################################################
+#
+# Copyright (c) 2004 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" CMFActionIcons tests.
+
+$Id: test_all.py 37135 2005-07-08 13:24:33Z tseaver $
+"""
+
+from unittest import main
+import Testing
+try:
+    import Zope2
+except ImportError: # BBB: for Zope 2.7
+    import Zope as Zope2
+Zope2.startup()
+
+from Products.CMFCore.tests.base.utils import build_test_suite
+
+
+def suite():
+    return build_test_suite('Products.CMFActionIcons.tests',[
+        'test_ActionIconsTool',
+        ])
+
+def test_suite():
+    # Just to silence the top-level test.py
+    return None
+
+if __name__ == '__main__':
+    main(defaultTest='suite')

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/tool.gif
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/tool.gif?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/CMFActionIcons/tool.gif
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/version.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/version.txt?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/version.txt (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/version.txt Thu Feb 15 17:32:49 2007
@@ -1,0 +1,1 @@
+CMF-1.5.4

Added: spec/debian/erp5-cmfactionicons/CMFActionIcons/www/aitEdit.zpt
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/CMFActionIcons/www/aitEdit.zpt?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/CMFActionIcons/www/aitEdit.zpt (added)
+++ spec/debian/erp5-cmfactionicons/CMFActionIcons/www/aitEdit.zpt Thu Feb 15 17:32:49 2007
@@ -1,0 +1,73 @@
+<h1 tal:replace="structure here/manage_page_header">Header</h1>
+<h2 tal:replace="structure here/manage_tabs">Tabs</h2>
+
+<h1> Edit Action Icons </h1>
+
+<table>
+
+ <tr>
+  <th align="left"> Category </th>
+  <th align="left"> Action ID </th>
+  <th align="left"> Action Title </th>
+  <th align="left"> Priority </th>
+  <th align="left"> Icon URL Expression </th>
+  <td> </td>
+ </tr>
+
+ <tal:rowform tal:repeat="ai here/listActionIcons">
+ <form action=".">
+ <input type="hidden" name="category"
+        tal:attributes="value ai/getCategory" />
+ <input type="hidden" name="action_id"
+        tal:attributes="value ai/getActionId" />
+        
+ <tr>
+  <td tal:content="ai/getCategory">CATEGORY</td>
+  <td tal:content="ai/getActionId">ACTION_ID</td>
+  <td>
+   <input type="text" name="title" size="20" value=""
+          tal:attributes="value ai/getTitle | default" />
+  </td>
+  <td>
+   <input type="text" name="priority:int" size="8" value="0"
+          tal:attributes="value ai/getPriority | default" />
+  </td>
+  <td>
+   <input type="text" name="icon_expr" size="20"
+          tal:attributes="value ai/getExpression" />
+  </td>
+  <td>
+   <input type="submit" name="manage_updateActionIcon:method" value="Update" />
+   <input type="submit" name="manage_removeActionIcon:method" value="Remove" />
+  </td>
+ </tr>
+ </form>
+ </tal:rowform>
+
+ <form action=".">
+        
+ <tr>
+  <td>
+   <input type="text" name="category" />
+  </td>
+  <td>
+   <input type="text" name="action_id" />
+  </td>
+  <td>
+   <input type="text" name="title" size="20" />
+  </td>
+  <td>
+   <input type="text" name="priority:int" size="8" value="0" />
+  </td>
+  <td>
+   <input type="text" name="icon_expr" size="20" />
+  </td>
+  <td>
+   <input type="submit" name="manage_addActionIcon:method" value="Add" />
+  </td>
+ </tr>
+ </form>
+
+</table>
+
+<h1 tal:replace="structure here/manage_page_footer">Footer</h1>

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.diff.gz
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.diff.gz?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.diff.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.dsc
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.dsc?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.dsc (added)
+++ spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1.dsc Thu Feb 15 17:32:49 2007
@@ -1,0 +1,12 @@
+Format: 1.0
+Source: erp5-cmfactionicons
+Version: 1.5.4-1
+Binary: erp5-cmfactionicons
+Maintainer: Yusei TAHARA
+Architecture: all
+Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 5.0)
+Build-Depends-Indep: zope-debhelper (>= 0.3.6)
+Files: 
+ cb0cb35ab93a2f26711c15e2aff107c7 15609 erp5-cmfactionicons_1.5.4.orig.tar.gz
+ 542172162fc92d98f975a0f67c314d35 905 erp5-cmfactionicons_1.5.4-1.diff.gz

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_all.deb
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_all.deb?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_all.deb
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.build
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.build?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.build (added)
+++ spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.build Thu Feb 15 17:32:49 2007
@@ -1,0 +1,34 @@
+ fakeroot debian/rules clean
+dh_testdir
+dh_testroot
+rm -f build-stamp configure-stamp
+dh_clean
+ dpkg-source -b CMFActionIcons
+dpkg-source: warning: source directory `./CMFActionIcons' is not <sourcepackage>-<upstreamversion> `erp5-cmfactionicons-1.5.4'
+dpkg-source: warning: .orig directory name CMFActionIcons.orig is not <package>-<upstreamversion> (wanted erp5-cmfactionicons-1.5.4.orig)
+dpkg-source: building erp5-cmfactionicons using existing erp5-cmfactionicons_1.5.4.orig.tar.gz
+dpkg-source: building erp5-cmfactionicons in erp5-cmfactionicons_1.5.4-1.diff.gz
+dpkg-source: building erp5-cmfactionicons in erp5-cmfactionicons_1.5.4-1.dsc
+ debian/rules build
+touch build-stamp
+ fakeroot debian/rules binary
+dh_testdir
+dh_testroot
+dh_clean -k
+dh_installdirs
+dh_installerp5zope .
+dh_testdir
+dh_testroot
+dh_installdocs
+dh_installexamples
+dh_installchangelogs
+dh_compress
+dh_fixperms
+dh_installdeb
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dpkg-deb: `../erp5-cmfactionicons_1.5.4-1_all.deb' ¤Ë¥Ñ¥Ã¥±¡¼¥¸ `erp5-cmfactionicons' ¤ò¹½ÃÛ¤·¤Æ¤¤¤Þ¤¹¡£
+ dpkg-genchanges
+dpkg-genchanges: including full source code in upload
+dpkg-buildpackage (debuild emulation): full upload (original source is included)

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.changes
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.changes?rev=12737&view=auto
==============================================================================
--- spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.changes (added)
+++ spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4-1_i386.changes Thu Feb 15 17:32:49 2007
@@ -1,0 +1,21 @@
+Format: 1.7
+Date: Wed, 14 Feb 2007 03:27:56 +0900
+Source: erp5-cmfactionicons
+Binary: erp5-cmfactionicons
+Architecture: source all
+Version: 1.5.4-1
+Distribution: unstable
+Urgency: low
+Maintainer: Yusei TAHARA
+Changed-By: Yusei TAHARA <yusei at domen.cx>
+Description: 
+ erp5-cmfactionicons - CMFActionIcons
+Changes: 
+ erp5-cmfactionicons (1.5.4-1) unstable; urgency=low
+ .
+   * Initial Release.
+Files: 
+ 085bf19976c0d2ea2e0230afbc353eab 394 web optional erp5-cmfactionicons_1.5.4-1.dsc
+ cb0cb35ab93a2f26711c15e2aff107c7 15609 web optional erp5-cmfactionicons_1.5.4.orig.tar.gz
+ 542172162fc92d98f975a0f67c314d35 905 web optional erp5-cmfactionicons_1.5.4-1.diff.gz
+ a14dcd894114661bf6875118098ef348 18398 web optional erp5-cmfactionicons_1.5.4-1_all.deb

Added: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4.orig.tar.gz
URL: http://svn.erp5.org/spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4.orig.tar.gz?rev=12737&view=auto
==============================================================================
Binary file - no diff available.

Propchange: spec/debian/erp5-cmfactionicons/erp5-cmfactionicons_1.5.4.orig.tar.gz
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream




More information about the Erp5-report mailing list