예제 #1
0
파일: Default.aspx.cs 프로젝트: kyvkri/MG
 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;
 }
예제 #2
0
    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);
            }
        }
    }