diff --git a/WebsitePanel/Database/update_db.sql b/WebsitePanel/Database/update_db.sql index 6c449838..38274695 100644 --- a/WebsitePanel/Database/update_db.sql +++ b/WebsitePanel/Database/update_db.sql @@ -6154,29 +6154,29 @@ GO -- Domain lookup tasks -IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasks] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP') -BEGIN -INSERT [dbo].[ScheduleTasks] ([TaskID], [TaskType], [RoleID]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'WebsitePanel.EnterpriseServer.DomainLookupViewTask, WebsitePanel.EnterpriseServer.Code', 1) -END -GO +--IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasks] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP') +--BEGIN +--INSERT [dbo].[ScheduleTasks] ([TaskID], [TaskType], [RoleID]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'WebsitePanel.EnterpriseServer.DomainLookupViewTask, WebsitePanel.EnterpriseServer.Code', 1) +--END +--GO -IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskViewConfiguration] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP') -BEGIN -INSERT [dbo].[ScheduleTaskViewConfiguration] ([TaskID], [ConfigurationID], [Environment], [Description]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'ASP_NET', N'ASP.NET', N'~/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainLookupView.ascx') -END -GO +--IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskViewConfiguration] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP') +--BEGIN +--INSERT [dbo].[ScheduleTaskViewConfiguration] ([TaskID], [ConfigurationID], [Environment], [Description]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'ASP_NET', N'ASP.NET', N'~/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainLookupView.ascx') +--END +--GO -IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP' AND [ParameterID]= N'DNS_SERVERS' ) -BEGIN -INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'DNS_SERVERS', N'String', NULL, 1) -END -GO +--IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP' AND [ParameterID]= N'DNS_SERVERS' ) +--BEGIN +--INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'DNS_SERVERS', N'String', NULL, 1) +--END +--GO -IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP' AND [ParameterID]= N'MAIL_TO' ) -BEGIN -INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'MAIL_TO', N'String', NULL, 2) -END -GO +--IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTaskParameters] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_LOOKUP' AND [ParameterID]= N'MAIL_TO' ) +--BEGIN +--INSERT [dbo].[ScheduleTaskParameters] ([TaskID], [ParameterID], [DataTypeID], [DefaultValue], [ParameterOrder]) VALUES (N'SCHEDULE_TASK_DOMAIN_LOOKUP', N'MAIL_TO', N'String', NULL, 2) +--END +--GO -- Domain Expiration Task @@ -6253,14 +6253,15 @@ GO CREATE TABLE ScheduleTasksEmailTemplates ( [TaskID] [nvarchar](100) NOT NULL, - [ParameterID] [nvarchar](100) NOT NULL, - [Value] [nvarchar](Max) NULL + [From] [nvarchar](100) NOT NULL, + [Subject] [nvarchar](Max) NULL, + [Template] [nvarchar](Max) NULL ) GO -IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasksEmailTemplates] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_EXPIRATION' AND [ParameterID]= N'MAIL_BODY' ) +IF NOT EXISTS (SELECT * FROM [dbo].[ScheduleTasksEmailTemplates] WHERE [TaskID] = N'SCHEDULE_TASK_DOMAIN_EXPIRATION') BEGIN -INSERT [dbo].[ScheduleTasksEmailTemplates] ([TaskID], [ParameterID], [Value]) VALUES (N'SCHEDULE_TASK_DOMAIN_EXPIRATION', N'MAIL_BODY', N' +INSERT [dbo].[ScheduleTasksEmailTemplates] ([TaskID], [From], [Subject], [Template]) VALUES (N'SCHEDULE_TASK_DOMAIN_EXPIRATION', N'wsp-scheduler@noreply.net', N'Domain expiration notification', N' Domain Expiration Information @@ -6354,15 +6355,15 @@ DROP PROCEDURE GetScheduleTaskEmailTemplate GO CREATE PROCEDURE [dbo].GetScheduleTaskEmailTemplate ( - @TaskID [nvarchar](100) , - @ParameterID [nvarchar](100) + @TaskID [nvarchar](100) ) AS SELECT - [TaskID] , - [ParameterID], - [Value] - FROM [dbo].[ScheduleTasksEmailTemplates] where [TaskID] = @TaskID AND [ParameterID] = @ParameterID + [TaskID], + [From] , + [Subject] , + [Template] + FROM [dbo].[ScheduleTasksEmailTemplates] where [TaskID] = @TaskID GO IF EXISTS (SELECT * FROM SYS.OBJECTS WHERE type = 'P' AND name = 'GetDomainDnsRecords') diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs index 18447cca..52c0bbc3 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Data/DataProvider.cs @@ -4757,14 +4757,13 @@ namespace WebsitePanel.EnterpriseServer ); } - public static IDataReader GetScheduleTaskEmailTemplate(string taskId, string parameterId) + public static IDataReader GetScheduleTaskEmailTemplate(string taskId) { return SqlHelper.ExecuteReader( ConnectionString, CommandType.StoredProcedure, "GetScheduleTaskEmailTemplate", - new SqlParameter("@taskId", taskId), - new SqlParameter("@parameterId", parameterId) + new SqlParameter("@taskId", taskId) ); } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs index a0c98220..92002019 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainExpirationTask.cs @@ -116,19 +116,21 @@ namespace WebsitePanel.EnterpriseServer { BackgroundTask topTask = TaskManager.TopTask; - var bodyTemplate = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyTemplateParameter)); + var template = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId)); // input parameters - string mailFrom = "wsp-scheduler@noreply.net"; + string mailFrom = template.From; string mailTo = (string)topTask.GetParamValue("MAIL_TO"); - string mailSubject = "Domain expiration notification"; + string mailSubject = template.Subject; Hashtable items = new Hashtable(); items["user"] = user; - items["Domains"] = domains.Select(x => new { DomainName = x.DomainName, ExpirationDate = x.ExpirationDate, Customer = string.Format("{0} {1}", domainUsers[x.PackageId].FirstName, domainUsers[x.PackageId].LastName) }); + items["Domains"] = domains.Select(x => new { DomainName = x.DomainName, + ExpirationDate = x.ExpirationDate, + Customer = string.Format("{0} {1}", domainUsers[x.PackageId].FirstName, domainUsers[x.PackageId].LastName) }); - var mailBody = PackageController.EvaluateTemplate(bodyTemplate.Value, items); + var mailBody = PackageController.EvaluateTemplate(template.Template, items); // send mail message MailHelper.SendMessage(mailFrom, mailTo, mailSubject, mailBody, true); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainLookupViewTask.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainLookupViewTask.cs index 291a1d89..1983d372 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainLookupViewTask.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/SchedulerTasks/DomainLookupViewTask.cs @@ -204,8 +204,8 @@ namespace WebsitePanel.EnterpriseServer { BackgroundTask topTask = TaskManager.TopTask; - var bodyTempalte = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyTemplateParameter)); - var domainRecordTemplate = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyDomainRecordTemplateParameter)); + var bodyTempalte = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId)); + var domainRecordTemplate = ObjectUtils.FillObjectFromDataReader(DataProvider.GetScheduleTaskEmailTemplate(TaskId)); // input parameters string mailFrom = "wsp-scheduler@noreply.net"; @@ -228,7 +228,7 @@ namespace WebsitePanel.EnterpriseServer { foreach (var record in dnsChanged.DnsRecordsCompare.Where(x=>x.Status != DomainDnsRecordStatuses.NotChanged)) { - var tableRow = Utils.ReplaceStringVariable(domainRecordTemplate.Value, "domain", domain.Domain); + var tableRow = Utils.ReplaceStringVariable(domainRecordTemplate.Template, "domain", domain.Domain); tableRow = Utils.ReplaceStringVariable(tableRow, "dns", dnsChanged.DnsServer); tableRow = Utils.ReplaceStringVariable(tableRow, "recordType", record.Type.ToString()); tableRow = Utils.ReplaceStringVariable(tableRow, "dbRecord", record.DbRecord != null ? record.DbRecord.Value : "-"); @@ -240,7 +240,7 @@ namespace WebsitePanel.EnterpriseServer } - var mailBody = Utils.ReplaceStringVariable(bodyTempalte.Value, "RecordRow", string.Join(" ", tableRecords)); + var mailBody = Utils.ReplaceStringVariable(bodyTempalte.Template, "RecordRow", string.Join(" ", tableRecords)); // send mail message MailHelper.SendMessage(mailFrom, mailTo, mailSubject, mailBody, true); diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config index d7c0655a..3a721fdd 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/Web.config @@ -5,11 +5,11 @@ - + - + diff --git a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DomainLookup/ScheduleTaskEmailTemplate.cs b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DomainLookup/ScheduleTaskEmailTemplate.cs index 1ffa6e23..4680efed 100644 --- a/WebsitePanel/Sources/WebsitePanel.Providers.Base/DomainLookup/ScheduleTaskEmailTemplate.cs +++ b/WebsitePanel/Sources/WebsitePanel.Providers.Base/DomainLookup/ScheduleTaskEmailTemplate.cs @@ -8,7 +8,8 @@ namespace WebsitePanel.Providers.DomainLookup public class ScheduleTaskEmailTemplate { public string TaskId { get; set; } - public string ParameterID { get; set; } - public string Value { get; set; } + public string From { get; set; } + public string Subject { get; set; } + public string Template { get; set; } } } diff --git a/WebsitePanel/Sources/WebsitePanel.SchedulerService/app.config b/WebsitePanel/Sources/WebsitePanel.SchedulerService/app.config index 259bc157..fc65dbf9 100644 --- a/WebsitePanel/Sources/WebsitePanel.SchedulerService/app.config +++ b/WebsitePanel/Sources/WebsitePanel.SchedulerService/app.config @@ -8,7 +8,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.Server/Web.config b/WebsitePanel/Sources/WebsitePanel.Server/Web.config index 4197b288..f50b8202 100644 --- a/WebsitePanel/Sources/WebsitePanel.Server/Web.config +++ b/WebsitePanel/Sources/WebsitePanel.Server/Web.config @@ -50,7 +50,7 @@ - + diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainExpirationView.ascx b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainExpirationView.ascx index 8eee2957..6f3e773f 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainExpirationView.ascx +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ScheduleTaskControls/DomainExpirationView.ascx @@ -24,7 +24,7 @@ -
+