1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-13 02:12:41 +01:00
phorge-phorge/src/infrastructure
epriestley 66975fa51b Implement "trigger clocks" for scheduling events
Summary:
Ref T6881. This will probably make more sense in a couple of diffs, but this is a class that implements scheduling/recurrence rules. Two rules are provided:

  - Trigger an event at a specific time (e.g., a meeting reminder notification).
  - Trigger an event on the Nth day of every month (e.g., a subscription bill).

At some point, we'll presumably add a rule for T2896 (maybe using the "RRULE" spec) so you can do stuff like "the second to last thursday of every month", etc., but we don't need that for now.

(The "Nth day of every month, or move it back if no such day exists" rule doesn't seem to be expressible with the "RRULE" format, so implementing that wouldn't give us a superset of this. I think this rule is correct and desirable for this purpose, though.)

Test Plan: Added and executed unit tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T6881

Differential Revision: https://secure.phabricator.com/D11403
2015-01-15 15:57:45 -08:00
..
customfield Fix visiblity of LiskDAO::getConfiguration() 2015-01-14 06:54:13 +11:00
daemon Implement "trigger clocks" for scheduling events 2015-01-15 15:57:45 -08:00
diff Differential - tighten up access of Differential data from other applications 2014-12-19 14:54:15 -08:00
edges Modernize remaining edge types 2015-01-03 10:58:20 +11:00
env Config - add phd.variant-config to suppress "Daemon & Web config" error message on a per key basis 2015-01-14 13:46:31 -08:00
events Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
internationalization Fix visibility of PhutilArgumentWorkflow::didConstruct methods 2015-01-16 07:42:07 +11:00
javelin Allow Javelin initBehavior to source alternative library behaviors 2014-11-04 06:47:07 -08:00
lint/linter Use new FutureIterator instead of Futures 2014-12-30 23:13:38 +11:00
log Explicitly declare method/property visibility 2015-01-12 08:18:13 +11:00
management Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
markup Do not CC users without permissions to view an object 2015-01-01 08:05:52 -08:00
query Apply some autofix linter rules 2014-09-10 06:55:05 +10:00
sms Fix visibility of the PhabricatorWorker::doWork() methods 2015-01-16 06:58:50 +11:00
ssh Change double quotes to single quotes. 2014-06-09 11:36:50 -07:00
storage Fix visibility of some LiskDAO methods 2015-01-16 07:43:51 +11:00
testing Fix method visibility for PhabricatorTrivialTestCase::willRunOneTest 2015-01-14 07:04:36 +11:00
time Change double quotes to single quotes. 2014-06-09 11:36:50 -07:00
util Improve Phriction page move dialog 2014-11-12 07:04:51 -08:00
PhabricatorEditor.php Use ManiphestTaskQuery in nearly all interfaces 2013-09-25 13:44:14 -07:00