Procházet zdrojové kódy

Add defaults for all dates

theenglishway (time) před 6 roky
rodič
revize
04d2b518d6

+ 2 - 0
planner/models/items.py

@@ -86,8 +86,10 @@ class Item(TemplateMixin, SchemaMixin, DbMixin):
             default_setter: utcnow
         date_expected:
             type: date
+            default_setter: eons_future
         date_started:
             type: date
+            default_setter: eons_ago
     """
     def __post_init__(self):
         self.milestone = Milestone.fetch(self.milestone_id) if self.milestone_id else None

+ 2 - 0
planner/models/milestones.py

@@ -41,8 +41,10 @@ class Milestone(TemplateMixin, SchemaMixin, DbMixin):
             default_setter: utcnow
         date_expected: 
             type: date
+            default_setter: eons_future
         date_started:
             type: date
+            default_setter: eons_ago
     """
 
     def load_reverse(self):

+ 6 - 0
planner/models/sprints.py

@@ -45,6 +45,12 @@ class Sprint(TemplateMixin, SchemaMixin, DbMixin):
         date_added:
             type: datetime
             default_setter: utcnow
+        date_expected:
+            type: date
+            default_setter: eons_future
+        date_started:
+            type: date
+            default_setter: eons_ago
     """
 
     def __post_init__(self):

+ 8 - 2
planner/validator.py

@@ -1,6 +1,6 @@
 from tinydb import Query
 from cerberus import Validator
-from datetime import datetime
+from datetime import datetime, date
 
 
 class DbValidator(Validator):
@@ -45,4 +45,10 @@ class DbValidator(Validator):
             )
 
     def _normalize_default_setter_utcnow(self, document):
-        return datetime.utcnow()
+        return datetime.utcnow()
+
+    def _normalize_default_setter_eons_ago(self, document):
+        return date(year=1, month=1, day=1)
+
+    def _normalize_default_setter_eons_future(self, document):
+        return date(year=9999, month=12, day=31)