예제 #1
0
    protected override void OnInit(EventArgs e)
    {
        ChatSupportCannedResponseInfo editedObject = (ChatSupportCannedResponseInfo)CMSContext.EditedObject;

        if (editedObject != null)
        {
            CheckReadPermission(editedObject.ChatSupportCannedResponseSiteID);
        }

        base.OnInit(e);
    }
예제 #2
0
    protected override void OnInit(EventArgs e)
    {
        ChatSupportCannedResponseInfo editedObject = (ChatSupportCannedResponseInfo)UIContext.EditedObject;
        string url = URLHelper.AddParameterToUrl("~/CMSModules/Chat/Pages/Tools/ChatSupportCannedResponse/Edit.aspx", "siteid", "{?siteid?}");

        url = URLHelper.AddParameterToUrl(url, "responseid", "{%EditedObject.ID%}");
        editElem.EditForm.RedirectUrlAfterCreate = URLHelper.AddParameterToUrl(url, "saved", "1");

        if (editedObject != null)
        {
            CheckReadPermission(editedObject.ChatSupportCannedResponseSiteID);
        }

        base.OnInit(e);
    }
예제 #3
0
    protected override void OnInit(EventArgs e)
    {
        if (!CMSContext.CurrentUser.IsAuthorizedPerResource("CMS.Chat", "EnterSupport"))
        {
            RedirectToAccessDenied("CMS.Chat", "EnterSupport");
        }

        ChatSupportCannedResponseInfo editedObject = (ChatSupportCannedResponseInfo)CMSContext.EditedObject;

        if ((editedObject != null) && (!editedObject.ChatSupportCannedResponseChatUserID.HasValue || (editedObject.ChatSupportCannedResponseChatUserID.Value != ChatUserHelper.GetChatUserFromCMSUser().ChatUserID)))
        {
            RedirectToAccessDenied(GetString("chat.error.cannedresponsenotyours"));
        }

        base.OnInit(e);
    }
    void Grid_OnAction(string actionName, object actionArgument)
    {
        int cannedResponseID = ValidationHelper.GetInteger(actionArgument, 0);

        switch (actionName)
        {
        case "delete":
            ChatSupportCannedResponseInfo cannedResponse = ChatSupportCannedResponseInfoProvider.GetChatSupportCannedResponseInfo(cannedResponseID);

            if (cannedResponse == null)
            {
                return;
            }

            CheckModifyPermissions(cannedResponse);

            ChatSupportCannedResponseInfoProvider.DeleteChatSupportCannedResponseInfo(cannedResponseID);
            break;
        }
    }
    void CheckModifyPermissions(ChatSupportCannedResponseInfo cannedResponse)
    {
        if (cannedResponse.ChatSupportCannedResponseChatUserID.HasValue)
        {
            var currentUser = MembershipContext.AuthenticatedUser;

            if (!currentUser.IsAuthorizedPerResource("CMS.Chat", "EnterSupport"))
            {
                RedirectToAccessDenied("CMS.Chat", "EnterSupport");
            }

            if (cannedResponse.ChatSupportCannedResponseChatUserID.Value != ChatUserHelper.GetChatUserFromCMSUser().ChatUserID)
            {
                RedirectToAccessDenied(GetString("general.modifynotallowed"));
            }
        }
        else
        {
            // In "per site mode" Page is always CMSChatPage
            ((CMSChatPage)Page).CheckModifyPermission(cannedResponse.ChatSupportCannedResponseSiteID);
        }
    }
예제 #6
0
    void CheckModifyPermissions(ChatSupportCannedResponseInfo cannedResponse)
    {
        if (cannedResponse.ChatSupportCannedResponseChatUserID.HasValue)
        {
            CurrentUserInfo currentUser = CMSContext.CurrentUser;

            if (!currentUser.IsAuthorizedPerResource("CMS.Chat", "EnterSupport"))
            {
                RedirectToAccessDenied("CMS.Chat", "EnterSupport");
            }

            if (cannedResponse.ChatSupportCannedResponseChatUserID.Value != ChatUserHelper.GetChatUserFromCMSUser().ChatUserID)
            {
                RedirectToAccessDenied(GetString("general.modifynotallowed"));
            }
        }
        else
        {
            // In "per site mode" Page is always CMSChatPage
            ((CMSChatPage)Page).CheckModifyPermission(cannedResponse.ChatSupportCannedResponseSiteID);
        }
    }