コード例 #1
0
ファイル: entity.py プロジェクト: leoomo/pycms
    def POST(self, mname):
        base_form = base_entity_form()
        form = entity_form(mname)
        model = get_model_by_name(mname)
        bv = base_form.validates()
        v = form.validates()
        if not bv or not v:
            categories = category_tree()
            data = web.input(cids=[])
            base_form.cids.set_value(data.cids)
            req = web.ctx.req
            req.update({
                'base_form': base_form,
                'form': form,
                'mname': mname,
                'mtitle': model.title,
                'categories': categories,
            })
            return render.entity_edit(**req)

        data = web.input(cids=[])
        base_form_data = base_form.d
        base_form_data.cids = data.cids
        base_form_data.user_id = web.ctx.session._userid
        form_data = form.d
        new_entity(model, base_form_data, form_data)
        raise web.seeother('/entity/index')
コード例 #2
0
ファイル: entity.py プロジェクト: F9O/govsite
    def POST(self, mname):
        data = web.input(cids=[])
        base_form = base_entity_form()
        form = entity_form(mname)
        model = get_model_by_name(mname)
        bv = base_form.validates()
        v = form.validates()
        if not bv or not v:
            categories = category_tree()
            base_form.cids.set_value(data.cids)

            # populate multi value field
            pd = {}
            for item in form.inputs:
                if isinstance(item, MyCheckboxGroup):
                    pd[item.name] = []
            pdata = web.input(**pd)
            for k in pd.keys():
                getattr(form, k).set_value(getattr(pdata, k))

            req = web.ctx.req
            req.update({
                'base_form': base_form,
                'form': form,
                'mname': mname,
                'mtitle': model.title,
                'categories': categories,
            })
            return render.entity_edit(**req)

        base_form_data = base_form.d
        base_form_data.cids = data.cids
        base_form_data.user_id = web.ctx.session._userid
        form_data = form.d
        # populate multi value field
        pd = {}
        for item in form.inputs:
            if isinstance(item, MyCheckboxGroup):
                pd[item.name] = []
        pdata = web.input(**pd)
        for k in pd.keys():
            setattr(form_data, k, str(getattr(pdata, k)))

        new_entity(model, base_form_data, form_data)
        raise web.seeother('/entity/index')