def add_changelog_visibility(event): """Add new visibility message to the transaction_changelog.""" visibility = get_visibility_change(event) value_changed = _add_changelog(event.registry, event.object, key='visibility', value=visibility) if value_changed and visibility in (VisibilityChange.concealed, VisibilityChange.revealed): _mark_referenced_resources_as_changed(event.object, event.registry)
def update_comments_count_after_visibility_change(event): """Update comments_count in lineage after visibility change.""" visibility = get_visibility_change(event) if visibility == VisibilityChange.concealed: delta = -1 elif visibility == VisibilityChange.revealed: delta = 1 else: delta = 0 if delta != 0: versions = get_sheet_field(event.object, IVersions, 'elements', registry=event.registry) for version in versions: update_comments_count(version, delta, event.registry)
def reindex_visibility(event): """Reindex the private_visibility index for all descendants if modified.""" visibility = get_visibility_change(event) if visibility in (VisibilityChange.concealed, VisibilityChange.revealed): _reindex_resource_and_descendants(event.object)