Пример #1
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Plugins/com_shepherdchurch/Misc/Styles/DashboardBlocks.css"));

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);

            //
            // Setup any parts of the UI that need to be configured at page initialization.
            //
            SetupLayoutButtons();
            gSettingsBlocks.ShowActionRow = false;
            gSettingsBlocks.AllowPaging   = false;

            //
            // We don't need to do further processing if this is an AJAX request. When the Lava API is added
            // to the core Arena system this would be good to switch to that for better performance.
            //
            if (!string.IsNullOrWhiteSpace(Request.QueryString["expand"]) || !string.IsNullOrWhiteSpace(Request.QueryString["remove"]))
            {
                return;
            }

            BuildBlocks(GetConfig());

            RegisterScripts();
        }
Пример #2
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddScriptLink("~/Scripts/CheckinClient/ZebraPrint.js");
            RockPage.AddCSSLink("~/Styles/fluidbox.css");
            RockPage.AddScriptLink("~/Scripts/jquery.fluidbox.min.js");

            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);

            gAttendanceHistory.DataKeyNames = new string[] { "Id" };

            var leftBadgeGuids  = GetAttributeValues(AttributeKey.BadgesLeft).AsGuidList();
            var rightBadgeGuids = GetAttributeValues(AttributeKey.BadgesRight).AsGuidList();

            var leftBadges  = leftBadgeGuids.Select(a => BadgeCache.Get(a)).Where(a => a != null).OrderBy(a => a.Order).ToList();
            var rightBadges = rightBadgeGuids.Select(a => BadgeCache.Get(a)).Where(a => a != null).OrderBy(a => a.Order).ToList();

            // Set BadgeEntity using a new RockContext that won't get manually disposed.
            var badgesEntity = new PersonService(new RockContext()).Get(GetPersonGuid());

            blBadgesLeft.Entity  = badgesEntity;
            blBadgesRight.Entity = badgesEntity;

            foreach (var badge in leftBadges)
            {
                blBadgesLeft.BadgeTypes.Add(badge);
            }

            foreach (var badge in rightBadges)
            {
                blBadgesRight.BadgeTypes.Add(badge);
            }
        }
Пример #3
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink("~/Styles/fluidbox.css");
            RockPage.AddScriptLink("~/Scripts/imagesloaded.min.js");
            RockPage.AddScriptLink("~/Scripts/jquery.fluidbox.min.js");

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(pnlContent);

            if (Person != null)
            {
                pnlFollow.Visible = GetAttributeValue("AllowFollowing").AsBoolean();

                // Record Type - this is always "business". it will never change.
                if (Person.RecordTypeValueId == DefinedValueCache.Get(Rock.SystemGuid.DefinedValue.PERSON_RECORD_TYPE_BUSINESS.AsGuid()).Id)
                {
                    var parms = new Dictionary <string, string>();
                    parms.Add("businessId", Person.Id.ToString());
                    NavigateToLinkedPage("BusinessDetailPage", parms);
                }

                if (Person.IsDeceased)
                {
                    divBio.AddCssClass("deceased");
                }

                // Set the browser page title to include person's name
                RockPage.BrowserTitle = Person.FullName;

                string badgeList = GetAttributeValue("Badges");
                if (!string.IsNullOrWhiteSpace(badgeList))
                {
                    foreach (string badgeGuid in badgeList.SplitDelimitedValues())
                    {
                        Guid guid = badgeGuid.AsGuid();
                        if (guid != Guid.Empty)
                        {
                            var personBadge = PersonBadgeCache.Get(guid);
                            if (personBadge != null)
                            {
                                blStatus.PersonBadges.Add(personBadge);
                            }
                        }
                    }
                }

                lbEditPerson.Visible = IsUserAuthorized(Rock.Security.Authorization.EDIT);

                // only show if the Impersonation button if the feature is enabled, and the current user is authorized to Administrate the person
                bool enableImpersonation = this.GetAttributeValue("EnableImpersonation").AsBoolean();
                lbImpersonate.Visible = false;
                if (enableImpersonation && Person.Id != CurrentPersonId && Person.IsAuthorized(Rock.Security.Authorization.ADMINISTRATE, this.CurrentPerson))
                {
                    lbImpersonate.Visible = true;
                }
            }
        }
