Example #1
0
    def patch_search_view(self):
        model = self.model
        base = forms.GingerSearchForm if not model else forms.GingerSearchModelForm
        module = patch.Module(self.app.form_module)
        cls = module.Class(self.meta.form_name, [base])
        form_class = cls
        if model:
            meta_cls = form_class.Class("Meta")
            meta_cls.Attr("model", model)
            meta_cls.Attr("exclude", ())

            func = form_class.Def("get_queryset", [], varkw="kwargs")
            func("""
            return {model}.objects.all()
            """,
                 model=model)
        module.save()

        with self.class_patch() as cls:
            cls.Attr("form_class", form_class)
            if model:
                cls.Attr("model", model)
        self.create_template(templates.LIST_TEMPLATE)
        self.create_template(templates.LIST_ITEM_TEMPLATE,
                             filename=path.join(
                                 self.meta.template_dir,
                                 "%s/include/%s_item.html" %
                                 (self.app.label, self.meta.resource_name)))
Example #2
0
    def patch_form_view(self):
        model = self.model
        base = forms.GingerForm if not model else forms.GingerModelForm
        module = patch.Module(self.app.form_module)
        cls = module.Class(self.meta.form_name, [base])
        form_class = cls
        if model:
            meta_cls = form_class.Class("Meta")
            meta_cls.Attr("model", model)
            meta_cls.Attr("exclude", ())

            func = form_class.Def("execute", ["user"])
        module.save()

        with self.class_patch() as cls:
            cls.Attr("form_class", form_class)
            if model:
                cls.Attr("model", model)
        self.create_template(templates.FORM_TEMPLATE)
Example #3
0
 def class_patch(self):
     module = patch.Module(self.module)
     class_ = module.Class(self.view_class)
     yield class_
     module.save()