Commit 1d1947e4 authored by Julien Muchembled's avatar Julien Muchembled

New interfaces for roles and actions

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@28655 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent 6884ce80
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from action_provider import IAction, IActionProvider
from cache_plugin import ICachePlugin from cache_plugin import ICachePlugin
from category_access_provider import ICategoryAccessProvider from category_access_provider import ICategoryAccessProvider
from value_access_provider import IValueAccessProvider from value_access_provider import IValueAccessProvider
from constraint import IConstraint from constraint import IConstraint
from role_provider import ILocalRoleAssignor, ILocalRoleGenerator
##############################################################################
#
# Copyright (c) 2009 Nexedi SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly advised to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
"""Action Interfaces.
"""
from zope.interface import Interface
class IAction(Interface):
"""
"""
def test(ec):
"""Test if the action should be displayed or not for the given context
"""
def getActionInfo(ec):
"""Return a dict with information required to display the action
The dict must contain the following keys:
- id (string)
- name (string)
- description (string)
- url (string)
- icon (string)
- category (string)
- priority (numeric)
"""
class IActionProvider(Interface):
"""
"""
def getFilteredActionListFor(ob):
"""Return all actions applicable to the object
"""
##############################################################################
#
# Copyright (c) 2009 Nexedi SARL and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly advised to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
"""Role Interfaces.
"""
from zope.interface import Interface
class ILocalRoleGenerator(Interface):
"""
"""
def getLocalRolesFor(ob, user_name=None):
"""Compute the security that should be applied on an object
Returned value is a dict: {groud_id: role_name_set, ...}
"""
class ILocalRoleAssignor(ILocalRoleGenerator):
"""
"""
def updateLocalRolesOnDocument(ob, user_name=None, reindex=True):
"""Assign Local Roles to Groups on a document
"""
def getFilteredRoleListFor(ob=None):
"""Return all role generators applicable to the object
"""
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