Пример #4
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink("~/Plugins/com_barefootchurch/MyAlerts/MyAlerts.css");
            RockPage.AddScriptLink("~/Plugins/com_barefootchurch/MyAlerts/MyAlerts.js");
        }
Пример #5
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            RockPage.AddCSSLink("~/Themes/Rock/Styles/group-scheduler.css", true);

            if (!this.IsPostBack)
            {
                UpdateConfigurationFromUrl();
                UpdateLiveRefreshConfiguration(this.GetAttributeValue(AttributeKey.EnableLiveRefresh).AsBoolean());

                RosterConfiguration rosterConfiguration = this.GetBlockUserPreference(UserPreferenceKey.RosterConfigurationJSON)
                                                          .FromJsonOrNull <RosterConfiguration>() ?? new RosterConfiguration();

                if (!rosterConfiguration.IsConfigured())
                {
                    ShowConfigurationDialog();
                }
                else
                {
                    PopulateRoster();
                }
            }
            else
            {
                HandleCustomPostbackEvents();
            }
        }
Пример #6
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));

            gTransactionDetails.DataKeyNames      = new string[] { "id" };
            gTransactionDetails.Actions.AddClick += gTransactionDetails_Add;
            gTransactionDetails.GridRebind       += gTransactionDetails_GridRebind;
            mdDetails.SaveClick     += mdDetails_SaveClick;
            mdDetails.OnCancelScript = string.Format("$('#{0}').val('');", hfIdValue.ClientID);

            if (!IsUserAuthorized(Authorization.EDIT))
            {
                readOnly = true;
                nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed(FinancialBatch.FriendlyTypeName);
            }

            ScriptManager.RegisterStartupScript(pnlDetails, pnlDetails.GetType(), "images-fluidbox", "$('.photo a.transaction-image').fluidbox();", true);

            string deleteButtonScriptFormat = @"
                $('.image-delete-button').on( 'click', function (event) {{
                return Rock.dialogs.confirmDelete(event, '{0}');
            }});";
            string deleteButtonScript       = string.Format(deleteButtonScriptFormat, "image");

            ScriptManager.RegisterStartupScript(pnlTransactionImages, pnlTransactionImages.GetType(), "image-delete-confirm-script", deleteButtonScript, true);
        }
Пример #7
0
        // used for public / protected properties

        #endregion

        #region Base Control Methods

        //  overrides of the base RockBlock methods (i.e. OnInit, OnLoad)

        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));


            size = GetAttributeValue("PhotoSize").AsInteger();
            if (size <= 0)
            {
                size = 65;
            }

            if (_photoRequestGroup == null)
            {
                var guid = Rock.SystemGuid.Group.GROUP_PHOTO_REQUEST.AsGuid();
                _photoRequestGroup = new GroupService(new RockContext()).Queryable("Members")
                                     .Where(g => g.Guid == guid)
                                     .FirstOrDefault();
            }

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);

            _bbtnVerify.Text     = "Verify";
            _bbtnVerify.Click   += new EventHandler(bbtnVerify_Click);
            _bbtnVerify.CssClass = "btn btn-primary pull-left";
            gList.Actions.AddCustomActionControl(_bbtnVerify);
            gList.Actions.ShowExcelExport   = false;
            gList.Actions.ShowMergeTemplate = false;
            gList.GridRebind += gList_GridRebind;
        }
