'Handle the approval of apps and/or files.'

def process_approve(self):

    if self.addon.has_incomplete_status():
        return
    status = self.addon.status
    if (self.addon.publish_type == mkt.PUBLISH_IMMEDIATE):
        self._process_public(mkt.STATUS_PUBLIC)
    elif (self.addon.publish_type == mkt.PUBLISH_HIDDEN):
        self._process_public(mkt.STATUS_UNLISTED)
    else:
        self._process_private()
    self.addon.update_version(_signal=False)
    if self.addon.is_packaged:
        self.addon.update_name_from_package_manifest()
    self.addon.update_supported_locales()
    self.addon.resend_version_changed_signal = True
    if self.in_escalate:
        EscalationQueue.objects.filter(addon=self.addon).delete()
    if self.addon.priority_review:
        self.addon.update(priority_review=False)
    return ReviewerScore.award_points(self.request.user, self.addon, status)
