def ready(self): super(GroundtruthAppConfig, self).ready() GroundtruthRecord = self.get_model('GroundtruthRecord') registry.register(GroundtruthRecord) django_monitor.nq(GroundtruthRecord) import signals
def ready(self): from actstream import registry from tunga_activity import signals registry.register( self.get_model('FieldChangeLog') )
def ready(self): from actstream import registry from tunga_payments import signals registry.register( self.get_model('Invoice'), self.get_model('Payment') )
def populate_document_activity(apps, schema_editor): Document = apps.get_model('documents', 'Document') File = apps.get_model('documents', 'File') Image = apps.get_model('documents', 'Image') Link = apps.get_model('documents', 'Link') Project = apps.get_model('projects', 'Project') from actstream import action from actstream import registry registry.register(Document) registry.register(File) registry.register(Image) registry.register(Link) registry.register(Project) for doc in File.objects.all(): if doc.projects.count() == 1: target = doc.projects.first() else: target = None action.send(doc.owner, verb='uploaded', action_object=doc, target=target, timestamp=doc.date_added) for doc in Image.objects.all(): if doc.projects.count() == 1: target = doc.projects.first() else: target = None action.send(doc.owner, verb='uploaded', action_object=doc, target=target, timestamp=doc.date_added) for link in Link.objects.all(): if link.projects.count() == 1: target = link.projects.first() else: target = None action.send(link.owner, verb='added', action_object=link, target=target, timestamp=link.date_added)
def ready(self): registry.register( self.get_model('Module'), self.get_model('Forum_wrap'), self.get_model('Wiki_wrap'), self.get_model('Quiz_wrap'), self.get_model('Material_wrap'), )
def ready(self): from actstream import registry from tunga_tasks import signals registry.register( self.get_model('Task'), self.get_model('Application'), self.get_model('Participation'), self.get_model('TaskRequest'),self.get_model('TaskUpdate') )
def ready(self): # Imports need to happen here once things are ready. # Please do not move these. from actstream import registry from icon_commons.models import Icon # Register Icon for Activity Strreams registry.register(Icon)
def handle(self, *args, **options): registry.register(Stream) for user in get_user_model().objects.all(): stream = Stream.objects.get(title=user.username, owner=user) follow(user, stream, actor_only=False) self.stdout.write('Subscribed user {0} to stream {1}'.format(user, stream))
def ready(self): from actstream import registry from tunga_tasks import signals registry.register( self.get_model('Task'), self.get_model('Application'), self.get_model('Participation'), self.get_model('TaskRequest'), self.get_model('ProgressEvent'), self.get_model('ProgressReport'), self.get_model('Integration'), self.get_model('IntegrationEvent'), self.get_model('IntegrationMeta'), self.get_model('IntegrationActivity'))
def test_registration(self): instance = Unregistered.objects.create(name='fubar') self.assertRaises(ImproperlyConfigured, actor_stream, instance) register(Unregistered) self.assertEqual(actor_stream(instance).count(), 0) self.assertRaises(RuntimeError, model_stream, Abstract) self.assertRaises(ImproperlyConfigured, register, Abstract) unregister(Unregistered)
def ready(self): try: from actstream import registry from . import signals registry.register(self.get_model('Photo')) except ImportError: # django-activity-stream is not installed and that's okay pass
def ready(self): from actstream import registry registry.register(apps.get_model('auth.user')) registry.register(self.get_model('UiComment')) registry.register(self.get_model('MediaUpload')) registry.register(self.get_model('TaskUI')) registry.register(self.get_model('Role')) # registry.register('Profile')
def ready(self): registry.register(self.get_model('Translation')) # -- signals from translations.signalhandlers import new_translation from django.db.models.signals import post_save post_save.connect(new_translation, sender='translations.Translation', dispatch_uid='new_translation')
def ready(self): from actstream import registry from badgesfab import signals models_to_register = ['SketchFabUser', 'Model3d', 'ModelDescription'] for model in models_to_register: registry.register(self.get_model(model)) post_save.connect( receiver=signals.modelSaveSignal, sender=self.get_model(model) )
def ready(self): super(UserManagementApp, self).ready() APIEndPoint(app=self, version_string="1") MetadataLookup(description=_("All the groups."), name="group", value=Group.objects.all()) MetadataLookup(description=_("All the users."), name="users", value=get_user_model().objects.all()) SourceColumn(source=Group, label=_("Members"), attribute="user_set.count") SourceColumn(source=User, label=_("Full name"), attribute="get_full_name") SourceColumn(source=User, label=_("Email"), attribute="email") SourceColumn( source=User, label=_("Active"), func=lambda context: two_state_template(context["object"].is_active) ) SourceColumn( source=User, label=_("Has usable password?"), func=lambda context: two_state_template(context["object"].has_usable_password()), ) menu_multi_item.bind_links( links=(link_user_multiple_set_password, link_user_multiple_delete), sources=("user_management:user_list",) ) menu_object.bind_links(links=(link_group_edit, link_group_members, link_group_delete), sources=(Group,)) menu_object.bind_links( links=(link_user_edit, link_user_set_password, link_user_groups, link_user_delete), sources=(User,) ) menu_secondary.bind_links( links=(link_group_list, link_group_add), sources=( "user_management:group_multiple_delete", "user_management:group_delete", "user_management:group_edit", "user_management:group_list", "user_management:group_add", "user_management:group_members", ), ) menu_secondary.bind_links( links=(link_user_list, link_user_add), sources=( User, "user_management:user_multiple_set_password", "user_management:user_multiple_delete", "user_management:user_list", "user_management:user_add", ), ) menu_setup.bind_links(links=(link_user_setup, link_group_setup)) registry.register(Group) registry.register(User)
def ready(self): registry.register(User, self.get_model('user'), self.get_model('friends'), self.get_model('status'), self.get_model('questions'), self.get_model('answers'), self.get_model('education'), self.get_model('job'), self.get_model('quizzes'), self.get_model('books'), self.get_model('sites'), )
def ready(self): from actstream import registry from django.contrib.auth.models import User from website.models import Bounty, Solution, Taker, Issue registry.register(self.get_model("Issue")) registry.register(User) registry.register(Bounty) registry.register(Solution)
def ready(self): registry.register(self.get_model('Language')) from django.db.models.signals import post_save from nano.user import new_user_created import cals.signalhandlers from cals.people.models import user_unlurked from cals.signalhandlers import ( new_or_changed_language, new_user_anywhere, user_now_active ) user_unlurked.connect(user_now_active, sender='cals.Profile', dispatch_uid='user-unlurked') post_save.connect(new_user_anywhere, sender=settings.AUTH_USER_MODEL, dispatch_uid='new-user') post_save.connect(new_or_changed_language, sender='cals.Language', dispatch_uid='language-update')
def setUp(self): registry.register(Layer) registry.register(Comment) registry.register(Profile) create_models(type='layer') create_layer_data() self.user = get_user_model().objects.filter(username='******')[0]
def setUp(self): super(SimpleTest, self).setUp() registry.register(Layer) registry.register(Comment) registry.register(Profile) create_layer_data() self.user = get_user_model().objects.filter(username='******')[0]
def ready(self): from onadata.apps.messaging import signals # noqa pylint: disable=W0612 # this needs to be imported inline because otherwise we get # django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. from actstream import registry registry.register(apps.get_model(model_name='User', app_label='auth')) registry.register( apps.get_model(model_name='XForm', app_label='logger')) registry.register( apps.get_model(model_name='Project', app_label='logger'))
def test_user_actions_stream(self): # Register the things registry.register(Layer) registry.register(Comment) registry.register(Profile) # Should be empty actions = actor_stream(self.user) self.assertEqual(actions.count(), 0) # Create an action and check for updates. action.send(self.user, verb='reached level 10') admin_actions = actor_stream(self.user) self.assertEqual(admin_actions.count(), 1)
def ready(self): # Do the actstram registration from actstream import registry registry.register(self.get_model('Stack')) registry.register(self.get_model('Host')) registry.register(self.get_model('StackCommand')) # Do the notifications registration from stackdio.core.notifications import registry as notifications_registry from .serializers import StackSerializer, StackCommandSerializer notifications_registry.register(self.get_model('Stack'), StackSerializer, 'ui:stack-detail') notifications_registry.register(self.get_model('StackCommand'), StackCommandSerializer, 'ui:stack-command-detail')
def ready(self): from django.contrib.auth import get_user_model from . import signals from actstream import registry registry.register(self.get_model('Group')) registry.register(get_user_model())
def ready(self): from actstream import registry registry.register(self.get_model('JournalEntry'))
def ready(self): from actstream import registry from django.contrib.auth.models import User registry.register(User)
def ready(self): from actstream import registry registry.register(self.get_model('CatalogRecord'))
def ready(self): """Registers the application with the activity streams plugin""" from actstream import registry registry.register(self.get_model('Crowdfund')) registry.register(self.get_model('CrowdfundPayment'))
def ready(self): registry.register(self.get_model('BlogEntry'))
def ready(self): from actstream import registry from tunga_payments import signals registry.register(self.get_model('Invoice'), self.get_model('Payment'))
def ready(self): from actstream import registry super(DjangoContribAuthConfig, self).ready() user_model_string = settings.AUTH_USER_MODEL.rsplit('.', 1)[1] registry.register(self.get_model(user_model_string))
def ready(self): registry.register(self.get_model('Location'))
def ready(self): from actstream import registry registry.register(self.get_model('Project')) registry.register(self.get_model('Task'))
def ready(self): super(DocumentsApp, self).ready() from actstream import registry APIEndPoint(app=self, version_string='1') APIResource(label=_('Document types'), name='document_types') APIResource(label=_('Documents'), name='documents') APIResource(label=_('Trashed documents'), name='trashed_documents') DeletedDocument = self.get_model('DeletedDocument') Document = self.get_model('Document') DocumentPage = self.get_model('DocumentPage') DocumentPageResult = self.get_model('DocumentPageResult') DocumentType = self.get_model('DocumentType') DocumentTypeFilename = self.get_model('DocumentTypeFilename') DocumentVersion = self.get_model('DocumentVersion') DuplicatedDocument = self.get_model('DuplicatedDocument') DynamicSerializerField.add_serializer( klass=Document, serializer_class='documents.serializers.DocumentSerializer') MissingItem( label=_('Create a document type'), description=_( 'Every uploaded document must be assigned a document type, ' 'it is the basic way Mayan EDMS categorizes documents.'), condition=lambda: not DocumentType.objects.exists(), view='documents:document_type_list') ModelAttribute(Document, label=_('Label'), name='label', type_name='field') ModelAttribute( Document, description=_( 'The MIME type of any of the versions of a document'), label=_('MIME type'), name='versions__mimetype', type_name='field') ModelEventType.register(model=DocumentType, event_types=(event_document_create, )) ModelEventType.register(model=Document, event_types=(event_document_download, event_document_properties_edit, event_document_type_change, event_document_new_version, event_document_version_revert, event_document_view)) ModelPermission.register(model=Document, permissions=( permission_acl_edit, permission_acl_view, permission_document_delete, permission_document_download, permission_document_edit, permission_document_new_version, permission_document_print, permission_document_properties_edit, permission_document_restore, permission_document_trash, permission_document_version_revert, permission_document_version_view, permission_document_view, permission_events_view, permission_transformation_create, permission_transformation_delete, permission_transformation_edit, permission_transformation_view, )) ModelPermission.register(model=DocumentType, permissions=(permission_document_create, permission_document_type_delete, permission_document_type_edit, permission_document_type_view)) ModelPermission.register_proxy( source=Document, model=DocumentType, ) ModelPermission.register_inheritance( model=Document, related='document_type', ) ModelPermission.register_inheritance( model=DocumentPage, related='document', ) ModelPermission.register_inheritance( model=DocumentTypeFilename, related='document_type', ) ModelPermission.register_inheritance( model=DocumentVersion, related='document', ) # Document and document page thumbnail widget document_page_thumbnail_widget = DocumentPageThumbnailWidget() document_thumbnail_widget = DocumentThumbnailWidget() document_version_thumbnail_widget = DocumentVersionThumbnailWidget() # Document SourceColumn(source=Document, label=_('Thumbnail'), func=lambda context: document_thumbnail_widget.render( instance=context['object'])) SourceColumn(source=Document, label=_('Type'), attribute='document_type') # DocumentPage SourceColumn(source=DocumentPage, label=_('Thumbnail'), func=lambda context: document_page_thumbnail_widget. render(instance=context['object'])) SourceColumn(source=DocumentPageResult, label=_('Thumbnail'), func=lambda context: document_page_thumbnail_widget. render(instance=context['object'])) SourceColumn(source=DocumentPageResult, label=_('Type'), attribute='document_version.document.document_type') # DocumentType SourceColumn(source=DocumentType, label=_('Documents'), func=lambda context: context['object'].get_document_count( user=context['request'].user)) SourceColumn( source=DocumentTypeFilename, label=_('Enabled'), func=lambda context: two_state_template(context['object'].enabled)) # DeletedDocument SourceColumn(source=DeletedDocument, label=_('Thumbnail'), func=lambda context: document_thumbnail_widget.render( instance=context['object'])) SourceColumn(source=DeletedDocument, label=_('Type'), attribute='document_type') SourceColumn(source=DeletedDocument, label=_('Date time trashed'), attribute='deleted_date_time') # DocumentVersion SourceColumn(source=DocumentVersion, label=_('Time and date'), attribute='timestamp') SourceColumn(source=DocumentVersion, label=_('MIME type'), attribute='mimetype') SourceColumn(source=DocumentVersion, label=_('Encoding'), attribute='encoding') SourceColumn(source=DocumentVersion, label=_('Comment'), attribute='comment') SourceColumn(source=DocumentVersion, label=_('Thumbnail'), func=lambda context: document_version_thumbnail_widget. render(instance=context['object'])) # DuplicatedDocument SourceColumn(source=DuplicatedDocument, label=_('Thumbnail'), func=lambda context: document_thumbnail_widget.render( instance=context['object'].document)) SourceColumn(source=DuplicatedDocument, label=_('Duplicates'), func=lambda context: context['object'].documents.count()) app.conf.CELERYBEAT_SCHEDULE.update({ 'task_check_delete_periods': { 'task': 'documents.tasks.task_check_delete_periods', 'schedule': timedelta(seconds=CHECK_DELETE_PERIOD_INTERVAL), }, 'task_check_trash_periods': { 'task': 'documents.tasks.task_check_trash_periods', 'schedule': timedelta(seconds=CHECK_TRASH_PERIOD_INTERVAL), }, 'task_delete_stubs': { 'task': 'documents.tasks.task_delete_stubs', 'schedule': timedelta(seconds=DELETE_STALE_STUBS_INTERVAL), }, }) app.conf.CELERY_QUEUES.extend(( Queue('converter', Exchange('converter'), routing_key='converter', delivery_mode=1), Queue('documents_periodic', Exchange('documents_periodic'), routing_key='documents_periodic', delivery_mode=1), Queue('uploads', Exchange('uploads'), routing_key='uploads'), Queue('documents', Exchange('documents'), routing_key='documents'), )) app.conf.CELERY_ROUTES.update({ 'documents.tasks.task_check_delete_periods': { 'queue': 'documents_periodic' }, 'documents.tasks.task_check_trash_periods': { 'queue': 'documents_periodic' }, 'documents.tasks.task_delete_stubs': { 'queue': 'documents_periodic' }, 'documents.tasks.task_clear_image_cache': { 'queue': 'tools' }, 'documents.tasks.task_generate_document_page_image': { 'queue': 'converter' }, 'documents.tasks.task_update_page_count': { 'queue': 'uploads' }, 'documents.tasks.task_upload_new_version': { 'queue': 'uploads' }, 'documents.tasks.task_scan_duplicates_all': { 'queue': 'tools' }, 'documents.tasks.task_scan_duplicates_for': { 'queue': 'uploads' }, 'documents.tasks.task_delete_document': { 'queue': 'documents' }, }) dashboard_main.add_widget(widget=widget_document_types) dashboard_main.add_widget(widget=widget_documents_in_trash) dashboard_main.add_widget(widget=widget_new_documents_this_month) dashboard_main.add_widget(widget=widget_pages_per_month) dashboard_main.add_widget(widget=widget_total_documents) menu_documents.bind_links(links=(link_document_list_recent, link_document_list, link_document_list_deleted, link_duplicated_document_list)) menu_main.bind_links(links=(menu_documents, ), position=0) menu_setup.bind_links(links=(link_document_type_setup, )) menu_tools.bind_links(links=(link_clear_image_cache, link_duplicated_document_scan)) # Document type links menu_object.bind_links( links=(link_document_type_edit, link_document_type_filename_list, link_acl_list, link_object_event_types_user_subcriptions_list, link_document_type_delete), sources=(DocumentType, )) menu_object.bind_links(links=(link_document_type_filename_edit, link_document_type_filename_delete), sources=(DocumentTypeFilename, )) menu_secondary.bind_links(links=(link_document_type_list, link_document_type_create), sources=(DocumentType, 'documents:document_type_create', 'documents:document_type_list')) menu_sidebar.bind_links( links=(link_document_type_filename_create, ), sources=(DocumentTypeFilename, 'documents:document_type_filename_list', 'documents:document_type_filename_create')) menu_sidebar.bind_links(links=(link_trash_can_empty, ), sources=('documents:document_list_deleted', 'documents:trash_can_empty')) # Document object links menu_object.bind_links(links=( link_document_edit, link_document_document_type_edit, link_document_print, link_document_trash, link_document_download, link_document_clear_transformations, link_document_clone_transformations, link_document_update_page_count, ), sources=(Document, )) menu_object.bind_links(links=(link_document_restore, link_document_delete), sources=(DeletedDocument, )) # Document facet links menu_facet.bind_links(links=( link_document_duplicates_list, link_acl_list_with_icon, ), sources=(Document, )) menu_facet.bind_links(links=(link_document_preview, ), sources=(Document, ), position=0) menu_facet.bind_links(links=(link_document_properties, ), sources=(Document, ), position=2) menu_facet.bind_links(links=( link_events_for_object, link_object_event_types_user_subcriptions_list_with_icon, link_document_version_list, ), sources=(Document, ), position=2) menu_facet.bind_links(links=(link_document_pages, ), sources=(Document, )) menu_facet.bind_links(links=(link_document_version_view, ), sources=(DocumentVersion, )) # Document actions menu_object.bind_links(links=(link_document_version_view, link_document_version_revert, link_document_version_download), sources=(DocumentVersion, )) menu_multi_item.bind_links( links=(link_document_multiple_clear_transformations, link_document_multiple_trash, link_document_multiple_download, link_document_multiple_update_page_count, link_document_multiple_document_type_edit), sources=(Document, )) menu_multi_item.bind_links(links=(link_document_multiple_restore, link_document_multiple_delete), sources=(DeletedDocument, )) # Document pages menu_facet.bind_links( links=(link_document_page_rotate_left, link_document_page_rotate_right, link_document_page_zoom_in, link_document_page_zoom_out, link_document_page_view_reset), sources=('documents:document_page_view', )) menu_facet.bind_links(links=(link_document_page_return, link_document_page_view), sources=(DocumentPage, )) menu_facet.bind_links(links=(link_document_page_navigation_first, link_document_page_navigation_previous, link_document_page_navigation_next, link_document_page_navigation_last, link_transformation_list), sources=(DocumentPage, )) menu_object.bind_links(links=(link_transformation_list, ), sources=(DocumentPage, )) # Document versions menu_facet.bind_links(links=(link_document_version_return_document, link_document_version_return_list), sources=(DocumentVersion, )) namespace = StatisticNamespace(slug='documents', label=_('Documents')) namespace.add_statistic(slug='new-documents-per-month', label=_('New documents per month'), func=new_documents_per_month, renderer=CharJSLine, minute='0') namespace.add_statistic(slug='new-document-versions-per-month', label=_('New document versions per month'), func=new_document_versions_per_month, renderer=CharJSLine, minute='0') namespace.add_statistic(slug='new-document-pages-per-month', label=_('New document pages per month'), func=new_document_pages_per_month, renderer=CharJSLine, minute='0') namespace.add_statistic(slug='total-documents-at-each-month', label=_('Total documents at each month'), func=total_document_per_month, renderer=CharJSLine, minute='0') namespace.add_statistic( slug='total-document-versions-at-each-month', label=_('Total document versions at each month'), func=total_document_version_per_month, renderer=CharJSLine, minute='0') namespace.add_statistic(slug='total-document-pages-at-each-month', label=_('Total document pages at each month'), func=total_document_page_per_month, renderer=CharJSLine, minute='0') post_initial_setup.connect(create_default_document_type, dispatch_uid='create_default_document_type') post_version_upload.connect( handler_scan_duplicates_for, dispatch_uid='handler_scan_duplicates_for', ) registry.register(DeletedDocument) registry.register(Document) registry.register(DocumentType) registry.register(DocumentVersion)
def ready(self): registry.register(self.get_model('User'))
def ready(self): super(UserManagementApp, self).ready() from actstream import registry Group = apps.get_model(app_label='auth', model_name='Group') User = get_user_model() DynamicSerializerField.add_serializer( klass=get_user_model(), serializer_class='user_management.serializers.UserSerializer') MetadataLookup(description=_('All the groups.'), name='groups', value=get_groups) MetadataLookup(description=_('All the users.'), name='users', value=get_users) ModelPermission.register(model=Group, permissions=( permission_acl_edit, permission_acl_view, permission_group_delete, permission_group_edit, permission_group_view, )) ModelPermission.register( model=User, permissions=(permission_acl_edit, permission_acl_view, permission_user_delete, permission_user_edit, permission_user_view)) SourceColumn(source=Group, label=_('Users'), attribute='user_set.count') SourceColumn(source=User, label=_('Full name'), attribute='get_full_name') SourceColumn(source=User, label=_('Email'), attribute='email') SourceColumn(source=User, label=_('Active'), func=lambda context: TwoStateWidget(state=context[ 'object'].is_active).render()) SourceColumn(source=User, label=_('Has usable password?'), func=lambda context: TwoStateWidget(state=context[ 'object'].has_usable_password()).render()) menu_multi_item.bind_links(links=(link_user_multiple_set_password, link_user_multiple_delete), sources=('user_management:user_list', )) menu_object.bind_links(links=( link_group_edit, link_group_members, ), sources=(Group, )) menu_object.bind_links(links=( link_acl_list, link_group_delete, ), position=99, sources=(Group, )) menu_object.bind_links(links=(link_user_edit, link_user_set_password, link_user_groups, link_user_set_options, link_acl_list, link_user_delete), sources=(User, )) menu_secondary.bind_links( links=(link_group_list, link_group_create), sources=('user_management:group_multiple_delete', 'user_management:group_list', 'user_management:group_create', Group)) menu_secondary.bind_links( links=(link_user_list, link_user_create), sources=(User, 'user_management:user_multiple_set_password', 'user_management:user_multiple_delete', 'user_management:user_list', 'user_management:user_create')) menu_setup.bind_links(links=(link_user_setup, link_group_setup)) post_save.connect( dispatch_uid='user_management_handler_initialize_new_user_options', receiver=handler_initialize_new_user_options, sender=User) registry.register(Group) registry.register(User)
def ready(self): from actstream import registry registry.register(self.get_model('Course'),apps.get_model('auth','User')),
def ready(self): registry.register(User, self.get_model('Task'), self.get_model('Supervisor'))
def ready(self): registry.register(self.get_model('Discussion')) registry.register(self.get_model('Entry'))
def ready(self): super(UserManagementApp, self).ready() from actstream import registry Group = apps.get_model(app_label='auth', model_name='Group') User = get_user_model() APIEndPoint(app=self, version_string='1') DynamicSerializerField.add_serializer( klass=get_user_model(), serializer_class='user_management.serializers.UserSerializer') MetadataLookup(description=_('All the groups.'), name='groups', value=get_groups) MetadataLookup(description=_('All the users.'), name='users', value=get_users) SourceColumn(source=Group, label=_('Members'), attribute='user_set.count') SourceColumn(source=User, label=_('Full name'), attribute='get_full_name') SourceColumn(source=User, label=_('Email'), attribute='email') SourceColumn(source=User, label=_('Active'), func=lambda context: two_state_template(context['object']. is_active)) SourceColumn(source=User, label=_('Has usable password?'), func=lambda context: two_state_template(context[ 'object'].has_usable_password())) menu_multi_item.bind_links(links=(link_user_multiple_set_password, link_user_multiple_delete), sources=('user_management:user_list', )) menu_object.bind_links(links=(link_group_edit, link_group_members, link_group_delete), sources=(Group, )) menu_object.bind_links(links=(link_user_edit, link_user_set_password, link_user_groups, link_user_delete), sources=(User, )) menu_secondary.bind_links( links=(link_group_list, link_group_add), sources=('user_management:group_multiple_delete', 'user_management:group_delete', 'user_management:group_edit', 'user_management:group_list', 'user_management:group_add', 'user_management:group_members')) menu_secondary.bind_links( links=(link_user_list, link_user_add), sources=(User, 'user_management:user_multiple_set_password', 'user_management:user_multiple_delete', 'user_management:user_list', 'user_management:user_add')) menu_setup.bind_links(links=(link_user_setup, link_group_setup)) registry.register(Group) registry.register(User)
def ready(self): from actstream import registry registry.register(self.get_model('Group'))
def ready(self, **kwargs): from actstream import registry from lead_management.models import Lead registry.register(Lead)
def ready(self): registry.register(self.get_model("ClientProfile"))
def ready(self): registry.register(self.get_model('Badge')) registry.register(apps.get_model('auth.user'))
from django.db.models.signals import post_save from django.contrib.auth.models import User from django.utils.translation import ugettext_lazy as _ from taggit.managers import TaggableManager import actstream.models from actstream import actions, registry User.add_to_class('following', lambda self: actstream.models.following(self)[::-1]) User.add_to_class('followers', lambda self: actstream.models.followers(self)[::-1]) User.add_to_class('action_list', lambda self: actstream.models.actor_stream(self)) registry.register(User) @property def created_at(self): return self.date_joined User.add_to_class('created_at', created_at) class UserProfile(models.Model): user = models.OneToOneField(User) realname = models.CharField( null=True, max_length=20,
def ready(self): registry.register(User, self.get_model('Entry'), self.get_model('Activity'), self.get_model('Student'), self.get_model('Coordinator'), self.get_model('Advisor'))
def ready(self): from actstream import registry registry.register(self.get_model('SlackUser'))
def ready(self): super(CabinetsApp, self).ready() from actstream import registry from .wizard_steps import WizardStepCabinets # NOQA Cabinet = self.get_model(model_name='Cabinet') CabinetSearchResult = self.get_model(model_name='CabinetSearchResult') Document = apps.get_model(app_label='documents', model_name='Document') DocumentCabinet = self.get_model(model_name='DocumentCabinet') DocumentPageResult = apps.get_model(app_label='documents', model_name='DocumentPageResult') # Add explicit order_by as DocumentCabinet ordering Meta option has no # effect. Document.add_to_class(name='get_cabinets', value=method_document_get_cabinets) ModelEventType.register(model=Cabinet, event_types=(event_cabinet_edited, event_cabinet_add_document, event_cabinet_remove_document)) ModelPermission.register( model=Document, permissions=(permission_cabinet_add_document, permission_cabinet_remove_document, permission_events_view)) ModelPermission.register( model=Cabinet, permissions=(permission_acl_edit, permission_acl_view, permission_cabinet_delete, permission_cabinet_edit, permission_cabinet_view, permission_cabinet_add_document, permission_cabinet_remove_document)) def get_root_filter(): return { 'acl_filter': { 'level': 0 }, 'acl_values': ('tree_id', ), 'field_lookup': 'tree_id__in' } ModelPermission.register_field_query_function(model=Cabinet, function=get_root_filter) SourceColumn(attribute='label', is_identifier=True, is_sortable=True, source=Cabinet) SourceColumn(attribute='label', is_identifier=True, is_sortable=True, source=CabinetSearchResult) SourceColumn(attribute='get_full_path', source=CabinetSearchResult) SourceColumn(func=lambda context: widget_document_cabinets( document=context['object'], user=context['request'].user), label=_('Cabinets'), order=1, source=Document) SourceColumn(func=lambda context: widget_document_cabinets( document=context['object'].document, user=context['request'].user), label=_('Cabinets'), order=1, source=DocumentPageResult) document_page_search.add_model_field( field='document_version__document__cabinets__label', label=_('Cabinets')) document_search.add_model_field(field='cabinets__label', label=_('Cabinets')) menu_facet.bind_links(links=(link_document_cabinet_list, ), sources=(Document, )) menu_cabinets.bind_links(links=(link_cabinet_list, link_cabinet_create)) menu_list_facet.bind_links(links=( link_cabinet_view, link_custom_acl_list, link_events_for_object, link_object_event_types_user_subcriptions_list, ), sources=(Cabinet, CabinetSearchResult)) # menu_main.bind_links(links=(menu_cabinets,), position=98) menu_multi_item.bind_links( links=(link_document_multiple_cabinet_add, link_multiple_document_cabinet_remove), sources=(Document, )) menu_object.bind_links(links=(link_cabinet_view, ), sources=(DocumentCabinet, )) menu_object.bind_links(links=(link_cabinet_delete, link_cabinet_edit, link_cabinet_child_add), sources=(Cabinet, CabinetSearchResult)) menu_object.unbind_links(links=(link_cabinet_delete, link_cabinet_edit, link_cabinet_child_add), sources=(DocumentCabinet, )) menu_secondary.bind_links(links=(link_document_cabinet_add, link_document_cabinet_remove), sources=('cabinets:document_cabinet_list', 'cabinets:document_cabinet_add', 'cabinets:document_cabinet_remove')) registry.register(Cabinet)
def forwards_func(apps, schema_editor): # FIXME: This throws... # ValueError: Cannot query "User object": Must be "User" instance. # ...when run. WTF. # - The same actions.follows code works in runserver # - Debugging shows the user is indeed a user object # - Same result passing in user object created by apps.get_model(settings.AUTH_USER_MODEL).get(id=tune.author.id) # # So, ah, run this manually, somehow. Tune = apps.get_model('archiver', 'Tune') registry.register(Tune) folkrnn_anon_submission_default_author_id = 1 for tune in Tune.objects.all(): if tune.author.id == folkrnn_anon_submission_default_author_id: continue actions.follow(tune.author, tune, actor_only=False, send_action=False) Setting = apps.get_model('archiver', 'Setting') registry.register(Setting) for setting in Setting.objects.all(): actions.follow(setting.author, setting.tune, actor_only=False, send_action=False) Competition = apps.get_model('archiver', 'Competition') registry.register(Competition) CompetitionRecording = apps.get_model('archiver', 'CompetitionRecording') registry.register(CompetitionRecording) for cr in CompetitionRecording.objects.all(): actions.follow(cr.recording.author, cr.competition, actor_only=False, send_action=False) TuneComment = apps.get_model('archiver', 'TuneComment') registry.register(TuneComment) for tc in TuneComment.objects.all(): actions.follow(tc.author, tc.tune, actor_only=False, send_action=False) CompetitionComment = apps.get_model('archiver', 'CompetitionComment') registry.register(CompetitionComment) for cc in CompetitionComment.objects.all(): actions.follow(cc.author, cc.competition, actor_only=False, send_action=False) Collection = apps.get_model('archiver', 'Collection') registry.register(Collection) CollectionEntry = apps.get_model('archiver', 'CollectionEntry') registry.register(CollectionEntry) for ce in CollectionEntry.objects.all(): if ce.tune: actions.follow(ce.collection.user, ce.tune, actor_only=False, send_action=False) else: actions.follow(ce.collection.user, ce.setting, actor_only=False, send_action=False) CompetitionTuneVote = apps.get_model('archiver', 'CompetitionTuneVote') registry.register(CompetitionTuneVote) for ctv in CompetitionTuneVote.objects.all(): actions.follow(ctv.user, ctv.votable.competition, actor_only=False, send_action=False) actions.follow(ctv.user, ctv.votable.tune, actor_only=False, send_action=False) CompetitionRecordingVote = apps.get_model('archiver', 'CompetitionRecordingVote') registry.register(CompetitionRecordingVote) for crv in CompetitionRecordingVote.objects.all(): actions.follow(ctv.user, ctv.votable.competition, actor_only=False, send_action=False) actions.follow(crv.user, crv.votable.recording, actor_only=False, send_action=False)
def ready(self): super(MetadataApp, self).ready() from actstream import registry from .wizard_steps import WizardStepMetadata # NOQA Document = apps.get_model(app_label='documents', model_name='Document') DocumentPageResult = apps.get_model(app_label='documents', model_name='DocumentPageResult') DocumentType = apps.get_model(app_label='documents', model_name='DocumentType') DocumentMetadata = self.get_model('DocumentMetadata') DocumentTypeMetadataType = self.get_model('DocumentTypeMetadataType') MetadataType = self.get_model('MetadataType') Document.add_to_class('metadata_value_of', DocumentMetadataHelper.constructor) ModelAttribute( Document, 'metadata_value_of', description=_('Return the value of a specific document metadata'), ) ModelField(Document, 'metadata__metadata_type__name', label=_('Metadata type name')) ModelField( Document, 'metadata__value', label=_('Metadata type value'), ) ModelEventType.register(model=Document, event_types=( event_document_metadata_added, event_document_metadata_edited, event_document_metadata_removed, )) ModelEventType.register(model=MetadataType, event_types=( event_document_metadata_added, event_document_metadata_edited, event_document_metadata_removed, event_metadata_type_edited, event_metadata_type_relationship, )) ModelEventType.register( model=DocumentType, event_types=(event_metadata_type_relationship, )) ModelPermission.register(model=Document, permissions=( permission_metadata_document_add, permission_metadata_document_edit, permission_metadata_document_remove, permission_metadata_document_view, )) ModelPermission.register(model=MetadataType, permissions=(permission_acl_edit, permission_acl_view, permission_events_view, permission_metadata_type_delete, permission_metadata_type_edit, permission_metadata_type_view)) SourceColumn( source=Document, label=_('Metadata'), func=lambda context: get_metadata_string(context['object'])) SourceColumn(source=DocumentPageResult, label=_('Metadata'), func=lambda context: get_metadata_string(context['object'] .document)) SourceColumn(source=DocumentMetadata, label=_('Value'), attribute='value') SourceColumn(source=DocumentMetadata, label=_('Required'), func=lambda context: TwoStateWidget(state=context[ 'object'].is_required).render()) app.conf.CELERY_QUEUES.append( Queue('metadata', Exchange('metadata'), routing_key='metadata'), ) app.conf.CELERY_ROUTES.update({ 'metadata.tasks.task_remove_metadata_type': { 'queue': 'metadata' }, 'metadata.tasks.task_add_required_metadata_type': { 'queue': 'metadata' }, }) document_search.add_model_field(field='metadata__metadata_type__name', label=_('Metadata type')) document_search.add_model_field(field='metadata__value', label=_('Metadata value')) document_page_search.add_model_field( field='document_version__document__metadata__metadata_type__name', label=_('Metadata type')) document_page_search.add_model_field( field='document_version__document__metadata__value', label=_('Metadata value')) menu_facet.bind_links(links=(link_metadata_view, ), sources=(Document, )) menu_multi_item.bind_links(links=(link_metadata_multiple_add, link_metadata_multiple_edit, link_metadata_multiple_remove), sources=(Document, )) menu_object.bind_links( links=(link_setup_document_type_metadata_types, ), sources=(DocumentType, )) menu_object.bind_links(links=( link_setup_metadata_type_edit, link_setup_metadata_type_document_types, link_acl_list, link_object_event_types_user_subcriptions_list, link_events_for_object, link_setup_metadata_type_delete, ), sources=(MetadataType, )) menu_secondary.bind_links( links=(link_setup_metadata_type_list, link_setup_metadata_type_create), sources=(MetadataType, 'metadata:setup_metadata_type_list', 'metadata:setup_metadata_type_create')) menu_setup.bind_links(links=(link_setup_metadata_type_list, )) menu_sidebar.bind_links( links=(link_metadata_add, link_metadata_edit, link_metadata_remove), sources=('metadata:metadata_add', 'metadata:metadata_edit', 'metadata:metadata_remove', 'metadata:metadata_view')) post_delete.connect( post_document_type_metadata_type_delete, dispatch_uid='metadata_post_document_type_metadata_type_delete', sender=DocumentTypeMetadataType) post_document_type_change.connect( post_document_type_change_metadata, dispatch_uid='metadata_post_document_type_change_metadata', sender=Document) post_save.connect( post_document_type_metadata_type_add, dispatch_uid='metadata_post_document_type_metadata_type_add', sender=DocumentTypeMetadataType) # Index updating post_delete.connect( handler_index_document, dispatch_uid='metadata_handler_index_document_delete', sender=DocumentMetadata) post_save.connect(handler_index_document, dispatch_uid='metadata_handler_index_document_save', sender=DocumentMetadata) registry.register(MetadataType) registry.register(DocumentTypeMetadataType)
def ready(self): from actstream import registry from django.contrib.auth.models import User from indigo_api.models import Amendment, Document, Task, Work, Workflow registry.register(Amendment) registry.register(Document) registry.register(Task) registry.register(User) registry.register(Work) registry.register(Workflow)
def ready(self): super(LotsAppConfig, self).ready() registry.register(self.get_model('Lot')) registry.register(self.get_model('LotGroup')) import signals
def ready(self): from actstream import registry from tunga_messages import signals registry.register(self.get_model('Message'))
def ready(self): super(DocumentIndexingApp, self).ready() from actstream import registry Document = apps.get_model(app_label='documents', model_name='Document') DocumentType = apps.get_model(app_label='documents', model_name='DocumentType') DocumentIndexInstanceNode = self.get_model( model_name='DocumentIndexInstanceNode') Index = self.get_model(model_name='Index') IndexInstance = self.get_model(model_name='IndexInstance') IndexInstanceNode = self.get_model(model_name='IndexInstanceNode') IndexTemplateNode = self.get_model(model_name='IndexTemplateNode') ModelEventType.register(event_types=(event_index_template_created, event_index_template_edited), model=Index) ModelPermission.register( model=Index, permissions=( permission_acl_edit, permission_acl_view, permission_document_indexing_create, permission_document_indexing_delete, permission_document_indexing_edit, permission_document_indexing_instance_view, permission_document_indexing_rebuild, permission_document_indexing_view, )) ModelPermission.register_inheritance(model=IndexTemplateNode, related='index') ModelPermission.register_inheritance( model=IndexInstanceNode, related='index_template_node__index') SourceColumn(attribute='label', is_identifier=True, is_sortable=True, source=Index) SourceColumn(attribute='slug', is_sortable=True, source=Index) SourceColumn(attribute='enabled', is_sortable=True, source=Index, widget=TwoStateWidget) SourceColumn(func=lambda context: context['object'].instance_root. get_descendants_count(), label=_('Total levels'), source=IndexInstance) SourceColumn( func=lambda context: context['object'].instance_root. get_descendants_document_count(user=context['request'].user), label=_('Total documents'), source=IndexInstance) SourceColumn(func=lambda context: node_level(context['object']), label=_('Level'), source=IndexTemplateNode) SourceColumn(attribute='enabled', is_sortable=True, source=IndexTemplateNode, widget=TwoStateWidget) SourceColumn(attribute='link_documents', is_sortable=True, source=IndexTemplateNode, widget=TwoStateWidget) SourceColumn( func=lambda context: index_instance_item_link(context['object']), label=_('Level'), is_sortable=True, sort_field='value', source=IndexInstanceNode) SourceColumn( func=lambda context: context['object'].get_descendants_count(), label=_('Levels'), source=IndexInstanceNode) SourceColumn( func=lambda context: context['object']. get_descendants_document_count(user=context['request'].user), label=_('Documents'), source=IndexInstanceNode) SourceColumn(func=lambda context: get_instance_link( index_instance_node=context['object'], ), label=_('Level'), is_sortable=True, sort_field='value', source=DocumentIndexInstanceNode) SourceColumn( func=lambda context: context['object'].get_descendants_count(), label=_('Levels'), source=DocumentIndexInstanceNode) SourceColumn( func=lambda context: context['object']. get_descendants_document_count(user=context['request'].user), label=_('Documents'), source=DocumentIndexInstanceNode) menu_facet.bind_links(links=(link_document_index_instance_list, ), sources=(Document, )) menu_list_facet.bind_links( links=(link_document_type_index_templates, ), sources=(DocumentType, )) menu_list_facet.bind_links( links=(link_acl_list, link_events_for_object, link_index_template_document_types, link_index_template_node_tree_view, link_object_event_types_user_subcriptions_list), sources=(Index, )) menu_object.bind_links(links=(link_index_template_delete, link_index_template_edit, link_index_instance_rebuild), sources=(Index, )) menu_object.bind_links(links=(link_index_template_node_create, link_index_template_node_edit, link_index_template_node_delete), sources=(IndexTemplateNode, )) menu_main.bind_links(links=(link_index_instance_menu, ), position=98) menu_secondary.bind_links(links=(link_index_template_list, link_index_template_create), sources=(Index, 'indexing:index_setup_list', 'indexing:index_setup_create')) menu_setup.bind_links(links=(link_index_template_setup, )) menu_tools.bind_links(links=(link_index_instances_rebuild, )) post_delete.connect( dispatch_uid='document_indexing_handler_delete_empty', receiver=handler_delete_empty, sender=Document) post_document_created.connect( dispatch_uid='document_indexing_handler_index_document', receiver=handler_index_document, sender=Document) post_initial_document_type.connect( dispatch_uid= 'document_indexing_handler_create_default_document_index', receiver=handler_create_default_document_index, sender=DocumentType) post_save.connect( dispatch_uid='document_indexing_handler_post_save_index_document', receiver=handler_post_save_index_document, sender=Document) pre_delete.connect( dispatch_uid='document_indexing_handler_remove_document', receiver=handler_remove_document, sender=Document) registry.register(Index)
def ready(self): post_migrate.connect(create_default_settings, sender=self) post_migrate.connect(create_background_refresh_task, sender=self) from actstream import registry # noqa registry.register(self.get_model('Podcast'), self.get_model('Episode'))
def ready(self): from actstream.registry import register register(self.get_model('nestedmodel'))
def ready(self): from actstream import registry registry.register(*self.get_models())
def ready(self): from .signals import * from actstream import registry registry.register(self.get_model('Garden')) registry.register(self.get_model('GardenGroup'))
def ready(self): from actstream import registry from django.contrib.auth.models import Group from fiches.models import Fiche, Atelier as fiche_at registry.register(self.get_model('Profil')) registry.register(self.get_model('MessageGeneral')) registry.register(self.get_model('Conversation')) registry.register(self.get_model('Suivis')) registry.register(Fiche) registry.register(fiche_at) registry.register(Group)