Пример #8
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.js"));

            if (Person != null)
            {
                // Set the browser page title to include person's name
                RockPage.BrowserTitle = Person.FullName;

                lName.Text = Person.FullName.FormatAsHtmlTitle();

                // Setup Image
                var imgTag = new LiteralControl(Rock.Model.Person.GetPhotoImageTag(Person.PhotoId, Person.Gender, 188, 188));
                if (Person.PhotoId.HasValue)
                {
                    var imgLink = new HyperLink();
                    imgLink.Attributes.Add("href", Person.PhotoUrl);
                    phImage.Controls.Add(imgLink);
                    imgLink.Controls.Add(imgTag);
                }
                else
                {
                    phImage.Controls.Add(imgTag);
                }

                if (Person.BirthDate.HasValue)
                {
                    string ageText = (Person.BirthYear.HasValue && Person.BirthYear != DateTime.MinValue.Year) ?
                                     string.Format("{0} yrs old ", Person.BirthDate.Value.Age()) : string.Empty;
                    lAge.Text = string.Format("{0}<small>({1})</small><br/>", ageText, Person.BirthDate.Value.ToString("MM/dd"));
                }

                lGender.Text = Person.Gender.ToString();

                lMaritalStatus.Text = Person.MaritalStatusValueId.DefinedValue();
                if (Person.AnniversaryDate.HasValue)
                {
                    lAnniversary.Text = string.Format("{0} yrs <small>({1})</small>", Person.AnniversaryDate.Value.Age(), Person.AnniversaryDate.Value.ToString("MM/dd"));
                }

                if (Person.PhoneNumbers != null)
                {
                    rptPhones.DataSource = Person.PhoneNumbers.ToList();
                    rptPhones.DataBind();
                }

                lEmail.Text = Person.Email;

                taglPersonTags.EntityTypeId = Person.TypeId;
                taglPersonTags.EntityGuid   = Person.Guid;
                taglPersonTags.GetTagValues(CurrentPersonId);

                blStatus.ComponentGuids = GetAttributeValue("Badges");
            }
        }
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddScriptLink("~/Plugins/com_shepherdchurch/DigitalSignage/Scripts/flux.min.js");
            RockPage.AddScriptLink("~/Plugins/com_shepherdchurch/DigitalSignage/Scripts/digitalsignrotator.js");
            RockPage.AddCSSLink("~/Plugins/com_shepherdchurch/DigitalSignage/Styles/digitalsignrotator.css");
        }
Пример #10
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            var canAdministrateBlockOnPage = false;
            var pageBlocks = PageCache.Blocks;

            foreach (Rock.Web.Cache.BlockCache block in pageBlocks)
            {
                bool canAdministrate = block.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson);
                bool canEdit         = block.IsAuthorized(Authorization.EDIT, CurrentPerson);
                bool canView         = block.IsAuthorized(Authorization.VIEW, CurrentPerson);

                // Make sure user has access to view block instance
                if (canAdministrate || canEdit || canView)
                {
                    Control control = null;

                    // Check to see if block is configured to use a "Cache Duration'
                    if (block.OutputCacheDuration > 0)
                    {
                        RockMemoryCache cache         = RockMemoryCache.Default;
                        string          blockCacheKey = string.Format("Rock:BlockOutput:{0}", block.Id);
                        if (cache.Contains(blockCacheKey))
                        {
                            // If the current block exists in our custom output cache, add the cached output instead of adding the control
                            control = new LiteralControl(cache[blockCacheKey] as string);
                        }
                    }

                    if (control == null)
                    {
                        try
                        {
                            control = TemplateControl.LoadControl(block.BlockType.Path);
                            control.ClientIDMode = ClientIDMode.AutoID;
                        }
                        catch (Exception)
                        {
                            // Swallow this exception--NOM NOM
                        }
                    }

                    if (control != null)
                    {
                        if (canAdministrate || (canEdit && control is RockBlockCustomSettings))
                        {
                            canAdministrateBlockOnPage = true;
                        }
                    }
                }
            }

            if (PageCache.IncludeAdminFooter && (PageCache.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson) || canAdministrateBlockOnPage))
            {
                RockPage.AddCSSLink(ResolveRockUrl("~~/Styles/theme.css"));
            }
        }
Пример #11
0
        /// <summary>
        /// Raises the <see cref="E:Init" /> event.
        /// </summary>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            this.BlockUpdated += Terminal_BlockUpdated;

            RockPage.AddCSSLink("~/Plugins/com_shepherdchurch/CubeDown/Styles/terminal.css");
            RockPage.AddScriptLink("~/Plugins/com_shepherdchurch/CubeDown/Scripts/qrcode.min.js");
        }
