mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-08-28 13:37:20 +02:00
Feature #574
- Added feature #574, default due dates (thanks to Erlan Sergaziev).
This commit is contained in:
parent
05d664cae1
commit
879f0fed78
8 changed files with 46 additions and 4 deletions
1
AUTHORS
1
AUTHORS
|
@ -69,4 +69,5 @@ suggestions:
|
||||||
Max Muller
|
Max Muller
|
||||||
Sander Marechal
|
Sander Marechal
|
||||||
Thomas Sattler
|
Thomas Sattler
|
||||||
|
Erlan Sergaziev
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
intended to help scripts that manipulate task output.
|
intended to help scripts that manipulate task output.
|
||||||
+ Added feature #567, which makes it possible to apply an offset to the first
|
+ Added feature #567, which makes it possible to apply an offset to the first
|
||||||
month to be displayed in the calendar report (thanks to Michelle Crane).
|
month to be displayed in the calendar report (thanks to Michelle Crane).
|
||||||
|
+ Added feature #574, default due dates (thanks to Erlan Sergaziev).
|
||||||
+ Added feature #575, including Danish holidays (thanks to Irfan Siddiqui).
|
+ Added feature #575, including Danish holidays (thanks to Irfan Siddiqui).
|
||||||
+ Eliminated dependency on ncurses.
|
+ Eliminated dependency on ncurses.
|
||||||
+ Fixed bug #515, which displayed an incorrect message after duplicating a
|
+ Fixed bug #515, which displayed an incorrect message after duplicating a
|
||||||
|
|
2
NEWS
2
NEWS
|
@ -40,6 +40,8 @@ New configuration options in taskwarrior 1.9.4
|
||||||
eliminates problems with task ID numbers for script writers.
|
eliminates problems with task ID numbers for script writers.
|
||||||
- calendar.offset=off and calendar.offset.value=-1 to apply an offset value
|
- calendar.offset=off and calendar.offset.value=-1 to apply an offset value
|
||||||
to change the effective first month in the calendar report.
|
to change the effective first month in the calendar report.
|
||||||
|
- default.due can be specified, and adds a default due date to all added
|
||||||
|
and imported tasks that don't otherwise have a due date.
|
||||||
|
|
||||||
Newly deprecated features in taskwarrior 1.9.4
|
Newly deprecated features in taskwarrior 1.9.4
|
||||||
|
|
||||||
|
|
|
@ -833,6 +833,13 @@ Provides a default priority for the
|
||||||
.I task add
|
.I task add
|
||||||
command, if you don't specify one. The default is blank.
|
command, if you don't specify one. The default is blank.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B
|
||||||
|
default.due=...
|
||||||
|
Provides a default due date for the
|
||||||
|
.I task add
|
||||||
|
command, if you don't specify one. The default is blank.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B
|
.B
|
||||||
default.command=list
|
default.command=list
|
||||||
|
|
|
@ -241,6 +241,7 @@ std::string Config::defaults =
|
||||||
"\n"
|
"\n"
|
||||||
"#default.project=foo # Default project for 'add' command\n"
|
"#default.project=foo # Default project for 'add' command\n"
|
||||||
"#default.priority=M # Default priority for 'add' command\n"
|
"#default.priority=M # Default priority for 'add' command\n"
|
||||||
|
"#default.due=eom # Default due date for 'add' command\n"
|
||||||
"default.command=list # When no arguments are specified\n"
|
"default.command=list # When no arguments are specified\n"
|
||||||
"\n"
|
"\n"
|
||||||
"_forcecolor=no # Forces color to be on, even for non TTY output\n"
|
"_forcecolor=no # Forces color to be on, even for non TTY output\n"
|
||||||
|
|
|
@ -87,6 +87,15 @@ int handleAdd (std::string& outs)
|
||||||
context.task.set ("priority", defaultPriority);
|
context.task.set ("priority", defaultPriority);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Override with default.due, if not specified.
|
||||||
|
if (context.task.get ("due") == "")
|
||||||
|
{
|
||||||
|
std::string defaultDue = context.config.get ("default.due");
|
||||||
|
if (defaultDue != "" &&
|
||||||
|
Att::validNameValue ("due", "", defaultDue))
|
||||||
|
context.task.set ("due", defaultDue);
|
||||||
|
}
|
||||||
|
|
||||||
// Include tags.
|
// Include tags.
|
||||||
foreach (tag, context.tagAdditions)
|
foreach (tag, context.tagAdditions)
|
||||||
context.task.addTag (*tag);
|
context.task.addTag (*tag);
|
||||||
|
@ -181,6 +190,15 @@ int handleLog (std::string& outs)
|
||||||
context.task.set ("priority", defaultPriority);
|
context.task.set ("priority", defaultPriority);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Override with default.due, if not specified.
|
||||||
|
if (context.task.get ("due") == "")
|
||||||
|
{
|
||||||
|
std::string defaultDue = context.config.get ("default.due");
|
||||||
|
if (defaultDue != "" &&
|
||||||
|
Att::validNameValue ("due", "", defaultDue))
|
||||||
|
context.task.set ("due", defaultDue);
|
||||||
|
}
|
||||||
|
|
||||||
// Include tags.
|
// Include tags.
|
||||||
foreach (tag, context.tagAdditions)
|
foreach (tag, context.tagAdditions)
|
||||||
context.task.addTag (*tag);
|
context.task.addTag (*tag);
|
||||||
|
@ -890,7 +908,7 @@ int handleShow (std::string& outs)
|
||||||
"color.sync.added color.sync.changed color.sync.rejected "
|
"color.sync.added color.sync.changed color.sync.rejected "
|
||||||
"color.undo.after confirmation curses data.location dateformat "
|
"color.undo.after confirmation curses data.location dateformat "
|
||||||
"dateformat.holiday dateformat.report dateformat.annotation debug "
|
"dateformat.holiday dateformat.report dateformat.annotation debug "
|
||||||
"default.command default.priority default.project defaultwidth due "
|
"default.command default.due default.priority default.project defaultwidth due "
|
||||||
"dependency.confirmation dependency.reminder locale displayweeknumber "
|
"dependency.confirmation dependency.reminder locale displayweeknumber "
|
||||||
"export.ical.class echo.command fontunderline gc locking monthsperline "
|
"export.ical.class echo.command fontunderline gc locking monthsperline "
|
||||||
"nag next journal.time journal.time.start.annotation journal.info "
|
"nag next journal.time journal.time.start.annotation journal.info "
|
||||||
|
|
|
@ -192,6 +192,13 @@ static void decorateTask (Task& task)
|
||||||
defaultPriority != "" &&
|
defaultPriority != "" &&
|
||||||
Att::validNameValue ("priority", "", defaultPriority))
|
Att::validNameValue ("priority", "", defaultPriority))
|
||||||
task.set ("priority", defaultPriority);
|
task.set ("priority", defaultPriority);
|
||||||
|
|
||||||
|
// Override with default.due, if not specified.
|
||||||
|
std::string defaultDue = context.config.get ("default.due");
|
||||||
|
if (!task.has ("due") &&
|
||||||
|
defaultDue != "" &&
|
||||||
|
Att::validNameValue ("due", "", defaultDue))
|
||||||
|
task.set ("due", defaultDue);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Test::More tests => 18;
|
use Test::More tests => 22;
|
||||||
|
|
||||||
# Create the rc file.
|
# Create the rc file.
|
||||||
if (open my $fh, '>', 'default.rc')
|
if (open my $fh, '>', 'default.rc')
|
||||||
|
@ -36,7 +36,8 @@ if (open my $fh, '>', 'default.rc')
|
||||||
print $fh "data.location=.\n",
|
print $fh "data.location=.\n",
|
||||||
"default.command=list\n",
|
"default.command=list\n",
|
||||||
"default.project=PROJECT\n",
|
"default.project=PROJECT\n",
|
||||||
"default.priority=M\n";
|
"default.priority=M\n",
|
||||||
|
"default.due=eom\n";
|
||||||
close $fh;
|
close $fh;
|
||||||
ok (-r 'default.rc', 'Created default.rc');
|
ok (-r 'default.rc', 'Created default.rc');
|
||||||
}
|
}
|
||||||
|
@ -47,13 +48,15 @@ my $output = qx{../task rc:default.rc list};
|
||||||
like ($output, qr/ all defaults/, 'task added');
|
like ($output, qr/ all defaults/, 'task added');
|
||||||
like ($output, qr/ PROJECT /, 'default project added');
|
like ($output, qr/ PROJECT /, 'default project added');
|
||||||
like ($output, qr/ M /, 'default priority added');
|
like ($output, qr/ M /, 'default priority added');
|
||||||
|
like ($output, qr/\//, 'default due added');
|
||||||
unlink 'pending.data';
|
unlink 'pending.data';
|
||||||
|
|
||||||
qx{../task rc:default.rc add project:specific priority:L all specified};
|
qx{../task rc:default.rc add project:specific priority:L due:eoy all specified};
|
||||||
$output = qx{../task rc:default.rc list};
|
$output = qx{../task rc:default.rc list};
|
||||||
like ($output, qr/ all specified/, 'task added');
|
like ($output, qr/ all specified/, 'task added');
|
||||||
like ($output, qr/ specific /, 'project specified');
|
like ($output, qr/ specific /, 'project specified');
|
||||||
like ($output, qr/ L /, 'priority specified');
|
like ($output, qr/ L /, 'priority specified');
|
||||||
|
like ($output, qr/\//, 'due specified');
|
||||||
unlink 'pending.data';
|
unlink 'pending.data';
|
||||||
|
|
||||||
qx{../task rc:default.rc add project:specific project specified};
|
qx{../task rc:default.rc add project:specific project specified};
|
||||||
|
@ -61,6 +64,7 @@ $output = qx{../task rc:default.rc list};
|
||||||
like ($output, qr/ project specified/, 'task added');
|
like ($output, qr/ project specified/, 'task added');
|
||||||
like ($output, qr/ specific /, 'project specified');
|
like ($output, qr/ specific /, 'project specified');
|
||||||
like ($output, qr/ M /, 'default priority added');
|
like ($output, qr/ M /, 'default priority added');
|
||||||
|
like ($output, qr/\//, 'default due added');
|
||||||
unlink 'pending.data';
|
unlink 'pending.data';
|
||||||
|
|
||||||
qx{../task rc:default.rc add priority:L priority specified};
|
qx{../task rc:default.rc add priority:L priority specified};
|
||||||
|
@ -68,6 +72,7 @@ $output = qx{../task rc:default.rc list};
|
||||||
like ($output, qr/ priority specified/, 'task added');
|
like ($output, qr/ priority specified/, 'task added');
|
||||||
like ($output, qr/ PROJECT /, 'default project added');
|
like ($output, qr/ PROJECT /, 'default project added');
|
||||||
like ($output, qr/ L /, 'priority specified');
|
like ($output, qr/ L /, 'priority specified');
|
||||||
|
like ($output, qr/\//, 'default due added');
|
||||||
|
|
||||||
$output = qx{../task rc:default.rc};
|
$output = qx{../task rc:default.rc};
|
||||||
like ($output, qr/1 PROJECT L .+ priority specified/, 'default command worked');
|
like ($output, qr/1 PROJECT L .+ priority specified/, 'default command worked');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue