Added databasechanges for default top package in user space
This commit is contained in:
parent
cf079b2d11
commit
b1edd255b8
1 changed files with 206 additions and 1 deletions
|
@ -7361,3 +7361,208 @@ LEFT OUTER JOIN ServiceItems AS Z ON D.ZoneItemID = Z.ItemID
|
|||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
IF NOT EXISTS(select 1 from sys.columns COLS INNER JOIN sys.objects OBJS ON OBJS.object_id=COLS.object_id and OBJS.type='U' AND OBJS.name='Packages' AND COLS.name='DefaultTopPackage')
|
||||
BEGIN
|
||||
ALTER TABLE [dbo].[Packages] ADD
|
||||
[DefaultTopPackage] [bit] DEFAULT 0 NOT NULL
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetMyPackages')
|
||||
DROP PROCEDURE GetMyPackages
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[GetMyPackages]
|
||||
(
|
||||
@ActorID int,
|
||||
@UserID int
|
||||
)
|
||||
AS
|
||||
|
||||
-- check rights
|
||||
IF dbo.CheckActorUserRights(@ActorID, @UserID) = 0
|
||||
RAISERROR('You are not allowed to access this account', 16, 1)
|
||||
|
||||
SELECT
|
||||
P.PackageID,
|
||||
P.ParentPackageID,
|
||||
P.PackageName,
|
||||
P.StatusID,
|
||||
P.PlanID,
|
||||
P.PurchaseDate,
|
||||
|
||||
dbo.GetItemComments(P.PackageID, 'PACKAGE', @ActorID) AS Comments,
|
||||
|
||||
-- server
|
||||
ISNULL(P.ServerID, 0) AS ServerID,
|
||||
ISNULL(S.ServerName, 'None') AS ServerName,
|
||||
ISNULL(S.Comments, '') AS ServerComments,
|
||||
ISNULL(S.VirtualServer, 1) AS VirtualServer,
|
||||
|
||||
-- hosting plan
|
||||
HP.PlanName,
|
||||
|
||||
-- user
|
||||
P.UserID,
|
||||
U.Username,
|
||||
U.FirstName,
|
||||
U.LastName,
|
||||
U.FullName,
|
||||
U.RoleID,
|
||||
U.Email,
|
||||
|
||||
P.DefaultTopPackage
|
||||
FROM Packages AS P
|
||||
INNER JOIN UsersDetailed AS U ON P.UserID = U.UserID
|
||||
LEFT OUTER JOIN Servers AS S ON P.ServerID = S.ServerID
|
||||
LEFT OUTER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
|
||||
WHERE P.UserID = @UserID
|
||||
RETURN
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetPackages')
|
||||
DROP PROCEDURE GetPackages
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[GetPackages]
|
||||
(
|
||||
@ActorID int,
|
||||
@UserID int
|
||||
)
|
||||
AS
|
||||
|
||||
SELECT
|
||||
P.PackageID,
|
||||
P.ParentPackageID,
|
||||
P.PackageName,
|
||||
P.StatusID,
|
||||
P.PurchaseDate,
|
||||
|
||||
-- server
|
||||
ISNULL(P.ServerID, 0) AS ServerID,
|
||||
ISNULL(S.ServerName, 'None') AS ServerName,
|
||||
ISNULL(S.Comments, '') AS ServerComments,
|
||||
ISNULL(S.VirtualServer, 1) AS VirtualServer,
|
||||
|
||||
-- hosting plan
|
||||
P.PlanID,
|
||||
HP.PlanName,
|
||||
|
||||
-- user
|
||||
P.UserID,
|
||||
U.Username,
|
||||
U.FirstName,
|
||||
U.LastName,
|
||||
U.RoleID,
|
||||
U.Email,
|
||||
|
||||
P.DefaultTopPackage
|
||||
FROM Packages AS P
|
||||
INNER JOIN Users AS U ON P.UserID = U.UserID
|
||||
INNER JOIN Servers AS S ON P.ServerID = S.ServerID
|
||||
INNER JOIN HostingPlans AS HP ON P.PlanID = HP.PlanID
|
||||
WHERE
|
||||
P.UserID = @UserID
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetPackage')
|
||||
DROP PROCEDURE GetPackage
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[GetPackage]
|
||||
(
|
||||
@PackageID int,
|
||||
@ActorID int
|
||||
)
|
||||
AS
|
||||
|
||||
-- Note: ActorID is not verified
|
||||
-- check both requested and parent package
|
||||
|
||||
SELECT
|
||||
P.PackageID,
|
||||
P.ParentPackageID,
|
||||
P.UserID,
|
||||
P.PackageName,
|
||||
P.PackageComments,
|
||||
P.ServerID,
|
||||
P.StatusID,
|
||||
P.PlanID,
|
||||
P.PurchaseDate,
|
||||
P.OverrideQuotas,
|
||||
P.DefaultTopPackage
|
||||
FROM Packages AS P
|
||||
WHERE P.PackageID = @PackageID
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
||||
IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'UpdatePackage')
|
||||
DROP PROCEDURE UpdatePackage
|
||||
GO
|
||||
CREATE PROCEDURE [dbo].[UpdatePackage]
|
||||
(
|
||||
@ActorID int,
|
||||
@PackageID int,
|
||||
@PackageName nvarchar(300),
|
||||
@PackageComments ntext,
|
||||
@StatusID int,
|
||||
@PlanID int,
|
||||
@PurchaseDate datetime,
|
||||
@OverrideQuotas bit,
|
||||
@QuotasXml ntext,
|
||||
@DefaultTopPackage bit
|
||||
)
|
||||
AS
|
||||
|
||||
-- check rights
|
||||
IF dbo.CheckActorPackageRights(@ActorID, @PackageID) = 0
|
||||
RAISERROR('You are not allowed to access this package', 16, 1)
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
DECLARE @ParentPackageID int
|
||||
DECLARE @OldPlanID int
|
||||
|
||||
SELECT @ParentPackageID = ParentPackageID, @OldPlanID = PlanID FROM Packages
|
||||
WHERE PackageID = @PackageID
|
||||
|
||||
-- update package
|
||||
UPDATE Packages SET
|
||||
PackageName = @PackageName,
|
||||
PackageComments = @PackageComments,
|
||||
StatusID = @StatusID,
|
||||
PlanID = @PlanID,
|
||||
PurchaseDate = @PurchaseDate,
|
||||
OverrideQuotas = @OverrideQuotas,
|
||||
DefaultTopPackage = @DefaultTopPackage
|
||||
WHERE
|
||||
PackageID = @PackageID
|
||||
|
||||
-- update quotas (if required)
|
||||
EXEC UpdatePackageQuotas @ActorID, @PackageID, @QuotasXml
|
||||
|
||||
-- check resulting quotas
|
||||
DECLARE @ExceedingQuotas AS TABLE (QuotaID int, QuotaName nvarchar(50), QuotaValue int)
|
||||
|
||||
-- check exceeding quotas if plan has been changed
|
||||
IF (@OldPlanID <> @PlanID) OR (@OverrideQuotas = 1)
|
||||
BEGIN
|
||||
INSERT INTO @ExceedingQuotas
|
||||
SELECT * FROM dbo.GetPackageExceedingQuotas(@ParentPackageID) WHERE QuotaValue > 0
|
||||
END
|
||||
|
||||
SELECT * FROM @ExceedingQuotas
|
||||
|
||||
IF EXISTS(SELECT * FROM @ExceedingQuotas)
|
||||
BEGIN
|
||||
ROLLBACK TRAN
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
COMMIT TRAN
|
||||
RETURN
|
||||
|
||||
GO
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue