Пример #1
0
    def post(self, slug):
        item = self.application.admin_apps.get(slug, {})
        model = item.get('model', None)
        response = dict(
            item=item,
            model=model,
            slug=slug,
            extra=item.get('extra_content', None))
        if model:
            form = model_form(model, base_class=ModelForm,
                              only=item.get('only', None),
                              exclude=item.get('exclude', None),
                              hidden=item.get('hidden', [])
                              )(self.request.arguments)

            if form.validate():
                obj = form.get_object()
                if item.get('post_extra_method', None):
                    item['post_extra_method'](obj, self.request)
                try:
                    yield obj.insert(self.db)
                    response['success'] = True
                except Exception, e:
                    raise e
            response['form'] = form
Пример #2
0
 def testMakeForm(self):
     f = model_form(Test())
     myform = f()
     assert 'pk' in myform
     assert 'name' in myform
     assert 'age' in myform
     assert 'required' in  myform.pk.flags
Пример #3
0
    def post(self, slug):
        item = self.application.admin_apps.get(slug, {})
        model = item.get('model', None)
        response = dict(item=item,
                        model=model,
                        slug=slug,
                        extra=item.get('extra_content', None))
        if model:
            form = model_form(model,
                              base_class=ModelForm,
                              only=item.get('only', None),
                              exclude=item.get('exclude', None),
                              hidden=item.get('hidden',
                                              []))(self.request.arguments)

            if form.validate():
                obj = form.get_object()
                if item.get('post_extra_method', None):
                    item['post_extra_method'](obj, self.request)
                try:
                    yield obj.insert(self.db)
                    response['success'] = True
                except Exception, e:
                    raise e
            response['form'] = form
Пример #4
0
    def post(self, slug, id):
        item = self.application.admin_apps.get(slug, {})
        model = item.get('model', None)
        response = dict(item=item,
                        model=model,
                        slug=slug,
                        extra=item.get('extra_content', None))
        if model:
            form = model_form(model,
                              base_class=ModelForm,
                              only=item.get('only', None),
                              exclude=item.get('exclude', None),
                              hidden=item.get('hidden',
                                              []))(self.request.arguments)

            if form.validate():
                obj = yield model.find_one(self.db, {"_id": ObjectId(id)})
                data = form.data
                if item.get('post_extra_method', None):
                    data = item['post_extra_method'](data, self.request)
                try:
                    yield obj.update(self.db, update=data)
                    response['success'] = True
                except Exception, e:
                    raise e
            response['form'] = form
Пример #5
0
 def testMakeForm(self):
   f = model_form(Test())
   myform = f()
   assert 'pk' in myform
   assert 'name' in myform
   assert 'age' in myform
   assert 'required' in  myform.pk.flags
Пример #6
0
 def testModelFormOnly(self):
   f = model_form(Test(), only=['name', 'age'])
   myform = f()
   assert 'pk' not in myform
   assert 'name' in myform
   assert 'age' in myform
   assert 'time' not in myform
Пример #7
0
    def post(self, slug, id):
        item = self.application.admin_apps.get(slug, {})
        model = item.get('model', None)
        response = dict(
            item=item,
            model=model,
            slug=slug,
            extra=item.get('extra_content', None))
        if model:
            form = model_form(model, base_class=ModelForm,
                              only=item.get('only', None),
                              exclude=item.get('exclude', None),
                              hidden=item.get('hidden', [])
                              )(self.request.arguments)

            if form.validate():
                obj = yield model.find_one(self.db, {"_id": ObjectId(id)})
                data = form.data
                if item.get('post_extra_method', None):
                    data = item['post_extra_method'](data, self.request)
                try:
                    yield obj.update(self.db, update=data)
                    response['success'] = True
                except Exception, e:
                    raise e
            response['form'] = form
Пример #8
0
 def testModelFormOnly(self):
     f = model_form(Test(), only=['name', 'age'])
     myform = f()
     assert 'pk' not in myform
     assert 'name' in myform
     assert 'age' in myform
     assert 'time' not in myform
Пример #9
0
 def testModelFormWithData(self):
     m = Test(dict(name="Dude",age=35,pk="saweet"))
     f = model_form(m)
     myform = f()
     assert 'Dude' in unicode(myform.name) 
     assert '35' in unicode(myform.age)
     assert 'saweet' in unicode(myform.pk)
     assert myform.validate()
Пример #10
0
 def testModelFormWithData(self):
   m = Test(dict(name="Dude",age=35,pk="saweet"))
   f = model_form(m)
   myform = f()
   assert 'Dude' in unicode(myform.name) 
   assert '35' in unicode(myform.age)
   assert 'saweet' in unicode(myform.pk)
   assert myform.validate()
