/// <summary> /// Accepts invitation. /// </summary> protected void btnResend_OnCommand(object sender, CommandEventArgs e) { if (e.CommandName == "resend") { try { // Get invitation info object int invitationId = ValidationHelper.GetInteger(e.CommandArgument, 0); InvitationInfo invitation = InvitationInfoProvider.GetInvitationInfo(invitationId); if (invitation != null) { // Send invitation e-mail InvitationInfoProvider.SendInvitationEmail(invitation, CMSContext.CurrentSiteName); lblInfo.Text = ResendSuccess + "<br /><br />"; } } catch { lblInfo.Text = ResendFailed + "<br /><br />";; lblInfo.CssClass = "InvitationErrorLabel"; } lblInfo.Visible = true; } }
/// <summary> /// Invite button handling. /// </summary> /// <param name="sender">Sender</param> /// <param name="e">EventArgs</param> protected void btnInvite_Click(object sender, EventArgs e) { if (!IsLiveSite) { if (!CheckPermissions("cms.groups", CMSAdminControl.PERMISSION_MANAGE, this.GroupID)) { return; } } if (DisplayGroupSelector) { GroupID = ValidationHelper.GetInteger(groupSelector.Value, 0); } Group = GroupInfoProvider.GetGroupInfo(GroupID); string recipientEmail = string.Empty; if (Group != null) { // Check whether user is group member if (CMSContext.CurrentUser.IsGroupMember(GroupID)) { // If user can select the user if (plcUserSelector.Visible) { int userId = ValidationHelper.GetInteger(userSelector.Value, 0); if (userId > 0) { InvitedUser = UserInfoProvider.GetUserInfo(userId); bool userNotFound = true; // Check if user is filtered if (InvitedUser != null) { if (this.IsLiveSite) { userNotFound = InvitedUser.UserIsHidden || !InvitedUser.UserEnabled; } else { userNotFound = false; } } if (!userNotFound) { // Create invitation info InvitationInfo ii = InviteUser(Group, InvitedUser); if (ii != null) { // Send e-mail InvitationInfoProvider.SendInvitationEmail(ii, CMSContext.CurrentSiteName); } else { // User is member GroupMemberInfo gmi = GroupMemberInfoProvider.GetGroupMemberInfo(InvitedUser.UserID, GroupID); if (gmi != null) { lblError.Text = GetString("groupinvitation.invitationunsuccessismember").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(InvitedUser.UserName, this.IsLiveSite))); lblError.Visible = true; return; } // User is invited DataSet ds = InvitationInfoProvider.GetInvitations("InvitedUserID=" + InvitedUser.UserID + " AND InvitationGroupID=" + GroupID, "InvitationCreated", 1); if (!DataHelper.DataSourceIsEmpty(ds)) { int invitedByuserId = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["InvitedByUserID"], 0); UserInfo ui = UserInfoProvider.GetUserInfo(invitedByuserId); if (ui != null) { lblError.Text = GetString("groupinvitation.invitationunsuccesinvexists").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", HTMLHelper.HTMLEncode(InvitedUser.UserName)).Replace("##INVITEDBY##", HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(ui.UserName, this.IsLiveSite))); lblError.Visible = true; } return; } // General error lblError.Text = GetString("groupinvitation.invitationunsuccessmult").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(InvitedUser.UserName, this.IsLiveSite))); lblError.Visible = true; return; } } else { lblError.Text = GetString("general.usernotfound"); lblError.Visible = true; return; } } else { lblError.Text = GetString("groupinvitation.emptyusers"); lblError.Visible = true; return; } // Succesfull invitation lblInfo.Text = SuccessfulInviteText; lblInfo.Visible = true; DisableAfterSuccess(); if (DisplayAdvancedOptions) { CancelButton.ResourceString = "general.back"; CancelButton.PostBackUrl = ResolveUrl("~/CMSModules/Groups/Tools/Members/Member_List.aspx?groupId=" + GroupID); } else { CancelButton.ResourceString = "general.close"; CancelButton.OnClientClick = "Close();"; } } // Single invite else { // Check the email address if it is new user if (radNewUser.Checked) { string result = new Validator().IsEmail(txtEmail.Text, rfvEmail.ErrorMessage).Result; if (result != String.Empty) { lblError.Text = result; lblError.Visible = true; return; } } InvitedUser = UserInfoProvider.GetUserInfo(InvitedUserID); if ((GroupID != 0) || (InvitedUser != null) || (radNewUser.Checked)) { // Create invitation info InvitationInfo ii = InviteUser(Group, InvitedUser); if (ii != null) { lblInfo.Text = SuccessfulInviteText; DisableAfterSuccess(); if (DisplayAdvancedOptions) { CancelButton.ResourceString = "general.back"; CancelButton.PostBackUrl = ResolveUrl("~/CMSModules/Groups/Tools/Members/Member_List.aspx?groupId=" + GroupID); } else { CancelButton.ResourceString = "general.close"; if (UseMultipleUserSelector) { CancelButton.OnClientClick = "Close();"; } else { CancelButton.OnClientClick = "CloseAndRefresh();"; } } InvitationInfoProvider.SendInvitationEmail(ii, CMSContext.CurrentSiteName); // Succesfull invitation lblInfo.Text = SuccessfulInviteText; lblInfo.Visible = true; } else { if (InvitedUser != null) { string username = HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(InvitedUser.UserName, this.IsLiveSite)); // User is member GroupMemberInfo gmi = GroupMemberInfoProvider.GetGroupMemberInfo(InvitedUser.UserID, GroupID); if (gmi != null) { lblError.Text = GetString("groupinvitation.invitationunsuccessismember").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", username); lblError.Visible = true; return; } // User is invited DataSet ds = InvitationInfoProvider.GetInvitations("InvitedUserID=" + InvitedUser.UserID + " AND InvitationGroupID=" + GroupID, "InvitationCreated", 1); if (!DataHelper.DataSourceIsEmpty(ds)) { int invitedByuserId = ValidationHelper.GetInteger(ds.Tables[0].Rows[0]["InvitedByUserID"], 0); UserInfo ui = UserInfoProvider.GetUserInfo(invitedByuserId); if (ui != null) { lblError.Text = GetString("groupinvitation.invitationunsuccesinvexists").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", username).Replace("##INVITEDBY##", HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(ui.UserName, this.IsLiveSite))); lblError.Visible = true; } return; } // General error lblError.Text = GetString("groupinvitation.invitationunsuccessmult").Replace("##GROUPNAME##", HTMLHelper.HTMLEncode(Group.GroupDisplayName)).Replace("##USERNAME##", username); lblError.Visible = true; return; } else { UnSuccess(); } } } else { UnSuccess(); } } } } }