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
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)