44 lines
1.6 KiB
Transact-SQL
44 lines
1.6 KiB
Transact-SQL
USE [EnVisage]
|
|
GO
|
|
|
|
/****** Object: View [dbo].[VW_ProjectAccessByUserExtended] Script Date: 5/26/2016 10:30:12 AM ******/
|
|
if exists (select 1 from sys.all_views where name like 'VW_ProjectAccessByUserExtended')
|
|
begin
|
|
DROP VIEW [dbo].[VW_ProjectAccessByUserExtended]
|
|
end
|
|
GO
|
|
|
|
/****** Object: View [dbo].[VW_ProjectAccessByUserExtended] Script Date: 5/26/2016 10:30:12 AM ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
|
|
CREATE VIEW [dbo].[VW_ProjectAccessByUserExtended] AS
|
|
select P.Id, P.CompanyId, P.ClientId, P.TypeId, P.StatusId, P.Name, P.ProjectNumber, P.Color, P.Details, P.Priority, P.Probability, P.IsRevenueGenerating, P.Deadline,
|
|
P.ParentProjectId, P.HasChildren, P.PerformanceRedThreshold, P.PerformanceYellowThreshold, P.PartNum, P.EditTimestamp, B.UserId,
|
|
ISNULL(C.Name, '') AS StatusName, ISNULL(D.Name, '') AS CompanyName, ISNULL(E.Name, '') AS ClientName,
|
|
ISNULL(F.Name, '') AS TypeName, G.Id AS ActiveScenarioId, ISNULL(G.Name, '') AS ActiveScenarioName,
|
|
ISNULL(
|
|
(
|
|
STUFF((SELECT ',' + t.Name AS [text()]
|
|
FROM dbo.Team2Project t2p
|
|
JOIN dbo.Team t
|
|
ON t2p.TeamId = t.Id
|
|
WHERE t2p.ProjectId = P.Id
|
|
ORDER BY t.Name ASC
|
|
FOR XML PATH('')), 1, 1, '')
|
|
), '') AS Teams,
|
|
B.[Read], B.Write
|
|
from Project P
|
|
INNER JOIN VW_ProjectAccessExtended B ON (B.ProjectId = P.Id)
|
|
LEFT JOIN [Status] C ON (C.Id = P.StatusId)
|
|
LEFT JOIN Company D ON (D.Id = P.CompanyId)
|
|
LEFT JOIN Client E ON (E.Id = P.ClientId)
|
|
LEFT JOIN [Type] F ON (F.Id = P.TypeId)
|
|
LEFT JOIN Scenario G ON (G.ParentId = P.Id) AND (G.[Type] = 2) AND (G.[Status] = 1) -- Poftfolio scenario & active
|
|
WHERE (B.[Read] = 1) OR (B.Write = 1)
|
|
GO
|
|
|
|
|