/// <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()); } }
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); }
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); }
/// <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()); } }