示例#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
        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
"""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)