public bool CanInjectModule(ModuleInfo module, PortalSettings portalSettings)
 {
     return(ModulePermissionController.CanViewModule(module) &&
            module.IsDeleted == false &&
            ((module.StartDate < DateTime.Now && module.EndDate > DateTime.Now) ||
             Globals.IsLayoutMode() ||
             Globals.IsEditMode()
            ));
 }
Example #2
0
        private bool ProcessMasterModules()
        {
            bool bSuccess = true;

            if (TabPermissionController.CanViewPage())
            {
                if (!CheckExpired())
                {
                    if ((PortalSettings.ActiveTab.StartDate < DateTime.Now && PortalSettings.ActiveTab.EndDate > DateTime.Now) || Globals.IsLayoutMode())
                    {
                        if (PortalSettings.ActiveTab.Modules.Count > 0)
                        {
                            foreach (ModuleInfo objModule in PortalSettings.ActiveTab.Modules)
                            {
                                if (ModulePermissionController.CanViewModule(objModule) && objModule.IsDeleted == false)
                                {
                                    if ((objModule.StartDate < DateTime.Now && objModule.EndDate > DateTime.Now) || Common.Globals.IsLayoutMode() || Common.Globals.IsEditMode())
                                    {
                                        Pane pane   = null;
                                        bool bFound = Panes.TryGetValue(objModule.PaneName.ToLowerInvariant(), out pane);
                                        if (!bFound)
                                        {
                                            bFound = Panes.TryGetValue(Common.Globals.glbDefaultPane.ToLowerInvariant(), out pane);
                                        }
                                        if (bFound)
                                        {
                                            bSuccess = InjectModule(pane, objModule);
                                        }
                                        else
                                        {
                                            ModuleLoadException lex;
                                            lex = new ModuleLoadException(PANE_LOAD_ERROR);
                                            Controls.Add(new ErrorContainer(PortalSettings, MODULELOAD_ERROR, lex).Container);
                                            Exceptions.LogException(lex);
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        AddPageMessage(this, "", TABACCESS_ERROR, UI.Skins.Controls.ModuleMessage.ModuleMessageType.YellowWarning);
                    }
                }
                else
                {
                    AddPageMessage(this, "", string.Format(CONTRACTEXPIRED_ERROR, PortalSettings.PortalName, Common.Globals.GetMediumDate(PortalSettings.ExpiryDate.ToString()), PortalSettings.Email), UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError);
                }
            }
            else
            {
                Response.Redirect(Common.Globals.AccessDeniedURL(TABACCESS_ERROR), true);
            }
            return(bSuccess);
        }
        public HttpResponseMessage GetShouts()
        {
            int  moduleId   = Request.FindModuleId();
            int  tabId      = Request.FindTabId();
            bool allowEdit  = false;
            bool allowInput = true;

            ShoutBoxModuleSettings.ProfileImage profileImg = 0;

            Log.DebugFormat("moduleId:{0}, tabId:{1}", moduleId, tabId);

            var moduleSettings = new ShoutBoxModuleSettings(moduleId, tabId);

            allowInput = moduleSettings.AllowAnonymous;
            profileImg = moduleSettings.ProfileImageSource;

            var posts = _repository
                        .GetDisplayPosts(moduleId,
                                         moduleSettings.NumberOfPostsToReturn);


            if (this.UserInfo != null)
            {
                //work out if the userinfo
                //object has edit permission on this module
                var moduleInfo = ModuleController.Instance.GetModule(moduleId, this.Request.FindTabId(), false);
                allowEdit = ModulePermissionController
                            .HasModuleAccess(SecurityAccessLevel.Edit,
                                             null,
                                             moduleInfo);



                //if we don't allow anonymous check to see if we are auth'd
                if (!allowInput)
                {
                    allowInput = this.UserInfo != null && this.UserInfo.UserID > 0;
                }
            }

            Log.DebugFormat("Sending {0} posts to the client", posts.Count());

            var response = new
            {
                success = true,
                data    = new
                {
                    posts        = posts.ToArray(),
                    allowEdit    = allowEdit,
                    allowInput   = allowInput,
                    profileImage = profileImg
                }
            };

            return(this.Request.CreateResponse(response));
        }
Example #4
0
        /// <summary>
        /// Handles the <see cref="Button.Click"/> event of the <see cref="DeleteResponseButton"/> control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void DeleteResponseButton_Click(object sender, EventArgs e)
        {
            if (!ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration))
            {
                return;
            }

            new SurveyRepository().DeleteReadOnlySurvey(this.ResponseHeaderId);
            this.Response.Redirect(this.BuildLinkUrl(this.TabId));
        }
Example #5
0
        private void LoadPaneModulesList()
        {
            var items = new Dictionary <string, string> {
                { string.Empty, string.Empty }
            };

            foreach (ModuleInfo m in PortalSettings.Current.ActiveTab.Modules)
            {
                //if user is allowed to view module and module is not deleted
                if (ModulePermissionController.CanViewModule(m) && !m.IsDeleted)
                {
                    //modules which are displayed on all tabs should not be displayed on the Admin or Super tabs
                    if (!m.AllTabs || !PortalSettings.Current.ActiveTab.IsSuperTab)
                    {
                        if (m.PaneName == PaneLst.SelectedValue)
                        {
                            int moduleOrder = m.ModuleOrder;

                            while (items.ContainsKey(moduleOrder.ToString()) || moduleOrder == 0)
                            {
                                moduleOrder++;
                            }
                            items.Add(moduleOrder.ToString(), m.ModuleTitle);
                        }
                    }
                }
            }

            PaneModulesLst.Enabled = true;
            PaneModulesLst.Items.Clear();
            PaneModulesLst.DataValueField = "key";
            PaneModulesLst.DataTextField  = "value";
            PaneModulesLst.DataSource     = items;
            PaneModulesLst.DataBind();

            if ((PaneModulesLst.Items.Count <= 1))
            {
                ListItem listItem = PositionLst.Items.FindByValue("ABOVE");
                if (((listItem != null)))
                {
                    PositionLst.Items.Remove(listItem);
                }
                listItem = PositionLst.Items.FindByValue("BELOW");
                if (((listItem != null)))
                {
                    PositionLst.Items.Remove(listItem);
                }
                PaneModulesLst.Enabled = false;
            }

            if ((PositionLst.SelectedValue == "TOP" || PositionLst.SelectedValue == "BOTTOM"))
            {
                PaneModulesLst.Enabled = false;
            }
        }
        // This method must be thread-safe since it is called by the caching module.
        protected override bool AuthorizeCore(HttpContextBase context)
        {
            var activeModule = FindModuleInfo(context);

            if (activeModule != null)
            {
                return(ModulePermissionController.HasModuleAccess(AccessLevel, PermissionKey, activeModule));
            }

            return(false);
        }
Example #7
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Raises the MembershipUnLocked Event
 /// </summary>
 /// <history>
 ///     [cnurse]	03/01/2006  Created
 /// </history>
 /// -----------------------------------------------------------------------------
 public void OnMembershipUnLocked(EventArgs e)
 {
     if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration)))
     {
         return;
     }
     if (MembershipUnLocked != null)
     {
         MembershipUnLocked(this, e);
     }
 }
        public override bool IsAuthorized(AuthFilterContext context)
        {
            var activeModule = FindModuleInfo(context.ActionContext.Request);

            if (activeModule != null)
            {
                return(ModulePermissionController.HasModuleAccess(AccessLevel, PermissionKey, activeModule));
            }

            return(false);
        }
        /// <summary>
        /// 验证用户有无模块权限
        /// </summary>
        /// <param name="AccessLevel"></param>
        /// <param name="permissionKey"></param>
        /// <param name="__ModuleConfiguration"></param>
        /// <param name="objUser"></param>
        /// <returns></returns>
        public static bool HasModuleAccess(SecurityAccessLevel AccessLevel, string permissionKey, ModuleInfo __ModuleConfiguration, UserInfo objUser)
        {
            bool blnAuthorized = false;

            if (objUser != null && objUser.IsSuperUser)
            {
                blnAuthorized = true;
            }
            else
            {
                switch (AccessLevel)
                {
                case SecurityAccessLevel.Anonymous:
                    blnAuthorized = true;
                    break;

                case SecurityAccessLevel.View:
                    if (TabPermissionController.CanViewPage() || ModulePermissionController.CanViewModule(__ModuleConfiguration))
                    {
                        blnAuthorized = true;
                    }
                    break;

                case SecurityAccessLevel.Edit:
                    if (TabPermissionController.CanAddContentToPage())
                    {
                        blnAuthorized = true;
                    }
                    else
                    {
                        if (string.IsNullOrEmpty(permissionKey))
                        {
                            permissionKey = "CONTENT,DELETE,EDIT,EXPORT,IMPORT,MANAGE";
                        }
                        if (__ModuleConfiguration != null && ModulePermissionController.CanViewModule(__ModuleConfiguration) && (ModulePermissionController.HasModulePermission(__ModuleConfiguration.ModulePermissions, permissionKey) || ModulePermissionController.HasModulePermission(__ModuleConfiguration.ModulePermissions, "EDIT")))
                        {
                            blnAuthorized = true;
                        }
                    }
                    break;

                case SecurityAccessLevel.Admin:
                    if (TabPermissionController.CanAddContentToPage())
                    {
                        blnAuthorized = true;
                    }
                    break;

                case SecurityAccessLevel.Host:
                    break;
                }
            }
            return(blnAuthorized);
        }
        private IList <ModuleInfo> GetModules(int tabID)
        {
            var isRemote   = TabController.Instance.GetTab(tabID, Null.NullInteger, false).PortalID != PortalSettings.Current.PortalId;
            var tabModules = ModuleController.Instance.GetTabModules(tabID);

            var pageModules = isRemote
                                ? tabModules.Values.Where(m => ModuleSupportsSharing(m)).ToList()
                                : tabModules.Values.Where(m => ModulePermissionController.CanAdminModule(m) && m.IsDeleted == false).ToList();

            return(pageModules);
        }
Example #11
0
        private IList <ModuleInfo> GetModules(int tabID)
        {
            var isRemote   = TabController.Instance.GetTab(tabID, Null.NullInteger, false).PortalID != PortalSettings.Current.PortalId;
            var tabModules = ModuleController.Instance.GetTabModules(tabID);

            var pageModules = isRemote
                                ? tabModules.Values.Where(m => ModuleSupportsSharing(m) && !m.IsDeleted).ToList()
                                : tabModules.Values.Where(m => ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "MANAGE", m) && !m.IsDeleted).ToList();

            return(pageModules);
        }
