Error 37000
UD045: No instance method 'rgs_query_graphs' in the user defined type 'DB.DBA.page_dfb1728ba9eedbc452ed238b63daa540or_graphs__users__security_vspx'
while executing the following statement:
#line 1469 "/DAV/VAD/conductor/graphs_users_security.vspx-sql"
create method vc_render_page_dfb1728ba9eedbc452ed238b63daa540or_graphs__users__security_vspx (inout control vspx_page) for "DB"."dba".page_dfb1728ba9eedbc452ed238b63daa540or_graphs__users__security_vspx
{
--no_c_escapes-
declare path, params, lines any;
declare hdr, page_state varchar;
path := self.vc_event.ve_path;
params := self.vc_event.ve_params;
lines := self.vc_event.ve_lines;
hdr := http_header_get ();
declare hdr_add varchar;
hdr_add := 'Cache-Control: no-cache, must-revalidate\r\nPragma: no-cache\r\nExpires: -1;\r\n';
if (strcasestr (http_request_header (lines, 'User-Agent', NULL, ''), 'MSIE') is not null)
hdr_add := 'Cache-Control: Public\r\nPragma: no-cache\r\nExpires: -1;\r\n';
if (hdr is null)
http_header (hdr_add);
else if (strcasestr (hdr, 'Cache-Control:') is null)
{
hdr := concat (hdr, hdr_add);
http_header (hdr);
}
page_state := self.vc_view_state;
self.vc_view_state := DB.DBA.vspx_do_compact (page_state);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<!-- -->
<html<?vsp vspx_print_html_attrs (self); ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="yacutia_style.css" type="text/css" />
<link type="text/css" rel="stylesheet" href="syntax/SyntaxHighlighter.css" />
<link rel="alternate" type="application/rss+xml" title="Virtuoso Screencast Demos" href="http://support.openlinksw.com/viewlets/virtuoso_viewlets_rss.vsp" />
<link rel="alternate" type="application/rss+xml" title="Virtuoso Tutorials" href="http://demo.openlinksw.com/tutorial/rss.vsp" />
<link rel="alternate" type="application/rss+xml" title="Virtuoso Product Blog (RSS 2.0)" href="http://www.openlinksw.com/weblogs/virtuoso/gems/rss.xml" />
<link rel="alternate" type="application/atom+xml" title="Virtuoso Product Blog (Atom)" href="http://www.openlinksw.com/weblogs/virtuoso/gems/atom.xml" />
<link rel="alternate" type="application/rss+xml" title="ODBC for Mac OS X Screencast Demos" href="http://support.openlinksw.com/viewlets/mac_uda_viewlets_rss.vsp" />
<link rel="alternate" type="application/rss+xml" title="Data Access Drivers Screencast Demos" href="http://support.openlinksw.com/viewlets/uda_viewlets_rss.vsp" />
<link rel="alternate" type="application/rss+xml" title="Benchmark & Troubleshooting Utilities Screencasts" href="http://support.openlinksw.com/viewlets/utilities_viewlets_rss.vsp" />
<title />
<script type="text/javascript" src="toolkit/loader.js"></script>
<script type="text/javascript">
OAT.Preferences.imagePath = "images/";
OAT.Loader.load(["combolist", "ajax", "tab", "json", "calendar"], function(){OAT.MSG.send(OAT, 'PAGE_LOADED');});
</script>
</head>
<body>
<?vsp
if (self.vu_mode = 'edit')
{
?>
<?vsp
{
control.vc_render ('u_page_form');
}
?>
<?vsp
}
?><?vsp
if (self.vu_mode <> 'edit')
{
?>
<h2>Permissions of Users</h2>
<?vsp
if (USER = 'dba')
{
?>
<i>Your own security is not shown because you are the DBA almighty</i>
<?vsp
}
?>
<?vsp
{
control.vc_render ('u_page_form2');
}
?>
<?vsp declare selected_users, selected_graphs, meta any;
declare qry, stat, msg varchar;
declare users_by_group_gid integer;
declare params any;
params := self.vc_page.vc_event.ve_params;
qry :=
'select u.U_ID, u.U_NAME \n' ||
' from DB.DBA.SYS_USERS as u \n' ||
' where u.U_ID <> 0 \n' ||
' and ((u.U_ID = http_nobody_uid()) or (exists (select 1 from DB.DBA.RDF_GRAPH_USER where RGU_USER_ID = u.U_ID) \n';
if (self.vu_users_by_group <> '')
{
users_by_group_gid := (select U_ID from DB.DBA.SYS_USERS where U_NAME = self.vu_users_by_group and U_IS_ROLE);
if (users_by_group_gid is not null)
qry := qry || sprintf (' and exists (select 1 from DB.DBA.SYS_ROLE_GRANTS ug where ug.GI_SUPER = u.U_ID and ug.GI_SUB = %d)', users_by_group_gid);
}
if (not (self.vu_users_by_like in ('', '%')))
{
qry := qry || sprintf (' and (u.U_NAME like ''%S'')', self.vu_users_by_like);
}
qry := qry || ')) order by U_ID';
stat := '00000';
msg := '';
exec (qry, stat, msg, vector(), 1000, meta, selected_users );
if (stat <> '00000')
{
http ('<xmp>' || qry || '\nresults in\n' || stat || ': ' || msg || '</xmp>');
return;
}
-- Querying (optionally filtered) graphs
self.rgs_query_graphs (params, stat, msg, selected_graphs);
if (stat <> '00000')
{
http ('<xmp>' || qry || '\nresults in\n' || stat || ': ' || msg || '</xmp>');
return;
}
-- Rendering the table
self.rgs_pagination_for_users_or_roles (params, selected_users, 'user', 10);
self.rgs_pagination_for_graphs (params, selected_graphs, 20);
http ('<table class="listing">\n');
http ('<thead>\n');
http ('<tr style="background-color: #99B3C5;">\n');
http ('<th colspan="2" rowspan="2" style="text-align: center;">Graphs</th>\n');
http (sprintf ('<th colspan="%d" style="text-align: center;">Users</th>\n', length (selected_users)));
http ('</tr>\n');
http ('<tr style="background-color: #99B3C5;">\n');
foreach (any sel_u in selected_users) do
{
declare sel_uid integer;
declare sel_name varchar;
sel_uid := sel_u[0];
sel_name := sel_u[1];
http (sprintf ('<th valign="top" style="text-align: center;">%s', sel_name));
http ('<div style="padding-left: 1em; text-align: left;">');
for (select ug.GI_DIRECT as gdirect, u.U_NAME as gname from DB.DBA.SYS_ROLE_GRANTS ug join DB.DBA.SYS_USERS u on (ug.GI_SUB=u.U_ID) where ug.GI_SUPER = sel_uid order by 2) do
{
declare link_params any;
link_params := tweak_by_keywords (params, 'set', 'users_by_group', gname, 'delete', 'mode', '', 'delete', 'users_by_like', '', 'delete', 'uors_page', '');
http (sprintf ('<font size="1">has <a href="%s">%s</a>%s</font><br />\n', self.rgs_uri (link_params) , gname, case (gdirect) when 0 then '' else ' directly' end));
}
http ('</div>');
http ('</th>\n');
}
http ('</tr>\n');
http ('</thead>\n');
http ('<tbody>\n');
foreach (any sel_g in selected_graphs) do
{
declare sel_iid IRI_ID;
declare sel_iri varchar;
sel_iid := sel_g[1];
sel_iri := sel_g[2];
http ('<tr>\n');
self.rgs_row_of_graph_begin (params, sel_g[0], sel_iid, sel_iri);
foreach (any sel_u in selected_users) do
{
declare link_params any;
declare sel_uid integer;
declare perms integer;
sel_uid := sel_u[0];
link_params := tweak_by_keywords (params, 'set', 'mode', 'edit', 'set', 'c_user_name', sel_u[1], 'set', 'c_graph_iid', iri_id_num (sel_iid));
perms := DB.DBA.RDF_GRAPH_USER_PERMS_GET (sel_iid, sel_uid);
http (sprintf ('<td><a href="%s">%s</a></td>\n', self.rgs_uri (link_params), self.rgs_pexplain (perms)));
}
http ('</tr>\n');
}
http ('</tbody>\n');
http ('</table>\n');
?>
<?vsp
}
?>
<?vsp http('<script type="text/javascript" src="md5.js"></script>\n');
http('<script type="text/javascript" src="cond_common.js"></script>\n');
-- http('<script type="text/javascript" src="cond_help.js"></script>\n');
?>
</body>
</html>
<?vsp declare ht_stat varchar;
ht_stat := http_request_status_get ();
if (ht_stat is not null and ht_stat like 'HTTP/1._ 30_ %')
http_rewrite ();
?>
<?vsp
if (length (self.sid))
{
declare vars any;
;
vars := connection_vars ();
if (connection_is_dirty ())
{
update VSPX_SESSION set VS_STATE = serialize (vars) where VS_SID = self.sid and VS_REALM = self.realm;
}
}
}