Module ensureModule(string name, string folder, bool icon, SystemUserGroupType accessGroup, WAFSession session) { List<Module> modules = session.GetContents<Module>(AqlModule.Folder == folder); Module m; if (modules.Count == 0) { m = session.NewContent<Module>(); m.Folder = folder; } else { m = modules[0]; } m.AccessInEditMode = (int)accessGroup; m.Hidden = true; m.ReadAccessGroupId = (int)SystemUserGroupType.AllUsers; m.EditAccessGroupId = (int)SystemUserGroupType.Administrator; m.PublishAccessGroupId = (int)SystemUserGroupType.Administrator; m.Name = name; m.ShowIcon = icon; m.ShowText = !icon; m.UpdateChanges(); return m; }
protected void Page_Load(object sender, EventArgs e) { WebDialogueContext.AddDialogueButton(btnOk); _session = WebDialogueContext.Session; _action = (Enum)WebDialogueContext.DialogueParameters["Action"]; _contentKey = (CKeyNLRC)WebDialogueContext.DialogueParameters["ContentKey"]; _content = _session.GetContent<ContentBase>(_contentKey); if (!IsPostBack) txtNote.Focus(); List<SystemUser> notifyUsers = new List<SystemUser>(); if (!IsPostBack) { if (_action is RevisionAction) { RevisionAction revAction = (RevisionAction)_action; switch (revAction) { case RevisionAction.PublishRequest: case RevisionAction.DeleteRequest: case RevisionAction.UnPublishRequest: case RevisionAction.DeleteCancel: case RevisionAction.PublishCancel: case RevisionAction.UnPublishCancel: notifyUsers = _session.GetAllUserMembersOfGroup(_content.PublishAccessGroupId); break; case RevisionAction.DeleteReject: case RevisionAction.UnPublishReject: case RevisionAction.PublishReject: case RevisionAction.DeleteApprove: case RevisionAction.PublishApprove: case RevisionAction.UnPublishApprove: if (_session.ContentExists(_content.RevisionStateRequestById)) { notifyUsers.Add(_session.GetContent<SystemUser>(_content.RevisionStateRequestById)); } break; case RevisionAction.None: case RevisionAction.UpdateChanges: case RevisionAction.New: case RevisionAction.Archive: case RevisionAction.Restore: case RevisionAction.Delete: case RevisionAction.DeletePermanently: case RevisionAction.Publish: case RevisionAction.UnPublish: case RevisionAction.AddLanguage: case RevisionAction.ActivateLanguage: case RevisionAction.DeactivateLanguage: case RevisionAction.RemoveLanguage: default: break; } } if (_action is NodeAction) { NodeAction nodeAction = (NodeAction)_action; switch (nodeAction) { case NodeAction.DeleteRequest: case NodeAction.RestoreRequest: case NodeAction.DeleteCancel: case NodeAction.RestoreCancel: notifyUsers = _session.GetAllUserMembersOfGroup(_content.PublishAccessGroupId); break; case NodeAction.DeleteApprove: case NodeAction.RestoreApprove: case NodeAction.RestoreReject: case NodeAction.DeleteReject: if (_session.ContentExists(_content.NodeStateRequestById)) { notifyUsers.Add(_session.GetContent<SystemUser>(_content.NodeStateRequestById)); } break; case NodeAction.None: case NodeAction.Delete: case NodeAction.DeletePermanently: case NodeAction.Restore: default: break; } } chkList.Items.Clear(); foreach (SystemUser u in notifyUsers) { ListItem item = new ListItem(WAFContext.GetHtmlContentIcon(u) + u.EmailName, u.NodeId.ToString(), true); chkList.Items.Add(item); } } }