group::get_rel_types_options (public)

 group::get_rel_types_options -group_id group_id \
    [ -object_type object_type ]

Defined in packages/acs-subsite/tcl/group-procs.tcl

Get the valid relationship-types for this group in a format suitable for a select widget in the form builder. The label used is the name of the role for object two.

Switches:
-group_id
(required)
The ID of the group for which to get options.
-object_type
(defaults to "person") (optional)
The object type which must occupy side two of the relationship. Typically 'person' or 'group'.
Returns:
a list of lists with label (role two pretty name) and ID (rel_type)

Partial Call Graph (max 5 caller/called nodes):
%3 packages/acs-subsite/lib/user-new.tcl packages/acs-subsite/ lib/user-new.tcl group::get_rel_types_options group::get_rel_types_options packages/acs-subsite/lib/user-new.tcl->group::get_rel_types_options packages/acs-subsite/www/members/member-invite.tcl packages/acs-subsite/ www/members/member-invite.tcl packages/acs-subsite/www/members/member-invite.tcl->group::get_rel_types_options db_foreach db_foreach (public) group::get_rel_types_options->db_foreach lang::util::localize lang::util::localize (public) group::get_rel_types_options->lang::util::localize

Testcases:
No testcase defined.
Source code:
    # LARS:
    # The query has a hack to make sure 'membership_rel' appears before all other rel types
    set rel_types [list]
    db_foreach select_rel_types {} {
        # Localize the name
        lappend rel_types [list [lang::util::localize $pretty_name$rel_type]
    }
    return $rel_types
XQL Not present:
Generic
PostgreSQL XQL file:
<fullquery name="group::get_rel_types_options.select_rel_types">
    <querytext>

    select role.pretty_name,
           gr.rel_type
    from   group_rels gr,
           acs_rel_types rt,
           acs_rel_roles role
    where  gr.group_id = :group_id
    and    rt.rel_type = gr.rel_type
    and    role.role = rt.role_two
    and    rt.object_type_two = :object_type
    order  by (case when gr.rel_type = 'membership_rel' then 0 else 1 end)||role.pretty_name

      </querytext>
</fullquery>
packages/acs-subsite/tcl/group-procs-postgresql.xql

Oracle XQL file:
<fullquery name="group::get_rel_types_options.select_rel_types">
    <querytext>
    select role.pretty_name,
           gr.rel_type
    from   group_rels gr,
           acs_rel_types rt,
           acs_rel_roles role
    where  gr.group_id = :group_id
    and    rt.rel_type = gr.rel_type
    and    role.role = rt.role_two
    and    rt.object_type_two = :object_type
    order  by decode(gr.rel_type, 'membership_rel', 0, 1)||role.pretty_name

      </querytext>
</fullquery>
packages/acs-subsite/tcl/group-procs-oracle.xql

[ hide source ] | [ make this the default ]
Show another procedure: