def api_get_csm_message(): rows = [] username = request.form['username'] password = request.form['password'] db_session = DBSession() user, authenticated = \ User.authenticate(db_session.query, username, password) if authenticated: # if user.privilege == UserPrivilege.ADMIN: csm_messages = SMUInfoLoader.get_cco_csm_messages() if len(csm_messages) > 0: acknowledgment_date = datetime.datetime(2000, 1, 1) if len(user.csm_message) > 0: acknowledgment_date = user.csm_message[0].acknowledgment_date # csm_messages returns a dictionary keyed by a token (e.g. @12/01/01@Admin,Operator) and message readers = [ UserPrivilege.ADMIN, UserPrivilege.NETWORK_ADMIN, UserPrivilege.OPERATOR, UserPrivilege.VIEWER ] for csm_message in csm_messages: tokens = csm_message['token'].split('@') date = tokens[0] if len(tokens) == 2: readers = tokens[1].split(',') if user.privilege in readers: message = csm_message['message'] try: delta = datetime.datetime.strptime( date, "%Y/%m/%d") - acknowledgment_date if delta.days > 0: rows.append({ 'date': date, 'message': message.replace("\n", "<br>") }) except: logger.exception('api_get_csm_message() hit exception') return jsonify(**{'data': rows})
def api_get_csm_message(): rows = [] username = request.form['username'] password = request.form['password'] db_session = DBSession() user, authenticated = \ User.authenticate(db_session.query, username, password) if authenticated: # if user.privilege == UserPrivilege.ADMIN: csm_messages = SMUInfoLoader.get_cco_csm_messages() if len(csm_messages) > 0: acknowledgment_date = datetime.datetime(2000, 1, 1) if len(user.csm_message) > 0: acknowledgment_date = user.csm_message[0].acknowledgment_date # csm_messages returns a dictionary keyed by a token (e.g. @12/01/01@Admin,Operator) and message readers = [ UserPrivilege.ADMIN, UserPrivilege.NETWORK_ADMIN, UserPrivilege.OPERATOR, UserPrivilege.VIEWER] for csm_message in csm_messages: tokens = csm_message['token'].split('@') date = tokens[0] if len(tokens) == 2: readers = tokens[1].split(',') if user.privilege in readers: message = csm_message['message'] try: delta = datetime.datetime.strptime(date, "%Y/%m/%d") - acknowledgment_date if delta.days > 0: rows.append({'date': date, 'message': message.replace("\n", "<br>")}) except: logger.exception('api_get_csm_message() hit exception') return jsonify(**{'data': rows})