Пример #12
0
        public override Task PreRenderAsync()
        {
            if (GetAttributeValue("CSSFile").Trim() != string.Empty)
            {
                RockPage.AddCSSLink(ResolveRockUrl(GetAttributeValue("CSSFile")), false);
            }

            return(Task.CompletedTask);
        }
Пример #13
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(Page, ResolveUrl("~/CSS/jquery.tagsinput.css"));
            RockPage.AddCSSLink(Page, ResolveUrl("~/CSS/PersonDetailsCore.css"));
            RockPage.AddScriptLink(Page, ResolveUrl("~/Scripts/jquery.tagsinput.js"));
            RockPage.AddScriptLink(Page, ResolveUrl("~/Scripts/tinyscrollbar.min.js"));
        }
Пример #14
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Plugins/com_shepherdchurch/Misc/Styles/FileBrowser.css"));

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);
        }
Пример #15
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>EventItem
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            gAudiences.DataKeyNames      = new string[] { "Guid" };
            gAudiences.Actions.ShowAdd   = true;
            gAudiences.Actions.AddClick += gAudiences_Add;
            gAudiences.GridRebind       += gAudiences_GridRebind;

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlEventItemList);

            // Get the calendar id of the calendar that user navigated from
            _calendarId = PageParameter("EventCalendarId").AsIntegerOrNull();

            _canEdit    = UserCanEdit;
            _canApprove = UserCanAdministrate;

            // Load the other calendars user is authorized to view
            cblCalendars.Items.Clear();
            using (var rockContext = new RockContext())
            {
                foreach (var calendar in new EventCalendarService(rockContext)
                         .Queryable().AsNoTracking()
                         .OrderBy(c => c.Name))
                {
                    if (!_calendarId.HasValue && calendar.IsAuthorized(Authorization.EDIT, CurrentPerson))
                    {
                        _calendarId = calendar.Id;
                    }

                    if (calendar.Id == (_calendarId ?? 0))
                    {
                        _canEdit = _canEdit ||
                                   calendar.IsAuthorized(Authorization.EDIT, CurrentPerson);

                        _canApprove = _canApprove ||
                                      calendar.IsAuthorized(Authorization.APPROVE, CurrentPerson) ||
                                      calendar.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson);
                    }

                    if (UserCanEdit || calendar.IsAuthorized(Authorization.EDIT, CurrentPerson))
                    {
                        cblCalendars.Items.Add(new ListItem(calendar.Name, calendar.Id.ToString()));
                    }
                }
            }
            cblCalendars.SelectedIndexChanged += cblCalendars_SelectedIndexChanged;

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));
            ScriptManager.RegisterStartupScript(lImage, lImage.GetType(), "image-fluidbox", "$('.photo a').fluidbox();", true);
        }
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink("~/Styles/fluidbox.css");
            RockPage.AddScriptLink("~/Scripts/imagesloaded.min.js");
            RockPage.AddScriptLink("~/Scripts/jquery.fluidbox.min.js");

            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);
        }
Пример #17
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            BlockUpdated += RSSFeed_BlockUpdated;
            AddConfigurationUpdateTrigger(upContent);

            if (!String.IsNullOrWhiteSpace(GetAttributeValue("CSSFile")))
            {
                RockPage.AddCSSLink(ResolveRockUrl(GetAttributeValue("CSSFile")), false);
            }
        }
        // used for private variables

        #endregion

        #region Properties

        // used for public / protected properties

        #endregion

        #region Base Control Methods

        //  overrides of the base RockBlock methods (i.e. OnInit, OnLoad)

        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));
        }
Пример #19
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            RockPage.AddCSSLink("~/Themes/Rock/Styles/group-scheduler.css", true);

            if (!this.IsPostBack)
            {
                ApplyBlockSettings();
                BuildStatusBoard();
            }
        }