Пример #11
0
 def testModelFormWithDataAndHiddenFields(self):
     m = Test(dict(name="Dude",age=35,pk="saweet"))
     f = model_form(m, hidden=['pk'])
     myform = f()
     assert 'hidden' in unicode(myform.pk)
     assert 'Dude' in unicode(myform.name) 
     assert '35' in unicode(myform.age)
     assert 'saweet' in unicode(myform.pk)
     assert myform.validate()
Пример #12
0
 def testModelFormWithDataAndHiddenFields(self):
   m = Test(dict(name="Dude",age=35,pk="saweet"))
   f = model_form(m, hidden=['pk'])
   myform = f()
   assert 'hidden' in unicode(myform.pk)
   assert 'Dude' in unicode(myform.name) 
   assert '35' in unicode(myform.age)
   assert 'saweet' in unicode(myform.pk)
   assert myform.validate()
Пример #13
0
def testModelFormWithModelType():
  m = ModelTypeTest({
    'name' : "Lebowski",
    'child' : {'name':"Dude", 'age':35, 'pk':"saweet"}})

  print "model name:  %s" % m.name
  print "child model age:  %s" % m.child.age
  f = model_form(m)
  myform = f()
  print "form name html: %s" %myform.name 
  print "child form age html: %s" % myform.child.age
  assert "Lebowski" in unicode(myform.name)
Пример #14
0
  def testModelFormWithModelType(self):
    m = ModelTypeTest({
      'name' : "Lebowski",
      'child' : {'name':"Dude", 'age':35, 'pk':"saweet"}})

    f = model_form(m)
    myform = f()

    assert 'Lebowski' in unicode(myform.name)
    assert 'Dude' in unicode(myform.child.name)
    assert '35' in unicode(myform.child.age)
    assert 'saweet' in unicode(myform.child.pk)
    assert myform.validate()
Пример #15
0
 def get(self, slug):
     item = self.application.admin_apps.get(slug, {})
     model = item.get('model', None)
     response = dict(item=item,
                     model=model,
                     slug=slug,
                     extra=item.get('extra_content', None))
     if model:
         response['form'] = \
             model_form(model, base_class=ModelForm,
                        only=item.get('only', None),
                        exclude=item.get('exclude', None),
                        hidden=item.get('hidden', [])
                        )()
     self.render('admin/new.html', **response)
Пример #16
0
 def get(self, slug):
     item = self.application.admin_apps.get(slug, {})
     model = item.get('model', None)
     response = dict(
         item=item,
         model=model,
         slug=slug,
         extra=item.get('extra_content', None))
     if model:
         response['form'] = \
             model_form(model, base_class=ModelForm,
                        only=item.get('only', None),
                        exclude=item.get('exclude', None),
                        hidden=item.get('hidden', [])
                        )()
     self.render('admin/new.html', **response)
Пример #17
0
 def get(self, slug, id):
     item = self.application.admin_apps.get(slug, {})
     model = item.get('model', None)
     response = dict(item=item,
                     model=model,
                     slug=slug,
                     extra=item.get('extra_content', None))
     if model:
         obj = yield model.find_one(self.db, {"_id": ObjectId(id)})
         response['form'] = \
             model_form(model, base_class=ModelForm,
                        only=item.get('only', None),
                        exclude=item.get('exclude', None),
                        hidden=item.get('hidden', [])
                        )(**obj)
     self.render('admin/edit.html', **response)
Пример #18
0
 def get(self, slug, id):
     item = self.application.admin_apps.get(slug, {})
     model = item.get('model', None)
     response = dict(
         item=item,
         model=model,
         slug=slug,
         extra=item.get('extra_content', None))
     if model:
         obj = yield model.find_one(self.db, {"_id": ObjectId(id)})
         response['form'] = \
             model_form(model, base_class=ModelForm,
                        only=item.get('only', None),
                        exclude=item.get('exclude', None),
                        hidden=item.get('hidden', [])
                        )(**obj)
     self.render('admin/edit.html', **response)
Пример #19
0
 def testModelFormExclude(self):
     f = model_form(Test(), exclude=['pk'])
     myform = f()
     assert 'pk' not in myform
     assert 'name' in myform
     assert 'age' in myform
Пример #20
0
 def testModelFormExclude(self):
   f = model_form(Test(), exclude=['pk'])
   myform = f()
   assert 'pk' not in myform
   assert 'name' in myform
   assert 'age' in myform
Пример #21
0
 def testModelFormHidden(self):
   f = model_form(Test(), hidden=['pk'])
   myform = f()
   assert 'hidden' in unicode(myform.pk)
Пример #22
0
 def testModelFormHidden(self):
     f = model_form(Test(), hidden=['pk'])
     myform = f()
     assert 'hidden' in unicode(myform.pk)