Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- USE [ArenaDB]
- GO
- /****** Object: View [dbo].[cust_CCIW_v_secu_permission] Script Date: 8/19/2020 12:12:36 PM ******/
- SET ANSI_NULLS ON
- GO
- SET QUOTED_IDENTIFIER ON
- GO
- -- =============================================
- -- Source: http://community.shelbysystems.com/arena/m/reports/4001
- -- Author: David Ellis/Tony Visconti
- --2/14/19 Added Module Parent Page Column, Breadcrumb for Page Objects / Tony Visconti
- --8/18/20 Added Page Path for Module Instances / TV
- -- TODO: Add html to all html paths
- -- TODO: Add Attibute Group Details in relation to Attribute
- -- =============================================
- ALTER VIEW [dbo].[cust_CCIW_v_secu_permission]
- AS
- WITH permissions_base as
- (
- SELECT
- sp.subject_key,
- (CASE
- WHEN sp.subject_type=0 THEN 'Role'
- WHEN sp.subject_type=1 THEN 'Person'
- END ) AS subject_type_value
- ,(CASE
- WHEN sp.subject_type=0 THEN (SELECT TOP 1 role_name FROM secu_role WHERE role_id=sp.subject_key)
- WHEN sp.subject_type=1 THEN (SELECT first_name+' '+last_name FROM core_person WHERE person_id=sp.subject_key)
- END ) AS subject_key_value
- ,sp.object_type
- ,sp.object_key
- ,(CASE
- WHEN sp.object_type=0 THEN (SELECT TOP 1 portal_name FROM port_portal WHERE portal_id=sp.object_key)
- WHEN sp.object_type=1 THEN (SELECT TOP 1 page_name FROM port_portal_page WHERE page_id=sp.object_key)
- WHEN sp.object_type=2 THEN (SELECT TOP 1 module_title FROM port_module_instance WHERE module_instance_id=sp.object_key)
- WHEN sp.object_type=3 THEN (SELECT TOP 1 profile_name FROM core_profile WHERE profile_id=sp.object_key)
- WHEN sp.object_type=4 THEN (SELECT TOP 1 attribute_name FROM core_attribute WHERE attribute_id=sp.object_key)
- WHEN sp.object_type=5 THEN (SELECT TOP 1 group_name FROM core_attribute_group WHERE attribute_group_id=sp.object_key)
- WHEN sp.object_type=6 THEN (SELECT TOP 1 title FROM mtrc_metric WHERE metric_id=sp.object_key)
- WHEN sp.object_type=7 THEN (SELECT TOP 1 report_name FROM list_save_reports WHERE report_id=sp.object_key)
- WHEN sp.object_type=8 THEN (SELECT TOP 1 cluster_name FROM smgp_group_cluster WHERE group_cluster_id=sp.object_key)
- WHEN sp.object_type=9 THEN (CASE WHEN sp.object_key=1 THEN 'Family Registrations' WHEN sp.object_key=2 THEN 'Contributions' WHEN sp.object_key=3 THEN 'Mailing' END)
- WHEN sp.object_type=10 THEN 'Field: '+(CASE
- WHEN sp.object_key=10 THEN 'Person ID'
- WHEN sp.object_key=15 THEN 'Member Status'
- WHEN sp.object_key=20 THEN 'Record Status'
- WHEN sp.object_key=25 THEN 'Name'
- WHEN sp.object_key=30 THEN 'Birth Date'
- WHEN sp.object_key=35 THEN 'Age'
- WHEN sp.object_key=40 THEN 'Gender'
- WHEN sp.object_key=45 THEN 'Marital Status'
- WHEN sp.object_key=50 THEN 'Anniversary Date'
- WHEN sp.object_key=52 THEN 'Grade'
- WHEN sp.object_key=55 THEN 'Contribute Individually'
- WHEN sp.object_key=57 THEN 'Print Statement'
- WHEN sp.object_key=58 THEN 'Envelope Number'
- WHEN sp.object_key=60 THEN 'Medical Information'
- WHEN sp.object_key=65 THEN 'Date Added'
- WHEN sp.object_key=70 THEN 'Date Modified'
- WHEN sp.object_key=75 THEN 'Date Verified'
- WHEN sp.object_key=80 THEN 'Family Information'
- WHEN sp.object_key=83 THEN 'Peers'
- WHEN sp.object_key=85 THEN 'Relationships'
- WHEN sp.object_key=87 THEN 'Photo'
- WHEN sp.object_key=90 THEN 'Phones'
- WHEN sp.object_key=92 THEN 'Emails'
- WHEN sp.object_key=93 THEN 'SSN'
- WHEN sp.object_key=95 THEN 'Addresses'
- WHEN sp.object_key=96 THEN 'Background Check Section'
- WHEN sp.object_key=100 THEN 'Activity Section'
- WHEN sp.object_key=110 THEN 'Activity Level'
- WHEN sp.object_key=120 THEN 'Area'
- WHEN sp.object_key=180 THEN 'Serving Tags'
- WHEN sp.object_key=190 THEN 'Ministry Tags'
- WHEN sp.object_key=200 THEN 'Attendance Section'
- WHEN sp.object_key=210 THEN 'Recent Attendance'
- WHEN sp.object_key=220 THEN 'Attendance Rate'
- WHEN sp.object_key=300 THEN 'Notes Section'
- WHEN sp.object_key=400 THEN 'Personality Section'
- WHEN sp.object_key=410 THEN 'Spiritual Gifts'
- WHEN sp.object_key=420 THEN 'DISC Profiles'
- WHEN sp.object_key=500 THEN 'History Section'
- END)
- WHEN sp.object_type=11 THEN (SELECT '"'+LEFT(CONVERT(VARCHAR,(SELECT TOP 1 history FROM core_person_history WHERE person_history_id=sp.object_key)),12)+'..."')
- WHEN sp.object_type=12 THEN (SELECT TOP 1 [type_name] FROM core_document_type WHERE document_type_id=sp.object_key)
- WHEN sp.object_type=13 THEN (SELECT TOP 1 [name] FROM asgn_assignment_type WHERE assignment_type_id=sp.object_key)
- WHEN sp.object_type=14 THEN (SELECT TOP 1 [name] FROM prot_background_check_type WHERE background_check_type_id=sp.object_key)
- END ) AS object_key_value
- ,sp.operation_type
- ,(CASE
- WHEN sp.operation_type=0 THEN 'View'
- WHEN sp.operation_type=1 THEN 'Edit'
- WHEN sp.operation_type=2 THEN 'Edit Security'
- WHEN sp.operation_type=4 THEN 'Edit People'
- WHEN sp.operation_type=5 THEN 'Edit Modules'
- WHEN sp.operation_type=6 THEN 'Edit Notes'
- WHEN sp.operation_type=7 THEN 'Approve'
- WHEN sp.operation_type=8 THEN 'Edit Registration'
- END ) AS operation_type_value,
- sp.template_id,
- sp.permission_id,
- CASE WHEN
- (sp.object_type in (0,1,2,3,4,5,6,7,8,11,12,13,14) AND NOT
- (
- sp.object_type=0 AND sp.object_key IN (SELECT portal_id FROM port_portal)
- OR (sp.object_type=1 AND sp.object_key IN (SELECT page_id FROM port_portal_page))
- OR (sp.object_type=2 AND sp.object_key IN (SELECT module_instance_id FROM port_module_instance))
- OR (sp.object_type=3 AND sp.object_key IN (SELECT profile_id FROM core_profile))
- OR (sp.object_type=4 AND sp.object_key IN (SELECT attribute_id FROM core_attribute))
- OR (sp.object_type=5 AND sp.object_key IN (SELECT attribute_group_id FROM core_attribute_group))
- OR (sp.object_type=6 AND sp.object_key IN (SELECT metric_id FROM mtrc_metric))
- OR (sp.object_type=7 AND sp.object_key IN (SELECT report_id FROM list_save_reports))
- OR (sp.object_type=8 AND sp.object_key IN (SELECT group_cluster_id FROM smgp_group_cluster))
- OR (sp.object_type=11 AND sp.object_key IN (SELECT person_history_id FROM core_person_history))
- OR (sp.object_type=12 AND sp.object_key IN (SELECT document_type_id FROM core_document_type))
- OR (sp.object_type=13 AND sp.object_key IN (SELECT assignment_type_id FROM asgn_assignment_type))
- OR (sp.object_type=14 AND sp.object_key IN (SELECT background_check_type_id FROM prot_background_check_type))
- )
- )
- THEN 1 END AS orphaned_object_key
- FROM secu_permission AS sp
- ) --END of CTE
- select
- b.object_type,
- (CASE
- WHEN b.object_type=0 THEN 'Portal'
- WHEN b.object_type=1 THEN 'Page'
- WHEN b.object_type=2 THEN 'Module Instance'
- WHEN b.object_type=3 THEN
- CASE
- WHEN CP.profile_type = 0 THEN 'Personal Tag'
- WHEN CP.profile_type = 1 THEN 'Ministry Tag'
- WHEN CP.profile_type = 2 THEN 'Serving Tag'
- WHEN CP.profile_type = 4 THEN 'Event Tag'
- END
- WHEN b.object_type=4 THEN 'Attribute'
- WHEN b.object_type=5 THEN 'Attribute Group'
- WHEN b.object_type=6 THEN 'Metric'
- WHEN b.object_type=7 THEN 'Report'
- WHEN b.object_type=8 THEN 'Group Cluster'
- WHEN b.object_type=9 THEN 'Application'
- WHEN b.object_type=10 THEN 'Person Field'
- WHEN b.object_type=11 THEN 'Person Note'
- WHEN b.object_type=12 THEN 'Document Type'
- WHEN b.object_type=13 THEN 'Assignment Type'
- WHEN b.object_type=14 THEN 'Background Check Type'
- END ) AS object_type_value,
- b.object_key,
- b.object_key_value,
- b.subject_key,
- b.subject_type_value,
- b.operation_type,
- b.operation_type_value,
- (CASE
- WHEN object_type=2 -- Module Instance
- THEN pp.page_name + ' - '+ Cast(pp.page_id as varchar(10))
- ELSE 'NA'
- END) as [Module Parent Page],
- (CASE
- WHEN b.object_type=1 -- Page
- THEN (SELECT [dbo].[port_funct_get_page_path](b.object_key,1) + ' - ' + Cast(b.object_key as varchar(10)))
- WHEN b.object_type=2 -- Module Instance
- THEN (SELECT [dbo].[port_funct_get_page_path](pp.page_id,1) + ' - ' + Cast(pp.page_id as varchar(10)))
- WHEN b.object_type=3 -- Profile/Tag
- THEN (SELECT dbo.cust_CCIW_funct_profile_path(b.object_key)) --returns plain text
- ELSE 'NA'
- END) as [Path_Text],
- (CASE
- WHEN b.object_type=1 -- Page
- THEN (SELECT [dbo].[port_funct_get_page_path](b.object_key,1) + ' - ' + Cast(b.object_key as varchar(10)))
- WHEN b.object_type=2 -- Module Instance
- THEN (SELECT [dbo].[port_funct_get_page_path](pp.page_id,1) + ' - ' + Cast(pp.page_id as varchar(10)))
- WHEN b.object_type=3 -- Profile/Tag
- THEN (SELECT dbo.core_funct_profile_path(b.object_key,376,'.\default.aspx')) --returns html
- ELSE 'NA'
- END) as [Path_html],
- b.template_id,
- permission_id,
- b.orphaned_object_key
- from permissions_base b
- LEFT JOIN port_module_instance m on m.module_instance_id = b.object_key and object_type = 2
- LEFT JOIN port_portal_page pp on pp.page_id = m.page_id
- LEFT JOIN core_profile cp on cp.profile_id = b.object_key and b.object_type = 3
- GO
Add Comment
Please, Sign In to add comment