Skip to content

Plugin

WebviewPlugin

Bases: SingletonPlugin

A CKAN extension that adds a view for displaying generic/arbitrary URLs.

Source code in ckanext/webview/plugin.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class WebviewPlugin(SingletonPlugin):
    """
    A CKAN extension that adds a view for displaying generic/arbitrary URLs.
    """

    implements(interfaces.IConfigurer, inherit=True)
    implements(interfaces.IResourceView, inherit=True)

    ## IConfigurer
    def update_config(self, config):
        toolkit.add_template_directory(config, 'theme/templates')
        toolkit.add_resource('theme/assets', 'ckanext-webview')

    ## IResourceView
    def info(self):
        return {
            'name': 'web_view',
            'title': 'Web',
            'icon': 'globe',
            'always_available': True,
            'iframed': False,
            'schema': {'web_url': [not_datastore, ignore_empty, str, is_valid_url]},
        }

    def can_view(self, data_dict):
        return True

    def setup_template_variables(self, context, data_dict):
        # defaults to the resource URL but can be overridden
        web_url = data_dict['resource_view'].get('web_url') or data_dict[
            'resource'
        ].get('url')

        return {'web_url': web_url}

    def view_template(self, context, data_dict):
        """
        :param context:
        :param data_dict:
        """
        return 'views/web_view.html'

    def form_template(self, context, data_dict):
        """
        :param context:
        :param data_dict:
        """
        return 'views/web_view_form.html'

form_template(context, data_dict)

Parameters:

Name Type Description Default
context
required
data_dict
required
Source code in ckanext/webview/plugin.py
56
57
58
59
60
61
def form_template(self, context, data_dict):
    """
    :param context:
    :param data_dict:
    """
    return 'views/web_view_form.html'

view_template(context, data_dict)

Parameters:

Name Type Description Default
context
required
data_dict
required
Source code in ckanext/webview/plugin.py
49
50
51
52
53
54
def view_template(self, context, data_dict):
    """
    :param context:
    :param data_dict:
    """
    return 'views/web_view.html'