Пример #1
0
    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
Пример #2
0
    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