Пример #20
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));

            _familyRoles = GetAttributeValue("FamilyRoles").SplitDelimitedValues().AsIntegerList();

            this.BlockUpdated += Block_BlockUpdated;

            var rockContext = new RockContext();

            _person = CurrentPerson;

            var introText = new HtmlContent();

            introText.Content = GetAttributeValue("IntroText");
            lIntroText.Text   = introText.Content;

            pnlNotAuthorizedMessage.Visible = false;

            var allowedFamilyIds = new List <int>();

            foreach (Group family in _person.GetFamilies())
            {
                var roleId = family.Members
                             .Where(m => m.PersonId == _person.Id)
                             .OrderBy(m => m.GroupRole.Order)
                             .FirstOrDefault()
                             .GroupRoleId;

                if (_familyRoles.Contains(roleId))
                {
                    allowedFamilyIds.Add(family.Id);
                }
            }

            if (allowedFamilyIds.Count() == 0)
            {
                pnlView.Visible   = false;
                btnSave.Visible   = false;
                btnCancel.Visible = false;

                Literal notAuthorizedText = new Literal();
                notAuthorizedText.Text = GetAttributeValue("NotAuthorizedMessage");
                pnlNotAuthorizedMessage.Controls.Add(notAuthorizedText);
                pnlNotAuthorizedMessage.Visible = true;
            }

            pnlConfirmationMessage.Visible = false;
        }
Пример #21
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink("~/Plugins/com_blueboxmoon/Crex/Styles/crex.css");
            RockPage.AddScriptLink("~/Plugins/com_blueboxmoon/Crex/Scripts/crex.js");

            MenuPreview = new MenuPreview
            {
                ID      = "previewMenu",
                Visible = false
            };
            PreviewPanel.Controls.Add(MenuPreview);

            PosterListPreview = new PosterListPreview
            {
                ID      = "previewPosterList",
                Visible = false
            };
            PreviewPanel.Controls.Add(PosterListPreview);

            ImagePreview = new ImagePreview
            {
                ID      = "previewImage",
                Visible = false
            };
            PreviewPanel.Controls.Add(ImagePreview);

            VideoPreview = new VideoPreview
            {
                ID      = "previewVideo",
                Visible = false
            };
            PreviewPanel.Controls.Add(VideoPreview);

            RedirectPreview = new NotificationBox
            {
                ID = "previewRedirect",
                NotificationBoxType = NotificationBoxType.Info,
                Visible             = false
            };
            PreviewPanel.Controls.Add(RedirectPreview);

            DebugPreview = new Literal
            {
                ID = "previewDebug"
            };
            DebugPanel.Controls.Add(DebugPreview);
        }
Пример #22
0
        // used for public / protected properties

        #endregion

        #region Base Control Methods

        //  overrides of the base RockBlock methods (i.e. OnInit, OnLoad)

        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink("~/Styles/fluidbox.css");
            RockPage.AddScriptLink("~/Scripts/imagesloaded.min.js");
            RockPage.AddScriptLink("~/Scripts/jquery.fluidbox.min.js");

            // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it
            this.BlockUpdated += Block_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upnlContent);

            gHistory.DataKeyNames  = new string[] { "Id" };
            gHistory.RowDataBound += gHistory_RowDataBound;
        }
Пример #23
0
        protected override void OnInit(EventArgs e)
        {
            this.EnableViewState = false;

            base.OnInit(e);

            this.BlockUpdated += PageMenu_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upContent);

            // add css file to page
            if (GetAttributeValue("CSSFile").Trim() != string.Empty)
            {
                RockPage.AddCSSLink(ResolveRockUrl(GetAttributeValue("CSSFile")), false);
            }
        }
