NavNode

enum q2_sdk.hq.db.nav_node.NavigationType(value)[source]

Bases: IntEnum

Member Type:

int

Valid values are as follows:

StandardMenu = <NavigationType.StandardMenu: 1>
MobileThumbBar = <NavigationType.MobileThumbBar: 2>
NavLandingPage = <NavigationType.NavLandingPage: 3>
q2_sdk.hq.db.nav_node.prompt_for_route(navigation_style)[source]
q2_sdk.hq.db.nav_node.prompt_for_display_name(default=None)[source]
q2_sdk.hq.db.nav_node.prompt_for_order(nav_nodes, parent_node)[source]
q2_sdk.hq.db.nav_node.prompt_for_central_order(nav_nodes, parent_node)[source]
q2_sdk.hq.db.nav_node.prompt_for_parent_node_id(top_level_nodes)[source]
q2_sdk.hq.db.nav_node.prompt_for_central_parent_node_id(top_level_nodes)[source]
q2_sdk.hq.db.nav_node.prompt_for_css_class(default=None)[source]
q2_sdk.hq.db.nav_node.prompt_for_nav_node(nav_nodes)[source]
q2_sdk.hq.db.nav_node.prompt_for_device_bitflag(default='7')[source]
q2_sdk.hq.db.nav_node.prompt_for_enable_nav(default='1')[source]
Return type:

str

q2_sdk.hq.db.nav_node.prompt_for_route_params()[source]
class q2_sdk.hq.db.nav_node.CentralNavMenu(nodes)[source]

Bases: object

clear_saved_properties()[source]
remove_node(short_name)[source]
update_node(nav_node_id, ui_text, order, css_class=None, parent_nav_node_id=None, form_id=None)[source]
property top_level_nodes: List[Element]
property child_nodes: List[Element]
get_node_by_id(node_id)[source]

Returns None if no ID matches

Return type:

Element

property sorted_nodes: List[Element]
class q2_sdk.hq.db.nav_node.NavMenu(nodes)[source]

Bases: object

clear_saved_properties()[source]
get_node_by_id(node_id)[source]

Returns None if no ID matches

Return type:

Element

remove_node(short_name)[source]
update_node(nav_node_id, ui_text, route, order, css_class=None, parent_nav_node_id=None, form_id=None, navigation_type_id=None)[source]
property top_level_nodes: List[Element]

Nodes with null ParentNavigationNodeIds ordered by the Order column

property child_nodes: List[Element]

Nodes with non-null ParentNavigationNodeIds ordered by the Order column

property sorted_nodes: List[Element]
class q2_sdk.hq.db.nav_node.NavNodeRow[source]

Bases: RepresentationRowBase

NavigationNodeID: IntElement = 'NavigationNodeID'
TextValue: StringElement = 'TextValue'
ParentNavigationNodeID: IntElement = 'ParentNavigationNodeID'
Order: IntElement = 'Order'
CssClass: StringElement = 'CssClass'
ShortName: StringElement = 'ShortName'
Route: StringElement = 'Route'
FormID: IntElement = 'FormID'
VendorID: IntElement = 'VendorID'
DeviceBitflag: IntElement = 'DeviceBitflag'
Enabled: BoolElement = 'Enabled'
DynNavWindowFeaturesId: IntElement = 'DynNavWindowFeaturesId'
RouteParameters: StringElement = 'RouteParameters'
NavigationID: IntElement = 'NavigationID'
NavigationTypeID: IntElement = 'NavigationTypeID'
class q2_sdk.hq.db.nav_node.CentralNavNodeRow[source]

Bases: RepresentationRowBase

NavigationID: IntElement = 'NavigationID'
TextValue: StringElement = 'TextValue'
ParentNavigationID: IntElement = 'ParentNavigationID'
Order: IntElement = 'Order'
ShortName: StringElement = 'ShortName'
FormID: IntElement = 'FormID'
CssClass: StringElement = 'CssClass'
class q2_sdk.hq.db.nav_node.NavNode(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (bool | None) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

GET_BY_NAME_KEY = 'ShortName'
NAME = 'NavigationNode'
REPRESENTATION_ROW_CLASS

alias of NavNodeRow

AVAILABLE_ICONS = ['landing-page', 'message-center', 'transactions', 'payments', 'commercial', 'branches', 'services', 'news', 'reports', 'settings', 'help', 'logoff']
async get_nav_menu()[source]

Returns a NavMenu full of NavNodeElements

Return type:

NavMenu

async get_central_nav_menu()[source]

Returns a NavMenu for central navigation

Return type:

CentralNavMenu

add_arguments(parser)[source]

Hook for subclassed DbObjects to add custom arguments.

async get(parent_nav_node_id=None, serialize_for_cli=False)[source]

Returns a list of NavNode Elements

Return type:

List[NavNodeRow]

async get_central(parent_nav_node_id=None, serialize_for_cli=False)[source]

Returns a list of NavNode Elements

Return type:

list[CentralNavNodeRow]

async create(navigation_style_id, route, order, short_name, ui_text_element_id, parent_nav_node_id=None, css_class=None, form_id=None, property_id=None, route_parameters=None, vendor_id=None, sso_iframe_option=False, device_bit_flag=7, enabled=True, navigation_id=1, navigation_type_id=1, available_for_landing=False)[source]
async create_central(order, short_name, text_element_id, parent_nav_node_id, form_id)[source]
async delete(short_name, form_id=None)[source]
async delete_central(short_name)[source]
async update(navigation_node_id, ui_text, route, order, css_class=<DEFAULT_DB_PARAM>, parent_navigation_node=<DEFAULT_DB_PARAM>, device_bit_flag=<DEFAULT_DB_PARAM>, route_parameters=<DEFAULT_DB_PARAM>, form_id=<DEFAULT_DB_PARAM>, vendor_id=<DEFAULT_DB_PARAM>, enabled=<DEFAULT_DB_PARAM>, dyn_nav_window_features_id=<DEFAULT_DB_PARAM>, property_id=<DEFAULT_DB_PARAM>, navigation_id=<DEFAULT_DB_PARAM>, navigation_type_id=<DEFAULT_DB_PARAM>, available_for_landing=<DEFAULT_DB_PARAM>, **kwargs)[source]
async update_central(navigation_node_id, ui_text, order, css_class=None, parent_navigation_node=None)[source]
async create_with_prompts(display_name=None, parent_nav_node_id=None, css_class=None)[source]
async delete_with_prompts(nav_node_id=None)[source]
async update_with_prompts(nav_node_id=None)[source]
async update_central_with_prompts(nav_node_id=None)[source]