/// <summary> /// Updates the selection from page parameters if there is a page parameter for the selection /// </summary> /// <param name="selection">The selection.</param> /// <param name="rockBlock">The rock block.</param> /// <returns></returns> public virtual string UpdateSelectionFromPageParameters(string selection, Rock.Web.UI.RockBlock rockBlock) { if (!string.IsNullOrWhiteSpace(selection)) { var values = JsonConvert.DeserializeObject <List <string> >(selection); // selection list is either "FieldName, Comparison, Value(s)" or "FieldName, Value(s)" if (values.Count == 3) { var pageParamValue = rockBlock.PageParameter(values[0]); if (!string.IsNullOrEmpty(pageParamValue)) { values[2] = pageParamValue; return(values.ToJson()); } } else if (values.Count == 2) { var pageParamValue = rockBlock.PageParameter(values[0]); if (!string.IsNullOrEmpty(pageParamValue)) { values[1] = pageParamValue; return(values.ToJson()); } } } return(selection); }
/// <summary> /// Updates the selection from page parameters. /// </summary> /// <param name="selection">The selection.</param> /// <param name="rockBlock">The rock block.</param> /// <returns></returns> public string UpdateSelectionFromPageParameters(string selection, Rock.Web.UI.RockBlock rockBlock) { string[] selectionValues = selection?.Split('|') ?? new string[] { "" }; if (selectionValues.Length >= 1) { var campusId = rockBlock.PageParameter("CampusId").AsIntegerOrNull(); if (campusId == null) { var campusEntity = rockBlock.ContextEntity <Campus>(); if (campusEntity != null) { campusId = campusEntity.Id; } } if (campusId.HasValue) { var selectedCampus = CampusCache.Read(campusId.Value); if (selectedCampus != null) { selectionValues[0] = selectedCampus.Guid.ToString(); return(selectionValues.ToList().AsDelimited("|")); } } } return(selection); }
/// <summary> /// Sets the security actions. /// </summary> /// <param name="blockControl">The block control.</param> public void SetSecurityActions(Rock.Web.UI.RockBlock blockControl) { lock ( _obj ) { if (!CheckedSecurityActions) { SecurityActions = new ConcurrentDictionary <string, string>(); foreach (var action in blockControl.GetSecurityActionAttributes()) { SecurityActions.TryAdd(action.Key, action.Value); } CheckedSecurityActions = true; } } }
/// <summary> /// Updates the selection from page parameters if there is a page parameter for the selection /// </summary> /// <param name="selection">The selection.</param> /// <param name="rockBlock">The rock block.</param> /// <returns></returns> public override string UpdateSelectionFromPageParameters(string selection, Rock.Web.UI.RockBlock rockBlock) { // don't modify the selection for the Filter based on PageParameters return(selection); }