33 from soc.logic.models import document as document_logic |
33 from soc.logic.models import document as document_logic |
34 from soc.views import helper |
34 from soc.views import helper |
35 from soc.views.helper import access |
35 from soc.views.helper import access |
36 from soc.views.helper import decorators |
36 from soc.views.helper import decorators |
37 from soc.views.helper import redirects |
37 from soc.views.helper import redirects |
|
38 from soc.views.helper import widgets |
38 from soc.views.models import base |
39 from soc.views.models import base |
39 |
40 |
40 import soc.models.presence |
41 import soc.models.presence |
41 import soc.logic.models.presence |
42 import soc.logic.models.presence |
42 import soc.logic.dicts |
43 import soc.logic.dicts |
64 |
65 |
65 new_params['extra_dynaexclude'] = ['home', 'tos'] |
66 new_params['extra_dynaexclude'] = ['home', 'tos'] |
66 new_params['home_template'] = 'soc/presence/home.html' |
67 new_params['home_template'] = 'soc/presence/home.html' |
67 |
68 |
68 new_params['create_extra_dynafields'] = { |
69 new_params['create_extra_dynafields'] = { |
69 'home_link_id': forms.CharField(required=False, |
|
70 label=ugettext('Home page Document link ID'), |
|
71 help_text=soc.models.work.Work.link_id.help_text), |
|
72 |
|
73 # add cleaning of the link id and feed url |
70 # add cleaning of the link id and feed url |
74 'clean_link_id': cleaning.clean_link_id('link_id'), |
71 'clean_link_id': cleaning.clean_link_id('link_id'), |
75 'clean_feed_url': cleaning.clean_feed_url, |
72 'clean_feed_url': cleaning.clean_feed_url, |
76 } |
73 } |
|
74 |
|
75 new_params['edit_extra_dynafields'] = { |
|
76 'home_link_id': widgets.ReferenceField( |
|
77 reference_url='document', filter=['scope_path'], |
|
78 required=False, label=ugettext('Home page Document link ID'), |
|
79 help_text=soc.models.work.Work.link_id.help_text), |
|
80 } |
|
81 |
77 |
82 |
78 patterns = [] |
83 patterns = [] |
79 |
84 |
80 page_name = "Home" |
85 page_name = "Home" |
81 patterns += [(r'^%(url_name)s/(?P<access_type>home)/%(key_fields)s$', |
86 patterns += [(r'^%(url_name)s/(?P<access_type>home)/%(key_fields)s$', |
134 |
139 |
135 def _editPost(self, request, entity, fields): |
140 def _editPost(self, request, entity, fields): |
136 """See base.View._editPost(). |
141 """See base.View._editPost(). |
137 """ |
142 """ |
138 |
143 |
|
144 if 'home_link_id' not in fields: |
|
145 return super(View, self)._editPost(request, entity, fields) |
|
146 |
139 scope_path = self._logic.getKeyNameFromFields(fields) |
147 scope_path = self._logic.getKeyNameFromFields(fields) |
140 |
148 |
141 key_fields = { |
149 key_fields = { |
142 'scope_path': scope_path, |
150 'scope_path': scope_path, |
143 'link_id': fields['home_link_id'], |
151 'link_id': fields['home_link_id'], |