Domain Expiration task fixes

This commit is contained in:
vfedosevich 2014-12-08 06:10:22 -08:00
parent 1fbacb828c
commit f8f7f196c4
9 changed files with 52 additions and 49 deletions

View file

@ -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'
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Domain Expiration Information</title>
@ -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')

View file

@ -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)
);
}

View file

@ -116,19 +116,21 @@ namespace WebsitePanel.EnterpriseServer
{
BackgroundTask topTask = TaskManager.TopTask;
var bodyTemplate = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyTemplateParameter));
var template = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(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);

View file

@ -204,8 +204,8 @@ namespace WebsitePanel.EnterpriseServer
{
BackgroundTask topTask = TaskManager.TopTask;
var bodyTempalte = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyTemplateParameter));
var domainRecordTemplate = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(DataProvider.GetScheduleTaskEmailTemplate(TaskId, MailBodyDomainRecordTemplateParameter));
var bodyTempalte = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(DataProvider.GetScheduleTaskEmailTemplate(TaskId));
var domainRecordTemplate = ObjectUtils.FillObjectFromDataReader<ScheduleTaskEmailTemplate>(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);

View file

@ -5,11 +5,11 @@
</configSections>
<!-- Connection strings -->
<connectionStrings>
<add name="EnterpriseServer" connectionString="server=dev-sql;database=WebsitePanel;uid=WebsitePanel;pwd=sbbk40q85dc7jzj8b5kn;" providerName="System.Data.SqlClient" />
<add name="EnterpriseServer" connectionString="Server=(local)\SQLExpress;Database=WebsitePanel;uid=sa;pwd=Password12" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<!-- Encryption util settings -->
<add key="WebsitePanel.CryptoKey" value="jj2n22t2kje035cg4l77" />
<add key="WebsitePanel.CryptoKey" value="1234567890"/>
<!-- A1D4KDHUE83NKHddF -->
<add key="WebsitePanel.EncryptionEnabled" value="true"/>
<!-- Web Applications -->

View file

@ -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; }
}
}

View file

@ -8,7 +8,7 @@
</startup>
<appSettings>
<!-- Encryption util settings -->
<add key="WebsitePanel.CryptoKey" value="jj2n22t2kje035cg4l77"/>
<add key="WebsitePanel.CryptoKey" value="0123456789"/>
<!-- A1D4KDHUE83NKHddF -->
<add key="WebsitePanel.EncryptionEnabled" value="true" />
</appSettings>

View file

@ -50,7 +50,7 @@
<!-- Perform security check -->
<enabled value="true" />
<!-- Server password -->
<password value="TaIF+82DBVpZ/Ix216bG/o02fUE=" />
<password value="+uxnDOdf55yuH6iZYXgYAxsfIBw=" />
</security>
</websitepanel.server>
<system.web>

View file

@ -24,7 +24,7 @@
<asp:Label ID="lblDayBeforeNotify" runat="server" meta:resourcekey="lblDayBeforeNotify" Text="Notify before:"></asp:Label>
</td>
<td class="Normal" width="100%">
<asp:TextBox ID="txtDaysBeforeNotify" runat="server" Width="95%" CssClass="NormalTextBox" MaxLength="1000"></asp:TextBox><br />
<asp:TextBox ID="txtDaysBeforeNotify" runat="server" Width="95%" CssClass="NormalTextBox" MaxLength="1000"></asp:TextBox>
<asp:Label ID="lblDayBeforeNotifyHint" runat="server" meta:resourcekey="lblDayBeforeNotifyHint" Text="Number of days before expiration date"></asp:Label>
</td>
</tr>