def applyConditions(self): """ Apply conditions on tables, should check conditions here """ print self.search_helper.getConds() con_table=self.search_helper.getTable("connection_log") con_details_table=self.search_helper.getTable("connection_log_details") self.__addUserIDCondition(con_table) con_table.ltgtSearch(self.search_helper,"credit_used","credit_used_op","credit_used") self.search_helper.setCondValue("login_time_from_op",">=") con_table.dateSearch(self.search_helper,"login_time_from","login_time_from_unit","login_time_from_op","login_time") self.search_helper.setCondValue("login_time_to_op","<") con_table.dateSearch(self.search_helper,"login_time_to","login_time_to_unit","<","login_time") self.search_helper.setCondValue("logout_time_from_op",">=") con_table.dateSearch(self.search_helper,"logout_time_from","login_time_from_unit",">=","logout_time") self.search_helper.setCondValue("logout_time_to_op","<") con_table.dateSearch(self.search_helper,"logout_time_to","login_time_to_unit","<","logout_time") con_table.exactSearch(self.search_helper,"successful","successful",lambda yesno:{"yes":"t","no":"f"}[yesno.lower()]) con_table.exactSearch(self.search_helper,"service","service",lambda _type:user_main.getConnectionLogManager().getTypeValue(_type)) con_table.exactSearch(self.search_helper,"ras_ip","ras_id",lambda ras_ip:ras_main.getLoader().getRasByIP(ras_ip).getRasID())
def logToConnectionLog(self, instance): instance_info = self.user_obj.getInstanceInfo(instance) return user_main.getConnectionLogManager().logConnectionQuery( self.user_obj.getUserID(), instance_info["used_credit"], dbTimeFromEpoch(self.getCallStartTime(instance)), dbTimeFromEpoch(self.getCallEndTime(instance)), instance_info["successful_auth"], "voip", instance_info["ras_id"], self.__filter(instance, instance_info["attrs"]))
def __delUserQuery(self,ibs_query,user_ids,del_connections): user_id_conds=" or ".join(map(lambda user_id:"user_id=%s"%user_id,user_ids)) ibs_query += self.__delUserAttrsQuery(user_id_conds) ibs_query += self.__delUserNormalAttrsQuery(user_id_conds) ibs_query += self.__delUserPLanAttrsQuery(user_id_conds) ibs_query += self.__delUserVoIPAttrsQuery(user_id_conds) ibs_query += self.__delUserFromUsersTableQuery(user_id_conds) if del_connections: ibs_query += user_main.getConnectionLogManager().deleteConnectionLogsForUsersQuery(user_ids)
def logToConnectionLog(self, instance): instance_info = self.user_obj.getInstanceInfo(instance) return user_main.getConnectionLogManager().logConnectionQuery( self.user_obj.getUserID(), instance_info["used_credit"], dbTimeFromEpoch(instance_info["login_time"]), dbTimeFromEpoch(self.__getLogoutTime(instance_info)), instance_info["successful_auth"], "internet", instance_info["ras_id"], self.__filter(instance, instance_info["attrs"]))
def logToConnectionLog(self,instance,used_credit): instance_info=self.user_obj.getInstanceInfo(instance) return user_main.getConnectionLogManager().logConnectionQuery(self.user_obj.getUserID(), used_credit, dbTimeFromEpoch(instance_info["login_time"]), dbTimeFromEpoch(self.__getLogoutTime(instance_info)), instance_info["successful_auth"], "internet", instance_info["ras_id"], self.__filter(instance,instance_info["attrs"]) )
def logToConnectionLog(self,instance,used_credit): instance_info=self.user_obj.getInstanceInfo(instance) return user_main.getConnectionLogManager().logConnectionQuery(self.user_obj.getUserID(), used_credit, dbTimeFromEpoch(self.getCallStartTime(instance)), dbTimeFromEpoch(self.getCallEndTime(instance)), instance_info["successful_auth"], "voip", instance_info["ras_id"], self.__filter(instance,instance_info["attrs"]) )
def __repairConnectionsDic(self,connections,details_dic,date_type): for connection in connections: connection["login_time_formatted"]=AbsDate(connection["login_time"],"gregorian").getDate(date_type) connection["logout_time_formatted"]=AbsDate(connection["logout_time"],"gregorian").getDate(date_type) try: connection["ras_ip"]=ras_main.getLoader().getRasByID(connection["ras_id"]).getRasIP() except GeneralException: connection["ras_ip"]="id:%s"%connection["ras_id"] connection["service_type"]=user_main.getConnectionLogManager().getIDType(connection["service"]) try: connection["details"]=details_dic[connection["connection_log_id"]] except KeyError: connection["details"]={} return connections
def __repairConnectionsDic(self, connections, details_dic, date_type): for connection in connections: connection["login_time_formatted"] = AbsDate( connection["login_time"], "gregorian").getDate(date_type) connection["logout_time_formatted"] = AbsDate( connection["logout_time"], "gregorian").getDate(date_type) try: connection["ras_description"] = ras_main.getLoader( ).getRasByID(connection["ras_id"]).getRasDesc() except GeneralException: connection["ras_description"] = "id:%s" % connection["ras_id"] connection["service_type"] = user_main.getConnectionLogManager( ).getIDType(connection["service"]) try: connection["details"] = details_dic[ connection["connection_log_id"]] except KeyError: connection["details"] = [] return connections
def __delUserQuery(self, ibs_query, user_ids, del_connections, del_audit_logs): user_id_conds = self.__delUserCreateCondition(user_ids) ibs_query += self.__delUserAttrsQuery(user_id_conds) ibs_query += self.__delUserNormalAttrsQuery(user_id_conds) ibs_query += self.__delUserPLanAttrsQuery(user_id_conds) ibs_query += self.__delUserCallerIDAttrsQuery(user_id_conds) ibs_query += self.__delUserVoIPAttrsQuery(user_id_conds) ibs_query += self.__delUserMessagesQuery(user_id_conds) ibs_query += self.__delUserWebAnalyzerLogsQuery(user_id_conds) ibs_query += self.__delUserBwSnapshotsQuery(user_id_conds) if del_connections: ibs_query += user_main.getConnectionLogManager( ).deleteConnectionLogsForUsersQuery(user_ids) if del_audit_logs: ibs_query += user_main.getUserAuditLogManager( ).deleteAuditLogsForUsersQuery(user_ids) ibs_query += self.__delUserFromUsersTableQuery(user_id_conds)