コード例 #1
0
ファイル: views.py プロジェクト: john-chow/data_insight
def eventDelete(request, id):
    '''
    删除事件
    '''
    hk = request.session.get('hk')
    try:
        ev = EventModel.objects.get(pk = id)
        tg = TriggerPsgModel(ev, hk)
        tg.off()
    except EventModel.DoesNotExist, e:
        return MyHttpJsonResponse({'succ': False, 'msg': 'xx'})
コード例 #2
0
ファイル: views.py プロジェクト: john-chow/data_insight
def eventModify(request, ev_id):
    '''
    修改事件
    '''
    content = json.loads(request.POST.get('data'))
    hk = request.session.get('hk')
    try:
        ev = EventModel.objects.get(pk = ev_id)
        if ev.m_creator != request.user:
            return MyHttpJsonResponse({'succ': False})

        pair = makeEventKwargs(content)
        ev.update(**pair)

        tg = TriggerPsgModel(ev)
        tg.modify()
    except Exception, e:
        logExcInfo()
        return MyHttpJsonResponse({'succ': False})
コード例 #3
0
ファイル: views.py プロジェクト: john-chow/data_insight
def eventCreate(request):
    '''
    新建事件
    '''
    content = json.loads(request.POST.get('data'))
    hk = request.session.get('hk')
    user = request.user
    try:
        # 保存事件记录
        # 先保存主要是为了获得pk,从而在触发器实现中,方便保存外键关系
        pair = makeEventKwargs(content)
        conn = ExternalDbModel.objects.get(pk = hk)
        kwargs = dict(pair, m_creator = user, m_conn_db = conn)

        ev = EventModel.objects.create(**kwargs)

        # 用触发器机制实现监控机制
        tg = TriggerPsgModel(ev, hk)
        tg.on()
    except Exception, e:
        logExcInfo()
        # 实现失败,删除该事件
        EventModel.objects.filter(pk = ev.pk).delete()   #事件上要区分,不是所有事件都要删
        return MyHttpJsonResponse({'succ': False})