app/soc/views/models/presence_with_tos.py
changeset 1229 ec3768cbf369
parent 1218 569a3fe9cb88
child 1256 375632e7ec21
equal deleted inserted replaced
1228:b24796279fb9 1229:ec3768cbf369
    28 from django.utils.translation import ugettext
    28 from django.utils.translation import ugettext
    29 
    29 
    30 from soc.logic import dicts
    30 from soc.logic import dicts
    31 from soc.logic.models import document as document_logic
    31 from soc.logic.models import document as document_logic
    32 from soc.views.models import presence
    32 from soc.views.models import presence
       
    33 from soc.views.helper import widgets
    33 
    34 
    34 import soc.logic.models.presence_with_tos
    35 import soc.logic.models.presence_with_tos
    35 import soc.models.work
    36 import soc.models.work
    36 
    37 
    37 
    38 
    48     """
    49     """
    49 
    50 
    50     new_params = {}
    51     new_params = {}
    51     new_params['logic'] = soc.logic.models.presence_with_tos.logic
    52     new_params['logic'] = soc.logic.models.presence_with_tos.logic
    52 
    53 
    53     new_params['create_extra_dynafields'] = {
    54     new_params['edit_extra_dynafields'] = {
    54         'tos_link_id': forms.CharField(required=False,
    55         'tos_link_id': widgets.ReferenceField(
    55             label=ugettext('Terms of Service Document link ID'),
    56             reference_url='document', filter=['scope_path'],
       
    57             required=False, label=ugettext('Terms of Service Document link ID'),
    56             help_text=soc.models.work.Work.link_id.help_text),
    58             help_text=soc.models.work.Work.link_id.help_text),
    57         }
    59         }
    58 
    60 
    59     params = dicts.merge(params, new_params, sub_merge=True)
    61     params = dicts.merge(params, new_params, sub_merge=True)
    60 
    62 
    74 
    76 
    75   def _editPost(self, request, entity, fields):
    77   def _editPost(self, request, entity, fields):
    76     """See base.View._editPost().
    78     """See base.View._editPost().
    77     """
    79     """
    78 
    80 
       
    81     if 'tos_link_id' not in fields:
       
    82       return super(View, self)._editPost(request, entity, fields)
       
    83 
    79     scope_path = self._logic.getKeyNameFromFields(fields)
    84     scope_path = self._logic.getKeyNameFromFields(fields)
    80 
    85 
    81     key_fields = {
    86     key_fields = {
    82         'scope_path': scope_path,
    87         'scope_path': scope_path,
    83         'link_id': fields['tos_link_id'],
    88         'link_id': fields['tos_link_id'],