USP_DATALIST_PROSPECTNAVIGATIONTREE

Returns the navigation tree for the Prospect Page

Parameters

Parameter Parameter Type Mode Description
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PROSPECTID uniqueidentifier IN Input parameter indicating the context ID for the data list.
@SECURITYFEATUREID uniqueidentifier IN Input parameter indicating the ID of the feature to use for site security checking.
@SECURITYFEATURETYPE tinyint IN Input parameter indicating the type of the feature to use for site security checking.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_PROSPECTNAVIGATIONTREE
                (
                    @CURRENTAPPUSERID uniqueidentifier,
                    @PROSPECTID uniqueidentifier,
                    @SECURITYFEATUREID uniqueidentifier = null,
                    @SECURITYFEATURETYPE tinyint = null
                )
                as
                    set nocount on;

                    -- todo:  building dates on the server is problematic - need to consider the current client culture

                    select 
                        'Prospect Plans' as CAPTION,
                        'RES:ShowDetails' as IMAGEKEY,
                        '00000000-0000-0000-0000-000000000000' as PAGEID, 
                        '00000000-0000-0000-0000-000000000000' as CONTEXTID,
                        (
                            select 
                                (select DESCRIPTION from dbo.PROSPECTPLANTYPECODE where ID = PP.PROSPECTPLANTYPECODEID)
                                    + case when PRIMARYMANAGERFUNDRAISERID is null then '' else ' (' + (select dbo.UFN_CONSTITUENTSEARCH_DISPLAYNAME (PRIMARYMANAGERFUNDRAISERID)) + ')' end
                                 as CAPTION, 
                                'RES:ShowDetails' as IMAGEKEY, 
                                '9EA482BE-776F-45c9-990C-A152783814F9' as PAGEID, 
                                PP.ID as CONTEXTID,
                                (
                                    select *
                                    from
                                    (
                                        select 
                                            'Steps' as CAPTION,
                                            'RES:bullet_diamond' as IMAGEKEY, 
                                            '00000000-0000-0000-0000-000000000000' as PAGEID, 
                                            '00000000-0000-0000-0000-000000000000' as CONTEXTID,
                                            (
                                                select 
                                                    convert(nvarchar, I.DATE, 1) + ' - ' + I.OBJECTIVE as CAPTION,
                                                    'RES:bullet_diamond' as IMAGEKEY, 
                                                    '66081E86-940D-4be9-ACE6-DE6D4B45097C' as PAGEID, 
                                                    I.ID as CONTEXTID
                                                from 
                                                    dbo.INTERACTION as I
                                                where 
                                                    I.PROSPECTPLANID = PP.ID
                                                order by 
                                                    I.COMPLETED, I.DATE
                                                for xml raw('NODE'), elements, type
                                            ) as NODES

                                        union all

                                        select 
                                            'Opportunities' as CAPTION,
                                            'RES:bullet_diamond' as IMAGEKEY, 
                                            '00000000-0000-0000-0000-000000000000' as PAGEID, 
                                            '00000000-0000-0000-0000-000000000000' as CONTEXTID,
                                            (
                                                select 
                                                    coalesce(convert(nvarchar, O.ASKDATE, 1) + ' - ', '') + O.STATUS as CAPTION,
                                                    'RES:bullet_diamond' as IMAGEKEY, 
                                                    '8B97A047-E267-4e9f-822D-F74CBF1447E5' as PAGEID, 
                                                    O.ID as CONTEXTID
                                                from 
                                                    dbo.OPPORTUNITY as O
                                                where 
                                                    O.PROSPECTPLANID = PP.ID
                                                for xml raw('NODE'), elements, type
                                            ) as NODES
                                            /* AAW 1/11/10: Hiding opportunities and planned gifts unless Enterprise or Advanced Prospect Management is unlocked. */
                                            where dbo.UFN_INSTALLEDPRODUCTS_OPTIONALPRODUCTSINSTALLED
                                            (    
                                                '<common:InstalledProductList xmlns:common="bb_appfx_commontypes">
                                                    <common:InstalledProduct ID="3117d2c8-7f46-42f2-abeb-b654f2f63046" />
                                                    <common:InstalledProduct ID="0A07AA22-ED88-42B7-8C55-D80DF4F4CEA2" />
                                                </common:InstalledProductList>'
                                            ) = 1

                                        union all

                                        select 
                                            'Planned Gifts' as CAPTION,
                                            'RES:ShowDetails' as IMAGEKEY,
                                            '00000000-0000-0000-0000-000000000000' as PAGEID, 
                                            '00000000-0000-0000-0000-000000000000' as CONTEXTID,
                                            (
                                                select 
                                                    coalesce(convert(nvarchar, PG.GIFTDATE, 1) + ' - ', '')
                                                        + PG.VEHICLE
                                                     as CAPTION, 
                                                    'RES:ShowDetails' as IMAGEKEY, 
                                                    'F031A07D-521F-4A83-B31B-B3E0E5AF99E8' as PAGEID, 
                                                    PG.ID as CONTEXTID,
                                                    null as NODES 
                                                from 
                                                    dbo.PLANNEDGIFT as PG
                                                where 
                                                    PG.PROSPECTPLANID = PP.ID
                                                for xml raw('NODE'), elements, type
                                            ) as NODES 
                                            /* AAW 1/11/10: Hiding opportunities and planned gifts unless Enterprise or Advanced Prospect Management is unlocked. */
                                            where dbo.UFN_INSTALLEDPRODUCTS_OPTIONALPRODUCTSINSTALLED
                                            (    
                                                '<common:InstalledProductList xmlns:common="bb_appfx_commontypes">
                                                    <common:InstalledProduct ID="3117d2c8-7f46-42f2-abeb-b654f2f63046" />
                                                    <common:InstalledProduct ID="0A07AA22-ED88-42B7-8C55-D80DF4F4CEA2" />
                                                </common:InstalledProductList>'
                                            ) = 1

                                    ) T for xml raw('NODE'), elements, type
                                ) as NODES
                            from 
                                dbo.PROSPECTPLAN as PP
                            where 
                                PP.PROSPECTID = @PROSPECTID 
                                and (
                                    select count(*
                                    from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PP.ID) as PROSPECTPLANSITE 
                                    where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
                                ) > 0
                            for xml raw('NODE'), root('NODES'), elements, type
                        ) as NODES 

                    order by 
                        1 desc