def handle(self, *args, **options):
        """
        Adds the missing plugins to database (``dash.models.DashboardPlugin``). This command shall be ran every
        time a developer adds a new plugin.
        """
        dashboard_entries = DashboardEntry._default_manager.all().only('id', 'plugin_uid', 'layout_uid') \
                                         .values_list('id', 'plugin_uid', 'layout_uid')
        broken_plugin_entries = []
        broken_layout_entries = []

        registered_plugin_uids = get_registered_plugin_uids()
        registered_layout_uids = get_registered_layout_uids()

        for entry_id, plugin_uid, layout_uid in dashboard_entries:
            if not plugin_uid in registered_plugin_uids:
                broken_plugin_entries.append((entry_id, plugin_uid))

            if not layout_uid in registered_layout_uids:
                broken_layout_entries.append((entry_id, layout_uid))

        if broken_plugin_entries:
            print_("Broken plugin entries found!", broken_plugin_entries)

        if broken_layout_entries:
            print_("Broken layout entries found!", broken_layout_entries)
Exemplo n.º 2
0
def sync_plugins():
    """
    Syncs the registered plugin list with data in
    ``dash.models.DashboardPlugin``.
    """
    # If not in restricted mode, the quit.

    if not RESTRICT_PLUGIN_ACCESS:
        return

    registered_plugins = set(get_registered_plugin_uids())

    synced_plugins = set([p.plugin_uid for p in \
                          DashboardPlugin._default_manager.only('plugin_uid')])

    non_synced_plugins = registered_plugins - synced_plugins

    if not non_synced_plugins:
        return

    buf = []

    for plugin_uid in non_synced_plugins:
        buf.append(DashboardPlugin(plugin_uid=plugin_uid))

    DashboardPlugin._default_manager.bulk_create(buf)
Exemplo n.º 3
0
def sync_plugins():
    """
    Syncs the registered plugin list with data in
    ``dash.models.DashboardPlugin``.
    """
    # If not in restricted mode, the quit.

    if not RESTRICT_PLUGIN_ACCESS:
        return

    registered_plugins = set(get_registered_plugin_uids())

    synced_plugins = set([p.plugin_uid for p in \
                          DashboardPlugin._default_manager.only('plugin_uid')])

    non_synced_plugins = registered_plugins - synced_plugins

    if not non_synced_plugins:
        return

    buf = []

    for plugin_uid in non_synced_plugins:
        buf.append(DashboardPlugin(plugin_uid=plugin_uid))

    DashboardPlugin._default_manager.bulk_create(buf)
    def handle(self, *args, **options):
        """
        Adds the missing plugins to database (``dash.models.DashboardPlugin``). This command shall be ran every
        time a developer adds a new plugin.
        """
        dashboard_entries = DashboardEntry._default_manager.all().only('id', 'plugin_uid', 'layout_uid') \
                                         .values_list('id', 'plugin_uid', 'layout_uid')
        broken_plugin_entries = []
        broken_layout_entries = []

        registered_plugin_uids = get_registered_plugin_uids()
        registered_layout_uids = get_registered_layout_uids()

        for entry_id, plugin_uid, layout_uid in dashboard_entries:
            if not plugin_uid in registered_plugin_uids:
                broken_plugin_entries.append((entry_id, plugin_uid))

            if not layout_uid in registered_layout_uids:
                broken_layout_entries.append((entry_id, layout_uid))

        if broken_plugin_entries:
            print_("Broken plugin entries found!", broken_plugin_entries)

        if broken_layout_entries:
            print_("Broken layout entries found!", broken_layout_entries)
Exemplo n.º 5
0
def get_user_plugin_uids(user):
    """
    Gets a list of user plugin uids as a list . If not yet autodiscovered, autodiscovers them.

    :return list:
    """
    ensure_autodiscover()

    if not RESTRICT_PLUGIN_ACCESS or getattr(user, 'is_superuser', False):
        return get_registered_plugin_uids()

    registered_plugins = []

    allowed_plugin_uids = get_allowed_plugin_uids(user)

    for uid in plugin_registry._registry.items():
        if uid in allowed_plugin_uids:
            registered_plugins.append(uid)

    return registered_plugins
Exemplo n.º 6
0
def get_user_plugin_uids(user):
    """
    Gets a list of user plugin uids as a list . If not yet autodiscovered,
    autodiscovers them.

    :return list:
    """
    ensure_autodiscover()

    if not RESTRICT_PLUGIN_ACCESS or getattr(user, 'is_superuser', False):
        return get_registered_plugin_uids()

    registered_plugins = []

    allowed_plugin_uids = get_allowed_plugin_uids(user)

    for uid, plugin in plugin_registry._registry.items():
        if uid in allowed_plugin_uids:
            registered_plugins.append(uid)

    return registered_plugins