Ejemplo n.º 1
0
 def makepage(self, view = None, model = None, bit = '', parent = None, fail = False, **kwargs):
     form = cms.PageForm()
     data = model_to_dict(form.instance, form._meta.fields, form._meta.exclude)
     data.update(**kwargs)
     data.update({'url_pattern': bit,
                  'parent': None if not parent else parent.id})
     if view:
         if model:
             appmodel = self.site.for_model(model)
             view = appmodel.getview(view)
         else:
             view = self.site.getapp(view)
         data['application_view'] = view.code
     form = cms.PageForm(data = data)
     if fail:
         self.assertFalse(form.is_valid())
     else:
         self.assertTrue(form.is_valid())
         instance = form.save()
         self.assertTrue(instance.pk)
         return instance
Ejemplo n.º 2
0
Archivo: cms.py Proyecto: strogo/djpcms
def create_page(parent = None, user = None, inner_template = None, commit = True, **kwargs):
    '''Shortcut function for creating pages'''
    form = PageForm()
    data = forms.model_to_dict(form.instance, form._meta.fields, form._meta.exclude)
    data.update(**kwargs)
    user = _getid(user)
    if parent:
        if not user:
            user = parent.user
        if not inner_template:
            inner_template = parent.inner_template
        parent = parent.id
    inner_template = _getid(inner_template)
    data.update({'parent':parent,'user':user, 'inner_template': inner_template})
    f = PageForm(data = data)
    if f.is_valid():
        if commit:
            return f.save(commit = commit)
        else:
            return f
    else:
        err = ' '.join(ferrors(f._errors))
        raise forms.ValidationError(err)