Пример #24
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));

            if (CurrentPerson != null)
            {
                lName.Text = CurrentPerson.FullName;

                // Setup Image
                var imgTag = new LiteralControl(Rock.Model.Person.GetPhotoImageTag(CurrentPerson.PhotoId, CurrentPerson.Age, CurrentPerson.Gender, 188, 188));
                if (CurrentPerson.PhotoId.HasValue)
                {
                    var imgLink = new HyperLink();
                    imgLink.Attributes.Add("href", CurrentPerson.PhotoUrl);
                    phImage.Controls.Add(imgLink);
                    imgLink.Controls.Add(imgTag);
                }
                else
                {
                    phImage.Controls.Add(imgTag);
                }

                if (CurrentPerson.BirthDate.HasValue)
                {
                    var    dtf = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat;
                    string mdp = dtf.ShortDatePattern;
                    mdp = mdp.Replace(dtf.DateSeparator + "yyyy", "").Replace("yyyy" + dtf.DateSeparator, "");

                    string ageText = (CurrentPerson.BirthYear.HasValue && CurrentPerson.BirthYear != DateTime.MinValue.Year) ?
                                     string.Format("{0} yrs old ", CurrentPerson.BirthDate.Value.Age()) : string.Empty;
                    lAge.Text = string.Format("{0}<small>({1})</small><br/>", ageText, CurrentPerson.BirthDate.Value.ToMonthDayString());
                }

                lGender.Text = CurrentPerson.Gender != Gender.Unknown ? CurrentPerson.Gender.ToString() : string.Empty;

                if (CurrentPerson.PhoneNumbers != null)
                {
                    rptPhones.DataSource = CurrentPerson.PhoneNumbers.ToList();
                    rptPhones.DataBind();
                }

                lEmail.Text = CurrentPerson.Email;
            }
        }
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            ScriptManager.RegisterStartupScript(ddlGradePicker, ddlGradePicker.GetType(), "grade-selection-" + BlockId.ToString(), ddlGradePicker.GetJavascriptForYearPicker(ypGraduation), true);
            ddlTitle.BindToDefinedType(DefinedTypeCache.Get(new Guid(Rock.SystemGuid.DefinedType.PERSON_TITLE)), true);
            ddlSuffix.BindToDefinedType(DefinedTypeCache.Get(new Guid(Rock.SystemGuid.DefinedType.PERSON_SUFFIX)), true);
            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));

            if (!string.IsNullOrWhiteSpace(GetAttributeValue("RequiredAdultPhoneTypes")))
            {
                _RequiredPhoneNumberGuids = GetAttributeValue("RequiredAdultPhoneTypes").Split(',').Select(Guid.Parse).ToList();
            }
            rContactInfo.ItemDataBound += rContactInfo_ItemDataBound;
        }
Пример #26
0
        protected override void OnInit(EventArgs e)
        {
            this.EnableViewState = false;

            base.OnInit(e);

            this.BlockUpdated += PageMenu_BlockUpdated;
            this.AddConfigurationUpdateTrigger(upContent);

            var cssFile = GetAttributeValue(AttributeKey.CSSFile);

            // add css file to page
            if (cssFile.IsNotNullOrWhiteSpace())
            {
                RockPage.AddCSSLink(ResolveRockUrl(cssFile), false);
            }
        }
Пример #27
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event.
        /// </summary>
        /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            RockPage.AddCSSLink("~/Themes/Rock/Styles/group-scheduler.css", true);

            if (!this.IsPostBack)
            {
                var rootGroupGuid = this.GetAttributeValue(AttributeKey.ParentGroup).AsGuidOrNull();
                if (rootGroupGuid.HasValue)
                {
                    gpGroups.RootGroupId = new GroupService(new RockContext()).GetId(rootGroupGuid.Value);
                }

                BuildStatusBoard();
            }
        }
