Пример #1
0
    def GET(self, id):
        field = get_field(id)
        form = FIELD_FORM_TYPE[field.type+'_form']()
        form.fill(field)
        if field.props:
            prop_dict = eval(field.props)
            if field.type == 'text':
                form.lines.set_value(prop_dict['lines'])
                form.editor.set_value(prop_dict['editor'])
            elif field.type == 'select' or field.type == 'radio' or field.type == 'checkbox':
                form.options.set_value(prop_dict['options'])
                if field.type == 'select':
                    form.is_multisel.set_value(prop_dict['is_multisel'])

        data = web.input()
        mid = data.mid
        model = get_model(mid)
        req = web.ctx.req
        req.update({
            'type': field.type,
            field.type+'_form': form,
            'mid': mid,
            'mtitle': model.title,
            })
        return render.field_edit(**req)
Пример #2
0
 def GET(self):
     form = relation_form()
     data = web.input()
     mid = data.mid
     model = get_model(mid)
     models = get_active_models()
     req = web.ctx.req
     req.update({
         'models': models,
         'form': form,
         'mid': mid,
         'mtitle': model.title,
         })
     return render.relation_edit(**req)
Пример #3
0
    def GET(self):
        forms = {}
        for form_name, form_cls in FIELD_FORM_TYPE.items():
            forms[form_name] = form_cls()

        data = web.input()
        mid = data.mid
        model = get_model(mid)
        req = web.ctx.req
        req.update(forms)
        req.update({
            'mid': mid,
            'mtitle': model.title,
            'type': '__all__',
            })
        return render.field_edit(**req)
Пример #4
0
 def GET(self, id):
     templates = get_templates()
     form = model_form()
     model = get_model(id)
     fields = get_fields(id)
     relations = get_relations(id)
     form.fill(model)
     req = web.ctx.req
     req.update({
         'mid': id,
         'form': form,
         'templates': templates,
         'fields': fields,
         'relations': relations,
         })
     return render.model_edit(**req)
Пример #5
0
 def POST(self, id):
     form = relation_form()
     data = web.input()
     mid = data.mid
     if not form.validates():
         model = get_model(mid)
         models = get_active_models()
         req = web.ctx.req
         req.update({
             'form': form,
             'models': models,
             'mid': mid,
             'mtitle': model.title,
             })
         return render.relation_edit(**req)
     save_relation(int(id), form.d)
     raise web.seeother('/model/%s/edit' % mid)
Пример #6
0
 def POST(self, id):
     data = web.input(options=[])
     form = FIELD_FORM_TYPE[data.type+'_form']()
     mid = data.mid
     if not form.validates():
         model = get_model(mid)
         if data.type == 'select' or data.type == 'radio' or data.type == 'checkbox':
             form.options.set_value(data.options)
         req = web.ctx.req
         req.update({
             'type': data.type,
             data.type+'_form': form,
             'mid': mid,
             'mtitle': model.title,
             })
         return render.field_edit(**req)
     form_data = form.d
     form_data.type = data.type
     form_data.options = data.options
     save_field(int(id), form_data)
     raise web.seeother('/model/%s/edit' % mid)
Пример #7
0
 def GET(self, id):
     model = get_model(id)
     create_schema(model)
     activate_model(model)
     raise web.seeother('/model/index')