Exemple #1
0
 def _inc_form(self, *names):
     """Include form handler, will return context data for rendering
     form for this group of values"""
     bn = mkbasename(*names)
     forms = [i.inc_form(bn, n) for n, i in self.fields.items()]
     return {'basename': bn, 'form_title': human_title(names[-1]),
             'form_id': bn.replace(SEP, '-'), 'tpl': 'cms/edit/group.html',
             'subforms': forms}
Exemple #2
0
    def _inc_form(self, *names):
        """Include form handler. Returns needed data to render form
        for current values set, will use loaded data as initial but
        will use form creatd in save() method if was called first,
        this will render a form with error messages if any.
        """
        if self.data: # prepare value to form inclusion
            data = dict((name, self.fields[name].form_value(value))
                            for name, value in self.data.iteritems())
        else:
            data = {}

        bn = data['basename'] = mkbasename(*names)
        form = self._form(initial=data)
        return {'form': form, 'basename': bn,
                'form_id': bn.replace(SEP, '-'),
                'form_title': human_title(names[-1]),
                'tpl': 'cms/edit/value.html'}
Exemple #3
0
    def _inc_form(self, *names):
        """Returns data needed to render form for this FieldSet type"""
        forms, offset = [], 0
        bn = mkbasename(*names)
        order = self.fields.keys()

        for pos, items in (self.data or []):
            forms += [items[name].inc_form(bn, pos, name) for name in order]
            offset = max(offset, int(pos))

        # one extra empty form for adding new rows
        with_extra_form = not self.up_to or len(forms) < self.up_to
        if with_extra_form:
            for name, item in self.fields.items():
                forms.append(item.inc_form(bn, str(offset + 1), name))

        return {'subforms': forms, 'basename': bn,
                'tpl': 'cms/edit/several.html',
                'form_id': bn.replace(SEP, '-'),
                'with_extra_form': with_extra_form,
                'form_title': human_title(names[-1])}