Source code for adhocracy_core.resources.item

"""Basic Pool for specific Itemversions typically to create process content."""
from adhocracy_core.interfaces import IItemVersion
from adhocracy_core.interfaces import ITag
from adhocracy_core.interfaces import IItem
from adhocracy_core.resources import add_resource_type_to_registry
from adhocracy_core.resources.pool import pool_meta
import adhocracy_core.sheets.anonymize
import adhocracy_core.sheets.name
import adhocracy_core.sheets.tags
import adhocracy_core.sheets.pool
import adhocracy_core.sheets.versions
import adhocracy_core.sheets.tags
from adhocracy_core.utils import get_iresource


[docs]def create_initial_content_for_item(context, registry, options): """Add first version and the Tags LAST and FIRST.""" iresource = get_iresource(context) metadata = registry.content.resources_meta[iresource] create = registry.content.create first_version = create(metadata.item_type.__identifier__, parent=context, **options) request = options.get('request', None) tags_sheet = registry.content.get_sheet(context, adhocracy_core.sheets.tags.ITags, request=request, ) tags_sheet.set({'FIRST': first_version, 'LAST': first_version}, autoupdated=True)
item_meta = pool_meta._replace( iresource=IItem, basic_sheets=(adhocracy_core.sheets.tags.ITags, adhocracy_core.sheets.versions.IVersions, adhocracy_core.sheets.pool.IPool, adhocracy_core.sheets.metadata.IMetadata, adhocracy_core.sheets.workflow.IWorkflowAssignment, adhocracy_core.sheets.anonymize.IAllowAddAnonymized, ), element_types=(IItemVersion, ITag, ), after_creation=(create_initial_content_for_item,), item_type=IItemVersion, permission_create='create_item', use_autonaming=True, autonaming_prefix='item_' ) item_basic_sheets_without_name = tuple([x for x in item_meta.basic_sheets if x != adhocracy_core.sheets.name.IName])
[docs]def includeme(config): """Add resource type to registry.""" add_resource_type_to_registry(item_meta, config)