コード例 #1
0
ファイル: Registry.py プロジェクト: dtgit/dtedu
def registerStorage(klass, **kw):
    setSecurity(klass, defaultAccess=None, objectPermission=None)
    storage = StorageDescription(klass, **kw)
    storageDescriptionRegistry.register(storage.id, storage)
コード例 #2
0
ファイル: Registry.py プロジェクト: dtgit/dtedu
def registerField(klass, **kw):
    setSecurity(klass, defaultAccess='allow', objectPermission=None)
    field = FieldDescription(klass, **kw)
    fieldDescriptionRegistry.register(field.id, field)
コード例 #3
0
ファイル: Registry.py プロジェクト: dtgit/dtedu
def registerWidget(klass, **kw):
    setSecurity(klass, defaultAccess='allow', objectPermission=None)
    widget = WidgetDescription(klass, **kw)
    widgetDescriptionRegistry.register(widget.id, widget)
コード例 #4
0
ファイル: local.py プロジェクト: collective/collective.table
        columns = self.listColumns()
        rows = self._annotations.get("rows")

        # prepare new row
        row = dict()
        row["DT_RowId"] = len(rows)  # add an incremental id to new row
        for column in columns:
            row[column["id"]] = _("click here to enter data")

        # save new row
        rows.append(row)
        self._annotations._p_changed = True

    security.declarePrivate("delete_rows")

    def delete_rows(self, idxs):
        """Delete (multiple) row."""
        rows = self._annotations.get("rows")
        for index, row in enumerate(rows):
            if row["DT_RowId"] in idxs:
                del rows[index]
        self._annotations._p_changed = True

    security.declarePrivate("unset")

    def unset(self, name, instance, **kwargs):
        pass


setSecurity(LocalSource)
コード例 #5
0
def registerStorage(klass, **kw):
    setSecurity(klass, defaultAccess=None, objectPermission=None)
    storage = StorageDescription(klass, **kw)
    storageDescriptionRegistry.register(storage.id, storage)
コード例 #6
0
def registerWidget(klass, **kw):
    setSecurity(klass, defaultAccess='allow', objectPermission=None)
    widget = WidgetDescription(klass, **kw)
    widgetDescriptionRegistry.register(widget.id, widget)
コード例 #7
0
def registerField(klass, **kw):
    setSecurity(klass, defaultAccess='allow', objectPermission=None)
    field = FieldDescription(klass, **kw)
    fieldDescriptionRegistry.register(field.id, field)
コード例 #8
0
ファイル: source.py プロジェクト: collective/collective.table
"""Table data sources are masquerading as Archetypes Storages."""

from AccessControl import ClassSecurityInfo
from Products.Archetypes.Storage import Storage
from Products.Archetypes.interfaces import IBaseObject
from Products.Archetypes.utils import setSecurity
from collective.table.interfaces import ITableField
from zope import component


class BaseSource(Storage):
    component.adapts(ITableField, IBaseObject)
    security = ClassSecurityInfo()

    title = None
    description = None
    configurationView = None
    editable = False
    sortable = False
    queryable = False

    def __init__(self, field, instance):
        self.field = field
        self.instance = instance

    security.declarePrivate('listColumns')
    def listColumns(self):
        raise NotImplementedError()

setSecurity(BaseSource)