--- a/app/soc/views/models/program.py Tue Jan 06 17:26:06 2009 +0000
+++ b/app/soc/views/models/program.py Tue Jan 06 20:56:48 2009 +0000
@@ -19,6 +19,7 @@
__authors__ = [
'"Sverre Rabbelier" <sverre@rabbelier.nl>',
+ '"Lennard de Rijk" <ljvderijk@gmail.com>',
]
@@ -26,6 +27,7 @@
from soc.logic import cleaning
from soc.logic import dicts
+from soc.logic.models import timeline as timeline_logic
from soc.views import helper
from soc.views.helper import access
from soc.views.helper import redirects
@@ -34,6 +36,9 @@
from soc.views.models import sponsor as sponsor_view
from soc.views.sitemap import sidebar
+import gsoc.models.timeline
+import soc.models.timeline
+
import soc.logic.models.program
@@ -66,17 +71,34 @@
new_params['url_name'] = "program"
new_params['module_name'] = "program"
- new_params['extra_dynaexclude'] = ['home']
+ new_params['extra_dynaexclude'] = ['home', 'timeline']
new_params['create_extra_dynafields'] = {
'description': forms.fields.CharField(widget=helper.widgets.TinyMCE(
attrs={'rows':10, 'cols':40})),
'scope_path': forms.CharField(widget=forms.HiddenInput, required=True),
+ 'workflow' : forms.ChoiceField(choices=[('gsoc','Project-based'),
+ ('ghop','Task-based')], required=True),
'clean_link_id': cleaning.clean_link_id,
}
params = dicts.merge(params, new_params)
super(View, self).__init__(params=params)
+
+ def _editPost(self, request, entity, fields):
+ """See base._editPost().
+ """
+
+ fields['timeline'] = self._createTimelineForType(fields['workflow'])
+
+ def _createTimelineForType(self, type):
+ """Creates and stores a timeline model for the given type of program
+ """
+
+ timelines = {'gsoc' : gsoc.models.timeline.Timeline(),
+ 'ghop' : soc.models.timeline.Timeline()}
+
+ return timelines[type].put()
def getExtraMenus(self, request, params=None):
"""Returns the extra menu's for this view.