def add_issue(self, score, issue, item, notes=None): """ Adds a new issue to an item, if not already reported. :return: The new issue """ if notes and len(notes) > 512: notes = notes[0:512] for existing_issue in item.audit_issues: if existing_issue.issue == issue: if existing_issue.notes == notes: if existing_issue.score == score: app.logger.debug( "Not adding issue because it was already found:{}/{}/{}/{}\n\t{} -- {}" .format(item.index, item.region, item.account, item.name, issue, notes)) return existing_issue app.logger.debug("Adding issue: {}/{}/{}/{}\n\t{} -- {}".format( item.index, item.region, item.account, item.name, issue, notes)) new_issue = datastore.ItemAudit(score=score, issue=issue, notes=notes, justified=False, justified_user_id=None, justified_date=None, justification=None) item.audit_issues.append(new_issue) return new_issue
def add_issue(self, score, issue, item, notes=None, action_instructions=None): """ Adds a new issue to an item, if not already reported. :return: The new issue """ if notes and len(notes) > 1024: notes = notes[0:1024] if not self.override_scores: query = ItemAuditScore.query.filter( ItemAuditScore.technology == self.index) self.override_scores = query.all() # Check for override scores to apply score = self._check_for_override_score(score, item.account) for existing_issue in item.audit_issues: if existing_issue.issue == issue: if existing_issue.notes == notes: if existing_issue.score == score: app.logger.debug( "Not adding issue because it was already found:{}/{}/{}/{}\n\t{} -- {}" .format(item.index, item.region, item.account, item.name, issue, notes)) return existing_issue app.logger.debug("Adding issue: {}/{}/{}/{}\n\t{} -- {}".format( item.index, item.region, item.account, item.name, issue, notes)) new_issue = datastore.ItemAudit( score=score, issue=issue, notes=notes, action_instructions=action_instructions, justified=False, justified_user_id=None, justified_date=None, justification=None) item.audit_issues.append(new_issue) return new_issue