diff -r c8901482dc9c -r 9280179e34fd app/soc/logic/models/program.py --- 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" ', '"Sverre Rabbelier" ', '"Lennard de Rijk" ', ] @@ -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()