예제 #1
0
파일: domain.py 프로젝트: dmdm/PySite
 def xhr_update(self):
     sch = pysite.dd.build_schema(colander.MappingSchema, self.DD,
         fieldlist=self.EDIT_FIELDLIST)
     try:
         data = pysite.dd.deserialize(sch, self.request.POST)
     except colander.Invalid as exc:
         return {'status': False, 'msg': 'Errors', 'errors': exc.asdict()}
     try:
         vv = {}
         for k, v in data.items():
             vv[k[self.PREFIXLEN:]] = v
         vv['id'] = int(self.request.POST['id'])
         vv['editor'] = self.request.user.uid
         vv['mtime'] = datetime.datetime.now()
         manager.update_domain(vv)
         return {'status': True, 'msg': 'Ok'}
     except (StatementError, NoResultFound, PySiteError) as exc:
         return {'status': False, 'msg': str(exc), 'errors': {}}