Example #12
0
        protected bool GetModulePermission(int PortalID, string FriendlyName)
        {
            bool       AllowAccess = Null.NullBoolean;
            ModuleInfo objModule   = ModuleController.Instance.GetModuleByDefinition(PortalID, FriendlyName);

            if (objModule != null)
            {
                AllowAccess = ModulePermissionController.CanViewModule(objModule);
            }
            return(AllowAccess);
        }
Example #13
0
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            try {
                ContainerControl.Visible = ModulePermissionController.CanEditModuleContent(ModuleConfiguration);
            }
            catch (Exception ex) {
                Exceptions.ProcessModuleLoadException(this, ex);
            }
        }
Example #14
0
        public List <ModuleInfo> GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1)
        {
            var deletedModules = this._moduleController.GetModules(PortalSettings.PortalId)
                                 .Cast <ModuleInfo>()
                                 .Where(module => module.IsDeleted && (
                                            TabPermissionController.CanAddContentToPage(TabController.Instance.GetTab(module.TabID, module.PortalID)) ||
                                            ModulePermissionController.CanDeleteModule(module)));

            totalRecords = deletedModules.Count();
            return(pageIndex == -1 || pageSize == -1 ? deletedModules.ToList() : deletedModules.Skip(pageIndex * pageSize).Take(pageSize).ToList());
        }
        public static bool HasAllUsersViewPermissions(this OpenContentModuleConfig module)
        {
            bool blnHasModuleViewPermissions = false;

            if (module.ViewModule != null)
            {
                //DNN already checks SuperUser and Administrator
                blnHasModuleViewPermissions = ModulePermissionController.HasModuleAccess(AppDefinitions.SecurityAccessLevel.View.ToDnnSecurityAccessLevel(), "CONTENT", DnnUtils.GetDnnModule(module.ViewModule));
            }
            return(blnHasModuleViewPermissions);
        }
Example #16
0
        public static bool HasEditRights(this ModuleInfo activeModule)
        {
            bool blnHasModuleEditPermissions = false;

            if (activeModule != null)
            {
                //DNN already checks SuperUser and Administrator
                blnHasModuleEditPermissions = ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "CONTENT", activeModule);
            }
            return(blnHasModuleEditPermissions);
        }
 public override string AccessRoles()
 {
     if (UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(ActiveModule))
     {
         return("admin");
     }
     else
     {
         return("");
     }
 }
Example #18
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Raises the PasswordQuestionAnswerUpdated Event
 /// </summary>
 /// <history>
 ///     [cnurse]	03/09/2006  Created
 /// </history>
 /// -----------------------------------------------------------------------------
 public void OnPasswordQuestionAnswerUpdated(PasswordUpdatedEventArgs e)
 {
     if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration)))
     {
         return;
     }
     if (PasswordQuestionAnswerUpdated != null)
     {
         PasswordQuestionAnswerUpdated(this, e);
     }
 }
Example #19
0
 /// <summary>
 /// 验证作者状态(不是作者跳转到登陆页面)
 /// </summary>
 public void VerificationAuthor()
 {
     //没有登陆的用户
     if (!(UserId > 0))
     {
         Response.Redirect(Globals.NavigateURL(PortalSettings.LoginTabId, "Login", "returnurl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl)), true);
     }
     else if (!ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "CONTENT", ModuleConfiguration))
     {
         Response.Redirect(Globals.NavigateURL(TabId), true);
     }
 }
Example #20
0
        /// <summary>
        /// 绑定模块
        /// </summary>
        private void BindModules()
        {
            DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("Playngo.ClientZone", PortalId);


            if ((objDesktopModuleInfo != null))
            {
                TabController objTabController = new TabController();
                ArrayList     objTabs          = objTabController.GetTabsByPortal(PortalId).ToArrayList();
                foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs)
                {
                    if ((objTab != null))
                    {
                        if ((objTab.IsDeleted == false))
                        {
                            ModuleController objModules = new ModuleController();
                            foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID))
                            {
                                ModuleInfo objModule = pair.Value;
                                if ((objModule.IsDeleted == false))
                                {
                                    if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID))
                                    {
                                        if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false)
                                        {
                                            string  strPath        = objTab.TabName;
                                            TabInfo objTabSelected = objTab;
                                            while (objTabSelected.ParentId != Null.NullInteger)
                                            {
                                                objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false);
                                                if ((objTabSelected == null))
                                                {
                                                    break; // TODO: might not be correct. Was : Exit While
                                                }
                                                strPath = objTabSelected.TabName + " -> " + strPath;
                                            }

                                            ListItem objListItem = new ListItem();

                                            objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString();
                                            objListItem.Text  = strPath + " -> " + objModule.ModuleTitle;

                                            ddlModule.Items.Add(objListItem);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                WebHelper.SelectedListByValue(ddlModule, String.Format("{0}-{1}", Settings_TabID, Settings_ModuleID));
            }
        }
Example #21
0
        private bool canEditNote(Icatt_Geeltjes_Geeltje geeltje, int moduleId)
        {
            if (geeltje.CreatedByUserId == _currentUser.UserID)
            {
                return(true);
            }

            var mc      = new ModuleController();
            var modInfo = mc.GetModule(moduleId);

            return(ModulePermissionController.CanEditModuleContent(modInfo));
        }
Example #22
0
        private bool IsValidUser()
        {
            int  moduleId = Null.NullInteger;
            bool result   = User.Identity.IsAuthenticated && int.TryParse(Request.QueryString["ModuleId"], out moduleId);

            if (result)
            {
                var module = new ModuleController().GetModule(moduleId);
                result = module != null && ModulePermissionController.CanEditModuleContent(module);
            }
            return(result);
        }
Example #23
0
        /// <summary>
        /// 绑定模块列表
        /// </summary>
        private void BindModuleList()
        {
            DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("DNNGo.LayerGallery", PortalId);

            ddlTabModule.Items.Clear();
            if ((objDesktopModuleInfo != null))
            {
                int           aPortalId        = Convert.ToInt32(ddlPortals.Items[ddlPortals.SelectedIndex].Value);
                TabController objTabController = new TabController();
                ArrayList     objTabs          = objTabController.GetTabsByPortal(aPortalId).ToArrayList();
                foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs)
                {
                    if ((objTab != null))
                    {
                        if ((objTab.IsDeleted == false))
                        {
                            ModuleController objModules = new ModuleController();
                            foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID))
                            {
                                ModuleInfo objModule = pair.Value;
                                if ((objModule.IsDeleted == false))
                                {
                                    if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID))
                                    {
                                        if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false)
                                        {
                                            string  strPath        = objTab.TabName;
                                            TabInfo objTabSelected = objTab;
                                            while (objTabSelected.ParentId != Null.NullInteger)
                                            {
                                                objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false);
                                                if ((objTabSelected == null))
                                                {
                                                    break; // TODO: might not be correct. Was : Exit While
                                                }
                                                strPath = objTabSelected.TabName + " -> " + strPath;
                                            }

                                            ListItem objListItem = new ListItem();

                                            objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString();
                                            objListItem.Text  = strPath + " -> " + objModule.ModuleTitle;

                                            ddlTabModule.Items.Add(objListItem);
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
Example #24
0
 /// -----------------------------------------------------------------------------
 /// <summary>
 /// Raises the MembershipPromoteToSuperuser Event
 /// </summary>
 /// -----------------------------------------------------------------------------
 public void OnMembershipDemoteFromSuperuser(EventArgs e)
 {
     if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration)))
     {
         return;
     }
     if (MembershipDemoteFromSuperuser != null)
     {
         MembershipDemoteFromSuperuser(this, e);
         Response.Redirect(Globals.NavigateURL(), true);
     }
 }
Example #25
0
        private bool HasPermission(int moduleId)
        {
            var  moduleInfo     = new ModuleController().GetModule(moduleId);
            bool hasPermissions = false;

            if (moduleInfo != null)
            {
                hasPermissions = ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "EDIT", moduleInfo);
            }

            return(hasPermissions);
        }
Example #26
0
        public List <ModuleInfo> GetDeletedModules()
        {
            var deletedModules = _moduleController.GetModules(PortalSettings.PortalId)
                                 .Cast <ModuleInfo>()
                                 .Where(module => module.IsDeleted && (
                                            TabPermissionController.CanAddContentToPage(TabController.Instance.GetTab(module.TabID, module.PortalID)) ||
                                            ModulePermissionController.CanDeleteModule(module))
                                        )
                                 .ToList();

            return(deletedModules);
        }
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            if (Request.QueryString["moduleid"] != null)
            {
                Int32.TryParse(Request.QueryString["moduleid"], out ModuleId);
            }
            if (!ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "EXPORT", Module))
            {
                Response.Redirect(Globals.AccessDeniedURL(), true);
            }
        }
Example #28
0
        protected override void OnLoad()
        {
            base.OnLoad();

            View.Model.CanEdit     = ModulePermissionController.HasModulePermission(ModuleContext.Configuration.ModulePermissions, "EDIT");
            View.Model.NewVocabUrl = (ModuleContext != null)
                                         ? ModuleContext.NavigateUrl(TabId, "CreateVocabulary", false, "mid=" + ModuleId)
                                         : Globals.NavigateURL(TabId, "CreateVocabulary", "mid=" + ModuleId);
            View.ShowAddButton(View.Model.CanEdit);
            View.GridsNeedDataSource += GridNeedDataSource;
            View.GridsItemDataBound  += GridItemDataBound;
            View.Refresh();
        }
Example #29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Literal     lit        = new Literal();
            IActionable actionable = ModuleControl as IActionable;

            if (actionable != null)
            {
                string JsonAction = "";

                JsonAction = "[";
                foreach (ModuleAction action in actionable.ModuleActions)
                {
                    if (ModulePermissionController.HasModuleAccess(action.Secure, "CONTENT", ModuleConfiguration))
                    {
                        string url = string.Empty;
                        if (!string.IsNullOrEmpty(action.Url) && action.Url.Length > 0)
                        {
                            var splitarray = action.Url.Split('#');
                            url = splitarray[0];
                            if (url.Contains("?"))
                            {
                                url += "&skinsrc=" + "[g]skins/vanjaro/base";
                            }
                            else
                            {
                                url += "?skinsrc=" + "[g]skins/vanjaro/base";
                            }
                            if (splitarray.Length > 1)
                            {
                                url += "#" + splitarray[1];
                            }
                        }
                        JsonAction += "{\"Title\":\"" + action.Title + "\", \"Icon\":\"" + action.Icon + "\",\"Url\":\"" + url + "\",\"NewWindow\":\"" + action.NewWindow + "\",\"ModuleId\":\"" + ModuleConfiguration.ModuleID + "\"},";
                    }
                }

                JsonAction  = JsonAction.TrimEnd(',');
                JsonAction += "]";

                if (JsonAction != "[]")
                {
                    lit.Text = "<script type=\"text/javascript\" data-actionmid=\"" + ModuleConfiguration.ModuleID + "\">" + JsonAction + "</script>";
                }
            }
            if (HasSettings(Page, ModuleConfiguration))
            {
                lit.Text += "<script type=\"text/javascript\" data-settingsmid=\"" + ModuleConfiguration.ModuleID + "\"></script>";
            }

            Page.Header.Controls.Add(lit);
        }