Пример #28
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));

            if (Person != null)
            {
                // Record Type - this is always "business". it will never change.
                if (Person.RecordTypeValueId == DefinedValueCache.Read(Rock.SystemGuid.DefinedValue.PERSON_RECORD_TYPE_BUSINESS.AsGuid()).Id)
                {
                    var parms = new Dictionary <string, string>();
                    parms.Add("businessId", Person.Id.ToString());
                    NavigateToLinkedPage("BusinessDetailPage", parms);
                }

                if (Person.IsDeceased)
                {
                    divBio.AddCssClass("deceased");
                }

                // Set the browser page title to include person's name
                RockPage.BrowserTitle = Person.FullName;

                string badgeList = GetAttributeValue("Badges");
                if (!string.IsNullOrWhiteSpace(badgeList))
                {
                    foreach (string badgeGuid in badgeList.SplitDelimitedValues())
                    {
                        Guid guid = badgeGuid.AsGuid();
                        if (guid != Guid.Empty)
                        {
                            var personBadge = PersonBadgeCache.Read(guid);
                            if (personBadge != null)
                            {
                                blStatus.PersonBadges.Add(personBadge);
                            }
                        }
                    }
                }

                lbEditPerson.Visible = IsUserAuthorized(Rock.Security.Authorization.EDIT);
            }
        }
Пример #29
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            btnDelete.Attributes["onclick"] = string.Format("javascript: return Rock.dialogs.confirmDelete(event, '{0}');", Location.FriendlyTypeName);
            btnSecurity.EntityTypeId        = EntityTypeCache.Read(typeof(Rock.Model.Location)).Id;

            ddlPrinter.Items.Clear();
            ddlPrinter.DataSource = new DeviceService(new RockContext())
                                    .GetByDeviceTypeGuid(new Guid(Rock.SystemGuid.DefinedValue.DEVICE_TYPE_PRINTER))
                                    .ToList();
            ddlPrinter.DataBind();
            ddlPrinter.Items.Insert(0, new ListItem(None.Text, None.IdValue));

            RockPage.AddCSSLink(ResolveRockUrl("~/Styles/fluidbox.css"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/imagesloaded.min.js"));
            RockPage.AddScriptLink(ResolveRockUrl("~/Scripts/jquery.fluidbox.min.js"));
            ScriptManager.RegisterStartupScript(lImage, lImage.GetType(), "image-fluidbox", "$('.photo a').fluidbox();", true);
        }
Пример #30
0
        /// <summary>
        /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event.
        /// </summary>
        /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            RockPage.AddScriptLink("~/Scripts/bootstrap-toc/bootstrap-toc.min.js");
            RockPage.AddCSSLink("~/Scripts/bootstrap-toc/bootstrap-toc.css");

            InitSyntaxHighlighting();

            gExample.DataKeyNames = new string[] { "Id" };
            gExample.GridRebind  += gExample_GridRebind;

            geopExamplePoint.SelectGeography   += geopExamplePoint_SelectGeography;
            geopExamplePolygon.SelectGeography += geopExamplePolygon_SelectGeography;
            geopExamplePoint.MapStyleValueGuid  = GetAttributeValue("MapStyle").AsGuid();

            htmlEditorLight.MergeFields.Add("GlobalAttribute");
            htmlEditorLight.MergeFields.Add("Rock.Model.Person");

            mfpExample.MergeFields.Add("GlobalAttribute,Rock.Model.Person");

            var selectableAccountIds = new FinancialAccountService(new RockContext()).Queryable().Where(a => a.ParentAccountId == null).Take(4).Select(a => a.Id).ToArray();

            caapExampleSingleAccount.SelectableAccountIds = selectableAccountIds;
            caapExampleMultiAccount.SelectableAccountIds  = selectableAccountIds;

            List <string> list = ReadExamples();
            int           i    = -1;

            foreach (var example in pnlDetails.ControlsOfTypeRecursive <HtmlControl>())
            {
                if (example.Attributes["class"] == "r-example")
                {
                    i++;
                    example.Controls.Add(new LiteralControl(string.Format("<pre class='prettyprint'>{0}</pre>", Server.HtmlEncode(list[i]))));
                }

                if (example.NamingContainer == this && (example.TagName == "h1" || example.TagName == "h2" || example.TagName == "h3"))
                {
                    example.Attributes["class"] = "rollover-container";
                    example.Controls.AddAt(0, new LiteralControl(string.Format("<a name='{0}' class='anchor rollover-item' href='#{0}'><i class='fa fa-link rlink icon-link'></i></a>", BuildAnchorForHref((HtmlGenericControl)example))));
                }
            }
        }