public void Process(GetMastersArgs args) { Assert.ArgumentNotNull(args, nameof(args)); var database = args.Item.Database; var insertOptionRules = new List <Item>(); foreach (var folder in Folders) { var rulesInFolder = GetInsertOptionsRules(database, folder); insertOptionRules.AddRange(rulesInFolder); } var rules = RuleFactory.GetRules <InsertOptionsRuleContext>(insertOptionRules, "Rule"); if (rules == null) { return; } var ruleContext = new InsertOptionsRuleContext { Item = args.Item, InsertOptions = args.Masters }; rules.Run(ruleContext); }
private void GetMasters(Item parent, GetMastersArgs args) { foreach (var scriptItem in parent.Children.Where(p => p.IsPowerShellScript() || p.IsPowerShellLibrary())) { if (!RulesUtils.EvaluateRules(scriptItem[FieldNames.ShowRule], args.Item)) { continue; } if (scriptItem.IsPowerShellScript()) { args.Masters.Add(scriptItem); } else { GetMasters(scriptItem, args); } } }
public void Process(GetMastersArgs args) { Assert.ArgumentNotNull(args, "args"); try { if (!ServiceAuthorizationManager.IsUserAuthorized(WebServiceSettings.ServiceExecution, Context.User.Name)) { return; } foreach (var root in ModuleManager.GetFeatureRoots(IntegrationPoints.ContentEditorInsertItemFeature)) { GetMasters(root, args); } } catch (Exception e) { PowerShellLog.Error("Exception while getting item Masters", e); } }