pgadmin4/web/pgadmin/help/__init__.py
2018-04-04 10:47:01 +01:00

106 lines
3.5 KiB
Python

##########################################################################
#
# pgAdmin 4 - PostgreSQL Tools
#
# Copyright (C) 2013 - 2018, The pgAdmin Development Team
# This software is released under the PostgreSQL Licence
#
##########################################################################
"""A blueprint module implementing the pgAdmin help system."""
from flask import url_for
from flask_babelex import gettext
from pgadmin.utils import PgAdminModule
from pgadmin.utils.menu import MenuItem, Panel
from pgadmin.utils.preferences import Preferences
import config
MODULE_NAME = 'help'
class HelpModule(PgAdminModule):
def get_own_menuitems(self):
"""Return a (set) of dicts of help menu items, with name, priority,
URL, target and onclick code."""
return {'help_items': [
MenuItem(name='mnu_online_help',
label=gettext('Online Help'),
priority=100,
target='_blank',
icon='fa fa-question',
url=url_for('help.static', filename='index.html')),
MenuItem(name='mnu_pgadmin_website',
label=gettext('pgAdmin Website'),
priority=200,
target='_blank',
icon='fa fa-external-link',
url='https://www.pgadmin.org/'),
MenuItem(name='mnu_postgresql_website',
label=gettext('PostgreSQL Website'),
priority=300,
target='_blank',
icon='fa fa-external-link',
url='https://www.postgresql.org/')]}
def get_panels(self):
return [
Panel(
name='pnl_online_help',
priority=100,
isPrivate=True,
title=gettext('Online Help'),
icon='fa fa-question').__dict__,
Panel(
name='pnl_sql_help',
priority=200,
isPrivate=True,
icon='fa fa-info',
title=gettext('SQL Help')).__dict__]
def register_preferences(self):
"""
register_preferences
Register preferences for this module.
"""
# Register options for the PG and PPAS help paths
self.help_preference = Preferences('paths', gettext('Paths'))
self.pg_help_path = self.help_preference.register(
'help', 'pg_help_path',
gettext("PostgreSQL Help Path"), 'text',
'https://www.postgresql.org/docs/$VERSION$/static/',
category_label=gettext('Help'),
help_str=gettext(
'Path to the PostgreSQL documentation. $VERSION$ will be '
'replaced with the major.minor version number.'
)
)
self.edbas_help_path = self.help_preference.register(
'help', 'edbas_help_path',
gettext("EDB Advanced Server Help Path"), 'text',
'https://www.enterprisedb.com/docs/en/$VERSION$/pg/',
category_label=gettext('Help'),
help_str=gettext(
'Path to the EDB Advanced Server documentation. $VERSION$ '
'will be replaced with the major.minor version number.'
)
)
def get_exposed_url_endpoints(self):
"""
Returns the list of URLs exposed to the client.
"""
return ['help.static']
# Initialise the module
blueprint = HelpModule(
MODULE_NAME, __name__,
static_url_path='/help',
static_folder=config.HELP_PATH
)