mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Filter: Added a mechanism to override ::safety
This commit is contained in:
parent
157f191546
commit
f0c8330ebf
2 changed files with 28 additions and 16 deletions
|
@ -58,6 +58,7 @@ bool domSource (const std::string& identifier, Variant& value)
|
|||
Filter::Filter ()
|
||||
: _startCount (0)
|
||||
, _endCount (0)
|
||||
, _safety (true)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -261,28 +262,37 @@ bool Filter::pendingOnly ()
|
|||
// all tasks to be modified. This is usually not intended.
|
||||
void Filter::safety ()
|
||||
{
|
||||
for (auto& a : context.cli2._args)
|
||||
if (_safety)
|
||||
{
|
||||
if (a.hasTag ("CMD"))
|
||||
for (auto& a : context.cli2._args)
|
||||
{
|
||||
if (a.hasTag ("WRITECMD"))
|
||||
if (a.hasTag ("CMD"))
|
||||
{
|
||||
if (! context.config.getBoolean ("allow.empty.filter"))
|
||||
throw std::string (STRING_TASK_SAFETY_ALLOW);
|
||||
if (a.hasTag ("WRITECMD"))
|
||||
{
|
||||
if (! context.config.getBoolean ("allow.empty.filter"))
|
||||
throw std::string (STRING_TASK_SAFETY_ALLOW);
|
||||
|
||||
// If user is willing to be asked, this can be avoided.
|
||||
if (context.config.getBoolean ("confirmation") &&
|
||||
confirm (STRING_TASK_SAFETY_VALVE))
|
||||
return;
|
||||
// If user is willing to be asked, this can be avoided.
|
||||
if (context.config.getBoolean ("confirmation") &&
|
||||
confirm (STRING_TASK_SAFETY_VALVE))
|
||||
return;
|
||||
|
||||
// Sounds the alarm.
|
||||
throw std::string (STRING_TASK_SAFETY_FAIL);
|
||||
// Sounds the alarm.
|
||||
throw std::string (STRING_TASK_SAFETY_FAIL);
|
||||
}
|
||||
|
||||
// CMD was found.
|
||||
return;
|
||||
}
|
||||
|
||||
// CMD was found.
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void Filter::disableSafety ()
|
||||
{
|
||||
_safety = false;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -44,10 +44,12 @@ public:
|
|||
void subset (std::vector <Task>&, bool applyContext = true);
|
||||
bool pendingOnly ();
|
||||
void safety ();
|
||||
void disableSafety ();
|
||||
|
||||
private:
|
||||
int _startCount;
|
||||
int _endCount;
|
||||
int _startCount;
|
||||
int _endCount;
|
||||
bool _safety;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue