--- a/app/soc/logic/models/program.py Wed Aug 26 18:31:19 2009 +0200
+++ b/app/soc/logic/models/program.py Wed Aug 26 18:37:35 2009 +0200
@@ -18,6 +18,7 @@
"""
__authors__ = [
+ '"Madhusudan.C.S" <madhusudancs@gmail.com>',
'"Sverre Rabbelier" <sverre@rabbelier.nl>',
'"Lennard de Rijk" <ljvderijk@gmail.com>',
]
@@ -26,7 +27,6 @@
from soc.logic.models import presence_with_tos
from soc.logic.models import sponsor as sponsor_logic
-import soc.logic.models.timeline
import soc.models.program
from gsoc.logic.models.timeline import logic as gsoc_timeline_logic
@@ -36,10 +36,6 @@
"""Logic methods for the Program model.
"""
- TIMELINE_LOGIC = {'gsoc' : gsoc.logic.models.timeline.logic,
- 'ghop' : soc.logic.models.timeline.logic}
-
-
def __init__(self, model=soc.models.program.Program,
base_model=None, scope_logic=sponsor_logic,
timeline_logic=gsoc_timeline_logic):
@@ -51,5 +47,18 @@
super(Logic, self).__init__(model=model, base_model=base_model,
scope_logic=scope_logic)
+ def createTimelineForType(self, fields):
+ """Creates and stores a timeline model for the given type of program.
+ """
+
+ properties = self.timeline_logic.getKeyFieldsFromFields(fields)
+ key_name = self.timeline_logic.getKeyNameFromFields(properties)
+
+ properties['scope'] = fields['scope']
+
+ timeline = self.timeline_logic.updateOrCreateFromKeyName(properties,
+ key_name)
+ return timeline
+
logic = Logic()