def getKnowledgeIDsFromTagIDs(self, tagIDs): self.setFilter(getFilterFromIDs(tagIDs, "tag_ID")) self.select() knowledgeIDs = [] for i in range(self.rowCount()): knowledgeIDs.append(self.record(i).value("knowledge_ID")) return knowledgeIDs
def setFilterByTagIDsAndText(self, tagIDs, filterText): if len(tagIDs) == 0: filterByTags = "1" else: knowledgeIDs = self.knowledgeTagsModel.getKnowledgeIDsFromTagIDs(tagIDs) logging.debug("getKnowledgeIDsFromTagIDs(%s)=%s" % (str(tagIDs), str(knowledgeIDs))) if len(knowledgeIDs) == 0: filterByTags = "0" else: filterByTags = getFilterFromIDs(knowledgeIDs, "ID") if filterText is not None and filterText != "": filterByText = '(title LIKE "%' + filterText + '%") OR (description LIKE "%' + filterText + '%")' else: filterByText = '' logging.debug('filterByTags="%s"' % filterByTags) logging.debug('filterByText="%s"' % filterByText) if filterByText != "": self.setFilter("(%s) AND (%s)" % (filterByTags, filterByText)) else: self.setFilter(filterByTags) logging.debug('knowledgeModel.filter = "%s"' % self.filter()) self.select()