Beispiel #1
0
def page_view():
    views.load_views()
    view_name = html.var("view_name")
    if not view_name:
        return page_index()

    view = views.permitted_views().get(view_name)
    if not view:
        raise MKGeneralException("No view defined with the name '%s'." %
                                 view_name)

    title = views.view_title(view)
    mobile_html_head(title)

    views.prepare_painter_options(view_name)

    try:
        views.show_view(view,
                        show_heading=False,
                        show_buttons=False,
                        show_footer=False,
                        render_function=render_view)
    except Exception, e:
        if config.debug:
            raise
        html.write("ERROR showing view: %s" % html.attrencode(e))
Beispiel #2
0
def render_view(view, rows, datasource, group_painters, painters,
                display_options, painter_options, show_heading, show_buttons,
                show_checkboxes, layout, num_columns, show_filters,
                show_footer, hide_filters, browser_reload):

    home = ("mobile.py", "Home", "home")

    page = html.var("page")
    if not page:
        if view.get("mustsearch"):
            page = "filter"
        else:
            page = "data"

    title = views.view_title(view)
    navbar = [("data", _("Results"), "grid", 'results_button'),
              ("filter", _("Filter"), "search", False)]
    if config.may("general.act"):
        navbar.append(("commands", _("Commands"), "gear", False))

    # Should we show a page with context links?
    context_links = [
        e for e in views.collect_context_links(view, hide_filters)
        if e[0].get("mobile")
    ]

    if context_links:
        navbar.append(("context", _("Context"), "arrow-r", False))
    page_id = "view_" + view["name"]

    if page == "filter":
        jqm_page_header(_("Filter / Search"), left_button=home, id="filter")
        show_filter_form(show_filters)
        jqm_page_navfooter(navbar, 'filter', page_id)

    elif page == "commands":
        # Page: Commands
        if config.may("general.act"):
            jqm_page_header(_("Commands"), left_button=home, id="commands")
            show_commands = True
            if html.has_var("_do_actions"):
                try:
                    show_commands = do_commands(view, datasource["infos"][0],
                                                rows)
                except MKUserError, e:
                    html.show_error(e.message)
                    html.add_user_error(e.varname, e.message)
                    show_commands = True
            if show_commands:
                show_command_form(view, datasource, rows)
            jqm_page_navfooter(navbar, 'commands', page_id)
Beispiel #3
0
def render_view(view, rows, datasource, group_painters, painters,
                display_options, painter_options, show_heading, show_buttons,
                show_checkboxes, layout, num_columns, show_filters, show_footer, hide_filters,
                browser_reload):

    home=("mobile.py", "Home", "home")

    page = html.var("page")
    if not page:
       if view.get("mustsearch"):
           page = "filter"
       else:
	   page = "data"

    title = views.view_title(view)
    navbar = [ ( "data",     _("Results"), "grid", 'results_button'),
               ( "filter",   _("Filter"),   "search", False )]
    if config.may("general.act"):
        navbar.append(( "commands", _("Commands"), "gear", False ))

    # Should we show a page with context links?
    context_links = [
        e for e in views.collect_context_links(view, hide_filters)
        if e[0].get("mobile") ]

    if context_links:
        navbar.append(( "context", _("Context"), "arrow-r", False))
    page_id = "view_" + view["name"]


    if page == "filter":
        jqm_page_header(_("Filter / Search"), left_button=home, id="filter")
        show_filter_form(show_filters)
        jqm_page_navfooter(navbar, 'filter', page_id)

    elif page == "commands":
            # Page: Commands
	    if config.may("general.act"):
		jqm_page_header(_("Commands"), left_button=home, id="commands")
		show_commands = True
		if html.has_var("_do_actions"):
		    try:
			show_commands = do_commands(view, datasource["infos"][0], rows)
		    except MKUserError, e:
			html.show_error(e.message)
			html.add_user_error(e.varname, e.message)
			show_commands = True
		if show_commands:
		    show_command_form(view, datasource, rows)
		jqm_page_navfooter(navbar, 'commands', page_id)
Beispiel #4
0
def page_view():
    views.load_views()
    view_name = html.var("view_name")
    if not view_name:
        return page_index()

    view = views.permitted_views().get(view_name)
    if not view:
        raise MKGeneralException("No view defined with the name '%s'." % view_name)

    title = views.view_title(view)
    mobile_html_head(title)

    try:
	views.show_view(view, show_heading = False, show_buttons = False,
			show_footer = False, render_function = render_view)
    except Exception, e:
	if config.debug:
	    raise
	html.write("ERROR showing view: %s" % html.attrencode(e))