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 ()
|
Filter::Filter ()
|
||||||
: _startCount (0)
|
: _startCount (0)
|
||||||
, _endCount (0)
|
, _endCount (0)
|
||||||
|
, _safety (true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,28 +262,37 @@ bool Filter::pendingOnly ()
|
||||||
// all tasks to be modified. This is usually not intended.
|
// all tasks to be modified. This is usually not intended.
|
||||||
void Filter::safety ()
|
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"))
|
if (a.hasTag ("WRITECMD"))
|
||||||
throw std::string (STRING_TASK_SAFETY_ALLOW);
|
{
|
||||||
|
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 user is willing to be asked, this can be avoided.
|
||||||
if (context.config.getBoolean ("confirmation") &&
|
if (context.config.getBoolean ("confirmation") &&
|
||||||
confirm (STRING_TASK_SAFETY_VALVE))
|
confirm (STRING_TASK_SAFETY_VALVE))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Sounds the alarm.
|
// Sounds the alarm.
|
||||||
throw std::string (STRING_TASK_SAFETY_FAIL);
|
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);
|
void subset (std::vector <Task>&, bool applyContext = true);
|
||||||
bool pendingOnly ();
|
bool pendingOnly ();
|
||||||
void safety ();
|
void safety ();
|
||||||
|
void disableSafety ();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int _startCount;
|
int _startCount;
|
||||||
int _endCount;
|
int _endCount;
|
||||||
|
bool _safety;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue