/// <summary>
        /// Add a request for submitter privileges.
        /// Notify Editors of the submission request.
        /// </summary>
        /// <param name="sri">
        /// The information about the request.
        /// </param>
        public static void addSubmitterRequest(SubmitterRequestInfo sri)
        {
            SubmitterRequests.addSubmitterRequest(sri);

            Email email = Emails.getEmail(EmailType.SubmitterRequest);

            Emails.formatEmail(email, sri.UserName);
            MailMessage msg = Emails.constructEditorsMail(email, Globals.AdminsEmail);

            SmtpMail.SmtpServer = AspNetForums.Components.Globals.SmtpServer;
            SmtpMail.Send(msg);
        }
        /// <summary>
        /// Approve a user's request for submitter status.
        /// </summary>
        /// <param name="username">The username of the user to approve.</param>
        public static void approveSubmitter(string username)
        {
            UserAccounts.UserInfo user = new UserAccounts.UserInfo();

            user.Username = username;
            user.Role     = UserRole.Submitter;

            UserAccounts.updateUserRole(user);
            SubmitterRequestInfo sri = SubmitterRequests.getSubmitterRequest(username);

            UserAccounts.setSubmitterId(username, sri.SubmitterId);
            SubmitterRequests.remove(username);
        }
        /// <summary>
        /// Initialize the request controls.
        /// </summary>
        private void initRequestInfo()
        {
            // Check to see if user entered submitter request.
            SubmitterRequestInfo sri = UsersControl.getSubmitterRequestInfo(Context.User.Identity.Name);

            // If no submitter request, display instructions
            // (input controls are visible by default).
            // Otherwise display request acknowledgement and date.
            if (sri != null)
            {
                FormPanel.Visible = false;
                RequestLbl.Text   = "Your request for permission to submit modules was received on "
                                    + sri.Date.ToShortDateString() + ".  You will be notified by email when your "
                                    + "request has been evaluated.";
            }
        }
        /// <summary>
        /// Handle the apply button click event.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ApplyBtn_Click(object sender, System.EventArgs e)
        {
            try {
                if (SubmitterIdCustomVal.IsValid)
                {
                    SubmitterRequestInfo sri = new SubmitterRequestInfo();

                    sri.Date        = DateTime.Now;
                    sri.UserName    = Context.User.Identity.Name;
                    sri.Message     = Globals.parseTextInput(MessageTxt.Text);
                    sri.SubmitterId = SubmitIdTxt.Text;

                    UsersControl.addSubmitterRequest(sri);
                    initRequestInfo();
                }
            } catch (Exception ex) {
                RequestLbl.Text = ex.Message + ex.InnerException.Message;
            }
        }