/// <summary> /// Calls base class OnPreRender and registers javascript into page. /// </summary> /// <param name="e">Event arguments</param> protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); // Set selector and link name to work with current staging task group var currentTaskGroup = TaskGroupInfoProvider.GetUserTaskGroupInfo(CMSActionContext.CurrentUser.UserID); if (currentTaskGroup != null) { stagingTaskGroupSelector.Value = currentTaskGroup.TaskGroupID; lnkEditTaskGroup.Text = goToCurrentTaskGroupText + " " + currentTaskGroup.TaskGroupCodeName; lblStagingTaskGroupMenuText.Text = currentTaskGroup.TaskGroupCodeName; } else { lnkEditTaskGroup.Text = goToStagingAppText; lblStagingTaskGroupMenuText.Text = selectStagingTaskGroupText; } JavascriptRegistration(); }
/// <summary> /// Callback from client. Callback result data are prepared to be sent back to the client. /// </summary> /// <param name="eventArgument">Event arguments in JSON, like which control raised callback, and another data</param> public void RaiseCallbackEvent(string eventArgument) { try { Dictionary <string, string> callbackData = GetCallbackData(eventArgument); // User has changed the task group if (GetRaisedCallbackControlID(callbackData).Equals(UniSelectorClientID, StringComparison.InvariantCultureIgnoreCase)) { // If given task group does not exists on the server anymore null is set, and return that selector is inconsistent CurrentStagingTaskGroup = TaskGroupInfoProvider.GetTaskGroupInfo(GetRaisedCallbackTaskGroupID(callbackData)); if ((CurrentStagingTaskGroup == null) && (GetRaisedCallbackTaskGroupID(callbackData) != 0)) { // Task group is selected that no longer exists on server ShowMessageInCallback(GetString("stagingTaskGroup.SelectorInconsistent")); } } // User clicked the edit link, we have to check if task group still exists else if (GetRaisedCallbackControlID(callbackData).Equals(lnkEditTaskGroup.ClientID, StringComparison.InvariantCultureIgnoreCase)) { PrepareLinkForRedirect(callbackData); return; } else { // User created new task group CurrentStagingTaskGroup = CreateNewTaskGroup(callbackData["Name"]); } // Return ID of staging task group to client, to change selector and menu text callbackResult.Add("stagingTaskGroupID", CurrentStagingTaskGroup == null ? UniSelector.US_NONE_RECORD : CurrentStagingTaskGroup.TaskGroupID); TaskGroupInfoProvider.SetTaskGroupForUser(CurrentStagingTaskGroup == null ? UniSelector.US_NONE_RECORD : CurrentStagingTaskGroup.TaskGroupID, CMSActionContext.CurrentUser.UserID); } catch (Exception ex) { ShowMessageInCallback(GetString("stagingTaskGroupMenu.ExceptionMesasge") + " " + ex.Message); EventLogProvider.LogException("StagingTaskGroupMenu", "TASKGROUP", ex); } }