Compare commits

..
3 Commits
6 changed files with 76 additions and 43 deletions
+1 -1
View File
@@ -1 +1 @@
1.0.86
1.0.88
@@ -25,6 +25,7 @@ namespace JiraTimeBot.Configuration
public string JiraQuery { get; set; }
public string TimeControlTask { get; set; }
public int RandomWorkMinutes { get; set; }
public string AlternativeEmail { get; set; }
public static Settings LoadAndCheck(Action settingsSource, Action<string> errorMessageReporter)
{
+31 -31
View File
@@ -1,31 +1,31 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("JiraTimeBot")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JiraTimeBot")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.86")]
[assembly: AssemblyFileVersion("1.0.86")]
[assembly: AssemblyInformationalVersion("1.0.86")]
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("JiraTimeBot")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("JiraTimeBot")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f3b89316-c38c-4ce6-9d88-0b1373cfba1a")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.88")]
[assembly: AssemblyFileVersion("1.0.88")]
[assembly: AssemblyInformationalVersion("1.0.88")]
+12 -3
View File
@@ -80,7 +80,10 @@ namespace JiraTimeBot.RepositoryProviders
{
var dateMatch = date.Value.Date == reflogItem.Committer.When.Date;
var userMatch = reflogItem.Committer.Email.Equals(settings.MercurialAuthorEmail, StringComparison.CurrentCultureIgnoreCase);
var committerEmail = reflogItem.Committer.Email;
var userMatch = committerEmail.Equals(settings.MercurialAuthorEmail, StringComparison.CurrentCultureIgnoreCase)
|| committerEmail.Equals(settings.AlternativeEmail, StringComparison.CurrentCultureIgnoreCase);
if (!dateMatch || !userMatch)
{
@@ -100,12 +103,18 @@ namespace JiraTimeBot.RepositoryProviders
{
return new List<TaskTimeItem>();
}
if (commit.Author.When.DateTime.Date != date.Value.Date || commit.Author.Email != settings.MercurialAuthorEmail)
var userMatch = commit.Author.Email.Equals(settings.MercurialAuthorEmail, StringComparison.CurrentCultureIgnoreCase)
|| commit.Author.Email.Equals(settings.AlternativeEmail, StringComparison.CurrentCultureIgnoreCase);
if (commit.Author.When.DateTime.Date != date.Value.Date
|| !userMatch)
{
continue;
}
var regex = new Regex("[a-zA-Z]{1,4}-[0-9]{1,6}");
var regex = new Regex("[a-zA-Z0-9]{1,4}-[0-9]{1,6}");
var branch = ListBranchesContaininingCommit(repo, commit.Sha)
.Select(f => f.FriendlyName)
.FirstOrDefault(f => regex.IsMatch(f));
+28 -6
View File
@@ -57,6 +57,8 @@
this.lblJiraUrl = new System.Windows.Forms.Label();
this.txtJiraUrl = new System.Windows.Forms.TextBox();
this.chkRemoveManuallyAddedWorklogs = new System.Windows.Forms.CheckBox();
this.tbAlternateEmail = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label5
@@ -146,7 +148,7 @@
// chkAddComments
//
this.chkAddComments.AutoSize = true;
this.chkAddComments.Location = new System.Drawing.Point(65, 366);
this.chkAddComments.Location = new System.Drawing.Point(65, 400);
this.chkAddComments.Name = "chkAddComments";
this.chkAddComments.Size = new System.Drawing.Size(133, 17);
this.chkAddComments.TabIndex = 31;
@@ -155,7 +157,7 @@
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(86, 432);
this.btnSave.Location = new System.Drawing.Point(86, 466);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 23);
this.btnSave.TabIndex = 32;
@@ -221,7 +223,7 @@
// chkAutostart
//
this.chkAutostart.AutoSize = true;
this.chkAutostart.Location = new System.Drawing.Point(65, 343);
this.chkAutostart.Location = new System.Drawing.Point(65, 377);
this.chkAutostart.Name = "chkAutostart";
this.chkAutostart.Size = new System.Drawing.Size(96, 17);
this.chkAutostart.TabIndex = 40;
@@ -263,7 +265,7 @@
// chkPullBeforeProcess
//
this.chkPullBeforeProcess.AutoSize = true;
this.chkPullBeforeProcess.Location = new System.Drawing.Point(65, 409);
this.chkPullBeforeProcess.Location = new System.Drawing.Point(65, 443);
this.chkPullBeforeProcess.Name = "chkPullBeforeProcess";
this.chkPullBeforeProcess.Size = new System.Drawing.Size(83, 17);
this.chkPullBeforeProcess.TabIndex = 45;
@@ -307,18 +309,36 @@
// chkRemoveManuallyAddedWorklogs
//
this.chkRemoveManuallyAddedWorklogs.AutoSize = true;
this.chkRemoveManuallyAddedWorklogs.Location = new System.Drawing.Point(65, 387);
this.chkRemoveManuallyAddedWorklogs.Location = new System.Drawing.Point(65, 421);
this.chkRemoveManuallyAddedWorklogs.Name = "chkRemoveManuallyAddedWorklogs";
this.chkRemoveManuallyAddedWorklogs.Size = new System.Drawing.Size(157, 17);
this.chkRemoveManuallyAddedWorklogs.TabIndex = 48;
this.chkRemoveManuallyAddedWorklogs.Text = "Удалять \"ручные записи\"";
this.chkRemoveManuallyAddedWorklogs.UseVisualStyleBackColor = true;
//
// tbAlternateEmail
//
this.tbAlternateEmail.Location = new System.Drawing.Point(133, 328);
this.tbAlternateEmail.Name = "tbAlternateEmail";
this.tbAlternateEmail.Size = new System.Drawing.Size(100, 20);
this.tbAlternateEmail.TabIndex = 49;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(4, 331);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(123, 13);
this.label10.TabIndex = 50;
this.label10.Text = "Дополнительный Email";
//
// frmSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(243, 467);
this.ClientSize = new System.Drawing.Size(243, 496);
this.Controls.Add(this.label10);
this.Controls.Add(this.tbAlternateEmail);
this.Controls.Add(this.chkRemoveManuallyAddedWorklogs);
this.Controls.Add(this.lblJiraUrl);
this.Controls.Add(this.txtJiraUrl);
@@ -390,5 +410,7 @@
private System.Windows.Forms.Label lblJiraUrl;
private System.Windows.Forms.TextBox txtJiraUrl;
private System.Windows.Forms.CheckBox chkRemoveManuallyAddedWorklogs;
private System.Windows.Forms.TextBox tbAlternateEmail;
private System.Windows.Forms.Label label10;
}
}
+3 -2
View File
@@ -43,7 +43,7 @@ namespace JiraTimeBot.UI
txtRandomMinutes.Text = settings.RandomWorkMinutes.ToString();
chkPullBeforeProcess.Checked = settings.PullBeforeProcess;
chkRemoveManuallyAddedWorklogs.Checked = settings.RemoveManuallyAddedWorklogs;
tbAlternateEmail.Text = settings.AlternativeEmail;
cboWorkType_SelectedIndexChanged(null, null);
}
@@ -78,7 +78,8 @@ namespace JiraTimeBot.UI
MinuterPerWorkDay = minuterPerWorkDay,
RandomWorkMinutes = randomWorkMinutes,
PullBeforeProcess = chkPullBeforeProcess.Checked,
RemoveManuallyAddedWorklogs = chkRemoveManuallyAddedWorklogs.Checked
RemoveManuallyAddedWorklogs = chkRemoveManuallyAddedWorklogs.Checked,
AlternativeEmail = tbAlternateEmail.Text
};
//LockUnlock(false);