예제 #1
0
 def get(self):
     node_id = self.get_argument('node_id')
     manager = NodeService(self.db, self.aes, operator=self.current_user)
     ret = manager.delete(node_id)
     if not ret:
         return self.render_error(msg=manager.last_error)
     self.redirect('/admin/node', permanent=False)
예제 #2
0
 def deleteArea(self, wsbody):
     node_id = self.get_ws_attr(wsbody, 'areaCode', notnull=True)
     manager = NodeService(self.db, self.aes)
     ret = manager.delete(node_id)
     if not ret:
         self.send_wsresp('deleteArea',
                          code=Codes.ERROR_UNKNOWN,
                          error=manager.last_error)
     else:
         self.send_wsresp('deleteArea', code=Codes.SUCCESS)
예제 #3
0
 def post(self):
     arules = [(r.id, r.rule_name)
               for r in self.db.query(models.TrAccountRule)]
     basids = [(r.id, r.bas_name) for r in self.db.query(models.TrBas)]
     form = node_forms.node_update_form(rule_ids=arules, bas_ids=basids)
     if not form.validates(source=self.get_params()):
         return self.render('base_form.html', form=form)
     manager = NodeService(self.db, self.aes, operator=self.current_user)
     ret = manager.update(form.d, bas_ids=self.get_arguments('bas_id'))
     if not ret:
         return self.render('base_form.html',
                            form=form,
                            msg=manager.last_error)
     self.redirect('/admin/node', permanent=False)
예제 #4
0
 def add_node(self):
     with make_db(self.db) as db:
         serv = NodeService(db, self.aes, config=self.config)
         ret = serv.add(
             Storage({
                 'node_name':
                 '(BAS\xe6\xb5\x8b\xe8\xaf\x95)\xe5\x8c\xba\xe5\x9f\x9f',
                 'node_desc':
                 '(BAS\xe6\xb5\x8b\xe8\xaf\x95)\xe5\x8c\xba\xe5\x9f\x9f',
                 'rule_id': '0',
                 'sync_ver': tools.gen_sync_ver()
             }))
         if hasattr(serv, 'last_error'):
             print serv.last_error
         node = self.warp(ret)
         raise node or AssertionError
         return node
예제 #5
0
 def updateArea(self, wsbody):
     formdata = Storage()
     formdata.id = self.get_ws_attr(wsbody, 'areaCode', notnull=True)
     formdata.node_name = self.get_ws_attr(wsbody, 'areaName', notnull=True)
     formdata.node_desc = u'BOSS 接入区域'
     formdata.rule_id = 0
     node = self.db.query(models.TrNode).get(formdata.id)
     if not node:
         return self.send_wsresp('updateArea',
                                 code=Codes.ERROR_ALREADY_EXIST,
                                 error=u'区域不存在')
     manager = NodeService(self.db, self.aes)
     ret = manager.update(formdata)
     if not ret:
         self.send_wsresp('updateArea',
                          code=Codes.ERROR_UNKNOWN,
                          error=manager.last_error)
     else:
         self.send_wsresp('updateArea', code=Codes.SUCCESS)
예제 #6
0
 def test_add_and_delete_node(self):
     node_id = None
     with make_db(self.db) as db:
         serv = NodeService(db, self.aes, config=self.config)
         ret = serv.add(Storage({'node_name': '\xe6\xb5\x8b\xe8\xaf\x95\xe5\x88\xa0\xe9\x99\xa4\xe5\x8c\xba\xe5\x9f\x9f',
          'node_desc': '\xe6\xb5\x8b\xe8\xaf\x95\xe5\x88\xa0\xe9\x99\xa4\xe5\x8c\xba\xe5\x9f\x9f',
          'rule_id': '0',
          'sync_ver': tools.gen_sync_ver()}))
         if hasattr(serv, 'last_error'):
             print serv.last_error
         node_id = ret.id
         raise ret or AssertionError
     with make_db(self.db) as db:
         serv = NodeService(db, self.aes, config=self.config)
         ret = serv.delete(node_id)
         if hasattr(serv, 'last_error'):
             print serv.last_error
         raise ret or AssertionError
     return
예제 #7
0
 def test_add_and_update_node(self):
     node = None
     with make_db(self.db) as db:
         serv = NodeService(db, self.aes, config=self.config)
         ret = serv.add(Storage({'node_name': 'node2',
          'node_desc': '\xe6\xb5\x8b\xe8\xaf\x95\xe5\x8c\xba\xe5\x9f\x9f2',
          'rule_id': '0',
          'sync_ver': tools.gen_sync_ver()}))
         if hasattr(serv, 'last_error'):
             print serv.last_error
         node = self.warp(ret)
         raise node or AssertionError
     with make_db(self.db) as db:
         serv = NodeService(db, self.aes, config=self.config)
         ret = serv.update(Storage({'id': node.id,
          'node_name': '\xe6\xb5\x8b\xe8\xaf\x95\xe4\xbf\xae\xe6\x94\xb9\xe5\x8c\xba\xe5\x9f\x9f',
          'node_desc': '\xe6\xb5\x8b\xe8\xaf\x95\xe4\xbf\xae\xe6\x94\xb9\xe5\x8c\xba\xe5\x9f\x9f',
          'rule_id': '0',
          'sync_ver': tools.gen_sync_ver()}))
         if hasattr(serv, 'last_error'):
             print serv.last_error
         raise self.warp(ret) or AssertionError
     return