v1 vsersion

This commit is contained in:
pycook
2016-01-01 09:40:47 +08:00
committed by pycook
parent 1edd1ee71a
commit 2d8264ab6f
56 changed files with 5503 additions and 0 deletions

75
lib/history.py Normal file
View File

@@ -0,0 +1,75 @@
# -*- coding:utf-8 -*-
import datetime
from flask import current_app
from flask import g
from extensions import db
from models.history import OperationRecord
from models.history import CIAttributeHistory
from models.history import CIRelationHistory
class CIAttributeHistoryManger(object):
def __init__(self):
pass
def add(self, ci_id, history_list):
if history_list:
record = OperationRecord()
record.uid = g.user.uid
record.timestamp = datetime.datetime.now()
db.session.add(record)
db.session.commit()
for attr_id, operate_type, old, new in history_list:
history = CIAttributeHistory()
history.attr_id = attr_id
history.operate_type = operate_type
history.old = old
history.new = new
history.ci_id = ci_id
history.record_id = record.record_id
db.session.add(history)
try:
db.session.commit()
except Exception as e:
db.session.rollback()
db.session.rollback()
current_app.logger.error(
"add attribute history error, {0}".format(str(e)))
return False, "add attribute history error, {0}".format(str(e))
return True, None
class CIRelationHistoryManager(object):
def __init__(self):
pass
def add(self, relation, first_ci, second_ci,
relation_type, operate_type="add"):
record = OperationRecord()
record.uid = g.user.uid
record.timestamp = datetime.datetime.now()
db.session.add(record)
db.session.flush()
history = CIRelationHistory()
history.relation = relation
history.record_id = record.record_id
history.operate_type = operate_type
history.first_ci_id = first_ci
history.second_ci_id = second_ci
history.relation_type = relation_type
db.session.add(history)
try:
db.session.commit()
except Exception as e:
db.session.rollback()
current_app.logger.error(
"add relation history is error, {0}".format(str(e)))
return False, "add relation history is error, {0}".format(str(e))
return True, None