Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Deployment script for RwEdit
- This code was generated by a tool.
- Changes to this file may cause incorrect behavior and will be lost if
- the code is regenerated.
- */
- GO
- SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
- SET NUMERIC_ROUNDABORT OFF;
- GO
- :setvar DatabaseName "RwEdit"
- :setvar DefaultFilePrefix "RwEdit"
- :setvar DefaultDataPath "k:\MSSQL\Data\"
- :setvar DefaultLogPath "l:\MSSQL\Data\"
- GO
- :on error exit
- GO
- /*
- Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
- To re-enable the script after enabling SQLCMD mode, execute the following:
- SET NOEXEC OFF;
- */
- :setvar __IsSqlCmdEnabled "True"
- GO
- IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
- BEGIN
- PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
- SET NOEXEC ON;
- END
- GO
- USE [$(DatabaseName)];
- GO
- /*
- The type for column SubjectEMail in table [dbo].[MailQueueEdit] is currently NVARCHAR (255) NOT NULL but is being changed to VARCHAR (255) NOT NULL. Data loss could occur.
- */
- IF EXISTS (select top 1 1 from [dbo].[MailQueueEdit])
- RAISERROR (N'Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT
- GO
- PRINT N'Dropping [svc.WW.Riki]...';
- GO
- DROP USER [svc.WW.Riki];
- GO
- PRINT N'Creating [svc.WW.Riki]...';
- GO
- CREATE USER [svc.WW.Riki] WITHOUT LOGIN;
- GO
- REVOKE CONNECT TO [svc.WW.Riki];
- GO
- PRINT N'Altering [dbo].[MailQueueEdit]...';
- GO
- ALTER TABLE [dbo].[MailQueueEdit] ALTER COLUMN [SubjectEMail] VARCHAR (255) NOT NULL;
- GO
- PRINT N'Altering [dbo].[Users]...';
- GO
- ALTER TABLE [dbo].[Users]
- ADD [UserPoints] DECIMAL (18, 2) DEFAULT 0 NOT NULL;
- GO
- PRINT N'Altering [dbo].[asContentEditor]...';
- GO
- ALTER PROCEDURE [dbo].[asContentEditor](
- @Language NVarchar(max) = NULL, -- + language = 'ru' / 'en' / ...
- @ThisLng NVarchar(max) = NULL, -- + SHOW PAGE ON THIS LNG = 'ru' / 'en' / ...
- @UserId NVarchar(max) = NULL, -- + User Id
- @Command NVarchar(max) = NULL, -- + FunctionName (CustomerPage, GetAdContent, Find, )
- @BusinessId NVarchar(max) = NULL,
- @BusinessName NVarchar(max) = NULL,
- @BusinessAddress NVarchar(max) = NULL,
- @BusinessContact NVarchar(max) = NULL,
- @BusinessImageId NVarchar(max) = NULL,
- @OwnerId NVarchar(max) = NULL,
- @BusinessUrl NVarchar(max) = NULL,
- @Latitude NVarchar(max) = NULL,
- @Longitude NVarchar(max) = NULL,
- @MapZoom NVarchar(max) = NULL,
- @BusinessPageId NVarchar(max) = NULL,
- @PageDescription NVarchar(max) = NULL,
- @PageAddress NVarchar(max) = NULL,
- @PageName NVarchar(max) = NULL,
- @PageTemplateId NVarchar(max) = NULL,
- @LanguageId NVarchar(max) = NULL,
- @LanguageName NVarchar(max) = NULL,
- @PageStatusId NVarchar(max) = NULL,
- @PageAuditStatusId NVarchar(max) = NULL,
- @PageTypeId NVarchar(max) = NULL,
- @PageUrl NVarchar(max) = NULL,
- @PageHTMLLeft NVarchar(max) = NULL,
- @PageHTMLRight NVarchar(max) = NULL,
- @PageHTMLAdv NVarchar(max) = NULL,
- @CategoriesCloud NVarchar(max) = NULL, -- ÒÔËÒÓÍ Í‡Ú„ÓËÈ ‰Îˇ Business Ë ËÒÔÓθÁÛÂÚÒˇ ‰Îˇ ÒÔËÒ͇ ͇Ú„ÓËÈ ‰Îˇ ͇Ú˚ (map)
- @AccessToRoleId NVarchar(max) = NULL,
- @AccessToUserId NVarchar(max) = NULL,
- @AccessToLanguageId NVarchar(max) = NULL,
- @UserEMail NVarchar(max) = NULL,
- @ObjectType NVarchar(max) = NULL,
- @ObjectId NVarchar(max) = NULL,
- @OldAccessRoleId NVarchar(max) = NULL,
- @OldAccessLanguageId NVarchar(max) = NULL,
- @PageItemId NVarchar(max) = NULL,
- @PageItemMask NVarchar(max) = NULL,
- @PageItemOrderBy NVarchar(max) = NULL,
- @PageItemLocation NVarchar(max) = NULL,
- @PageItemCaption NVarchar(max) = NULL,
- @PageItemTemplateId NVarchar(max) = NULL,
- @PageItemTxt_01 NVarchar(max) = NULL,
- @PageItemTxt_02 NVarchar(max) = NULL,
- @PageItemTxt_03 NVarchar(max) = NULL,
- @PageItemTxt_04 NVarchar(max) = NULL,
- @PageItemImg_01_Id NVarchar(max) = NULL,
- @PageItemImg_02_Id NVarchar(max) = NULL,
- @PageItemImg_03_Id NVarchar(max) = NULL,
- @PageItemImg_04_Id NVarchar(max) = NULL,
- @OnMapRadius NVarchar(max) = NULL,
- @OnMapQuantity NVarchar(max) = NULL,
- @OnMapType NVarchar(max) = NULL, -- map 'GOOGLE' OR 'BING' OR ....
- @AdvGetQuantity NVarchar(max) = NULL, -- Get NNN banners
- @AdvSkipQuantity NVarchar(max) = NULL, -- Skip NNN banners
- @AdsGroupId NVarchar(max) = NULL,
- @AdsGroupName NVarchar(max) = NULL,
- @AdsRankId NVarchar(max) = NULL,
- @ResultMessage VARCHAR(255) = NULL OUTPUT )
- AS
- BEGIN
- SET NOCOUNT ON
- SET ANSI_WARNINGS OFF
- -- It is command list :
- -------------------
- -- EXEC asContentEditor @Command = 'PAGE_GET_ONE', @BusinessPageId =N'40308', @UserId=N'173', @Language=N'en',@ThisLng=N''
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'BUSINESS_GET_BY_USER'
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'BUSINESS_GET_BY_ID', @BusinessId = 1
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_BY_BUSINESS', @BusinessId = 2
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_TEMPLATE'
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'BUSINESS_SET', @BusinessId = 123456, ***
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'BUSINESS_SET', @BusinessId = 0
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'BUSINESS_DELETE', @BusinessId = 0
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = 1, @BusinessPageId = 0
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = 0, @BusinessPageId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_NEW', @BusinessId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_SET', *****
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_TRANSLATE', BusinessPageId = 2, LanguageId = 8
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_TO_EDIT_MODE', @BusinessPageId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_SET_CONTENT', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_ADD', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_ITEM', @BusinessPageId = 2
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ITEM_SET', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ITEM_ADD', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ITEM_DEL', *****
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ITEM_GET_TEMPLATE'
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'IMAGE_GET_BY_BUSINESS' , @BusinessId=2
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ACCESS_MANAGEMENT_GET_JSON', @ObjectType = 'OB', @ObjectId = 8
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'USER_BY_EMAIL_GET_JSON', @UserEMail = 'mail@mail.ru', @ObjectType = 'OB', @ObjectId = 8
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ACCESS_USER_ADD', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ACCESS_USER_SET', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ACCESS_USER_DEL', *****
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ADSGROUP_CLONE', @Businessid= 12345, @AdsGroupId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ADSGROUP_DELETE', @Businessid= 12345, @AdsGroupId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ADSGROUP_ACTIVATE', @Businessid= 12345, @AdsGroupId = 1
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ADSGROUP_DEACTIVATE', @Businessid= 12345, @AdsGroupId = 1
- --------------------
- Declare @IsEmpty tinyint = 0x00 -- 0x00 - 0 - Undefined
- Declare @IsMaster tinyint = 0x01 -- 0x01 - 1 - Is Master block
- Declare @IsPage tinyint = 0x02 -- 0x02 - 2 - Is Page block
- Declare @IsBanner tinyint = 0x04 -- 0x04 - 4 - Is Banner block
- Declare @IsEmail tinyint = 0x08 -- 0x08 - 8 - Is Email Block
- Declare @Is16 tinyint = 0x10 -- 0x10 - 16 - === not used
- Declare @Is32 tinyint = 0x20 -- 0x20 - 32 - === not used
- Declare @Is64 tinyint = 0x40 -- 0x40 - 64 - === not used
- Declare @IsHidden tinyint = 0x80 -- 0x80 - 128 - Hidden
- Declare @Sign_ObjectTypeId bigint -- ƒÎˇ ‰‡Î¸ÌÂȯÂÈ ‡·ÓÚ˚ Ò Ô‡‚‡ÏË ‰ÓÒÚÛÔ‡ Í ·ËÁÌÂÒÛ ÓÔ‰ÂΡÂÏ
- Select @Sign_ObjectTypeId = DataReferenceId
- from fn_DataReference( 'AccessObjects', 'en', DEFAULT)
- where DataReferenceCode = 'OB'
- Declare @Sign_RoleOwner nvarchar(max) = 'OB:O:Owner'
- Declare @Sign_RoleBusinessManager nvarchar(max) = 'OB:M:Manager' -- »‰ÂÌÚËÙË͇ÚÓ ‚·‰Âθˆ‡ Ó·˙ÂÍÚ‡ ‚ ÒÔ‡‚Ó˜ÌËÍ ÓÎÂÈ
- Declare @Sign_RoleTranslatorPage nvarchar(max) = 'OB:T:TranslatorPage' -- œÂ‚Ӊ˜ËÍ ÒÚ‡Ìˈ
- Declare @Sign_RoleTranslator nvarchar(max) = 'DR:Translator' -- œÂ‚Ӊ˜ËÍ ÒÔ‡‚Ó˜ÌËÍÓ‚
- Declare @Sign_Manager nvarchar(max) = 'DR:Manager'
- Declare @Sign_StatusHidden nvarchar(max) = 'S:Hidden' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È ÒÍ˚Ú˚Ï ·‡Ì‡Ï
- Declare @Sign_StatusNew nvarchar(max) = 'M:New' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È MASTER ÒÚ‡Ìˈ ÔË ÒÓÁ‰‡ÌËË
- Declare @Sign_StatusEdit nvarchar(max) = 'T:Edit' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È DRAFT ÒÚ‡Ìˈ ÔË ÒÓÁ‰‡ÌËË
- Declare @Sign_StatusEnabled nvarchar(max) = 'M:Enabled' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È MASTER ÒÚ‡Ìˈ : ÔÓ͇Á ̇ RIKI ‡Á¯ÂÌ
- Declare @Sign_StatusDisabled nvarchar(max) = 'M:Disabled' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È MASTER ÒÚ‡Ìˈ : ÔÓ͇Á ̇ RIKI Á‡Ô¢ÂÌ
- Declare @Sign_StatusApproveRequest nvarchar(max) = 'S:ApproveRequest' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È DRAFT ÒÚ‡Ìˈ - Á‡ÔÓÒ Ì‡ ÔÓ‚ÂÍÛ Í ÒÎÛÊ·Â ÔÓ‰‰ÂÊÍË
- Declare @Sign_StatusApproveRequestPublish nvarchar(max) = 'S:ApproveRequestPublish' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È DRAFT ÒÚ‡Ìˈ - Á‡ÔÓÒ Ì‡ ÔÓ‚ÂÍÛ Ë ‡‚ÚÓχÚ˘ÂÒÍÛ˛ ÔÛ·ÎË͇ˆË˛
- Declare @Sign_StatusRemoveRequest nvarchar(max) = 'O:RemoveRequest' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È MASTER ÒÚ‡Ìˈ - Á‡ÔÓÒ Ì‡ Û‰‡ÎÂÌËÂ
- Declare @Sign_StatusRemoveRequestConfirmed nvarchar(max) = 'R:RemoveRequestConfirmed' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È MASTER ÒÚ‡Ìˈ - Á‡ÔÓÒ Ì‡ Û‰‡ÎÂÌË Œ ŒÕ◊¿“≈À‹ÕŒ !!
- Declare @Sign_StatusRemoveCopy nvarchar(max) = 'R:RemoveCopy' -- —Ú‡ÚÛÒ Ì‡Á̇˜‡ÂÏ˚È DRAFT ÒÚ‡Ìˈ - Á‡ÔÓÒ Ì‡ Û‰‡ÎÂÌË DRAFT ( & CLEAN ÂÒÎË Û Ì ÒÚ‡ÚÛÒ = NEW)
- Declare @Sign_StatusRobCommitRequest nvarchar(max) = 'R:CommitRequest'
- Declare @Sign_AuditStatusAllowed nvarchar(max) = 'S:AuditAllowed' -- —Ú‡ÚÛÒ ¿”ƒ»“¿ page\mail\banner : œÓ͇Á ‡Á¯ÂÌ
- Declare @Sign_AuditStatusBanned nvarchar(max) = 'S:AuditBanned' -- —Ú‡ÚÛÒ ¿”ƒ»“¿ page\mail\banner : œÓ͇Á Á‡Ô¢ÂÌ
- Declare @Sign_AdsActive nvarchar(max) = 'ADS:Active' -- Ads Group Active
- Declare @Sign_AdsDeletePending nvarchar(max) = 'ADS:DeletePending' -- Ads Group pending delete
- Declare @PageStatus_HiddenId bigint
- Declare @PageStatus_CommitRequest bigint
- Declare @PageStatus_NewId bigint
- Declare @PageStatus_EditId bigint
- Declare @PageStatus_EnabledId bigint
- Declare @PageStatus_DisabledId bigint
- Declare @PageStatus_ApproveRequestPublishId bigint
- Declare @PageStatus_ApproveRequestId bigint
- Declare @PageStatus_RemoveRequestConfirmedId bigint
- Declare @PageStatus_RemoveRequestId bigint
- Declare @PageStatus_RemoveCopyId bigint
- Declare @PageStatus_AuditAllowedId bigint
- Declare @PageStatus_AuditBannedId bigint
- Declare @Status_AdsActiveId bigint
- Declare @Status_AdsDeletePendingId bigint
- Declare @PageType_Page nvarchar(max) = 'PAGE' -- —Ú‡Ìˈ˚
- Declare @PageType_Banner nvarchar(max) = 'BANNER' -- ¡‡ÌÂ˚
- Declare @PageType_EMail nvarchar(max) = 'EMAIL' -- œÓ˜Ú‡
- Declare @PageType_PageId bigint -- —Ú‡Ìˈ˚ = 10000
- Declare @PageType_BannerId bigint -- ¡‡ÌÂ˚ = 10001
- Declare @PageType_EMailId bigint -- œÓ˜Ú‡ = 10002
- Declare @Old_PageStatusId bigint
- Declare @Access varchar(255)
- Declare @PageHTMLTemplate nvarchar(max) -- Page template HTML
- Declare @RootPageId bigint
- Declare @DraftPageId bigint
- Declare @ItemParentPageId bigint
- Declare @ItemOwnerPageId bigint
- declare @mItemOrderBy int
- declare @ItemMaskOld tinyint
- declare @PageMailId bigint = 0
- declare @PageBannerId bigint
- Declare @ItemBusinessPageId bigint
- Declare @ItemPageBannerId bigint
- Declare @itemParentBannerId bigint
- Declare @RebuildPageBannerId bigint
- Declare @CleanPageId bigint
- Declare @AdsGroupNewId bigint
- --
- -- ≈ÒÎË ˝ÚÓ ‡·ÓÚ‡ÂÏ ÒÓ ÒÚ‡Ìˈ‡ÏË - Ò‡ÁÛ ÔÓÎÛ˜ËÏ Ô‡‚‡.
- -- ƒÎˇ ÒÔ‡‚Ó˜ÌËÍÓ‚ - ·Û‰ÂÏ Ëı ÓÔ‰ÂΡڸ ÓÚ‰ÂθÌÓ.. ÔÓ ÏÂÒÚÛ ËÒÔÓθÁÓ‚‡Ìˡ
- --
- IF ISNULL( @ObjectType, '' ) != 'DR'
- BEGIN
- -- Get grant access to Business
- Select @Access = dbo.fn_CheckBusinessPageAccess( @UserId, @BusinessId, @ObjectId, @BusinessPageId, ISNULL( @AccessToLanguageId, @LanguageId ) )
- END
- Declare @BusinessImageName nvarchar(1024)
- DECLARE @ResultHTML nvarchar(max)
- DECLARE @ResultTEMPLATE nvarchar(max)
- SET @ResultMessage = ''
- SET @ResultHTML = NULL
- SET @ResultTEMPLATE = NULL
- Declare @NewObjectId bigint
- Declare @NewPageId bigint
- Declare @NewItemId bigint
- Declare @NewObjectTypeId bigint
- Declare @NewRoleId bigint
- Declare @mRowCount int
- SET @mRowCount = 0
- Declare @ResultAction nvarchar(max)
- Declare @mBusinessId bigint
- Declare @mObjectTypeId bigint
- Declare @ParentPageId bigint
- Declare @NewBusinessPageId bigint
- Declare @NewChildBusinessPageId bigint
- Declare @wrkParentId bigint
- Declare @RoleDataReference_Edit bigint
- Declare @Sign_Role_DataReference_Edit nvarchar(max)
- SET @Sign_Role_DataReference_Edit = 'DATAREFERENCE_EDITOR'
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'BUSINESS_GET_BY_USER'
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'BUSINESS_GET_BY_ID', @BusinessId = 1
- --
- -- EXEC asContentEditor @UserId = 10, @Language = 'ru', @Command = 'BUSINESS_GET_BY_USER'
- -- EXEC asContentEditor @UserId = 10, @Language = 'ru', @Command = 'BUSINESS_GET_BY_ID', @BusinessId = 84
- --
- -- œÓθÁÓ‚‡ÚÂβ ÓÚÓ·‡Ê‡˛ÚÒˇ ÚÓθÍÓ Ú ·ËÁÌÂÒ˚, ‰ÓÒÚÛÔ Í ÍÓÚÓ˚Ï
- -- ÓÔ‰ÂÎÂÌ Ô‡‚‡ÏË ÔÓθÁÓ‚‡ÚÂΡ (ÎË·Ó Í‡Í ‚·‰ÂΈ, ÎË·Ó ÔÓÎÛ˜ÂÌÌ˚ ÓÚ ‚·‰Âθˆ‡ ‡Á¯ÂÌˡ)
- --
- if @Command in ( 'BUSINESS_GET_BY_USER', 'BUSINESS_GET_BY_ID' )
- begin
- SELECT DISTINCT
- BUS.BusinessId ,
- BUS.BusinessName ,
- BUS.BusinessAddress ,
- OwnerId = BUS.CustomerId ,
- OwnerName = ISNULL( USR.UserFirstName, '' ) + ' ' + ISNULL( USR.UserLastName, '' ),
- BUS.BusinessURL ,
- BUS.Latitude ,
- BUS.Longitude ,
- BUS.MapZoom ,
- BUS.BusinessContact ,
- BUS.BusinessImageId ,
- BUS.BusinessImageName ,
- AccessList = 'OB' , -- Type = Business-Object
- Invite = ISNULL(SA.Status,''),
- Actions = ISNULL(REF.DataReferenceCode, '' )
- into #tmp
- FROM UsersAccess UA
- JOIN Business BUS ON BUS.BusinessId = UA.ObjectId
- JOIN Users USR ON USR.UserId = BUS.CustomerId
- JOIN DataReference ST ON ST.DataReferenceID = UA.RoleId
- LEFT JOIN SAInvite SA ON SA.UserId = @UserId
- AND SA.BusinessId = UA.ObjectId
- JOIN DataReference AR ON AR.LanguageId = 1
- AND AR.DataReferenceOwner = ST.DataReferenceId
- JOIN DataReference REF ON REF.DataReferenceId = CONVERT( bigint, AR.DataReferenceName )
- WHERE UA.UserId = @UserId
- AND UA.ObjectTypeId = @Sign_ObjectTypeId
- AND UA.ObjectId = ISNULL( @BusinessId, UA.ObjectId )
- SELECT *
- FROM (
- SELECT distinct
- BusinessId ,
- BusinessName ,
- BusinessAddress ,
- OwnerId ,
- OwnerName ,
- BusinessUrl ,
- Latitude ,
- Longitude ,
- MapZoom ,
- BusinessContact ,
- BusinessImageId ,
- BusinessImageName ,
- AccessList ,
- Invite ,
- ActionList = '-' +
- ( SELECT Actions + '-'
- FROM ( SELECT DISTINCT
- Actions
- from #tmp
- WHERE TTT.BusinessId = BusinessId
- ) QR
- order by Actions
- FOR XML PATH ('')
- )
- from #tmp TTT
- ) QR
- WHERE QR.ActionList IS NOT NULL
- ORDER BY CASE WHEN QR.OwnerId = @UserId THEN 0 ELSE 1 END,
- QR.BusinessName
- drop table #tmp
- RETURN
- end
- -- EXEC asContentEditor @UserId = 168, @Command = 'SA_GET_BY_USER'
- if @Command in ( 'SA_GET_BY_USER' )
- begin
- declare @ExpirationDate int = Convert(int, dbo.fn_DataReference_Value( 'SystemConfig', 'CountDayForSalesAgentExpiration'))
- SELECT
- ClientId = USR.UserId,
- SA.UserEmail,
- OwnerName = ISNULL( USR.UserFirstName, '' ) + ' ' + ISNULL( USR.UserLastName, '' ),
- OpenDate = USR.UserRegistered,
- ExpirationDate = Dateadd(yy, @ExpirationDate, USR.UserRegistered),
- BusinessNumber = (SELECT COUNT(*) FROM Business WHERE CustomerId = USR.UserId),
- PagesNumber = (SELECT Num = COUNT(BSP.BusinessId) FROM Business BSN Join BusinessPage BSP on BSP.BusinessId = BSN.BusinessId Where BSN.CustomerId = USR.UserId ),
- SA.ComissionTotal
- From SAInvite SA
- Join Users USR On USR.UserEMail = SA.UserEmail
- Where SA.UserId = @UserId AND SA.Status = 'Accepted'
- RETURN
- end
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_PREVIEW_ACCES', @BusinessPageId = -999 -- false
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_PREVIEW_ACCES', @BusinessPageId = 2898 -- true
- --
- -- ÃÓÊÌÓ ÎË ÚÂÍÛ˘ÂÏÛ ÔÓθÁÓ‚‡ÚÂβ ÔÓ͇Á‡Ú¸ PEVIEW - ÚÂÍÛ˘Û˛ ÒÚ‡ÌËˆÛ ?
- -- ƒ¿, ÂÒÎË Û ÌÂ„Ó ÒÛ˘ÂÒÚ‚Û˛Ú ıÓÚˇ ·˚ ͇ÍË ÌË·Û‰¸ Ô‡‚‡ Í ‰‡ÌÌÓÏÛ ·ËÁÌÂÒÛ.
- --
- if @Command = 'PAGE_PREVIEW_ACCES'
- begin
- Select top 1
- AccessAllowed = 'YES'
- from BusinessPage BP
- JOIN UsersAccess UA ON UA.UserId = @UserId
- AND UA.ObjectTypeId = @Sign_ObjectTypeId -- 'OB'
- AND UA.ObjectId = BP.BusinessId
- WHERE BP.BusinessPageId = @BusinessPageId
- -- One row cursor - Access ALLOWED !
- -- Empty cursor - Access RESTRICED !
- return
- end
- -- EXEC asContentEditor @UserId = 170, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId= 20099 -- true
- --
- -- ‘ÓÏËÛÂÏ ‚ÂÏÂÌÌÛ˛ Ú‡·ÎˈÛ, << @PAGE_ACCESS_Pages >> ‚ ÍÓÚÓÓÈ ÒÓı‡ÌˇÂÏ ËÌÙÓχˆË˛ Ó
- -- ÒÚ‡Ìˈ‡ı Ë Ô‡‚‡ı ‰ÓÒÚÛÔ‡ ÚÂÍÛ¯Â„Ó ÔÓθÁÓ‚‡ÚÂΡ Í ÌËÏ.
- --
- -- ›Ú‡ Ú‡·Îˈ‡ ·Û‰ÂÚ ËÒÔÓθÁÓ‚‡Ú¸Òˇ ‰Îˇ ÌÂÒÍÓθÍËı ‡ÁÌ˚ı ÍÓχ̉,
- -- ÌËÊ ÔÓ ÚÂÍÒÚÛ Ôӈ‰Û˚.
- --
- if @Command IN ( 'PAGE_GET_BY_BUSINESS', 'PAGE_GET_ONE' )
- begin
- -- 0. ŒÔ‰ÂΡÂÏ ¡ËÁÌÂÒ (ÂÒÎË Á‡‰‡Ì‡ ÚÓθÍÓ ÒÚ‡Ìˈ‡)
- if @BusinessId IS NULL
- BEGIN
- Select @BusinessId = BusinessId
- FROm BusinessPage
- WHERE BusinessPageId = @BusinessPageId
- END
- Declare @ActionList TABLE ( LanguageId bigint null,
- ActionCode varchar(128)
- )
- --
- -- ‘ÓÏËÛÂÏ Ú‡·ÎËˆÛ ‰ÓÒÚÛÔÓ‚ (ActionCode) ÔÓθÁÓ‚‡ÚÂΡ Í Á‡‰‡ÌÌÓÏÛ ·ËÁÌÂÒÛ,
- -- Ò Û˜ÂÚÓÏ ‡Á¯ÂÌÌ˚ı ‰Îˇ ÌÂ„Ó ˇÁ˚ÍÓ‚.
- --
- Insert into @ActionList
- Select DISTINCT
- UA.LanguageId,
- ActionCode = AA.DataReferenceCode
- FROM UsersAccess UA
- JOIN DataReference AR
- ON AR.DataReferenceClass = 'AccessRole'
- AND AR.LanguageId = 1
- AND AR.DataReferenceOwner IS NOT NULL
- AND AR.DataReferenceOwner = Convert( varchar(15),UA.RoleId)
- JOIN fn_DataReference( 'AccessAction', 'en', DEFAULT) AA
- ON AA.DataReferenceMasterId = Convert( bigint, AR.DataReferenceName )
- WHERE UA.UserId = @UserId
- AND UA.ObjectTypeId = @Sign_ObjectTypeId
- AND UA.ObjectId = @BusinessId
- Select @PageType_PageId = DataReferenceId
- FROM fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- WHERE DataReferenceCode = @PageType_Page
- --
- -- 1. —ÚÓËÏ ÒÔËÒÓÍ ÒÚ‡Ìˈ ‚˚·‡ÌÌÓ„Ó Ó·˙ÂÍÚ‡ ‰ÓÒÚÛÔÌ˚ı ÚÂÍÛ˘ÂÏÛ ÔÓθÁÓ‚‡ÚÂΡ.
- -- Ë ÔÓ‰·Ë‡ÂÏ Í ÌËÏ Ô‡Û(CHILD) - ÂÒÎË Ú‡Í‡ˇ ÂÒÚ¸
- --
- Declare @PAGE_ACCESS_Pages TABLE ( BusinessId bigint ,
- BusinessPageId bigint ,
- PageLanguageId bigint ,
- PageStatusId bigint ,
- ChildBusinessPageId bigint ,
- ChildPageStatusId bigint ,
- ActionList nvarchar(max) ,
- MasterPageReadOnly int NULL, -- 0 : Read & Write /// 1: Read only !
- ChildPageReadOnly int NULL -- 0 : Read & Write /// 1: Read only !
- )
- --
- -- œÓÎÛ˜‡ÂÏ Ô‡Û ( MASTER-CHILD ) - Ë Ò‚ˇÁ˚‚‡ÂÏ ËÁ Ò ‡Ì ÒÙÓÏËÓ‚‡ÌÌÓÈ Ú‡·ÎˈÂÈ
- -- ÒÓÓÚ‚ÂÒڂˡ ‡Á¯ÂÌÌ˚ı fl«€ -—œ»—Œ _ACTION, Á‡ÚÂÏ ÙËθÚÛÂÏ ÂÁÛθڇÚ
- -- ÔÓ ÒÔËÒÍÛ ˇÁ˚ÍÓ‚-ÒÚ‡ÚÛÒÓ‚ ÒÚ‡Ìˈ, ÍÓÚÓ˚ ‰ÓÒÚÛÔÌ˚ ÔÓθÁÓ‚‡ÚÂβ. ( fn_NestedPageStatus(***) )
- --
- if @Command IN ( 'PAGE_GET_BY_BUSINESS' )
- BEGIN
- --
- -- ¬ ÒÎÛ˜‡Â ÂÒÎË ˝ÚÓ "√À¿¬Õ¿fl" Á‡ÔËÒ¸ (ıÓÁˇÈ͇)
- --
- INSERT INTO @PAGE_ACCESS_Pages
- Select PARENT.BusinessId ,
- PARENT.BusinessPageId,
- PARENT.LanguageId ,
- PARENT.PageStatusId ,
- ChildBusinessPageId = ISNULL( CHILD.BusinessPageId, 0 ),
- ChildPageStatusId = ISNULL( CHILD.PageStatusId , 0 ),
- AL.ActionList ,
- MasterPageReadOnly = ISNULL( MAX( CASE
- WHEN ALLOWED_STATUS.Access_PageStatusId = ISNULL( PARENT.PageStatusId, 0 )
- THEN ALLOWED_STATUS.IsReadOnly
- ELSE NULL END
- ), 1 ),
- ChildPageReadOnly = ISNULL( MAX( CASE
- WHEN ALLOWED_STATUS.Access_PageStatusId = ISNULL( CHILD.PageStatusId, 0 )
- THEN ALLOWED_STATUS.IsReadOnly
- ELSE NULL END
- ), 1 )
- FROM BusinessPage PARENT
- -- JOIN fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- -- ON PGT.DataReferenceCode = @PageType_Page
- -- AND PGT.DataReferenceId = PARENT.PageTypeId
- JOIN (
- SELECT DISTINCT
- LanguageId ,
- ActionList = ( SELECT '-' + ActionCode + '-'
- FROM ( SELECT DISTINCT
- ActionCode
- from @ActionList
- WHERE ISNULL( TMP.LanguageId, -999 ) = ISNULL( LanguageId, -999 )
- ) QR
- order by ActionCode
- FOR XML PATH ('')
- )
- FROM @ActionList TMP
- ) AL
- ON ISNULL( AL.LanguageId, PARENT.LanguageId ) = PARENT.LanguageId
- LEFT JOIN BusinessPage CHILD
- ON CHILD.ParentPageId = PARENT.BusinessPageId
- JOIN fn_NestedPageStatus( @UserID, @BusinessId ) ALLOWED_STATUS
- ON ISNULL( ALLOWED_STATUS.LanguageId, PARENT.LanguageId ) = PARENT.LanguageId
- AND ALLOWED_STATUS.Access_PageStatusId IN ( PARENT.PageStatusId, CHILD.PageStatusId )
- AND ALLOWED_STATUS.IsReadOnly = 0 -- Edit enable !
- WHERE PARENT.BusinessId = @BusinessId
- AND PARENT.ParentPageId IS NULL
- AND PARENT.BusinessPageId = COALESCE( @BusinessPageId, PARENT.BusinessPageId )
- AND PARENT.PageTypeId = @PageType_PageId
- -- === ANSI WARNING : NULL value in GROUP BY ===
- GROUP BY PARENT.BusinessId ,
- PARENT.BusinessPageId ,
- PARENT.LanguageId ,
- PARENT.PageStatusId ,
- ISNULL( CHILD.BusinessPageId, 0 ),
- ISNULL( CHILD.PageStatusId , 0 ),
- AL.ActionList
- END
- ELSE -- if @Command IN ('PAGE_GET_ONE' )
- BEGIN
- --
- -- ¬ ÒÎÛ˜‡Â Á‡ÔÓÒ‡ Ó‰ËÌÓ˜ÌÓÈ Á‡ÔËÒË ( CRAN ËÎË DRAFT - Ì ‚‡ÊÌÓ)
- --
- INSERT INTO @PAGE_ACCESS_Pages
- Select DISTINCT
- ONE.BusinessId ,
- ONE.BusinessPageId ,
- ONE.LanguageId ,
- ONE.PageStatusId ,
- ChildBusinessPageId = ISNULL( CHILD.BusinessPageId, 0 ),
- ChildPageStatusId = ISNULL( CHILD.PageStatusId , 0 ),
- AL.ActionList ,
- MasterPageReadOnly = ISNULL( MAX( CASE
- WHEN ALLOWED_STATUS.Access_PageStatusId = ISNULL( ONE.PageStatusId, 0 )
- THEN ALLOWED_STATUS.IsReadOnly
- ELSE NULL END
- ), 1 ),
- ChildPageReadOnly = ISNULL( MAX( CASE
- WHEN ALLOWED_STATUS.Access_PageStatusId = ISNULL( CHILD.PageStatusId, 0 )
- THEN ALLOWED_STATUS.IsReadOnly
- ELSE NULL END
- ), 1 )
- FROM BusinessPage ONE
- -- JOIN fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- -- ON PGT.DataReferenceCode = @PageType_Page
- -- AND PGT.DataReferenceId = ONE.PageTypeId
- JOIN (
- SELECT DISTINCT
- LanguageId ,
- ActionList = ( SELECT '-' + ActionCode + '-'
- FROM ( SELECT DISTINCT
- ActionCode
- from @ActionList
- WHERE ISNULL( TMP.LanguageId, -999 ) = ISNULL( LanguageId, -999 )
- ) QR
- order by ActionCode
- FOR XML PATH ('')
- )
- FROM @ActionList TMP
- ) AL
- ON ISNULL( AL.LanguageId, ONE.LanguageId ) = ONE.LanguageId
- LEFT JOIN BusinessPage CHILD
- ON CHILD.ParentPageId = ONE.BusinessPageId
- JOIN fn_NestedPageStatus( @UserID, @BusinessId ) ALLOWED_STATUS
- ON ISNULL( ALLOWED_STATUS.LanguageId, ONE.LanguageId ) = ONE.LanguageId
- -- AND ALLOWED_STATUS.Access_PageStatusId = ONE.PageStatusId
- AND ALLOWED_STATUS.Access_PageStatusId IN ( ONE.PageStatusId, CHILD.PageStatusId )
- AND ALLOWED_STATUS.IsReadOnly = 0 -- Edit enable !
- --LEFT JOIN BusinessPage CHILD
- -- ON CHILD.ParentPageId = ONE.BusinessPageId
- WHERE ONE.BusinessPageId = @BusinessPageId
- AND ONE.PageTypeId = @PageType_PageId
- GROUP BY ONE.BusinessId ,
- ONE.BusinessPageId ,
- ONE.LanguageId ,
- ONE.PageStatusId ,
- ISNULL( CHILD.BusinessPageId, 0 ),
- ISNULL( CHILD.PageStatusId , 0 ),
- AL.ActionList
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2757
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2898
- /*
- Select * from BusinessPage ONE WHERE ONE.BusinessPageId= @BusinessPageId
- Select DISTINCT
- ONE.BusinessId ,
- ONE.BusinessPageId ,
- ONE.LanguageId ,
- ONE.PageStatusId ,
- ChildBusinessPageId = ISNULL( CHILD.BusinessPageId, 0 ),
- ChildPageStatusId = ISNULL( CHILD.PageStatusId , 0 ),
- AL.ActionList ,
- MasterPageReadOnly = 0, -- NOT USED
- ChildPageReadOnly = 0 -- NOT USED
- FROM BusinessPage ONE
- JOIN fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- ON PGT.DataReferenceCode = @PageType_Page
- AND PGT.DataReferenceId = ONE.PageTypeId
- JOIN (
- SELECT DISTINCT
- LanguageId ,
- ActionList = ( SELECT '-' + ActionCode + '-'
- FROM ( SELECT DISTINCT
- ActionCode
- from @ActionList
- WHERE ISNULL( TMP.LanguageId, -999 ) = ISNULL( LanguageId, -999 )
- ) QR
- order by ActionCode
- FOR XML PATH ('')
- )
- FROM @ActionList TMP
- ) AL
- ON ISNULL( AL.LanguageId, ONE.LanguageId ) = ONE.LanguageId
- JOIN fn_NestedPageStatus( @UserID, @BusinessId ) ALLOWED_STATUS
- ON ISNULL( ALLOWED_STATUS.LanguageId, ONE.LanguageId ) = ONE.LanguageId
- AND ALLOWED_STATUS.Access_PageStatusId = ONE.PageStatusId
- AND ALLOWED_STATUS.IsReadOnly = 0 -- Edit enable !
- LEFT JOIN BusinessPage CHILD
- ON CHILD.ParentPageId = ONE.BusinessPageId
- WHERE ONE.BusinessPageId= @BusinessPageId
- */
- /*
- select * from @ActionList
- select * from @PAGE_ACCESS_Pages
- */
- END
- end
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2757
- -- EXEC asContentEditor @UserId = 10, @Language = 'ru', @Command = 'PAGE_GET_BY_BUSINESS', @BusinessId = 1
- -- EXEC asContentEditor @UserId = 08, @Language = 'ru', @Command = 'PAGE_GET_BY_BUSINESS', @BusinessId = 2
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 1
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 1745
- --
- -- EXEC asContentEditor @UserId = 08, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2
- -- EXEC asContentEditor @UserId = 10, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2
- -- EXEC asContentEditor @UserId = 10, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 1739
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 3
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 4
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 5
- --
- -- œÓθÁÓ‚‡ÚÂβ ÓÚÓ·‡Ê‡˛ÚÒˇ ÚÓθÍÓ Ú ÒÚ‡Ìˈ˚, ‰ÓÒÚÛÔ Í ÍÓÚÓ˚Ï
- -- ÓÔ‰ÂÎÂÌ Ô‡‚‡ÏË ÔÓθÁÓ‚‡ÚÂΡ (ÎË·Ó Í‡Í ‚·‰ÂΈ, ÎË·Ó ÔÓÎÛ˜ÂÌÌ˚ ÓÚ ‚·‰Âθˆ‡ ‡Á¯ÂÌˡ)
- -- ¬ ÚÓÏ ˜ËÒΠÏÓÊÂÚ Ó„‡Ì˘˂‡Ú¸Òˇ ‰ÓÒÚÛÔ ÔÓ ˇÁ˚͇Ï.
- --
- -- “‡·Îˈ‡ <<@PAGE_ACCESS_Pages>> ÔÓ‰„ÓÚÓ‚ÎÂ̇ ‚˚¯Â....
- --
- -- ƒÓÔÓÎÌËÚÂθÌÓ, ÏÓÊÂÚ Ó„‡Ì˘˂‡Ú¸Òˇ ÓÚÓ·‡ÊÂÌËÂ Ó ÒÚ‡Ìˈ (ËÎË Â ÍÓÔËË ‚ ÒÓÒÚÓˇÌËË Â‰‡ÍÚËÓ‚‡Ìˡ)
- -- ‚ Á‡‚ËÒËÏÓÒÚË ÓÚ –ŒÀ» ÔÓθÁÓ‚‡ÚÂΡ Ë ‰ÓÒÚÛÔÌ˚ı Ú‡ÍÓÈ –ŒÀ» - —“¿“”—¿’ ÒÚ‡Ìˈ˚
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_BY_BUSINESS', @BusinessId = 1090 -- true
- -- EXEC asContentEditor @UserId = 11, @Language = 'ru', @Command = 'PAGE_GET_BY_BUSINESS', @BusinessId = 1090 -- true
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2757 -- true
- -- EXEC asContentEditor @UserId = 11, @Language = 'ru', @Command = 'PAGE_GET_ONE', @BusinessPageId = 2757 -- true
- if @Command IN ( 'PAGE_GET_BY_BUSINESS', 'PAGE_GET_ONE' )
- begin
- SET @ResultHTML = ''
- --
- -- œÓÎÛ˜‡ÂÏ ‰ÂڇθÌÛ˛ ‡Ò¯ËÙÓ‚ÍÛ Ô‡˚ (ËÎË Ó‰ÌÓÈ...) ÒÚ‡Ìˈ
- --
- SELECT BPG.BusinessPageId ,
- BPG.ParentPageId ,
- TTT.BusinessId ,
- BUS.BusinessURL ,
- BUS.Latitude ,
- BUS.Longitude ,
- BUS.MapZoom ,
- BUS.BusinessImageId ,
- BusinessImageName = USI.ImageName ,
- BUS.BusinessContact ,
- OwnerId = BUS.CustomerId ,
- BPG.PageName ,
- BPG.PageAddress ,
- BPG.PageDescription ,
- BPG.PageTemplateId ,
- PageTemplateName = ISNULL( BPT.TemplateName , '' ),
- PageTemplateHTML = ISNULL( BPT.TemplateHTML , '' ),
- TTT.PageStatusId ,
- PageStatusCode = EMSTA.DataReferenceCode,
- PageStatusName = ISNULL( MSTA.DataReferenceName , '' ),
- PageTypeCode = PGT.DataReferenceCode ,
- PageTypeId = BPG.PageTypeId ,
- BPG.AdsGroupId ,
- ADS.AdsGroupName ,
- ADS.AdsRankId ,
- AdsRankName = ADR.DataReferenceName ,
- AdsRankValue = ADR.DataReferenceValue,
- BPG.LanguageId ,
- Language = LNG.DataReferenceCode ,
- LanguageName = LNG.DataReferenceName ,
- BPG.PageVersion ,
- BUS.BusinessName ,
- BPG.PageHTMLLeft ,
- BPG.PageHTMLRight ,
- BPG.PageHTMLTemplate ,
- BPG.PageHTMLAdv ,
- TTT.ActionList ,
- TTT.ChildBusinessPageId ,
- ChildPageStatusCode = ECSTA.DataReferenceCode,
- ChildPageStatusName = ISNULL( CSTA.DataReferenceName , '' ),
- TTT.MasterPageReadOnly ,
- TTT.ChildPageReadOnly ,
- BPG.PageAuditStatusId ,
- PageAuditStatusCode = AUDIT.DataReferenceCode,
- PageAuditStatusName = AUDIT.DataReferenceCode
- from @PAGE_ACCESS_Pages TTT
- JOIN Business BUS ON BUS.BusinessId = TTT.BusinessId
- JOIN BusinessPage BPG ON BPG.BusinessPageId = TTT.BusinessPageId
- JOIN BusinessPageTemplate BPT ON BPT.PageTemplateId = BPG.PageTemplateId
- JOIN fn_DataReference( 'language' , @Language, DEFAULT ) LNG ON LNG.DataReferenceMasterId = BPG.LanguageId
- JOIN fn_DataReference( 'AdPageType' , @Language, DEFAULT ) PGT ON PGT.DataReferenceMasterId = BPG.PageTypeId
- JOIN AdsGroup ADS ON ADS.AdsGroupId = BPG.AdsGroupId
- JOIN fn_DataReference( 'AdsRank' , @Language, DEFAULT ) ADR ON ADR.DataReferenceMasterId = ADS.AdsRankId
- JOIN fn_DataReference( 'AdPageStatus', @Language, DEFAULT ) MSTA ON MSTA.DataReferenceMasterId = BPG.PageStatusId
- JOIN fn_DataReference( 'AdPageStatus', @Language, DEFAULT ) AUDIT ON AUDIT.DataReferenceMasterId = BPG.PageAuditStatusId
- JOIN fn_DataReference( 'AdPageStatus', 'en' , DEFAULT ) EMSTA ON EMSTA.DataReferenceMasterId = BPG.PageStatusId
- LEFT JOIN fn_DataReference( 'AdPageStatus', @Language, DEFAULT ) CSTA ON CSTA.DataReferenceMasterId = TTT.ChildPageStatusId
- LEFT JOIN fn_DataReference( 'AdPageStatus', 'en' , DEFAULT ) ECSTA ON ECSTA.DataReferenceMasterId = TTT.ChildPageStatusId
- LEFT JOIN UsersImage USI ON USI.UserImageId = BUS.BusinessImageId
- ORDER BY BPG.PageTypeId ,
- BPG.BusinessPageId
- RETURN
- end
- -----------------------------------------------------------
- --
- -- Get PageTemplate ( all \ or \ selected type )
- --
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_TEMPLATE'
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_TEMPLATE', @PageTypeId = 10000
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_TEMPLATE', @PageTypeId = 10002
- -----------------------------------------------------------
- --
- -- œÓÎÛ˜ÂÌË ‚ÒÂı ‰ÓÒÚÛÔÌ˚ı ¯‡·ÎÓÌÓ‚ ‚̯ÌÂ„Ó ‚ˉ‡ ÒÚ‡Ìˈ ( ·‡ÌÂÓ‚ \ ÔËÒÂÏ)
- --
- if @Command IN ( 'PAGE_GET_TEMPLATE' )
- begin
- Select BPT.PageTemplateId ,
- BPT.TemplateName ,
- BPT.TemplateDescription ,
- BPT.TemplateHTML ,
- BPT.PageTypeId ,
- PageTypeCode = TYP.DataReferenceCode,
- PageTypeName = TYP.DataReferenceName
- from fn_DataReference('ADPageType', @Language, DEFAULT) TYP
- JOIN BusinessPageTemplate BPT ON BPT.PageTypeId = TYP.DataReferenceMasterId
- WHERE TYP.DataReferenceMasterId = @PageTypeId
- return
- end
- --
- -- »ÁÏÂÌÂÌË ӷ˘Â„Ó ÓÔËÒ‡Ìˡ ·ËÁÌÂÒ-Ó·˙ÂÍÚ‡
- --
- -- »À» : ƒÓ·‡‚ÎÂÌË Ռ¬Œ√Œ ·ËÁÌÂÒ-Ó·˙ÂÍÚ‡ (ÂÒÎË @BusinessId = 0)
- --
- if @Command = 'BUSINESS_SET' -- Add & Update
- BEGIN
- If Exists ( Select 1 FROM fn_DataReference( 'ForbiddenWords', 'en', DEFAULT ) WHERE DataReferenceName = @BusinessURL )
- OR Exists ( Select 1 FROM Business WHERE BusinessId != @BusinessId and BusinessURL = @BusinessURL )
- BEGIN
- select BusinessId = 0,
- ErrorMessage = 'BadURL' -- Code = 'BadURL' used for translate full text: 'This (URL) name is used or present in the banned word list'
- return
- END
- Select @BusinessImageName = ImageName
- from UsersImage
- Where UserImageId = @BusinessImageId
- IF @BusinessId = 0 -- Add new Business
- BEGIN
- INSERT INTO Business( CustomerId ,
- BusinessName ,
- BusinessAddress ,
- BusinessURL ,
- Latitude ,
- Longitude ,
- MapZoom ,
- BusinessContact ,
- BusinessImageId ,
- BusinessImageName
- )
- Values ( @UserId ,
- @BusinessName ,
- @BusinessAddress,
- @BusinessUrl ,
- @Latitude ,
- @Longitude ,
- @MapZoom ,
- @BusinessContact,
- @BusinessImageId,
- @BusinessImageName
- )
- SET @NewObjectId = @@IDENTITY
- Select @NewObjectTypeId = DataReferenceMasterId
- FROM fn_DataReference( 'AccessObjects', 'en', DEFAULT)
- WHERE DataReferenceCode = 'OB'
- SELECT @NewRoleId = DataReferenceMasterId
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceCode = @Sign_RoleOwner
- --
- -- Assign Access grant
- --
- INSERT INTO UsersAccess ( UserId ,
- ObjectTypeId,
- ObjectId ,
- LanguageId ,
- RoleId
- )
- VALUES ( @UserId ,
- @NewObjectTypeId ,
- @NewObjectId ,
- NULL ,
- @NewRoleId
- )
- --
- -- Add DEFAULT AdsGroups
- -- Pages & Banners & EMails
- --
- Select @Status_AdsActiveId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- Where DataReferenceCode = @Sign_AdsActive
- insert into AdsGroup( BusinessId, AdsGroupName, AdsRankId, AdsStatusId )
- Select @NewObjectId ,
- 'DefaultCampaign' ,
- case @AdsRankId when '' then ADS.DataReferenceId else @AdsRankId end ,
- @Status_AdsActiveId
- from fn_DataReference ( 'AdsRank' , 'en', DEFAULT) ADS
- where ADS.DataReferenceCode = 'StandartRank'
- --
- -- New BusinessId
- --
- SET @BusinessId = @NewObjectId
- END
- ELSE
- BEGIN
- IF @Access NOT like '%-BusinessEdit-%'
- BEGIN
- return -- UPDATE DB FAILED!
- END
- UPDATE Business
- SET BusinessName = @BusinessName ,
- BusinessAddress = @BusinessAddress ,
- BusinessURL = @BusinessUrl ,
- Latitude = @Latitude ,
- Longitude = @Longitude ,
- MapZoom = @MapZoom ,
- BusinessContact = @BusinessContact ,
- BusinessImageId = @BusinessImageId ,
- BusinessImageName = @BusinessImageName
- WHERE BusinessId = @BusinessId
- -- Remove old categories list for this object ::
- Delete
- from Categories
- WHERE BusinessId = @BusinessId
- END
- -- SET \ Change categories list for this object ::
- Insert into Categories ( BusinessId, CategoriesId)
- Select BusinessId = @BusinessId,
- CategoriesId = DataReferenceID
- FROM dbo.fn_DataReference( 'AdCategories', 'en', DEFAULT)
- WHERE @CategoriesCloud like '%<' + Convert( varchar(15), DataReferenceId ) + '>%'
- --
- -- New business Id
- --
- select BusinessId = @BusinessId,
- ErrorMessage = ''
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'BUSINESS_DELETE', @BusinessId = 1102
- --
- -- Remove Business & Categories & AccessGrant if business-object not included AdsGroup
- --
- if @Command = 'BUSINESS_DELETE'
- BEGIN
- IF @Access NOT like '%-BusinessEdit-%'
- BEGIN
- SET @ResultMessage = 'You are not authorized to perform that operation.'
- return
- END
- if EXISTS ( Select 1
- FROM AdsGroup
- WHERE BusinessId = @BusinessId
- )
- BEGIN
- SET @ResultMessage = 'This business object exist ADS group. Deleting is not possible.'
- return
- END
- Delete FROM Categories where BusinessId = @BusinessId
- Delete FROM UsersAccess where ObjectTypeId = @Sign_ObjectTypeId AND ObjectId = @BusinessId
- Delete FROM Business where BusinessId = @BusinessId
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = 1234, @BusinessPageId = 0
- /*
- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = '2' , @BusinessPageId = '0'
- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = '0' , @BusinessPageId = '2'
- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_COUNT', @BusinessId = '0' , @BusinessPageId = '0'
- */
- --
- -- —Ú‡ÚËÒÚË͇ Ó ÒÚ‡Ìˈ‡ı ·ËÁÌÂÒ‡ ‰Îˇ Wizard
- --
- if @Command = 'PAGE_COUNT'
- BEGIN
- if @BusinessId = '0'
- BEGIN
- Select @BusinessId = BusinessId
- FROM BusinessPage
- Where BusinessPageId = @BusinessPageId
- END
- Select @PageType_PageId = DataReferenceId
- FROM fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- WHERE DataReferenceCode = @PageType_Page
- Select BUS.BusinessId ,
- CleanPageCount = sum( case when BP.BusinessPageId IS NOT NULL AND BP.ParentPageId IS NULL then 1 else 0 end ),
- CleanLastPageId = max( case when BP.BusinessPageId IS NOT NULL AND BP.ParentPageId IS NULL then BP.BusinessPageId else 0 end ),
- DraftPageCount = sum( case when BP.BusinessPageId IS NOT NULL AND BP.ParentPageId IS NOT NULL then 1 else 0 end ),
- DraftLastPageId = max( case when BP.BusinessPageId IS NOT NULL AND BP.ParentPageId IS NOT NULL then BP.BusinessPageId else 0 end )
- from Business BUS
- LEFT JOIN BusinessPage BP ON BP.BusinessId = BUS.BusinessId
- AND BP.PageTypeId = @PageType_PageId
- where BUS.BusinessId = @BusinessId
- GROUP BY BUS.BusinessId
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_NEW', @BusinessId = 2, @AdsGroupId = 0
- --
- -- √ÓÚÓ‚ËÏ ¯‡·ÎÓÌ ‰Îˇ ÒÓÁ‰‡Ìˡ ÌÓ‚ÓÈ ÒÚ‡Ìˈ˚ ‰Îˇ ·ËÁÌÂÒ‡ ( Á̇˜ÂÌˡ ÔÓ ÛÏÓΘ‡Ì˲ )
- -- ¬ ÒÎÛ˜‡Â ÂÒÎË ÔÓθÁÓ‚‡ÚÂθ Ì ËÏÂÂÚ Ú‡ÍËı Ô‡‚ - ÌË˜Â„Ó Ì ‚ÓÁ‚‡˘‡Ï !!
- --
- if @Command = 'PAGE_NEW'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- return -- FAILED!
- END
- if (@AdsGroupId = 0 ) -- if create first page for business
- Begin
- Select top 1
- @AdsGroupId = AdsGroupId
- From AdsGroup
- Where BusinessId = @BusinessId
- End
- If @LanguageId=''
- begin
- Select @LanguageId = DataReferenceId
- from DataReference
- where DataReferenceClass = 'language'
- AND LanguageId = 1
- AND DataReferenceCode = @Language
- end
- Select @LanguageName= DataReferenceName from(
- select Dr.DataReferenceName as DataReferenceName, Dr.DataReferenceMasterId as DataReferenceMasterId from DataReference Dr
- join Datareference Dr1 on Dr1.DataReferenceClass='Language' and Dr1.DataReferenceCode=@Language
- where Dr.DataReferenceClass='Language'
- and Dr.LanguageId=Dr1.DataReferenceId
- )AS AllLanguages
- where AllLanguages.DataReferenceMasterId=@LanguageId
- SELECT BusinessId = BUS.BusinessId ,
- PageName = case @PageName when '' then BUS.BusinessName else @PageName end,
- LanguageId = @LanguageId ,
- LanguageName = @LanguageName ,
- ActionList = @Access ,
- PageDescription = case @PageDescription when '' then 'Place to enter a brief description your business or current page. Fill line 2-3, max.'else @PageDescription end,
- PageTypeId = PGT.DataReferenceId ,
- PageTemplateId = case @AdsGroupId when '0' then 1 else 1021 end, -- PAGE TEMPLATE -- ERR DEBUG CHANGE !!
- PageHTMLTemplate = BPT.TemplateHTML ,
- PageAddress = case @PageAddress when '' then BUS.BusinessAddress else @PageAddress end ,
- AdsGroupId = ADSG.AdsGroupId ,
- AdsGroupName = ADSG.AdsGroupName ,
- AdsRankId = ADSG.AdsRankId ,
- AdsRankName = ADSR.DataReferenceName,
- AdsRankValue = ADSR.DataReferenceValue
- FROM Business BUS
- JOIN fn_dataReference( 'adPageType', 'en', DEFAULT ) PGT
- ON PGT.DataReferenceCode = @PageType_Page
- JOIN BusinessPageTemplate BPT ON BPT.PageTemplateId = 1 -- PAGE TEMPLATE -- ERR DEBUG CHANGE !!
- JOIN AdsGroup ADSG ON ADSG.AdsGroupId = @AdsGroupId
- JOIN fn_dataReference( 'AdsRank' , @Language, DEFAULT ) ADSR
- ON ADSR.DataReferenceMasterId = ADSG.AdsRankId
- WHERE BUS.BusinessId = @BusinessId
- RETURN
- END
- --
- -- ƒÓ·‡‚ÎÂÌË ÌÓ‚ÓÈ ÒÚ‡Ìˈ˚ Í ·ËÁÌÂÒÛ.
- -- ÕÓ‚‡ˇ ÒÚ‡Ìˈ‡ ÒÓÒ‰‡ÂÚÒˇ ÒÓ ÒÚ‡ÚÛÒÓÏ NEW
- -- Œ‰ÌÓ‚ÂÏÂÌÌÓ ÒÓÁ‰‡ÂÚÒˇ ÍÓÔˡ ÒÚ‡Ìˈ˚ ‚ ÒÓÒÚÓˇÌËË Â‰‡ÍÚËÓ‚‡Ìˡ
- --
- if @Command = 'PAGE_ADD'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- SET @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- --
- -- Add as "New" ( MASTER )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- Select @PageAuditStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_AuditStatusAllowed
- INSERT INTO BusinessPage ( BusinessId ,
- PageName ,
- PageAddress ,
- PageDescription ,
- LanguageId ,
- PageTemplateId ,
- PageHTMLTemplate ,
- PageStatusId ,
- PageAuditStatusId ,
- PageTypeId ,
- AdsGroupId ,
- PageVersion
- )
- Select BusinessId = @BusinessId ,
- PageName = RTRIM(LTRIM( @PageName )),
- PageAddress = RTRIM(LTRIM( @PageAddress )),
- PageDescription = RTRIM(LTRIM( @PageDescription )),
- LanguageId = @LanguageId ,
- PageTemplateId = @PageTemplateId ,
- PageHTMLTemplate = TPL.TemplateHTML ,
- PageStatusId = @PageStatusId ,
- PageAuditStatusId = @PageAuditStatusId ,
- PageTypeId = @PageTypeId ,
- AdsGroupId = @AdsGroupId ,
- PageVersion = CONVERT( varchar(64), getUTCdate(), 120) -- PageVersion
- From BusinessPageTemplate TPL
- where TPL.PageTemplateId = @PageTemplateId
- SET @NewPageId = @@IDENTITY
- -- Reassign AdsRank :
- Update AdsGroup
- SET AdsRankId = @AdsRankId
- WHERE AdsGroupId = @AdsGroupId
- -- Set this page as ROOT == REF TO THIS RECORD !!!!!!!!!!!!!!!!!!!!!!
- UPDATE BusinessPage
- SET RootPageId = BusinessPageId
- WHERE BusinessPageId = @NewPageId
- -- œÂ‚‡ˇ ÒÚ‡Ìˈ‡ ‚ ˝ÚÓÈ ADS - „ÛÔÔÂ
- --
- -- Add as "EMAIL"
- --
- Select @PageTypeId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageType', 'en', DEFAULT)
- where DataReferenceCode = 'EMAIL'
- SET @PageTemplateId = 3 -- ERR ! DEBUG !! CHANGE !!!!!!!!!!!!!!!!
- INSERT INTO BusinessPage ( BusinessId ,
- RootPageId , -- ref to root page
- PageName ,
- PageAddress ,
- PageDescription ,
- LanguageId ,
- PageTemplateId ,
- PageHTMLTemplate ,
- PageStatusId ,
- PageAuditStatusId ,
- PageTypeId ,
- AdsGroupId ,
- PageVersion
- )
- Select BusinessId = @BusinessId ,
- RootPageId = @NewPageId ,
- PageName = RTRIM(LTRIM( @PageName )),
- PageAddress = RTRIM(LTRIM( @PageAddress )),
- PageDescription = RTRIM(LTRIM( @PageDescription )),
- LanguageId = @LanguageId ,
- PageTemplateId = @PageTemplateId ,
- PageHTMLTemplate = TPL.TemplateHTML ,
- PageStatusId = @PageStatusId ,
- PageAuditStatusId = @PageAuditStatusId ,
- PageTypeId = @PageTypeId ,
- AdsGroupId = @AdsGroupId ,
- PageVersion = CONVERT( varchar(64), getUTCdate(), 120) -- PageVersion
- From BusinessPageTemplate TPL
- where TPL.PageTemplateId = @PageTemplateId
- --
- -- Call SELF with "switch this page to EDIT mode"
- --
- -- asContentEditor(PAGE_TO_EDIT_MODE) return cursor = NULL or table = { BusinessPageId, ChildPageId }
- --
- -------------------------------------------------------
- -- Select BusinessPageId = @BusinessPageId,
- -- ChildBusinessPageId = @wrkParentId
- -------------------------------------------------------
- EXEC asContentEditor @UserId = @UserId ,
- @Language = @Language ,
- @Command = 'PAGE_TO_EDIT_MODE',
- @BusinessPageId = @NewPageId
- RETURN
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_TO_EDIT_MODE', @BusinessPageId = 2
- --
- -- —ÓÁ‰‡ÂÏ "ÍÓÔ˲" ÓÒÌÓ‚ÌÓÈ ÒÚ‡Ìˈ˚ ‰Îˇ ‰‡ÍÚËÓ‚‡Ìˡ
- -- ÃÓÊÂÚ ‚˚Á˚‚‡Ú¸Òˇ ÚÓθÍÓ Ì‡ MASTER - ÒÚ‡ÌˈÂ
- --
- if @Command = 'PAGE_TO_EDIT_MODE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- SET @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- Select @PageType_PageId = DataReferenceId
- FROM fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- WHERE DataReferenceCode = @PageType_Page
- IF EXISTS ( SELECT 1
- FROM BusinessPage
- where BusinessPageId = @BusinessPageId
- and PageTypeId = @PageType_PageId
- and ParentPageId IS NOT NULL
- )
- BEGIN
- -- Its NOT MASTER Record !
- SET @ResultMessage = 'Error call. Its not CLEAN PAGE record !'
- return
- END
- --
- -- TEST : Exists DRAFT RECORDS ?
- --
- if EXISTS ( Select 1
- From BusinessPage
- Where RootPageId = @BusinessPageId
- AND ParentPageId IS NOT NULL
- )
- BEGIN
- -- ՇȉÂÏ PAGE-DRAFT
- SET @wrkParentId = NULL
- Select @wrkParentId = BusinessPageId
- FROM BusinessPage
- WHERE ParentPageId = @BusinessPageId
- if @wrkParentId IS NOT NULL
- BEGIN
- --
- -- return EXISTS page IDs
- --
- Select BusinessPageId = @BusinessPageId,
- ChildBusinessPageId = @wrkParentId
- return
- END
- Else
- BEGIN
- SET @ResultMessage = 'Error call. Exists DRAFT copy and its not PAGE !'
- return
- END
- END
- --
- -- ◊ÂÌÓ‚ËÍÓ‚ ÌÂÚ. ÕÛÊÌÓ Ëı ÒÓÁ‰‡Ú¸.
- --
- -- Get status for "CHILD" page
- -- Add as "T:Edit" ( CHILD )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEdit
- --
- -- Create CHILD
- --
- INSERT INTO BusinessPage ( [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId]
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId]
- )
- SELECT [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId] = @PageStatusId
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId] = BusinessPageId
- FROM BusinessPage
- WHERE RootPageId = @BusinessPageId
- Select @NewChildBusinessPageId = BusinessPageId
- FROM BusinessPage
- WHERE ParentPageId = @BusinessPageId -- PAGE - DRAFT
- --
- -- Create CHILD-PAGE-ITEMS
- --
- INSERT INTO BusinessPageItem ( [BusinessPageId]
- ,[PageItemTemplateId]
- ,[PageBannerId]
- ,[PageItemMask]
- ,[PageItemLocation]
- ,[PageItemOrderBy]
- ,[PageItemCaption]
- ,[PageItemTxt_01]
- ,[PageItemTxt_02]
- ,[PageItemTxt_03]
- ,[PageItemTxt_04]
- ,[PageItemImg_01_Id]
- ,[PageItemImg_02_Id]
- ,[PageItemImg_03_Id]
- ,[PageItemImg_04_Id]
- )
- SELECT BusinessPageId = @NewChildBusinessPageId, -- PAGE--˜ÂÌÓ‚ËÍ
- BPI.PageItemTemplateId ,
- PageBannerId = BP.BusinessPageId, -- Ref to BANNER-˜ÂÌÓ‚ËÍ
- BPI.PageItemMask ,
- BPI.PageItemLocation ,
- BPI.PageItemOrderBy ,
- BPI.PageItemCaption ,
- BPI.PageItemTxt_01 ,
- BPI.PageItemTxt_02 ,
- BPI.PageItemTxt_03 ,
- BPI.PageItemTxt_04 ,
- BPI.PageItemImg_01_Id ,
- BPI.PageItemImg_02_Id ,
- BPI.PageItemImg_03_Id ,
- BPI.PageItemImg_04_Id
- FROM BusinessPageItem BPI
- LEFT JOIN BusinessPage BP ON BP.ParentPageId = BPI.PageBannerId
- WHERE BPI.BusinessPageId = @BusinessPageId
- --
- -- return THIS pages IDs
- --
- Select BusinessPageId = @BusinessPageId,
- ChildBusinessPageId = @NewChildBusinessPageId
- return
- END
- --
- -- –‰‡ÍÚËÓ‚‡Ìˡ ÓÔËÒ‡Ìˡ ( Á‡„ÓÎÓ‚ÍÓ‚ ) ÒÚ‡Ìˈ˚
- --
- if @Command = 'PAGE_SET'
- BEGIN
- --
- -- ACTION : ÔÓÁ‚ÓΡ˛˘Ë ‚ÌÓÒËÚ¸ ËÁÏÂÌÂÌˡ ̇ ÒÚ‡ÌˈÂ
- --
- If NOT ( @Access LIKE '%-PageCreate-%' OR @Access LIKE '%-PageTranslate-%' )
- BEGIN
- return -- FAILED!
- END
- Select @Status_AdsActiveId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_AdsActive
- Select @Status_AdsDeletePendingId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_AdsDeletePending
- Select @PageStatus_HiddenId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusHidden
- Select @PageStatus_EnabledId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusEnabled
- Select @PageStatus_DisabledId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusDisabled
- Select @PageStatus_RemoveCopyId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusRemoveCopy
- Select @PageStatus_ApproveRequestId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusApproveRequest
- Select @PageStatus_ApproveRequestPublishId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusApproveRequestPublish
- Select @PageStatus_RemoveRequestConfirmedId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusRemoveRequestConfirmed
- Select @PageStatus_CommitRequest = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusRobCommitRequest
- Select @ParentPageId = ParentPageId ,
- @Old_PageStatusId = PageStatusId
- FROM BusinessPage
- WHERE BusinessPageId = @BusinessPageId
- if @ParentPageId IS NULL -- ˜ËÒÚÓ‚ËÍ
- BEGIN
- UPDATE BusinessPage
- SET LanguageId = @LanguageId ,
- PageStatusId = CASE WHEN PageStatusId = @PageStatus_HiddenId then PageStatusId else @PageStatusId END
- WHERE RootPageId = @BusinessPageId
- AND ParentPageId IS NULL -- For CLEAN copy ONLY !
- -- Disable @LanguageId - pages in other AdsGroup current Business
- -- If set now PageStats = Enabled
- -- Set DISABLED for other ENABLED CLEAN pages on @LanguageId
- --
- if @Old_PageStatusId != @PageStatus_EnabledId AND @PageStatusId = @PageStatus_EnabledId
- Begin
- UPDATE BusinessPage
- SET PageStatusId = @PageStatus_DisabledId
- WHERE BusinessId = @BusinessId
- AND RootPageId != @BusinessPageId
- AND ParentPageId IS NULL
- AND LanguageId = @LanguageId
- AND PageStatusId = @PageStatus_EnabledId
- End
- END
- else
- BEGIN -- ˜ÂÌÓ‚ËÍ
- -- ????
- -- LanguageId -- ÌÛÊÌÓ Ò ıËÚÓÒÚˇÏË - ‚ Á‡‚ËÒËÏÓÒÚË ÓÚ ÏÂÒÚ‡
- -- PageDescription
- -- PageTemplateId
- UPDATE BusinessPage
- SET PageDescription = RTRIM(LTRIM( @PageDescription )) ,
- PageName = RTRIM(LTRIM( @PageName )) ,
- PageAddress = RTRIM(LTRIM( @PageAddress )) ,
- PageStatusId = @PageStatusId ,
- PageVersion = CONVERT( varchar(64), getUTCdate(), 120)
- WHERE BusinessPageId = @BusinessPageId
- END
- --
- -- DEBUG : Auto publication if SET STATUS 'S:ApproveRequest' or 'S:ApproveRequestPublish'
- --
- IF @PageStatusId in( @PageStatus_ApproveRequestId, @PageStatus_ApproveRequestPublishId)
- BEGIN
- EXEC asRequestHandling @Command='ADD_REQUEST', @Status=0, @RequestDescription=@PageUrl, @UserId=@UserId, @RequestType='2'
- if @PageUrl in (Null, '')
- begin
- EXEC exPagePublication @DraftPageId = @BusinessPageId
- end
- END
- IF @PageStatusId in( @PageStatus_CommitRequest )
- BEGIN
- --
- -- CHILD page -> MASTER page ( && Items )
- --
- --UPDATE BusinessPage
- --SET PageStatusId = @PageStatus_DisabledId
- --WHERE BusinessId = @BusinessId
- -- AND RootPageId != @BusinessPageId
- -- AND ParentPageId IS NULL
- -- AND LanguageId = @LanguageId
- -- AND PageStatusId = @PageStatus_EnabledId
- select @NewChildBusinessPageId = ParentPageId from BusinessPage --Get parent of the page that need to be ON.
- where BusinessPageId = @BusinessPageId
- EXEC exPagePublication @DraftPageId = @BusinessPageId
- -- And SET ACTVATE (ENABLED) for current page
- --AAAAAAAAAAAAAAAAAAAA
- UPDATE BusinessPage
- SET PageStatusId = CASE WHEN PageStatusId = @PageStatus_HiddenId then PageStatusId else @PageStatus_EnabledId END
- WHERE RootPageId = @NewChildBusinessPageId
- AND ParentPageId IS NULL -- For CLEAN copy ONLY !
- -- Disable @LanguageId - pages in other AdsGroup current Business
- -- If set now PageStats = Enabled
- -- Set DISABLED for other ENABLED CLEAN pages on @LanguageId
- UPDATE BusinessPage
- SET PageStatusId = @PageStatus_DisabledId
- WHERE BusinessId = @BusinessId
- AND RootPageId != @NewChildBusinessPageId
- AND ParentPageId IS NULL
- AND LanguageId = @LanguageId
- AND PageStatusId = @PageStatus_EnabledId
- --BBBBBBBBBBBBBBBBBBBB
- --Update BusinessPage
- --SET PageStatusId = @PageStatus_EnabledId
- --WHERE BusinessPageId = @NewChildBusinessPageId
- END
- --
- -- DEBUG : END ---------------------------
- --
- --
- -- DEBUG : Auto remove page (MASTER\CHILD) if SET STATUS 'R:Remove*******PAGE'
- --
- IF @PageStatusId in ( @PageStatus_RemoveRequestConfirmedId, @PageStatus_RemoveCopyId )
- BEGIN
- --
- -- Send: CLEAN or DRAFT BusinessPageId
- --
- -- —ÂȘ‡Ò ‚˚ÔÓÎÌˇÂÚÒˇ ‘»«»◊≈— Œ≈ Û‰‡ÎÂÌË PAGE's Ë Ò‚ˇÁ‡ÌÌ˚ı Ò ÌËÏË MAIL & BANNER's
- --
- -- Remove CHILD page OR MASTER page ( && Items )
- --
- EXEC exPageRemove @BusinessPageId = @BusinessPageId
- --
- -- DEBUG : END ---------------------------
- --
- END
- Else
- Begin
- -- Activate ADS Group if pending delete...
- UPDATE ADS
- SET ADS.AdsStatusId = @Status_AdsActiveId
- FROM BusinessPage BP
- JOIN AdsGroup ADS ON ADS.AdsGroupId = BP.AdsGroupId
- AND ADS.AdsStatusId = @Status_AdsDeletePendingId
- WHERE BP.BusinessPageId = @BusinessPageId
- End
- --
- -- Send : CLEAN BusinessPageId
- -- Allwise return this page (if possible) or empty cursor
- --
- if @ParentPageId IS NOT NULL
- BEGIN
- Set @BusinessPageId = @ParentPageId -- Show (return) CLEAN page
- END
- --
- -- ≈ÒÎË ÛÒÚ‡ÌÓ‚ÎÂÌ ÒÚ‡ÚÛÒ : 'S:ApproveRequestPublish'
- -- = œËÌÛ‰ËÚÂθÌÓ ‡Á¯‡ÂÏ ÔÓ͇Á ˝ÚÓÈ ÒÚ‡Ìˈ˚
- --
- --if @PageStatusId = @PageStatus_ApproveRequestPublishId
- -- Begin
- -- -- If set now PageStats = Enabled
- -- -- Set DISABLED for other ENABLED CLEAN pages on @LanguageId
- -- --
- -- End
- --
- -- Õ‡Ï ·Û‰ÛÚ ÌÛÊÌ˚ ÚÓθÍÓ 2 ÔÓΡ :
- -- BusinessPageId
- -- ChildBusinessPageId
- --
- EXEC asContentEditor @UserId = @UserId,
- @Language = @Language,
- @Command = 'PAGE_GET_ONE',
- @BusinessPageId = @BusinessPageId
- RETURN
- END
- -- EXEC asContentEditor @Language = 'en', @UserId = 170, @Command = 'GET_STATUS_FOR_PAGE_OWNER', @PageStatusId = 51301 --
- IF @Command = 'GET_STATUS_FOR_PAGE'
- BEGIN
- DECLARE @DataReferenceLNG TABLE (
- DataReferenceId bigint NULL,
- DataReferenceMasterId bigint NOT NULL,
- DataReferenceCode nvarchar(64) NULL,
- DataReferenceClass nvarchar(64) NOT NULL,
- DataReferenceOwner bigint NULL,
- DataReferenceName nvarchar(255) NULL,
- LanguageId bigint NOT NULL,
- DataReferenceAlias nvarchar(64) NULL
- )
- Select @PageStatus_ApproveRequestId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusApproveRequest
- Select @PageStatus_ApproveRequestPublishId = DataReferenceId from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT) where DataReferenceCode = @Sign_StatusApproveRequestPublish
- IF @PageStatusId in (@PageStatus_ApproveRequestId, @PageStatus_ApproveRequestPublishId)
- BEGIN
- INSERT INTO @DataReferenceLNG
- Select
- DataReferenceId ,
- DataReferenceMasterId ,
- DataReferenceCode ,
- DataReferenceClass ,
- DataReferenceOwner ,
- DataReferenceName ,
- LanguageId ,
- DataReferenceAlias
- FROM DataReference Where DataReferenceId = @PageStatusId
- INSERT INTO @DataReferenceLNG
- Select DataReferenceId ,
- DataReferenceMasterId ,
- DataReferenceCode ,
- DataReferenceClass ,
- DataReferenceOwner ,
- DataReferenceName ,
- LanguageId ,
- DataReferenceAlias
- FROM DataReference Where DataReferenceCode = 'M:VerificationOfOwner' AND ISNULL(DataReferenceOwner, ' ') = ' '
- SELECT * FROM @DataReferenceLNG
- END
- ELSE
- Select DataReferenceId ,
- DataReferenceMasterId ,
- DataReferenceCode ,
- DataReferenceClass ,
- DataReferenceOwner ,
- DataReferenceName ,
- LanguageId ,
- DataReferenceAlias
- FROM fn_DataReference( 'AdPageStatus', @Language, @PageStatusId )
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_TRANSLATE', @BusinessPageId = 2, @LanguageId = 8
- --
- -- >>> use from "ADSGROUP_CLONE" :
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_TRANSLATE', @BusinessPageId = 2, @LanguageId = 8 , @AdsGroupId = 1234
- --
- -- Create copy page for translate to oter language
- --
- if @Command = 'PAGE_TRANSLATE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- return -- FAILED!
- END
- --
- -- test - its page = PAGE & Main page &
- --
- if NOT Exists ( Select 1
- FROM BusinessPage
- WHERE BusinessPageId = @BusinessPageId
- AND RootPageId = @BusinessPageId
- )
- Begin
- Set @ResultMessage = 'For translate need use ONLY MASTER CLEAN PAGE'
- return
- End
- -- if call as "PAGE_TRANSLATE" : Get AdsGroupId
- if @AdsGroupId IS NULL
- BEGIN
- --
- -- Only 1 language page in AdsGroup !
- --
- Select @AdsGroupId = AdsGroupId
- From BusinessPage
- Where BusinessPageId = @BusinessPageId
- END
- if Exists ( Select 1
- From BusinessPage
- where AdsGroupId = @AdsGroupId
- and LanguageId = @LanguageId
- )
- Begin
- Set @ResultMessage = 'Alredy exists page on LanguageId = ' + Convert( varchar(15), @LanguageId )
- return
- End
- Select @PageStatus_NewId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- Select @PageStatus_EditId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEdit
- -- Get DRAFT id for SRC page
- Select @DraftPageId = BusinessPageId
- FROM BusinessPage
- Where ParentPageId = @BusinessPageId
- -- MAIN CLEAN COPY : 1 records
- Insert into BusinessPage( BusinessId ,
- PageDescription ,
- PageName ,
- PageTemplateId ,
- LanguageId ,
- PageStatusId ,
- PageVersion ,
- PageTypeId ,
- PageAddress ,
- PageHTMLLeft ,
- PageHTMLRight ,
- PageHTMLTemplate ,
- PageHTMLAdv ,
- ParentPageId ,
- AdsGroupId ,
- RootPageId ,
- PageAuditStatusId ,
- DateFirstPublication
- )
- SELECT BusinessId ,
- PageDescription ,
- PageName = 'Copy: ' + PageName,
- PageTemplateId ,
- LanguageId = @LanguageId ,
- PageStatusId = @PageStatus_NewId ,
- PageVersion = null ,
- PageTypeId ,
- PageAddress ,
- PageHTMLLeft ,
- PageHTMLRight ,
- PageHTMLTemplate ,
- PageHTMLAdv ,
- ParentPageId ,
- AdsGroupId = @AdsGroupId , -- current / or NEW ( if call as ADSGROUP_CLONE )
- RootPageId = null ,
- PageAuditStatusId ,
- DateFirstPublication = null
- FROM BusinessPage
- Where BusinessPageId = @BusinessPageId
- Set @RootPageId = @@IDENTITY
- UPDATE BusinessPage
- SET ParentPageId = -1 * @BusinessPageId, -- Ref to src record
- RootPageId = @RootPageId
- Where BusinessPageId = @RootPageId
- -- Other record
- Insert into BusinessPage( BusinessId ,
- PageDescription ,
- PageName ,
- PageTemplateId ,
- LanguageId ,
- PageStatusId ,
- PageVersion ,
- PageTypeId ,
- PageAddress ,
- PageHTMLLeft ,
- PageHTMLRight ,
- PageHTMLTemplate ,
- PageHTMLAdv ,
- ParentPageId ,
- AdsGroupId ,
- RootPageId ,
- PageAuditStatusId ,
- DateFirstPublication
- )
- SELECT BusinessId ,
- PageDescription ,
- PageName = 'Copy: ' + PageName,
- PageTemplateId ,
- LanguageId = @LanguageId ,
- PageStatusId = @PageStatus_NewId , -- ̇ ÒÎÂ‰Û˛˘ÂÏ ¯‡„ ÒηÂÏ EDIT ‰Îˇ ˜ÂÌÓ‚ËÍÓ‚
- PageVersion = null ,
- PageTypeId ,
- PageAddress ,
- PageHTMLLeft ,
- PageHTMLRight ,
- PageHTMLTemplate ,
- PageHTMLAdv ,
- ParentPageId = -1 * BusinessPageId, -- REF to primary (source record)
- AdsGroupId = @AdsGroupId , -- current / or NEW ( if call as ADSGROUP_CLONE )
- RootPageId = @RootPageId ,
- PageAuditStatusId ,
- DateFirstPublication = null
- FROM BusinessPage
- Where RootPageId = @BusinessPageId
- AND BusinessPageId != @BusinessPageId
- -- Get interface table ( Old: idClean + idDraft) + ( new: idClean + idDraft )
- Declare @Interface table (
- SrcCleanId bigint,
- SrcDraftId bigint,
- DstCleanId bigint,
- DstDraftId bigint
- )
- Insert into @Interface
- Select SrcCleanId = SRC.BusinessPageId ,
- SrcDraftId = SRCDRAFT.BusinessPageId,
- DstCleanId = DST.BusinessPageId ,
- DstDraftId = DSTDRAFT.BusinessPageId
- FROM BusinessPage SRC
- JOIN BusinessPage DST ON ( -1 * DST.ParentPageId ) = SRC.BusinessPageId
- left JOIN BusinessPage SRCDRAFT ON SRCDRAFT.ParentPageId = SRC.BusinessPageId
- left JOIN BusinessPage DSTDRAFT ON ( -1 * DSTDRAFT.ParentPageId ) = SRCDRAFT.BusinessPageId
- WHERE SRC.RootPageId = @BusinessPageId
- AND SRC.ParentPageId IS NULL
- --- ITEM's ---------------------------------
- Insert into BusinessPageItem( BusinessPageId ,
- PageItemTemplateId ,
- PageItemLocation ,
- PageItemOrderBy ,
- PageItemCaption ,
- PageItemTxt_01 ,
- PageItemTxt_02 ,
- PageItemTxt_03 ,
- PageItemTxt_04 ,
- PageItemImg_01_Id ,
- PageItemImg_02_Id ,
- PageItemImg_03_Id ,
- PageItemImg_04_Id ,
- PageItemMask ,
- PageBannerId
- )
- SELECT BusinessPageId = CASE WHEN BPI.BusinessPageId = ONERECORD.SrcCleanId THEN ONERECORD.DstCleanId
- ELSE ONERECORD.DstDraftId
- END,
- BPI.PageItemTemplateId ,
- BPI.PageItemLocation ,
- BPI.PageItemOrderBy ,
- BPI.PageItemCaption ,
- BPI.PageItemTxt_01 ,
- BPI.PageItemTxt_02 ,
- BPI.PageItemTxt_03 ,
- BPI.PageItemTxt_04 ,
- BPI.PageItemImg_01_Id ,
- BPI.PageItemImg_02_Id ,
- BPI.PageItemImg_03_Id ,
- BPI.PageItemImg_04_Id ,
- BPI.PageItemMask ,
- PageBannerId = CASE WHEN BPI.PageBannerId = INTER.SrcCleanId THEN INTER.DstCleanId
- WHEN BPI.PageBannerId = INTER.SrcDraftId THEN INTER.DstDraftId
- ELSE null
- END
- FROM @Interface ONERECORD
- JOIN BusinessPageItem BPI ON BPI.BusinessPageId in ( ONERECORD.SrcCleanId, ONERECORD.SrcDraftId )
- Left JOIN @Interface INTER ON BPI.PageBannerId in ( INTER.SrcCleanId, INTER.SrcDraftId )
- Where ONERECORD.SrcCleanId = @BusinessPageId
- -- Õ‡‚Ó‰ËÏ ÔÓˇ‰ÓÍ Ò BusinessPage
- UPDATE BP
- SET BP.ParentPageId = CASE WHEN BP.BusinessPageId = INTER.DstCleanId THEN null
- ELSE INTER.DstCleanId
- END
- FROM BusinessPage BP
- JOIN @Interface INTER ON BP.BusinessPageId in ( INTER.DstCleanId, INTER.DstDraftId )
- WHERE BP.RootPageId = @RootPageId
- -- Set EDIT for draft copy
- UPDATE BusinessPage
- SET PageStatusId = @PageStatus_EditId
- WHERE RootPageId = @RootPageId
- AND ParentPageId IS NOT NULL
- Declare @GET_TEMP_TO_EDIT TABLE (
- BusinessPageId bigint,
- ChildBusinessPageId bigint
- )
- IF @DraftPageId IS NULL
- Begin
- INSERT INTO @GET_TEMP_TO_EDIT
- EXEC asContentEditor @UserId = @UserId ,
- @Language = @Language ,
- @Command = 'PAGE_TO_EDIT_MODE',
- @BusinessPageId = @RootPageId
- End
- Set @ResultMessage = 'Copies create succesfull.'
- return
- End
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_CLONE', @BusinessId = 1234, @AdsGroupId = 87
- --
- -- —ÓÁ‰‡ÌË ÔÓÎÌÓÈ ÍÓÔËË ÒÛ˘ÂÒÚ‚Û˛˘ÂÈ AdsGroup
- --
- if @Command = 'ADSGROUP_CLONE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- Set @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- INSERT INTO AdsGroup( BusinessId ,
- AdsGroupName,
- AdsRankId ,
- AdsStatusId )
- Select BusinessId ,
- AdsGroupName = 'Copy:' + AdsGroupName,
- AdsRankId ,
- AdsStatusId
- from AdsGroup
- WHERE AdsGroupId = @AdsgroupId
- SET @AdsGroupNewId = @@IDENTITY
- -- foreach rootBusinessPage & LanguageId : Call "ToTranslate"
- DECLARE CLONE CURSOR FOR
- Select DISTINCT
- RootPageId,
- LanguageId
- From BusinessPage
- where AdsgroupId = @AdsgroupId
- ORDER BY LanguageId
- OPEN CLONE
- FETCH CLONE INTO @CleanPageId, @LanguageId
- WHILE ( @@FETCH_STATUS = 0 )
- BEGIN
- EXEC asContentEditor @UserId = @UserId,
- @Language = @Language,
- @Command = 'PAGE_TRANSLATE',
- @BusinessPageId = @CleanPageId,
- @LanguageId = @LanguageId,
- @AdsGroupId = @AdsGroupNewId
- FETCH CLONE INTO @CleanPageId, @LanguageId
- END
- CLOSE CLONE
- DEALLOCATE CLONE
- Set @ResultMessage = 'Clone ADS Group create succesfull.'
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_DELETE', @BusinessId = 1234, @AdsGroupId = 87
- --
- -- —ÓÁ‰‡ÌË ÔÓÎÌÓÈ ÍÓÔËË ÒÛ˘ÂÒÚ‚Û˛˘ÂÈ AdsGroup
- --
- if @Command = 'ADSGROUP_DELETE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- Set @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- --
- -- For set : "RemoveRequest"
- --
- Select @PageStatus_NewId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- Select @PageStatus_RemoveRequestId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusRemoveRequest
- Select @PageStatus_RemoveCopyId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusRemoveCopy
- -- foreach rootBusinessPage : Call "exPageRemove"
- DECLARE toRemove CURSOR FOR
- Select BusinessPageId,
- PageStatusId
- From BusinessPage
- where AdsgroupId = @AdsgroupId
- AND BusinessPageId = RootPageId
- OPEN toRemove
- FETCH toRemove INTO @CleanPageId, @PageStatusId
- WHILE ( @@FETCH_STATUS = 0 )
- BEGIN
- if @PageStatusId = @PageStatus_NewId
- Begin
- -- CLEAN : Status = NEW :: Set status : RemoveCopy for DRAFT
- -- For REMOVE from DB DRAFT & CLEAN pages !
- Update BusinessPage
- Set PageStatusId = @PageStatus_RemoveCopyId -- Remove DRAFT COPY
- Where ParentPageId = @CleanPageId
- End
- Else
- Begin
- -- CLEAN: Status OTHER: Set status CLEAN := RemoveRequest
- Update BusinessPage
- Set PageStatusId = @PageStatus_RemoveRequestId -- Set Status RemoveRequest for CLEAN page
- Where BusinessPageId = @CleanPageId
- End
- --
- -- —ÂȘ‡Ò ‚˚ÔÓÎÌˇÂÚÒˇ ‘»«»◊≈— Œ≈ Û‰‡ÎÂÌË PAGE's Ë Ò‚ˇÁ‡ÌÌ˚ı Ò ÌËÏË MAIL & BANNER's
- --
- -- Remove CHILD page OR MASTER page ( && Items )
- --
- EXEC exPageRemove @BusinessPageId = @CleanPageId
- FETCH toRemove INTO @CleanPageId, @PageStatusId
- END
- CLOSE toRemove
- DEALLOCATE toRemove
- if not exists ( Select 1
- From BusinessPage
- where AdsgroupId = @AdsgroupId
- )
- Begin
- -- Delete Ads group if child pages not exists
- Delete
- from AdsGroup
- where AdsGroupId = @AdsgroupId
- Set @ResultMessage = 'ADS Group group removed successfully.'
- End
- Else
- Begin
- -- And set status for remove adsGroup
- Select @Status_AdsDeletePendingId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- Where DataReferenceCode = @Sign_AdsDeletePending
- Update AdsGroup
- Set AdsStatusId = @Status_AdsDeletePendingId
- where AdsGroupId = @AdsgroupId
- Set @ResultMessage = 'ADS Group group marked for removal successfully.'
- End
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_ACTIVATE', @BusinessId = 1101, @AdsGroupId = 139
- --
- -- ¿ÍÚË‚ËÓ‚‡Ú¸ ˇÁ˚ÍÓ‚˚ ÒÚ‡Ìˈ˚ ˝ÚÓÈ AdsGroup
- --
- if @Command = 'ADSGROUP_ACTIVATE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- Set @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- Select @PageStatus_EnabledId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEnabled
- Select @PageStatus_DisabledId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusDisabled
- Select @PageStatus_AuditAllowedId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_AuditStatusAllowed
- ---------- Work table --------------
- Declare @TBL_AdsPagesActivate table ( BusinessPageId bigint,
- LanguageId bigint )
- -- Get Disabled languages page list
- --
- INSERT INTO @TBL_AdsPagesActivate
- Select BusinessPageId, LanguageId
- from BusinessPage
- where AdsGroupId = @AdsGroupId
- and BusinessPageId = RootPageId
- and PageStatusId = @PageStatus_DisabledId -- DisabledPage
- and PageAuditStatusId = @PageStatus_AuditAllowedId -- Show : Allowed
- -- Deactivate all ENABLED language pages ( from other group )
- --
- UPDATE BusinessPage
- SET PageStatusId = @PageStatus_DisabledId
- Where BusinessId = @BusinessId -- All business pages
- AND AdsGroupId != @AdsGroupId -- Exclude current group
- AND ParentPageId IS NULL
- AND PageStatusId = @PageStatus_EnabledId
- AND LanguageId IN ( Select LanguageId
- from @TBL_AdsPagesActivate
- )
- -- Activate all pages & Mail & Banner for curent Ads Group
- --
- Update BP
- Set PageStatusId = @PageStatus_EnabledId
- from @TBL_AdsPagesActivate TMP
- JOIN BusinessPage BP ON BP.RootPageId = TMP.BusinessPageId
- AND BP.ParentPageId IS NULL
- AND BP.PageStatusId = @PageStatus_DisabledId
- AND BP.PageAuditStatusId = @PageStatus_AuditAllowedId
- return
- END
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_DEACTIVATE', @BusinessId = 1101, @AdsGroupId = 139
- --
- -- ¿ÍÚË‚ËÓ‚‡Ú¸ ˇÁ˚ÍÓ‚˚ ÒÚ‡Ìˈ˚ ˝ÚÓÈ AdsGroup
- --
- if @Command = 'ADSGROUP_DEACTIVATE'
- BEGIN
- If @Access NOT LIKE '%-PageCreate-%'
- BEGIN
- Set @ResultMessage = 'Access denied !'
- return -- FAILED!
- END
- Select @PageStatus_EnabledId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEnabled
- Select @PageStatus_DisabledId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusDisabled
- -- Set Disabled for languages page current group
- --
- Update BusinessPage
- SET PageStatusId = @PageStatus_DisabledId
- where AdsGroupId = @AdsGroupId -- ¬Ò ÒÚ‡Ìˈ˚ „ÛÔÔ˚
- AND ParentPageId IS NULL -- ◊ËÒÚÓ‚ËÍË
- and PageStatusId = @PageStatus_EnabledId -- ¿ÍÚË‚Ì˚Â
- return
- END
- --
- -- —Óı‡ÌˇÂÏ ÔÓ‰„ÓÚÓ‚ÎÂÌÌ˚È ‰ËÁ‡ÈÌ ÒÚ‡Ìˈ˚ (ÒÛÏχ ÓÚÙÓχÚËÓ‚‡ÌÌ˚ı ·ÎÓÍÓ‚)
- -- ‚ ·‡ÁÓ‚Û˛ ÒÚÓÍÛ (BusinessPage)
- --
- -- (¬ÌÛÚÂÌÌËÈ ‚˚ÁÓ‚, ÔÓÒΠÒÓı‡ÌÂÌˡ BusinessPageItem - Á‡ÔËÒÂÈ)
- --
- if @Command = 'PAGE_SET_CONTENT'
- BEGIN
- UPDATE BP
- SET PageHTMLLeft = @PageHTMLLeft ,
- PageHTMLRight = @PageHTMLRight ,
- PageHTMLTemplate = ISNULL( BPT.TemplateHTML, ''),
- PageHTMLAdv = @PageHTMLAdv
- FROM BusinessPage BP
- LEFT JOIN BusinessPageTemplate BPT ON BPT.PageTemplateId = BP.PageTemplateId --when 1 then 1021 else BP.PageTemplateId end
- WHERE BP.BusinessPageId = @BusinessPageId
- RETURN
- END
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_ITEM', @BusinessPageId = 2
- --
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'PAGE_GET_ITEM', @BusinessPageId = 1
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'PAGE_GET_ITEM', @BusinessPageId = 2
- --
- -- ¬ÌÛÚÂÌÌÌË ‚˚ÁÓ‚˚, ‰Îˇ ÔÓÎÛ˜ÂÌˡ ‚ÒÂı ·ÎÓÍÓ‚ Á‡‰‡ÌÌÓÈ ÒÚ‡Ìˈ˚
- --
- if @Command = 'PAGE_GET_ITEM'
- BEGIN
- --
- -- ŒÔ‰ÂΡÂÏ ‚·‰Âθˆ‡ ITEMs (◊ËÒÚÓ‚ËÍË ËÎË ◊ÂÌÓ‚ËÍË ?)
- --
- Select @ItemOwnerPageId = RootPageId,
- @ItemParentPageId = ParentPageId
- from BusinessPage
- WHERE BusinessPageId = @BusinessPageId
- -- select 1, @ItemOwnerPageId, @ItemParentPageId
- if @ItemParentPageId IS NOT NULL
- BEGIN
- Select @ItemOwnerPageId = BusinessPageId
- from BusinessPage
- WHERE ParentPageId = @ItemOwnerPageId
- END
- -- select 2, @ItemOwnerPageId, @ItemParentPageId
- --
- -- «‡·Ë‡ÂÏ ‚Ò - ̇ C# ·Û‰ÂÏ Ò ÌËÏË ‡Á·Ë‡Ú¸Òˇ..
- --
- Select IT.PageItemId ,
- IT.BusinessPageId ,
- AD.PageName ,
- OBJ.BusinessId ,
- OBJ.BusinessName ,
- IT.PageBannerId ,
- IT.PageItemTemplateId ,
- IT.PageItemMask ,
- IT.PageItemOrderBy ,
- IT.PageItemLocation ,
- IT.PageItemCaption ,
- IT.PageItemTxt_01 ,
- IT.PageItemTxt_02 ,
- IT.PageItemTxt_03 ,
- IT.PageItemTxt_04 ,
- IT.PageItemImg_01_Id ,
- IT.PageItemImg_02_Id ,
- IT.PageItemImg_03_Id ,
- IT.PageItemImg_04_Id ,
- ItemImg_01_Name = ACI_01.ImageName ,
- ItemImg_02_Name = ACI_02.ImageName ,
- ItemImg_03_Name = ACI_03.ImageName ,
- ItemImg_04_Name = ACI_04.ImageName ,
- ItemImg_01_Caption = ACI_01.ImageCaption ,
- ItemImg_02_Caption = ACI_02.ImageCaption ,
- ItemImg_03_Caption = ACI_03.ImageCaption ,
- ItemImg_04_Caption = ACI_04.ImageCaption ,
- TM.ItemTemplateName ,
- TM.ItemTemplateHTML
- from BusinessPageItem IT
- JOIN BusinessPageItemTemplate TM ON TM.PageItemTemplateId = IT.PageItemTemplateId
- JOIN BusinessPage AD ON AD.BusinessPageId = IT.BusinessPageId
- JOIN Business OBJ ON OBJ.BusinessId = AD.BusinessId
- LEFT JOIN UsersImage ACI_01 ON ACI_01.UserImageId = IT.PageItemImg_01_Id
- LEFT JOIN UsersImage ACI_02 ON ACI_02.UserImageId = IT.PageItemImg_02_Id
- LEFT JOIN UsersImage ACI_03 ON ACI_03.UserImageId = IT.PageItemImg_03_Id
- LEFT JOIN UsersImage ACI_04 ON ACI_04.UserImageId = IT.PageItemImg_04_Id
- WHERE IT.BusinessPageId = @ItemOwnerPageId
- ORDER BY IT.PageItemOrderBy
- RETURN
- END
- --
- -- —Óı‡ÌÂÌË (ÔÂÂÁ‡ÔËÒ¸) Ó‰ÌÓ„Ó ËÁ ·ÎÓÍÓ‚ ÒÚ‡Ìˈ˚
- --
- -- @PageItemId - ›ÚÓ ÏÓÊÂÚ ·˚Ú¸ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇ ËÎË ˜ÂÌÓ‚Ë͇.
- --
- if @Command = 'ITEM_SET'
- BEGIN
- If NOT ( @Access LIKE '%-PageCreate-%' OR @Access LIKE '%-PageDesign-%' OR @Access LIKE '%-PageTranslate-%' )
- BEGIN
- SET @ResultMessage = 'Access denied !'
- select StatusCode = -1, -- Error
- ExtCode = 0,
- message = CAST( @PageItemId as nvarchar),
- ItemMaskOld = 0x00,
- PageMailId = 0,
- PageBannerId = 0
- return -- UPDATE FAILED!
- END
- -- Convert from NVARCHAR to tintint
- Set @PageItemMask = convert(tinyint, @PageItemMask)
- -- Get old values Clean // Draft
- Select @ItemBusinessPageId = BPI.BusinessPageId , -- 120 // 121 ---------- PAGE ONLY
- @RootPageId = BP.RootPageId , -- 120 // 120 ---------- RootPageId ( clean copy & owner all )
- @ItemMaskOld = BPI.PageItemMask , -- ** // **
- @ItemPageBannerId = BPI.PageBannerId , -- 130 // 131
- @RebuildPageBannerId = BPI.PageBannerId -- 130 // 131 -- Rebuild HTML for this banner
- FROM BusinessPageItem BPI
- JOIN BusinessPage BP ON BP.BusinessPageId = BPI.BusinessPageId -- 120 // 121
- WHERE BPI.PageItemId = @PageItemId -- 1 // 101
- -- »ÏÂÂÚ ÎË ÓÚÌÓ¯ÂÌËÂ Í EMail ?
- if ( ( ( @ItemMaskOld & @IsEmail) = @IsEmail )
- OR ( ( @PageItemMask & @IsEmail) = @IsEmail )
- )
- BEGIN
- Select @PageMailId = BusinessPageId
- FROM BusinessPage
- Where RootPageId = @RootPageId
- AND PageTypeId = 10002 -- MAIL ERR DEBUG
- AND ( ( (@ItemBusinessPageId = @RootPageId ) AND (ParentPageId IS NULL ) ) -- Clean copy
- OR ( (@ItemBusinessPageId != @RootPageId ) AND (ParentPageId IS NOT NULL ) ) -- Draft copy
- )
- End
- -- –‡Á·Ë‡ÂÏÒˇ Ò ·‡Ì‡ÏË --
- -- ¡˚Î Ë ÓÒÚ‡ÎÒˇ ·‡ÌÂÓÏ :: œÓ‚ÂËÏ HIDDEN - Ë ÂÒÎË ÌÛÊÌÓ ÛÒÚ‡ÌÓ‚ËÏ ÒÚ‡ÚÛÒ˚
- if ( ( @ItemMaskOld & @IsBanner) = @IsBanner ) AND ( ( @PageItemMask & @IsBanner) = @IsBanner )
- Begin
- If @ItemBusinessPageId = @RootPageId -- »ÁÏÂÌˇÂÏ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇
- BEGIN
- -- ‡ÍÓÈ ÒÚ‡ÚÛÒ ÌÛÊÌÓ ÛÒÚ‡ÌÓ‚ËÚ¸ ˜ËÒÚÓ‚ËÍÛ ?
- --
- -- Get status for "BANNER" page from "MAIN CLEAN PAGE"
- Select @PageStatusId = PageStatusId
- FROM BusinessPage
- WHERE BusinessPageId = @RootPageId
- -- OR GET 'HIDDEN' - status
- --
- if ( @PageItemMask & @IsHidden ) = @IsHidden
- BEGIN
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusHidden
- END
- UPDATE BusinessPage
- Set PageStatusId= @PageStatusId
- WHERE BusinessPageId = @ItemPageBannerId
- -- Õ ÌÛÊÌÓ ÔÂÂÙÓÏËÓ‚˚‚‡Ú¸ ·‡ÌÌÂ
- SET @RebuildPageBannerId = null
- END
- End
- -- ¡˚Î ‡Ì¸¯Â ·‡ÌÂÓÏ. “ÂÔ¸ ÌÂÚ.
- if ( ( @ItemMaskOld & @IsBanner) = @IsBanner ) AND ( ( @PageItemMask & @IsBanner) != @IsBanner )
- BEGIN
- --
- -- ≈ÒÎË Ô˯ÂÎ ˜ËÒÚÓ‚ËÍ
- --
- If @ItemBusinessPageId = @RootPageId -- »ÁÏÂÌˇÂÏ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇
- BEGIN
- --
- -- —Ú‡ÚÛÒ ˜ËÒÚÓ‚ËÍÛ : SET 'HIDDEN' - status allwise
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusHidden
- UPDATE BusinessPage
- Set PageStatusId= @PageStatusId
- WHERE BusinessPageId = @ItemPageBannerId
- END
- Else
- Begin
- -- Draft copy
- --
- -- TEST : Statud NEW on MasterPage ?
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- -- œ€“¿≈×fl ! :: Û‰‡ÎËÚ¸ ˜ËÒÚÓ‚ËÍ, ÂÒÎË Û ÌÂ„Ó ÒÚ‡ÚÛÒ NEW
- -- ≈ÒÎË ÒÚ‡ÚÛÒ ˜ËÒÚÓ‚Ë͇ Ì ‡‚ÂÌ NEW - Û‰‡ÎÂÌË ˜ËÒÚÓ‚Ë͇ Ì ‚˚ÔÓÎÌËÚÒˇ.
- --
- DELETE CLEAN
- From BusinessPage DRAFT
- JOIN BusinessPage CLEAN ON CLEAN.BusinessPageId = DRAFT.ParentPageId
- AND CLEAN.PageStatusId = @PageStatusId
- WHERE DRAFT.BusinessPageId = @ItemPageBannerId
- -- ”‰‡ÎˇÂÏ ˜ÂÌÓ‚ËÍ
- DELETE BP
- From BusinessPage BP
- WHERE BP.BusinessPageId = @ItemPageBannerId
- End
- -- Õ ÌÛÊÌÓ ÔÂÂÙÓÏËÓ‚˚‚‡Ú¸ ·‡ÌÌÂ
- SET @RebuildPageBannerId = null
- END
- -- Õ≈ ¡˚Î ‡Ì¸¯Â ·‡ÌÂÓÏ. “ÂÔ¸ ƒ¿.
- if ( ( @ItemMaskOld & @IsBanner) != @IsBanner ) AND ( ( @PageItemMask & @IsBanner) = @IsBanner )
- BEGIN
- If @ItemBusinessPageId = @RootPageId -- »ÁÏÂÌˇÂÏ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇
- BEGIN
- -- ‡ÍÓÈ ÒÚ‡ÚÛÒ ÌÛÊÌÓ ÛÒÚ‡ÌÓ‚ËÚ¸ ˜ËÒÚÓ‚ËÍÛ ?
- --
- -- Get status for "BANNER" page from "MAIN PAGE"
- Select @PageStatusId = PageStatusId
- FROM BusinessPage
- WHERE BusinessPageId = @ItemBusinessPageId
- -- OR GET 'HIDDEN' - status
- --
- if ( @PageItemMask & @IsHidden ) = @IsHidden
- BEGIN
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusHidden
- END
- END
- ELSE
- BEGIN
- -- —Ú‡ÚÛÒ, Ò ÍÓÚÓ˚Ï ·Û‰ÂÚ ÒÓÁ‰‡‚‡Ú¸Òˇ ˜ËÒÚ‚ËÍ ( ‚ Ô‡Â Ò ˜ÂÌÓ‚ËÍÓÏ)
- --
- -- Get status for "MAIN" page :: Add as "M:NEW" ( MAIN )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- END
- -- Create or UPDATE ???
- -- ŒÒÓ·ÂÌÌÓÒÚË : ƒÎˇ ˜ËÒÚÓ΂Ë͇ ÏÓ„ÛÚ ·˚Ú¸ 2 ÒËÚÛ‡ˆËË:
- -- 1. ¡˚Î ·‡ÌÂÓÏ, Ë ‚ ITEM ÂÒÚ¸ ÒÒ˚Î͇ PageBannerId : ÚÓ„‰‡ ÏÂÌˇÂÏ ÚÓθÍÓ ÒÚ‡ÚÛÒ.
- -- 2. Ì·˚Î ·‡ÌÂÓÏ, ÌÂÚ PageBannerId : ÒÓÁ‰‡ÂÏ ˜ËÒÚÓ‚ËÍ..
- --
- -- œË ‡·ÓÚÂ Ò ˜ÂÌÓ‚ËÍÓÏ
- -- *) —ÓÁ‰‡ÂÏ ˜ËÒÚÓ‚ËÍ Ë ˜ÂÌÓ‚ËÍ.
- --
- IF ( @ItemPageBannerId IS NOT NULL ) -- ‚ BusinessPage ÒÛ˘ÂÒÚ‚ÛÂÚ Á‡ÔËÒ¸ ‰Îˇ ·‡Ì‡ - Ó·ÌӂΡÂÏ Â„Ó
- BEGIN
- If @ItemBusinessPageId = @RootPageId -- »ÁÏÂÌˇÂÏ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇
- BEGIN
- UPDATE BusinessPage
- SET PageStatusId = @PageStatusId
- WHERE BusinessPageId = @ItemPageBannerId
- END
- END
- ELSE
- BEGIN -- —ÓÁ‰‡ÂÚÒˇ ·‡ÌÂ, ‚Ô‚˚Â.
- -- —ÓÁ‰‡ÂÏ ˜ËÒÚÓ‚ËÍ ¡¿Õ≈–
- Select @PageTypeId = PS.DataReferenceId,
- @PageTemplateId = BPT.PageTemplateId,
- @PageHTMLTemplate = BPT.TemplateHTML
- FROM dbo.fn_DataReference( 'AdPageType', 'en', DEFAULT) PS
- JOIN BusinessPageTemplate BPT ON BPT.PageTypeId = PS.DataReferenceId
- Where DataReferenceCode = @PageType_Banner
- INSERT INTO BusinessPage ( [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId]
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId]
- )
- SELECT BusinessId ,
- RootPageId ,
- PageDescription ,
- PageName ,
- PageTemplateId = @PageTemplateId , -- ID - ÿ‡·ÎÓÌ ·‡Ì‡
- LanguageId ,
- PageStatusId = @PageStatusId , -- NEW or HIDDEN or Status from RootPageId
- PageAuditStatusId ,
- PageVersion ,
- PageTypeId = @PageTypeId , -- BANNER
- AdsGroupId ,
- PageAddress ,
- PageHTMLLeft = '' ,
- PageHTMLRight = '' ,
- PageHTMLTemplate = @PageHTMLTemplate , -- ÿ‡·ÎÓÌ ‰Îˇ ·‡Ì‡
- PageHTMLAdv = '' ,
- ParentPageId = null
- FROM BusinessPage
- WHERE BusinessPageId = @RootPageId
- -- ID - ◊ËÒÚÓ‚Ë͇
- SET @ItemPageBannerId = @@IDENTITY -- ◊ËÒÚÓ‚ËÍ, Ï.·. ‰Îˇ Ò‚ˇÁ˚‚‡Ìˡ Ò ITEM Ë ÔÂÂÒÚÓÂÌˡ HTML
- SET @RebuildPageBannerId = @ItemPageBannerId
- If @ItemBusinessPageId = @RootPageId -- ›ÚÓ ·ÎÓÍ ˜ËÒÚÓ‚Ë͇
- BEGIN
- UPDATE BusinessPage
- SET DateFirstPublication = GetUtcDate()
- WHERE BusinessPageId = @ItemPageBannerId
- END
- -- ≈ÒÎË ËÁÏÂÌˇÂÏ ˜ÂÌÓ‚ËÍ...
- if @ItemBusinessPageId != @RootPageId
- Begin
- --
- -- Get status for "CHILD" page
- -- Add as "T:Edit" ( CHILD )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEdit
- -- ◊ÂÌÓ‚ËÍ ::
- INSERT INTO BusinessPage ( [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId]
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId]
- )
- SELECT [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId] = @PageStatusId -- EDIT
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,PageTypeId
- ,[AdsGroupId]
- ,[PageAddress]
- ,PageHTMLLeft = ''
- ,PageHTMLRight = ''
- ,[PageHTMLTemplate]
- ,PageHTMLAdv = ''
- ,[ParentPageId] = @ItemPageBannerId
- FROM BusinessPage
- WHERE BusinessPageId = @ItemPageBannerId
- SET @ItemPageBannerId = @@IDENTITY -- ˜ÂÌÓ‚ËÍ ‰Îˇ Ò‚ˇÁ˚‚‡Ìˡ Ò ITEM Ë ÔÂÂÒÚÓÂÌˡ HTML
- SET @RebuildPageBannerId = @ItemPageBannerId
- End
- END -- —ÓÁ‰‡ÂÚÒˇ ·‡ÌÂ, ‚Ô‚˚Â.
- END -- Õ≈ ¡˚Î ‡Ì¸¯Â ·‡ÌÂÓÏ. “ÂÔ¸ ƒ¿.
- -- ‘ËÍÒËÛÂÏ ËÁÏÂÌÂÌˡ ITEM (‚ ˜‡ÒÚË ˜ËÒÚÓ‚Ë͇: ÔÓˇ‰ÓÍ, χÒ͇, Ò‚ˇÁ͇ Ò ·‡ÌÂÓÏ)
- UPDATE BusinessPageItem
- SET PageBannerId = @ItemPageBannerId ,
- PageItemMask = @PageItemMask ,
- PageItemOrderBy = @PageItemOrderBy ,
- PageItemLocation = @PageItemLocation
- WHERE PageItemId = @PageItemId
- if @ItemBusinessPageId != @RootPageId -- ƒÎˇ ˜ÂÌÓ‚Ë͇ - Á‡ÏÂÌˇÂÏ ÚÂÍÒÚ Ë ËÒÛÌÍË
- Begin
- UPDATE BusinessPageItem
- SET PageItemTemplateId = @PageItemTemplateId ,
- PageItemCaption = RTRIM( LTRIM( @PageItemCaption) ) ,
- PageItemTxt_01 = RTRIM( LTRIM( @PageItemTxt_01 ) ) ,
- PageItemTxt_02 = RTRIM( LTRIM( @PageItemTxt_02 ) ) ,
- PageItemTxt_03 = RTRIM( LTRIM( @PageItemTxt_03 ) ) ,
- PageItemTxt_04 = RTRIM( LTRIM( @PageItemTxt_04 ) ) ,
- PageItemImg_01_Id = @PageItemImg_01_Id ,
- PageItemImg_02_Id = @PageItemImg_02_Id ,
- PageItemImg_03_Id = @PageItemImg_03_Id ,
- PageItemImg_04_Id = @PageItemImg_04_Id
- WHERE PageItemId = @PageItemId
- End
- -- ‘ËÍÒËÛÂÏ ÌÓ‚Û˛ ‚ÂÒ˲
- UPDATE BusinessPage
- SET PageVersion = CONVERT( varchar(64), getUTCdate(), 120)
- WHERE BusinessPageId = @ItemPageBannerId
- -- ŒÚ‚ÂÚ..
- select StatusCode = 0,
- ExtCode = 0,
- message = CAST( @PageItemId as nvarchar),
- ItemMaskOld = @ItemMaskOld,
- PageMailId = ISNULL( @PageMailId, 0 ),
- PageBannerId = ISNULL( @RebuildPageBannerId, 0 )
- RETURN
- END
- --
- -- ƒÓ·‡‚ÎÂÌË ‚ÓÁÏÓÊÌÓ ÚÓθÍÓ ‰Îˇ DRAFT Page
- --
- if @Command = 'ITEM_ADD'
- BEGIN
- If NOT ( @Access LIKE '%-PageCreate-%' OR @Access LIKE '%-PageDesign-%' )
- BEGIN
- SET @ResultMessage = 'Access denied !'
- select StatusCode = -1, -- Error
- ExtCode = 0,
- message = CAST( @PageItemId as nvarchar),
- ItemMaskOld = 0x00,
- PageMailId = 0,
- PageBannerId = 0
- return -- UPDATE FAILED!
- END
- -- Convert from NCHAR to tinyint
- Set @PageItemMask = convert(tinyint, @PageItemMask)
- Set @ItemMaskOld = @PageItemMask
- Set @PageMailId = 0
- Set @PageBannerId = null
- if (( @ItemMaskOld & @IsEmail) = @IsEmail)
- BEGIN
- Select @PageMailId = MAIL.BusinessPageId
- FROM BusinessPage BP
- JOIN BusinessPage MAIL ON MAIL.ParentPageId = BP.RootPageId
- AND MAIL.PageTypeId = 10002 -- ¡ÂÂÏ MAIL
- where BP.BusinessPageId = @BusinessPageId
- End
- -- –‡Á·Ë‡ÂÏÒˇ Ò ·‡Ì‡ÏË
- if (( @ItemMaskOld & @IsBanner) = @IsBanner)
- BEGIN
- --
- -- ̇ ÓÒÌÓ‚Â PAGE-˜ÂÌÓ‚ËÍ ÒÓÁ‰‡ÂÏ ◊»—“Œ¬» ‰Îˇ ÌÓ‚Ó„Ó ·‡Ì‡.
- --
- -- Get status for "MAIN" page
- -- Add as "M:NEW" ( MAIN )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- Select @PageTypeId = PS.DataReferenceId,
- @PageTemplateId = BPT.PageTemplateId,
- @PageHTMLTemplate = BPT.TemplateHTML
- FROM dbo.fn_DataReference( 'AdPageType', 'en', DEFAULT) PS
- JOIN BusinessPageTemplate BPT ON BPT.PageTypeId = PS.DataReferenceId
- Where DataReferenceCode = @PageType_Banner
- INSERT INTO BusinessPage ( [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId]
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId]
- )
- SELECT BusinessId ,
- RootPageId ,
- PageDescription ,
- PageName ,
- PageTemplateId = @PageTemplateId , -- ID - ÿ‡·ÎÓÌ ·‡Ì‡
- LanguageId ,
- PageStatusId = @PageStatusId , -- NEW
- PageAuditStatusId ,
- PageVersion ,
- PageTypeId = @PageTypeId , -- BANNER
- AdsGroupId ,
- PageAddress ,
- PageHTMLLeft = '' ,
- PageHTMLRight = '' ,
- PageHTMLTemplate = @PageHTMLTemplate , -- ÿ‡·ÎÓÌ ·‡Ì‡
- PageHTMLAdv = '' ,
- ParentPageId = null
- FROM BusinessPage BP
- WHERE BP.BusinessPageId = @BusinessPageId
- SET @PageBannerId = @@IDENTITY
- -- —ÓÁ‰‡ÂÏ Â„Ó ˜ÂÌÓ‚ËÍ - Ë Á‡ÔÓÏË̇ÂÏ Â„Ó ID
- --
- -- Get status for "CHILD" page
- -- Add as "T:Edit" ( CHILD )
- --
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusEdit
- INSERT INTO BusinessPage ( [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId]
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,[PageTypeId]
- ,[AdsGroupId]
- ,[PageAddress]
- ,[PageHTMLLeft]
- ,[PageHTMLRight]
- ,[PageHTMLTemplate]
- ,[PageHTMLAdv]
- ,[ParentPageId]
- )
- SELECT [BusinessId]
- ,[RootPageId]
- ,[PageDescription]
- ,[PageName]
- ,[PageTemplateId]
- ,[LanguageId]
- ,[PageStatusId] = @PageStatusId -- EDIT
- ,[PageAuditStatusId]
- ,[PageVersion]
- ,PageTypeId
- ,[AdsGroupId]
- ,[PageAddress]
- ,PageHTMLLeft = ''
- ,PageHTMLRight = ''
- ,[PageHTMLTemplate]
- ,PageHTMLAdv = ''
- ,[ParentPageId] = @PageBannerId
- FROM BusinessPage
- WHERE BusinessPageId = @PageBannerId
- SET @PageBannerId = @@IDENTITY
- END
- Select @mItemOrderBy = MAX(PageItemOrderBy)
- From BusinessPageItem
- Where BusinessPageId = @BusinessPageId
- Set @mItemOrderBy = ISNULL( @mItemOrderBy, 0 ) + 1 -- Next #
- INSERT INTO BusinessPageItem ( BusinessPageId,
- PageItemTemplateId,
- PageItemMask ,
- PageBannerId ,
- PageItemOrderBy ,
- PageItemLocation ,
- PageItemCaption ,
- PageItemTxt_01 ,
- PageItemTxt_02 ,
- PageItemTxt_03 ,
- PageItemTxt_04 ,
- PageItemImg_01_Id ,
- PageItemImg_02_Id ,
- PageItemImg_03_Id ,
- PageItemImg_04_Id
- )
- SELECT BusinessPageId = @BusinessPageId ,
- PageItemTemplateId = @PageItemTemplateId ,
- PageItemMask = @PageItemMask ,
- PageBannerId = @PageBannerId , -- Ref to bannerId (DRAFT)
- PageItemOrderBy = @mItemOrderBy ,
- PageItemLocation = @PageItemLocation ,
- PageItemCaption = RTRIM( LTRIM( @PageItemCaption) ) ,
- PageItemTxt_01 = RTRIM( LTRIM( @PageItemTxt_01 ) ) ,
- PageItemTxt_02 = RTRIM( LTRIM( @PageItemTxt_02 ) ) ,
- PageItemTxt_03 = RTRIM( LTRIM( @PageItemTxt_03 ) ) ,
- PageItemTxt_04 = RTRIM( LTRIM( @PageItemTxt_04 ) ) ,
- PageItemImg_01_Id = @PageItemImg_01_Id ,
- PageItemImg_02_Id = @PageItemImg_02_Id ,
- PageItemImg_03_Id = @PageItemImg_03_Id ,
- PageItemImg_04_Id = @PageItemImg_04_Id
- SET @NewItemId = @@IDENTITY
- UPDATE BusinessPage
- SET PageVersion = CONVERT( varchar(64), getUTCdate(), 120)
- WHERE BusinessPageId = @BusinessPageId
- select StatusCode = 0,
- ExtCode = @mItemOrderBy,
- message = CAST( @NewItemId as nvarchar),
- ItemMaskOld = @ItemMaskOld,
- PageMailId = ISNULL(@PageMailId, 0 ),
- PageBannerId = ISNULL(@PageBannerId, 0 )
- RETURN
- END
- --
- -- ŒÔ‡ˆËˇ ‚˚ÔÓÎÌˇÂÚÒˇ “ŒÀ‹ Œ Ò ◊≈–ÕŒ¬» ŒÃ !
- --
- if @Command = 'ITEM_DEL'
- BEGIN
- If NOT ( @Access LIKE '%-PageCreate-%' OR @Access LIKE '%-PageDesign-%' )
- BEGIN
- SET @ResultMessage = 'Access denied !'
- select StatusCode = -1, -- Error
- ExtCode = 0,
- message = CAST( @PageItemId as nvarchar),
- ItemMaskOld = 0x00,
- PageMailId = 0,
- PageBannerId = 0
- return -- UPDATE FAILED!
- END
- -- Get old values
- Select @ItemBusinessPageId = BPI.BusinessPageId,
- @RootPageId = BP.RootPageId ,
- @ItemMaskOld = BPI.PageItemMask ,
- @ItemPageBannerId = BPI.PageBannerId
- FROM BusinessPageItem BPI
- JOIN BusinessPage BP ON BP.BusinessPageId = BPI.BusinessPageId
- WHERE BPI.PageItemId = @PageItemId
- if (( @ItemMaskOld & @IsEmail) = @IsEmail)
- BEGIN
- Select @PageMailId = BusinessPageId
- FROM BusinessPage
- Where RootPageId = @RootPageId
- AND PageTypeId = 10002 -- MAIL ERR DEBUG
- AND ( ( (@ItemBusinessPageId = @RootPageId ) AND (ParentPageId IS NULL ) ) -- Clean copy
- OR ( (@ItemBusinessPageId != @RootPageId ) AND (ParentPageId IS NOT NULL ) ) -- Draft copy
- )
- End
- -- –‡Á·Ë‡ÂÏÒˇ Ò ·‡Ì‡ÏË
- if (( @ItemMaskOld & @IsBanner) = @IsBanner)
- BEGIN
- -- TEST : Statud NEW on MasterPage ?
- Select @PageStatusId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- where DataReferenceCode = @Sign_StatusNew
- --
- -- œ˚Ú‡ÂÏÒˇ Û‰‡ÎËÚ¸ ˜ËÒÚÓ‚ËÍ, ÂÒÎË Û ÌÂ„Ó ÒÚ‡ÚÛÒ NEW
- --
- DELETE BP_OWN
- From BusinessPage BP
- JOIN BusinessPage BP_OWN ON BP_OWN.BusinessPageId = BP.ParentPageId
- AND BP_OWN.PageStatusId = @PageStatusId
- WHERE BP.BusinessPageId = @ItemPageBannerId
- -- ”‰‡ÎˇÂÏ ˜ÂÌÓ‚ËÍ
- DELETE BP
- From BusinessPage BP
- WHERE BP.BusinessPageId = @ItemPageBannerId
- END
- -- ÃÓÊÌÓ Û‰‡ÎˇÚ¸ ITEM
- DELETE
- FROM BusinessPageItem
- WHERE PageItemId = @PageItemId
- select StatusCode = 0,
- ExtCode = 0,
- message = CAST( @PageItemId as nvarchar),
- ItemMaskOld = @ItemMaskOld,
- PageMailId = ISNULL(@PageMailId, 0 ),
- PageBannerId = ISNULL(@PageBannerId, 0 )
- RETURN
- END
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ITEM_GET_TEMPLATE'
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ITEM_GET_TEMPLATE', @PageItemTemplateId = 1
- --
- -- œÓÎÛ˜‡ÂÏ ÒÔËÒÓÍ ‚ÒÂı ‰ÓÒÚÛÔÌ˚ı ¯‡·ÎÓÌÓ‚ ·ÎÓÍÓ‚
- --
- if @Command = 'ITEM_GET_TEMPLATE'
- BEGIN
- if ISNULL( @PageItemTemplateId, '0') = '0'
- SET @PageItemTemplateId= NULL
- Select PageItemTemplateId ,
- ItemTemplateName ,
- ItemTemplateHTML
- from BusinessPageItemTemplate
- WHERE PageItemTemplateId = ISNULL( @PageItemTemplateId, PageItemTemplateId )
- RETURN
- END
- ------------------------------------------------------------------------------------------------------
- -- EXEC asContentEditor @UserId=8 , @Language = 'ru', @Command = 'IMAGE_GET_BY_BUSINESS' , @BusinessId=2
- -- EXEC asContentEditor @UserId=1 , @Language = 'ru' ,@Command = 'IMAGE_GET_BY_BUSINESS' , @BusinessId=2
- --
- -- œÓÎÛ˜‡ÂÏ ÒÔËÒÓÍ ‚ÒÂı ËÒÛÌÍÓ‚ Ò‚ˇÁ‡ÌÌ˚ı Ò ‚·‰ÂθˆÂÏ ÚÂÍÛ˘Â„Ó ·ËÁÌÂÒ‡
- -- ≈ÒÎË BusinessId = 0, ·ÂÂÏ ÚÂÍÛ˘Â„Ó ÔÓθÁÓ‚‡ÚÂΡ.
- --
- if @Command = 'IMAGE_GET_BY_BUSINESS'
- begin
- SET @ResultHTML = ''
- if @BusinessId = 0
- OR @Access like '%-PageDesign-%'
- OR @Access like '%-PageCreate-%'
- BEGIN
- if @BusinessId = 0
- BEGIN
- SET @OwnerId = @UserId
- END
- Else
- BEGIN
- Select @OwnerId = CustomerId
- FROM Business
- Where BusinessId = @BusinessId
- END
- -- ‰Îˇ ËÒÍβ˜ÂÌˡ ÔÓ·ÎÂÏ Ò ÔÂÓ·‡ÁÓ‚‡ÌËÂÏ JSON-ÒÚÓÍË ‚ JSON-Ó·˙ÂÍÚ,
- -- ÌÛÊÌÓ ‚Ò ‚ÒÚ˜‡˛˘ËÂÒˇ >"< Á‡ÏÂÌËÚ¸ ̇ >\"<
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"UserImageId":' + '"' + CONVERT( VARCHAR(15), ISNULL( UserImageId, 0 ) ) + '",'
- + '"ImageCaption":' + '"' + REPLACE(ISNULL( ImageCaption, ' ' ), '"', '\"') + '",'
- + '"ImageName":' + '"' + REPLACE(ImageName, '"', '\"') + '",'
- + '"ImageAlt":' + '"' + coalesce(ImageAlt, '') + '",'
- + '},'
- FROM UsersImage
- WHERE UserId = @OwnerId
- SELECT XMLHTML = '[' + @ResultHTML + ']',
- TEMPLATE = ''
- END
- ELSE
- BEGIN
- SET @ResultMessage = 'Access denied!'
- Select XMLHTML = -1,
- TEMPLATE = ''
- END
- RETURN
- end
- -- ADSGROUP BUSINESS ---------------------------------------------------------- Start
- --
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_GET', @BusinessId = 2
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_GET', @BusinessId = 3
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_GET', @BusinessId = 3
- --
- if @Command = 'ADSGROUP_GET'
- begin
- --Select @Status_AdsActiveId = DataReferenceId
- --from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- --Where DataReferenceCode = @Sign_AdsActive
- Select ADS.AdsGroupId ,
- ADS.BusinessId ,
- ADS.AdsGroupName,
- ADS.AdsRankId ,
- ADS.AdsStatusId ,
- AdsStatusCode = STA.DataReferenceCode,
- AdsRankName = ARG.DataReferenceName
- from AdsGroup ADS
- JOIN fn_DataReference( 'AdsRank' , @Language, DEFAULT) ARG ON ARG.DataReferenceMasterId = ADS.AdsRankId
- JOIN fn_DataReference( 'AdPageStatus', 'en' , DEFAULT) STA ON STA.DataReferenceMasterId = ADS.AdsStatusId
- Where ADS.BusinessId = @BusinessId
- -- AND ADS.AdsStatusId = @Status_AdsActiveId
- return
- end
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_GET_PAGES', @AdsGroupId = 67
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ADSGROUP_GET_PAGES', @AdsGroupId = 139
- --
- -- œÓÎÛ˜‡ÂÏ ÒÔËÒÓÍ ˇÁ˚ÍÓ‚ Ë Ò‚ˇÁ‡ÌÌ˚ı Ò ÌËÏË ÒÚ‡Ìˈ ÔÓ „ÛÔÔ ( Ë Ëı ÒÓÒÚÓˇÌËÂ)
- --
- if @Command = 'ADSGROUP_GET_PAGES'
- begin
- Select @BusinessId = BusinessId
- from AdsGroup
- WHERE AdsGroupId = @AdsGroupId
- Declare @ActionListADS TABLE ( LanguageId bigint null,
- ActionCode varchar(128)
- )
- --
- -- ‘ÓÏËÛÂÏ Ú‡·ÎËˆÛ ‰ÓÒÚÛÔÓ‚ (ActionCode) ÔÓθÁÓ‚‡ÚÂΡ Í Á‡‰‡ÌÌÓÏÛ ·ËÁÌÂÒÛ,
- -- Ò Û˜ÂÚÓÏ ‡Á¯ÂÌÌ˚ı ‰Îˇ ÌÂ„Ó ˇÁ˚ÍÓ‚.
- --
- Insert into @ActionListADS
- Select DISTINCT
- UA.LanguageId,
- ActionCode = AA.DataReferenceCode
- FROM UsersAccess UA
- JOIN DataReference AR
- ON AR.DataReferenceClass = 'AccessRole'
- AND AR.LanguageId = 1
- AND AR.DataReferenceOwner IS NOT NULL
- AND AR.DataReferenceOwner = Convert( varchar(15),UA.RoleId)
- JOIN fn_DataReference( 'AccessAction', 'en', DEFAULT) AA
- ON AA.DataReferenceMasterId = Convert( bigint, AR.DataReferenceName )
- WHERE UA.UserId = @UserId
- AND UA.ObjectTypeId = @Sign_ObjectTypeId
- AND UA.ObjectId = @BusinessId
- DECLARE @_NestedPageStatus TABLE (
- LanguageId bigint NULL,
- Access_PageStatusId bigint NULL,
- IsReadOnly int NULL
- )
- insert into @_NestedPageStatus
- Select *
- from fn_NestedPageStatus( @UserId, @BusinessId )
- Select @PageType_PageId = DataReferenceId
- FROM fn_dataReference( 'adPageType' , 'en', DEFAULT ) PGT
- WHERE DataReferenceCode = @PageType_Page
- --
- -- RESULT
- --
- Select LanguageId = LNG.DataReferenceMasterId ,
- LanguageName = LNG.DataReferenceName ,
- AccessToLanguage = CASE WHEN AL.maxActionCode IS NULL THEN 'false'
- WHEN ISNULL(NPS_C.IsReadOnly, 1) = 1
- AND ISNULL(NPS_D.IsReadOnly, 1) = 1 THEN 'false'
- ELSE 'true'
- END,
- CleanPageId = BP.BusinessPageId ,
- CleanPageStatusCode = STP_C.DataReferenceCode ,
- CleanPageAuditCode = STA_C.DataReferenceCode ,
- DraftPageId = CHILD.BusinessPageId
- FROM AdsGroup ADS
- JOIN BusinessPage BP
- ON BP.BusinessId = ADS.BusinessId
- AND BP.AdsGroupId = ADS.AdsGroupId
- AND BP.PageTypeId = @PageType_PageId
- AND BP.ParentPageId IS NULL
- --
- JOIN fn_DataReference( 'AdPageStatus', 'en', DEFAULT) STP_C
- ON STP_C.DataReferenceId = BP.PageStatusId
- JOIN fn_DataReference( 'AdPageStatus', 'en', DEFAULT) STA_C
- ON STA_C.DataReferenceId = BP.PageAuditStatusId
- LEFT JOIN BusinessPage CHILD
- ON CHILD.ParentPageID = BP.BusinessPageId
- AND CHILD.PageTypeId = @PageType_PageId
- JOIN fn_DataReference( 'language', @Language, DEFAULT ) LNG
- ON LNG.DataReferenceMasterId = BP.LanguageId
- LEFT JOIN ( Select LanguageId ,
- maxActionCode = MAX(ActionCode)
- from @ActionListADS
- where ActionCode in ( 'PageDesign',
- 'PageTranslate'
- )
- GROUP BY LanguageId
- ) AL ON ISNULL( AL.LanguageId, BP.LanguageId ) = BP.LanguageId
- LEFT JOIN @_NestedPageStatus NPS_C ON NPS_C.Access_PageStatusId = BP.PageStatusId
- AND ISNULL( NPS_C.LanguageId, BP.LanguageId ) = BP.LanguageId
- LEFT JOIN @_NestedPageStatus NPS_D ON NPS_D.Access_PageStatusId = CHILD.PageStatusId
- AND ISNULL( NPS_D.LanguageId, CHILD.LanguageId ) = CHILD.LanguageId
- where ADS.AdsGroupId = @AdsGroupId
- return
- end
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'ASSIGN_ADSGROUP_BUSINESS_GET_JSON', @BusinessId = 3
- -- EXEC asContentEditor @UserId = 52, @Language = 'en',@Command = 'ASSIGN_ADSGROUP_BUSINESS_GET_JSON', @BusinessId = 1098
- -- -------------------------------------------------------------------
- if @Command = 'ASSIGN_ADSGROUP_BUSINESS_GET_JSON'
- begin
- if @Access not like '%-BusinessEdit-%'
- BEGIN
- SET @ResultMessage = 'Access denied!'
- SET @ResultHTML = -1
- SELECT XMLHTML = '-1',
- TEMPLATE = @Access
- RETURN
- END
- SET @ResultHTML = '"AdsGroup":['
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"AdsGroupId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( ADS.AdsGroupId, 0 ) ) ) + '",'
- + '"AdsGroupName":' + '"' + REPLACE(ISNULL( ADS.AdsGroupName , ' ' ), '"', '\"') + '",'
- + '"BusinessId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( ADS.BusinessId, 0 ) ) ) + '",'
- + '"AdsRankId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( ARG.DataReferenceMasterId, 0 ) ) ) + '",'
- + '"AdsRankCode":' + '"' + REPLACE(ISNULL( ARG.DataReferenceCode , ' ' ), '"', '\"') + '",'
- + '"AdsRankName":' + '"' + REPLACE(ISNULL( ARG.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '},'
- from AdsGroup ADS
- JOIN fn_DataReference ( 'AdsRank' , @Language, DEFAULT) ARG ON ARG.DataReferenceMasterId = ADS.AdsRankId
- WHERE ADS.BusinessId = @BusinessId
- -- Collect elements
- Set @ResultHTML = @ResultHTML + '],'
- IF @ResultHTML IS NULL
- BEGIN
- Set @ResultHTML = '"AdsGroup":[],'
- END
- ---------------------------------------------------------
- -- AdsRank is : ------------------------------------- ADSGROUP_RANK_GET_JSON: {}
- ---------------------------------------------------------
- Set @ResultHTML = @ResultHTML + '"AdsRank":['
- -- ‰Îˇ ËÒÍβ˜ÂÌˡ ÔÓ·ÎÂÏ Ò ÔÂÓ·‡ÁÓ‚‡ÌËÂÏ JSON-ÒÚÓÍË ‚ JSON-Ó·˙ÂÍÚ,
- -- ÌÛÊÌÓ ‚Ò ‚ÒÚ˜‡˛˘ËÂÒˇ >"< Á‡ÏÂÌËÚ¸ ̇ >\"<
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"id":' + '"' + CONVERT( VARCHAR(15), ISNULL( RAN.DataReferenceMasterId, 0 ) ) + '",'
- + '"name":' + '"' + REPLACE(ISNULL( RAN.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '"code":' + '"' + CONVERT( VARCHAR(15), ISNULL( RAN.DataReferenceCode, 0 ) ) + '",'
- + '},'
- FROM ( Select DataReferenceMasterId,
- DataReferenceName,
- DataReferenceCode
- FROM fn_DataReference( 'AdsRank', @Language, DEFAULT)
- ) RAN
- Order By RAN.DataReferenceMasterId
- -- Collect elements
- Set @ResultHTML = @ResultHTML + '],'
- -- ----------------------------------------------
- SELECT XMLHTML = '({' + @ResultHTML + '})',
- TEMPLATE = ''
- return
- end
- --
- -- EXEC asContentEditor @UserId = 11, @Language = 'ru', @Command = 'ADSGROUP_BUSINESS_EDIT_ADD', @AdsGroupId= 5, @BusinessId = 79,@AdsGroupName='hhdhhd', @AdsRankId='52340'
- -- -------------------------------------------------------------------
- --
- IF @Command = 'ADSGROUP_BUSINESS_EDIT_ADD'
- BEGIN
- SET @ResultMessage=''
- if @Access not like '%-BusinessEdit-%'
- BEGIN
- SET @ResultMessage = 'Access denied!'
- SELECT XMLHTML = '-1',
- TEMPLATE = @Access
- RETURN
- END
- if @AdsGroupId = -1
- BEGIN
- Select @Status_AdsActiveId = DataReferenceId
- from dbo.fn_DataReference( 'AdPageStatus', 'en', DEFAULT)
- Where DataReferenceCode = @Sign_AdsActive
- INSERT INTO AdsGroup( AdsGroupName,
- BusinessId ,
- AdsRankId ,
- AdsStatusId )
- VALUES( @AdsGroupName,
- @BusinessId ,
- @AdsRankId ,
- @Status_AdsActiveId )
- SET @AdsGroupId = @@IDENTITY
- END
- ELSE
- BEGIN
- UPDATE AdsGroup
- SET AdsGroupName = @AdsGroupName,
- AdsRankId = @AdsRankId
- WHERE AdsGroupId = @AdsGroupId
- END
- if @@ROWCOUNT = 0
- BEGIN
- SET @ResultMessage = 'DataBase: Chage group business failed !'
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- return
- END
- -- Check Set\Add result -------------------------------------
- SET @ResultMessage = ''
- SET @ResultHTML = '( { "Id":' + @AdsGroupId + ' } )'
- END
- --
- -- EXEC asContentEditor @UserId = 11, @Language = 'ru', @Command = 'ADSGROUP_BUSINESS_DELETE', @AdsGroupId= 8,@BusinessId = 79
- -- -------------------------------------------------------------------
- --
- IF @Command = 'ADSGROUP_BUSINESS_DELETE'
- BEGIN
- SET @ResultMessage=''
- if @Access not like '%-BusinessEdit-%'
- BEGIN
- SET @ResultMessage = 'Access denied!'
- SELECT XMLHTML = '-1',
- TEMPLATE = @Access
- RETURN
- END
- if EXISTS ( SELECT 1 FROM BusinessPage WHERE AdsGroupId = @AdsGroupId )
- BEGIN
- SET @ResultMessage = 'DataBase: This group is already in use !'
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- return
- END
- ELSE
- BEGIN
- DELETE FROM AdsGroup WHERE AdsGroupId = @AdsGroupId
- END
- if @@ROWCOUNT = 0
- BEGIN
- SET @ResultMessage = 'DataBase: Delete group business failed !'
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- return
- END
- -- Check Set\Add result -------------------------------------
- SET @ResultMessage = ''
- SET @ResultHTML = '( { "Id":' + @AdsGroupId + ' } )'
- END
- -- ADSGROUP BUSINESS ---------------------------------------------------------- Stop
- -- ACCCESS MANAGEMENT ---------------------------------------------------------- Start
- --
- -- EXEC asContentEditor @UserId = 2, @Language = 'ru', @Command = 'ACCESS_MANAGEMENT_GET_JSON', @ObjectType = 'OB', @ObjectId = 8
- -- EXEC asContentEditor @UserId = 11, @Language = 'uk', @LanguageId = 1, @Command = 'ACCESS_MANAGEMENT_GET_JSON', @ObjectType = 'DR', @ObjectId = 1006
- -- -------------------------------------------------------------------
- --
- -- ACCESS_MANAGEMENT_GET_JSON = { ACCESS_USER_GET_JSON: {},
- -- ACCESS_LANGUAGE_GET_JSON: {},
- -- ACCESS_ROLE_GET_JSON: {}
- -- }
- -- -------------------------------------------------------------------
- --
- -- œÓÎÛ˜‡ÂÏ ÔÓÎÌÛ˛ ËÌÙÓχˆË˛ Ó ÔÓθÁÓ‚‡ÚÂΡı Ë Ëı Ô‡‚‡ı
- -- ‰Îˇ Á‡‰‡ÌÌÓ„Ó Ó·˙ÂÍÚ‡ (ÒÔ‡‚Ó˜ÌË͇ ËÎË ·ËÁÌÂÒ-Ó·˙ÂÍÚ‡, ÒÚ‡Ìˈ˚.. )
- --
- if @Command = 'ACCESS_MANAGEMENT_GET_JSON'
- begin
- if @ObjectType = 'DR'
- BEGIN
- Select @Access = dbo.fn_CheckDataReferenceAccess( @UserId, @ObjectId, null, null, @LanguageId )
- END
- if @Access not like '%-DistributedAccess-%'
- BEGIN
- SET @ResultMessage = 'Access denied!'
- SET @ResultHTML = -1
- SELECT XMLHTML = '-1',
- TEMPLATE = @Access
- RETURN
- END
- -- ----------------------------------------------
- --
- -- ¬ÎÓÊÂÌÌÓÒÚ¸ ÓÎÂÈ Ë Ëı Ô‡‚‡ ̇ ÛÔ‡‚ÎÂÌˡ ‰ÓÒÚÛÔ‡ÏË
- -- Ò Û˜ÂÚÓÏ ‡Á¯ÂÌÌ˚ı ˇÁ˚ÍÓ‚ ÚÂÍÛ˘Â„Ó ÔÓθÁÓ‚‡ÚÂΡ
- --
- Declare @AccessRole TABLE (
- RoleId bigint null,
- LanguageId bigint null,
- IsDistributedAccess int null
- )
- INSERT INTO @AccessRole
- Select DISTINCT
- RoleId = AR.DataReferenceMasterId,
- UA.LanguageId ,
- IsDistributedAccess = CASE
- WHEN NESTED.Master_RoleId = AR.DataReferenceMasterId THEN NESTED.Master_DistributedAccess
- WHEN NESTED.Child_RoleId = AR.DataReferenceMasterId THEN NESTED.Child_DistributedAccess
- ELSE 0
- END
- FROM UsersAccess UA
- JOIN fn_NestedRoles( @ObjectType ) NESTED ON NESTED.Master_RoleId = UA.RoleId
- JOIN fn_DataReference( 'AccessRole', @Language, DEFAULT) AR
- ON AR.DataReferenceMasterId in (NESTED.Master_RoleId, NESTED.Child_RoleId)
- WHERE UA.ObjectId = @ObjectId
- and UA.UserId = @UserId
- --
- -- for JSON RESULT string
- --
- SET @ResultHTML = ''
- ---------------------------------------------------------
- -- Access Users is : ------------------------------------ ACCESS_USER_GET_JSON: {}
- ---------------------------------------------------------
- SET @ResultHTML = '"AccessUsers":['
- --
- -- ‰Îˇ ËÒÍβ˜ÂÌˡ ÔÓ·ÎÂÏ Ò ÔÂÓ·‡ÁÓ‚‡ÌËÂÏ JSON-ÒÚÓÍË ‚ JSON-Ó·˙ÂÍÚ,
- -- ÌÛÊÌÓ ‚Ò ‚ÒÚ˜‡˛˘ËÂÒˇ >"< Á‡ÏÂÌËÚ¸ ̇ >\"<
- --
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"UserId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UA.UserId, 0 ) ) ) + '",'
- + '"UserFirstName":' + '"' + REPLACE(ISNULL( US.UserFirstName , ' ' ), '"', '\"') + '",'
- + '"UserLastName":' + '"' + REPLACE(ISNULL( US.UserLastName , ' ' ), '"', '\"') + '",'
- + '"AccessLanguageName":' + '"' + REPLACE(ISNULL( lDR.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '"AccessLanguageId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UA.LanguageId, 0 ) ) ) + '",'
- + '"AccessRoleName":' + '"' + REPLACE(ISNULL( fDR.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '"AccessRoleCode":' + '"' + REPLACE(ISNULL( fDR.DataReferenceCode , ' ' ), '"', '\"') + '",'
- + '"AccessRoleId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UA.RoleId, 0 ) ) ) + '",'
- + '"DistributingLang":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UAD.LanguageId, 0 ) ) ) + '",'
- + '},'
- FROM UsersAccess UA
- -- ÚÓθÍÓ ‡Ì‡Îӄ˘Ì˚ ÏÓËÏ Ô‡‚‡ .....
- -- ÚÓθÍÓ Ú ˇÁ˚ÍË, ‰Îˇ ÍÓÚÓ˚ı ˇ ˇ‚Ρ˛Ò¸ ‰ËÒÚË·ÛÚÓÓÏ Ô‡‚ .....
- JOIN @AccessRole IAM ON IAM.RoleId = UA.RoleId
- AND COALESCE( IAM.LanguageId, UA.LanguageId, -1000 ) = COALESCE( UA.LanguageId, -1000)
- JOIN fn_DataReference( 'AccessObjects', @Language, DEFAULT) OB ON OB.DataReferenceMasterId = UA.ObjectTypeId
- AND OB.DataReferenceCode = @ObjectType
- JOIN fn_DataReference( 'AccessRole', @Language, DEFAULT) fDR ON fDR.DataReferenceMasterId = UA.RoleId
- JOIN ( select TOP 1
- LanguageId
- from UsersAccess
- where UserId = @UserId
- AND ObjectId = @ObjectId
- ORDER BY LanguageId
- ) UAD on 1=1
- JOIN Users US ON US.UserId = UA.UserId
- LEFT JOIN fn_DataReference( 'Language', @Language, DEFAULT) lDR ON lDR.DataReferenceMasterId = UA.LanguageId
- WHERE UA.ObjectId = @ObjectId
- --
- -- œË ˝ÚÓÏ, ÚÂÍÛ˘ËÈ ÔÓθÁÓ‚‡ÚÂθ ÏÓÊÂÚ ËÏÂÚ¸ ‰ÓÒÚÛÔ ÍÓ ‚ÒÂÏ ˇÁ˚͇Ï
- -- ÎË·Ó Ê ÔÓθÁÓ‚‡ÚÂÎË ËÁ ÒÔËÒ͇ ËÏÂ˛Ú ˇÁ˚Í ‚ıÓ‰ˇ˘ËÈ ‚ ÒÔËÒÓÍ
- -- ˇÁ˚ÍÓ‚, ÔÓ ÍÓÚÓ˚Ï ÚÂÍÛ˘ËÈ ÔÓθÁÓ‚‡ÚÂθ ËÏÂÂÚ Ô‡‚‡ ̇ ÛÔ‡‚ÎÂÌË ‰ÓÒÚÛÔ‡ÏË
- --
- AND ( IAM.LanguageId IS NULL
- OR COALESCE( UA.LanguageID, -9999 ) IN (
- SELECT DISTINCT
- COALESCE( LanguageId, -9999 )
- FROM @AccessRole IAM
- WHERE ISNULL( IAM.IsDistributedAccess, 0 ) = 1
- )
- )
- ORDER BY US.UserFirstName
- -- Collect elements
- Set @ResultHTML = @ResultHTML + '],'
- ---------------------------------------------------------
- -- Languages is : --------------------------------------- ACCESS_LANGUAGE_GET_JSON: {}
- ---------------------------------------------------------
- Set @ResultHTML = @ResultHTML + '"Language":['
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"id":' + '"' + CONVERT( VARCHAR(15), ISNULL( LNG.DataReferenceMasterId, 0 ) ) + '",'
- + '"name":' + '"' + REPLACE(ISNULL( LNG.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '"code":' + '"' + CONVERT( VARCHAR(15), ISNULL( LNG.DataReferenceCode, 0 ) ) + '",'
- + '},'
- FROM (
- SELECT Distinct
- fDR.DataReferenceMasterId ,
- fDR.DataReferenceName ,
- fDR.DataReferenceCode
- FROM @AccessRole AR
- JOIN fn_DataReference( 'Language', @Language, DEFAULT) fDR
- ON fDR.DataReferenceMasterId = COALESCE( AR.LanguageId, fDR.DataReferenceMasterId )
- WHERE ISNULL( AR.IsDistributedAccess, 0 ) = 1
- ) LNG
- -- Collect elements
- Set @ResultHTML = @ResultHTML + '],'
- ---------------------------------------------------------
- -- Access Role is : ------------------------------------- ACCESS_ROLE_GET_JSON: {}
- ---------------------------------------------------------
- Set @ResultHTML = @ResultHTML + '"AccessRoles":['
- -- ‰Îˇ ËÒÍβ˜ÂÌˡ ÔÓ·ÎÂÏ Ò ÔÂÓ·‡ÁÓ‚‡ÌËÂÏ JSON-ÒÚÓÍË ‚ JSON-Ó·˙ÂÍÚ,
- -- ÌÛÊÌÓ ‚Ò ‚ÒÚ˜‡˛˘ËÂÒˇ >"< Á‡ÏÂÌËÚ¸ ̇ >\"<
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"id":' + '"' + CONVERT( VARCHAR(15), ISNULL( ROL.RoleId, 0 ) ) + '",'
- + '"name":' + '"' + REPLACE(ISNULL( ROL.DataReferenceName , ' ' ), '"', '\"') + '",'
- + '"code":' + '"' + CONVERT( VARCHAR(15), ISNULL( ROL.DataReferenceCode, 0 ) ) + '",'
- + '},'
- FROM (
- Select DISTINCT
- AR.RoleId,
- DR.DataReferenceName,
- DR.DataReferenceCode
- FROM @AccessRole AR
- JOIN fn_DataReference( 'AccessRole', @Language, DEFAULT) DR
- ON DR.DataReferenceMasterId = AR.RoleId
- ) ROL
- -- Collect elements
- Set @ResultHTML = @ResultHTML + '],'
- -- ----------------------------------------------
- SELECT XMLHTML = '({' + @ResultHTML + '})',
- TEMPLATE = ''
- return
- end
- -- ACCCESS MANAGEMENT ---------------------------------------------------------- Stop
- ------------------------------------------------------------------------------------------------------
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'USER_BY_EMAIL_GET_JSON', @UserEMail = 'mail@mail.ru', @ObjectType = 'OB', @ObjectId = 8
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'USER_BY_EMAIL_GET_JSON', @UserEMail = 'mail@mail.ru', @ObjectType = 'DR', @ObjectId = 1000
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'USER_BY_EMAIL_GET_JSON', @UserEMail = 'mail@mail.ru', @ObjectType = 'DR', @ObjectId = 10001
- --
- -- œÓËÒÍ ÔÓθÁÓ‚‡ÚÂΡ ÔÓ Â„Ó Email
- -- (‰Îˇ Ô‰ÓÒÚ‡‚ÎÂÌˡ ÂÏÛ Ô‡‚ ̇ ‡·ÓÚÛ ÒÓ ÒÔ‡‚Ó˜ÌË͇ÏË ËÎË ·ËÁÌÂÒ-Ó·˙ÂÍÚ‡ÏË)
- --
- if @Command = 'USER_BY_EMAIL_GET_JSON'
- begin
- SET @ResultHTML = ''
- if @ObjectType = 'DR'
- BEGIN
- Select @Access = dbo.fn_CheckDataReferenceAccess( @UserId, @ObjectId, null, null, @LanguageId )
- END
- if @Access not like '%-DistributedAccess-%'
- BEGIN
- SET @ResultMessage = 'Access denied!'
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- RETURN
- END
- if @ObjectType = 'DR'
- BEGIN
- SELECT @RoleDataReference_Edit = DataReferenceMasterId
- FROM fn_DataReference( 'SecurityRoles', 'en', DEFAULT)
- WHERE DataReferenceCode = @Sign_Role_DataReference_Edit
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"UserId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UR.UserId, 0 ) ) ) + '",'
- + '"UserFirstName":' + '"' + REPLACE(ISNULL( US.UserFirstName , ' ' ), '"', '\"') + '",'
- + '"UserLastName":' + '"' + REPLACE(ISNULL( US.UserLastName , ' ' ), '"', '\"') + '",'
- + '"UserEMail":' + '"' + REPLACE(ISNULL( US.UserEMail , ' ' ), '"', '\"') + '",'
- + '},'
- FROM UsersRoles UR
- JOIN Users US ON US.UserId = UR.UserId
- AND US.UserEMail = @UserEMail
- WHERE UR.RoleId = @RoleDataReference_Edit
- END
- ELSE
- BEGIN
- SELECT @ResultHTML = @ResultHTML
- + '{ '
- + '"UserId":' + '"' + CONVERT( VARCHAR(15), (ISNULL( UserId, 0 ) ) ) + '",'
- + '"UserFirstName":' + '"' + REPLACE(ISNULL( UserFirstName , ' ' ), '"', '\"') + '",'
- + '"UserLastName":' + '"' + REPLACE(ISNULL( UserLastName , ' ' ), '"', '\"') + '",'
- + '"UserEMail":' + '"' + REPLACE(ISNULL( UserEMail , ' ' ), '"', '\"') + '",'
- + '},'
- FROM Users
- WHERE UserEMail = @UserEMail
- END
- SELECT XMLHTML = '[' + @ResultHTML + ']',
- TEMPLATE = ''
- return
- end
- -- Exec asContentEditor @UserId = 176, @Command = 'CHANGE_BUSINESS_OWNER'
- --///////////////////////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\--
- IF @Command = 'CHANGE_BUSINESS_OWNER'
- BEGIN
- SET @ResultMessage = ''
- SELECT @UserEMail = UserEMail
- From Users
- Where UserId = @UserId
- SELECT @AccessToRoleId = DataReferenceId
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceCode = @Sign_RoleOwner
- SELECT @mObjectTypeId = DataReferenceId
- FROM fn_DataReference( 'AccessObjects', 'en', DEFAULT)
- WHERE DataReferenceCode = 'OB'
- SELECT @ObjectId = BusinessId, @AccessToUserId = UserId
- From SAInvite
- Where UserEmail = @UserEMail
- Update Business
- SET CustomerId = @UserId
- Where BusinessId = @ObjectId
- DELETE
- FROM UsersAccess
- WHERE UserId = @AccessToUserId
- AND ObjectId = @ObjectId
- AND ObjectTypeId = @mObjectTypeId
- AND RoleId = @AccessToRoleId
- AND ISNULL( LanguageId, 0 ) = ISNULL( @AccessToLanguageId, 0 )
- INSERT INTO UsersAccess ( UserId ,
- ObjectTypeId,
- ObjectId ,
- LanguageId ,
- RoleId )
- VALUES( @UserId ,
- @mObjectTypeId ,
- @ObjectId ,
- CASE WHEN ISNULL(@AccessToLanguageId,0) = 0 THEN NULL ELSE @AccessToLanguageId END,
- @AccessToRoleId )
- SET @mRowCount = @@ROWCOUNT
- if @mRowCount = 0
- BEGIN
- SET @ResultMessage = 'DataBase: Add user grant failed !'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- SELECT @AccessToRoleId = DataReferenceId
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceCode = @Sign_RoleBusinessManager
- EXEC asContentEditor @UserId = @UserId,
- @Language = 'en',
- @Command = 'ACCESS_USER_ADD',
- @ObjectId = @ObjectId,
- @ObjectType = 'OB',
- @AccessToUserId = @AccessToUserId,
- @AccessToRoleId = @AccessToRoleId
- RETURN
- END
- -- ///////////// ƒŒ¡¿¬À≈Õ»≈ = »«Ã≈Õ≈Õ»≈ + ”ƒ¿À≈Õ»≈ œ–¿¬ ƒŒ—“”œ¿ ////////////////////////
- ----------------------------------------------------------------------------------
- -- EXEC asContentEditor @UserId = 8, @Language = 'ru', @Command = 'USER_BY_EMAIL_GET_JSON', @UserEMail = 'mail@mail.ru', @ObjectType = 'OB', @ObjectId = 8
- --
- -- Command = ACCESS_USER_ADD
- -- = ACCESS_USER_SET
- -- = ACCESS_USER_DEL -- ???
- --
- /* EXEC asContentEditor @UserId = 168,
- @Language = 'ru',
- @Command = 'ACCESS_USER_ADD',
- @ObjectId = 1290,
- @ObjectType = 'OB',
- @OldAccessRoleId = '',
- @OldAccessLanguageId = '',
- @AccessToUserId = 176,
- @AccessToRoleId = 51256
- EXEC asContentEditor @UserId = 8,
- @Language = 'ru',
- @Command = 'ACCESS_USER_ADD',
- @ObjectId = 1,
- @ObjectType = 'OB',
- @OldAccessRoleId = '',
- @OldAccessLanguageId = '',
- @AccessToUserId = 2,
- @AccessToRoleId = '',
- @AccessToLanguageId = 1
- */
- ----------------------------------------------------------------------------------
- --
- -- Õ‡·Ó ÔÓÒΉӂ‡ÚÂÎÌÓ ‚˚ÔÓÎÌˇÂÏ˚ı ·ÎÓÍÓ‚, ‰Îˇ ( Ô‡‚‡ ̇ ‡·ÓÚÛ Ò ÒÔ‡‚Ó˜ÌË͇ÏË Ë ·ËÁÌÂÒ-Ó·˙ÂÍÚ‡ÏË)
- -- - ƒÓ·‡‚ÎÂÌË ÔÓθÁÓ‚‡ÚÂβ Ô‡‚
- -- - »ÁÏÂÌÂÌË ԇ‚ ÔÓθÁÓ‚‡ÚÂΡ
- -- - ”‰‡ÎÂÌË ÚÂÍÛ¯Ëı ‡Á¯ÂÌˡ ÔÓθÁÓ‚‡ÚÂβ
- -- *****
- -- - œÓ‰ Ô‡‚‡ÏË ÔÓ‰‡ÁÛÏ‚‡ÂÚÒˇ
- -- ‡) Œ·˙ÂÍÚ ( ÒÔ‡‚Ó˜ÌËÍ ËÎË ·ËÁÌÂÒ )
- -- ·) flÁ˚Í, Ò ÍÓÚÓ˚Ï ‡Á¯ÂÌÓ ‡·ÓÚ‡Ú¸
- -- ‚) –Óθ ÔÓθÁÓ‚‡ÚÂΡ "ROLE" ( Ó„‡Ì˘ÂÌË ‚ÓÁÏÓÊÌ˚ı ‰ÂÈÒÚ‚ËÈ "ACTION")
- --
- IF @Command in ( 'ACCESS_USER_ADD', 'ACCESS_USER_DEL', 'ACCESS_USER_SET' ) -- Add \ Del \ Change user grant
- BEGIN
- -- Start of test grant & assign default values
- SET @ResultMessage = '' -- error not found.
- -- Replace "OB" / "DR" to id this type ------------------------
- SELECT @mObjectTypeId = DataReferenceId
- FROM fn_DataReference( 'AccessObjects', 'en', DEFAULT)
- WHERE DataReferenceCode = @ObjectType
- IF @AccessToLanguageId = -1 -- ( Add user access -- get language from current user(GRANTOR) )
- BEGIN
- Select TOP 1
- @AccessToLanguageId = UA.LanguageId
- FROM UsersAccess UA
- JOIN fn_NestedRoles( @ObjectType ) NESTED ON NESTED.Master_RoleId = UA.RoleId
- AND NESTED.Master_DistributedAccess = 1
- WHERE UserId = @UserId
- AND ObjectId = @ObjectId
- AND ObjectTypeId = @mObjectTypeId
- Order by UA.LanguageId
- END
- if @ObjectType = 'DR'
- BEGIN
- Select @Access = dbo.fn_CheckDataReferenceAccess( @UserId, @ObjectId, null, null, @AccessToLanguageId )
- END
- -- Check acces to this Business or DataReference
- if @Access NOT LIKE '%-DistributedAccess-%'
- BEGIN
- SET @ResultMessage = '1:Access denied!'
- PRINT @ResultMessage
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- return
- END
- IF @AccessToRoleId = ''
- BEGIN -- For new User assign default minimal role ----------------------------------
- SELECT @AccessToRoleId = DataReferenceId
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceCode = CASE WHEN @ObjectType = 'OB' THEN @Sign_RoleTranslatorPage
- WHEN @ObjectType = 'DR' THEN @Sign_RoleTranslator
- END
- END
- -- ---------------------------------------------------------------------
- -- "OB" : if assign "Owner" : set LanguageTo = NULL ( all languages )
- if @ObjectType = 'OB'
- AND EXISTS (
- SELECT 1
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceId = @AccessToRoleId
- AND DataReferenceCode = @Sign_RoleOwner
- )
- BEGIN
- SET @AccessToLanguageId = NULL -- FOR OWNER - access to ALL LANGUAGES
- END
- -- ------------------------------------------------
- -- End of test grant & assign default values
- -- ------------------------------------------------
- -- ------------------------------------------------
- -- DELETE User access
- -- ------------------------------------------------
- IF @Command = 'ACCESS_USER_DEL' -- REMOVE Access
- BEGIN
- if @ObjectType = 'OB'
- AND EXISTS (
- SELECT 1
- FROM fn_DataReference( 'AccessRole', 'en', DEFAULT)
- WHERE DataReferenceId = @AccessToRoleId
- AND DataReferenceCode = @Sign_RoleOwner
- )
- BEGIN
- -- REMOVE record for Owner : restricted.
- SET @ResultMessage = 'DataBase : Delete OWNER records restricted !'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- ELSE
- BEGIN
- DELETE
- FROM UsersAccess
- WHERE UserId = @AccessToUserId
- AND ObjectId = @ObjectId
- AND ObjectTypeId = @mObjectTypeId
- AND RoleId = @AccessToRoleId
- AND ISNULL( LanguageId, 0 ) = ISNULL( @AccessToLanguageId, 0 )
- SET @mRowCount = @@ROWCOUNT
- IF @mRowCount = 1
- BEGIN
- SET @ResultMessage = ''
- SET @ResultHTML = 1
- END
- ELSE
- BEGIN
- SET @ResultMessage = 'DataBase : Delete failed ! Record not found!'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- END
- END
- -- --------------------------------------------------
- -- ADD & UPDATE GRANT
- -- --------------------------------------------------
- IF @Command in ( 'ACCESS_USER_ADD', 'ACCESS_USER_SET' )
- BEGIN
- -- Check : If OB & owner alredy exists...
- if @ObjectType = 'OB'
- AND Exists ( SELECT 1
- FROM UsersAccess UA
- JOIN fn_DataReference( 'AccessRole', 'en', DEFAULT) fDR
- ON fDR.DataReferenceId = UA.RoleId
- AND fDR.DataReferenceCode = @Sign_RoleOwner
- WHERE UA.ObjectId = @ObjectId
- AND UA.ObjectTypeId = @mObjectTypeId
- AND UA.RoleId = @AccessToRoleId
- )
- BEGIN
- SET @ResultMessage = 'Owner for this business alredy exists !'
- SELECT XMLHTML = '-1',
- TEMPLATE = ''
- return
- END
- -- This row alredy exist in database. NOT CHANGED !
- IF Exists ( Select 1
- from UsersAccess UA
- WHERE UA.UserId = @AccessToUserId
- AND UA.ObjectId = @ObjectId
- AND UA.ObjectTypeId = @mObjectTypeId
- AND UA.RoleId = @AccessToRoleId
- AND ISNULL( UA.LanguageId, 0 ) = ISNULL( @AccessToLanguageId, 0 )
- )
- BEGIN
- SET @ResultMessage = 'This user & access-grant for this object alredy exists !'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- IF @Command = 'ACCESS_USER_ADD' -- ADD Access
- BEGIN
- INSERT INTO UsersAccess ( UserId ,
- ObjectTypeId,
- ObjectId ,
- LanguageId ,
- RoleId )
- VALUES( @AccessToUserId ,
- @mObjectTypeId ,
- @ObjectId ,
- CASE WHEN ISNULL(@AccessToLanguageId,0) = 0 THEN NULL ELSE @AccessToLanguageId END,
- @AccessToRoleId )
- SET @mRowCount = @@ROWCOUNT
- if @mRowCount = 0
- BEGIN
- SET @ResultMessage = 'DataBase: Add user grant failed !'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- END
- IF @Command = 'ACCESS_USER_SET' -- UPDATE Access
- BEGIN
- UPDATE UsersAccess
- SET RoleId = @AccessToRoleId,
- LanguageId = CASE WHEN ISNULL(@AccessToLanguageId,0) = 0 THEN NULL ELSE @AccessToLanguageId END
- WHERE UserId = @AccessToUserId
- AND ObjectId = @ObjectId
- AND ObjectTypeId = @mObjectTypeId
- AND RoleId = @OldAccessRoleId
- AND ISNULL( LanguageId, 0 ) = ISNULL( @OldAccessLanguageId, 0 )
- SET @mRowCount = @@ROWCOUNT
- if @mRowCount = 0
- BEGIN
- SET @ResultMessage = 'DataBase : Delete failed ! Record not found!'
- SELECT XMLHTML = -1,
- TEMPLATE = ''
- return
- END
- END
- -- Check Set\Add result -------------------------------------
- SET @ResultMessage = ''
- SELECT @ResultHTML = '( { "Id":' + @AccessToRoleId + ','
- + ' "AccessRoleName":"' + ISNULL( AR.DataReferenceName, 'nbsp;')+ '",'
- + ' "AccessRoleCode":"' + ISNULL( AR.DataReferenceCode, 'nbsp;')+ '",'
- + ' "AccessToLanguageId":"' + ISNULL( @AccessToLanguageId, '0')+ '",'
- + ' "DistributingLang":' + QR.DistributingLang +
- + ' } )'
- FROM fn_DataReference( 'AccessRole', @Language, DEFAULT) AR
- JOIN (
- SELECT top 1 -- ÓÔ‰ÂΡÂÏ Í‡ÍË ˇÁ˚ÍË ‰ÓÒÚÛÔÌ˚ ‰Îˇ ÔθÁÓ‚‡ÚÂΡ, ÍÓÚÓ˚È ‡Á‰‡ÂÚ Ô‡‚‡
- DistributingLang = CONVERT( VARCHAR(15), (ISNULL( UA.LanguageId, 0 ) ) )
- FROM UsersAccess UA
- JOIN fn_DataReference( 'AccessObjects', 'en', DEFAULT) DR
- ON DR.DataReferenceCode = @ObjectType
- AND DR.DataReferenceId = UA.ObjectTypeId
- WHERE UA.UserId = @UserId
- AND UA.ObjectId = @ObjectId
- order by UA.LanguageId
- ) QR ON 1=1
- WHERE AR.DataReferenceMasterId = @AccessToRoleId
- END
- SELECT XMLHTML = @ResultHTML,
- TEMPLATE = ''
- return
- END -- @Command in ( 'ACCESS_USER_ADD', 'ACCESS_USER_DEL', 'ACCESS_USER_SET' )
- ------------------------------------------------------------------------------------------------------
- SELECT XMLHTML = @ResultHTML ,
- TEMPLATE = @ResultTEMPLATE
- END
- -- The END ---
- GO
- PRINT N'Altering [AuditDDL]...';
- GO
- ENABLE TRIGGER [AuditDDL]
- ON DATABASE;
- GO
- PRINT N'Refreshing [dbo].[asAbuseManager]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asAbuseManager]';
- GO
- PRINT N'Refreshing [dbo].[asMailQueueEditAdd]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asMailQueueEditAdd]';
- GO
- PRINT N'Refreshing [dbo].[asMailManagement]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asMailManagement]';
- GO
- PRINT N'Refreshing [dbo].[asSalesAgent]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asSalesAgent]';
- GO
- PRINT N'Refreshing [dbo].[asAudit]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asAudit]';
- GO
- PRINT N'Refreshing [dbo].[asContentReader]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asContentReader]';
- GO
- PRINT N'Refreshing [dbo].[asUserAuth]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asUserAuth]';
- GO
- PRINT N'Refreshing [dbo].[asUserLanguage]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asUserLanguage]';
- GO
- PRINT N'Refreshing [dbo].[asRequestHandling]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asRequestHandling]';
- GO
- PRINT N'Refreshing [dbo].[asRequestTimeout]...';
- GO
- EXECUTE sp_refreshsqlmodule N'[dbo].[asRequestTimeout]';
- GO
- PRINT N'Update complete.';
- GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement