/// <summary> /// Deletes unsubscription template. Called when the "Delete template" button is pressed. /// Expects the CreateUnsubscriptionTemplate method to be run first. /// </summary> private bool DeleteUnsubscriptionTemplate() { // Get the unsubscription template EmailTemplateInfo deleteTemplate = EmailTemplateInfoProvider.GetEmailTemplateInfo("MyNewUnsubscriptionTemplate", SiteContext.CurrentSiteID); // Delete the unsubscription template EmailTemplateInfoProvider.DeleteEmailTemplateInfo(deleteTemplate); return(deleteTemplate != null); }
/// <summary> /// Deletes issue template. Called when the "Delete template" button is pressed. /// Expects the CreateIssueTemplate method to be run first. /// </summary> private bool DeleteIssueTemplate() { // Get the issue template EmailTemplateInfo deleteTemplate = EmailTemplateInfoProvider.GetEmailTemplateInfo("MyNewIssueTemplate", SiteContext.CurrentSiteID); // Delete the issue template EmailTemplateInfoProvider.DeleteEmailTemplateInfo(deleteTemplate); return(deleteTemplate != null); }
/// <summary> /// Handles the UniGrid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void uniGrid_OnAction(string actionName, object actionArgument) { string templateId = actionArgument.ToString(); switch (actionName.ToLowerCSafe()) { // Edit the template case "edit": URLHelper.Redirect("NewsletterTemplate_Edit.aspx?templateid=" + templateId); break; // Delete the template case "delete": // Check 'Manage templates' permission if (!CMSContext.CurrentUser.IsAuthorizedPerResource("cms.newsletter", "managetemplates")) { RedirectToCMSDeskAccessDenied("cms.newsletter", "managetemplates"); } // Check if the template is used in a newsletter string where = string.Format("(NewsletterTemplateID={0}) OR (NewsletterSubscriptionTemplateID={0}) OR (NewsletterUnsubscriptionTemplateID={0}) OR (NewsletterOptInTemplateID={0})", templateId); DataSet newsByEmailtempl = NewsletterInfoProvider.GetNewsletters(where, null, 1, "NewsletterID"); if (DataHelper.DataSourceIsEmpty(newsByEmailtempl)) { // Check if the template is used in an issue DataSet newsletterIssues = IssueInfoProvider.GetIssues("IssueTemplateID = " + templateId, null, 1, "IssueID"); if (DataHelper.DataSourceIsEmpty(newsletterIssues)) { // Delete EmailTemplate object from database EmailTemplateInfoProvider.DeleteEmailTemplateInfo(ValidationHelper.GetInteger(templateId, 0)); } else { ShowError(GetString("NewsletterTemplate_List.TemplateInUseByNewsletterIssue")); } } else { ShowError(GetString("NewsletterTemplate_List.TemplateInUseByNewsletter")); } break; } }
/// <summary> /// Handles the UniGrid's OnAction event. /// </summary> /// <param name="actionName">Name of item (button) that throws event</param> /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param> protected void uniGrid_OnAction(string actionName, object actionArgument) { string templateId = actionArgument.ToString(); switch (actionName.ToLowerCSafe()) { // Edit the template case "edit": string url = UIContextHelper.GetElementUrl("cms.newsletter", "TemplateProperties", false, templateId.ToInteger(0)); URLHelper.Redirect(url); break; // Delete the template case "delete": // Check 'Manage templates' permission var template = EmailTemplateInfoProvider.GetEmailTemplateInfo(ValidationHelper.GetInteger(actionArgument, 0)); if (template == null) { RedirectToAccessDenied(GetString("general.invalidparameters")); } if (!template.CheckPermissions(PermissionsEnum.Delete, CurrentSiteName, CurrentUser)) { RedirectToAccessDenied("cms.newsletter", "managetemplates"); } // Check if the template is used in a newsletter var newsByEmailtempl = NewsletterInfoProvider .GetNewsletters() .WhereEquals("NewsletterTemplateID", templateId) .Or() .WhereEquals("NewsletterSubscriptionTemplateID", templateId) .Or() .WhereEquals("NewsletterUnsubscriptionTemplateID", templateId) .Or() .WhereEquals("NewsletterOptInTemplateID", templateId) .Column("NewsletterID") .TopN(1); if (!newsByEmailtempl.Any()) { // Check if the template is used in an issue var newsletterIssuesIDs = IssueInfoProvider.GetIssues().WhereEquals("IssueTemplateID", templateId).TopN(1).Column("IssueID"); if (!newsletterIssuesIDs.Any()) { // Delete EmailTemplate object from database EmailTemplateInfoProvider.DeleteEmailTemplateInfo(ValidationHelper.GetInteger(templateId, 0)); } else { ShowError(GetString("NewsletterTemplate_List.TemplateInUseByNewsletterIssue")); } } else { ShowError(GetString("NewsletterTemplate_List.TemplateInUseByNewsletter")); } break; } }