예제 #1
0
 /// <summary>
 /// Метод записи прав на новый объект в параметр "ObjectRights" объекта-пункта меню
 /// </summary>
 /// <param name="menuitem">объект - пункт меню</param>
 /// <param name="create_rights">объект прав на новый объект</param>
 public static void Write(XMenuActionItem menuitem, XNewObjectRights create_rights)
 {
     //если есть свойства,доступные только для чтения - то записываем их
     if (create_rights.HasReadOnlyProps)
     {
         StringBuilder bld = new StringBuilder();
         writeReadOnlyProps(bld, create_rights.GetReadOnlyPropNames());
         menuitem.Parameters.Add("ObjectRights", bld.ToString());
     }
 }
예제 #2
0
        public override XTreeMenuInfo GetMenuForEmptyTree(XGetTreeMenuRequest request, IXExecutionContext context, XTreePageInfoStd treePage)
        {
            XTreeMenuInfo       menu         = new XTreeMenuInfo("", true);
            DomainObjectDataSet dataSet      = new DomainObjectDataSet(context.Connection.MetadataManager.XModel);
            DomainObjectData    xobj         = dataSet.CreateNew("IncidentType", true);
            XNewObjectRights    create_right = XSecurityManager.Instance.GetRightsOnNewObject(xobj);

            if (create_right.AllowCreate)
            {
                XMenuActionItem item = menu.Items.AddActionItem("—оздать тип инцидента", StdActions.DoCreate);
                item.Parameters.Add("ObjectType", "IncidentType");
            }
            return(menu);
        }
예제 #3
0
        public override XTreeMenuInfo GetMenuForEmptyTree(XGetTreeMenuRequest request, IXExecutionContext context, XTreePageInfoStd treePage)
        {
            XTreeMenuInfo       menu    = new XTreeMenuInfo("", true);
            DomainObjectDataSet dataSet = new DomainObjectDataSet(context.Connection.MetadataManager.XModel);
            DomainObjectData    xobj    = dataSet.CreateNew("Organization", true);

            xobj.SetUpdatedPropValue("Home", true);
            XNewObjectRights create_right = XSecurityManager.Instance.GetRightsOnNewObject(xobj);

            if (create_right.AllowCreate)
            {
                XMenuActionItem item = menu.Items.AddActionItem("Создать организацию-владельца системы", StdActions.DoCreate);
                item.Parameters.Add("ObjectType", "Organization");
                item.Parameters.Add("URLPARAMS", ".Home=1");
            }
            return(menu);
        }
예제 #4
0
        /// <summary>
        /// Метод записи прав на существующий объект в параметр "ObjectRights" объекта-пункта меню
        /// </summary>
        /// <param name="menuitem">объект - пункт меню</param>
        /// <param name="rights">права на существующий объект</param>
        public static void Write(XMenuActionItem menuitem, XObjectRights rights)
        {
            StringBuilder bld = new StringBuilder();

            //права на удаление
            if (!rights.AllowDelete)
            {
                bld.Append(".deny-delete:1;");
            }
            //права на изменение свойств
            if (!rights.AllowParticalOrFullChange)
            {
                bld.Append(".deny-change:1;");
            }
            //если есть свойства,доступные только для чтения - также записываем их
            else if (rights.HasReadOnlyProps)
            {
                writeReadOnlyProps(bld, rights.GetReadOnlyPropNames());
            }
            if (bld.Length > 0)
            {
                menuitem.Parameters.Add("ObjectRights", bld.ToString());
            }
        }