Example #30
0
        private void cmdReset_Click(object sender, EventArgs e)
        {
            if (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration) && IsUserOrAdmin == false)
            {
                return;
            }
            string answer = "";

            if (MembershipProviderConfig.RequiresQuestionAndAnswer && !IsAdmin)
            {
                if (String.IsNullOrEmpty(txtAnswer.Text))
                {
                    OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.InvalidPasswordAnswer));
                    return;
                }
                answer = txtAnswer.Text;
            }
            try
            {
                //create resettoken
                UserController.ResetPasswordToken(User, Entities.Host.Host.AdminMembershipResetLinkValidity);

                bool canSend           = Mail.SendMail(User, MessageType.PasswordReminder, PortalSettings) == string.Empty;
                var  message           = String.Empty;
                var  moduleMessageType = ModuleMessage.ModuleMessageType.GreenSuccess;
                if (canSend)
                {
                    message = Localization.GetString("PasswordSent", LocalResourceFile);
                    LogSuccess();
                }
                else
                {
                    message           = Localization.GetString("OptionUnavailable", LocalResourceFile);
                    moduleMessageType = ModuleMessage.ModuleMessageType.RedError;
                    LogFailure(message);
                }


                UI.Skins.Skin.AddModuleMessage(this, message, moduleMessageType);
            }
            catch (ArgumentException exc)
            {
                Logger.Error(exc);
                OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.InvalidPasswordAnswer));
            }
            catch (Exception exc)
            {
                Logger.Error(exc);
                OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.PasswordResetFailed));
            }
        }
 /// <summary>
 /// Gets the ModulePermissions from the Data Store
 /// </summary>
 private void GetModulePermissions()
 {
     ModulePermissionController objModulePermissionController = new ModulePermissionController();
     ModulePermissions = objModulePermissionController.GetModulePermissionsCollectionByModuleID( ModuleID, TabId );
 }