Add recommended_user to link to the exact user class from the recommendation.

This commit is contained in:
2011-09-07 11:28:46 +01:00
parent 829cd75191
commit 86c55f19a8
2 changed files with 13 additions and 9 deletions

View File

@@ -91,6 +91,10 @@ class Recommendation(models.Model):
def get_absolute_url(self):
return ('hr.views.view_application', [self.application.id])
@property
def recommended_user(self):
return self.application.user
@property
def is_valid(self):
diff = self.recommendation_date - self.user_character.corporation_date

View File

@@ -69,14 +69,14 @@ def blacklist_values(user, level=BLACKLIST_LEVEL_NOTE):
return blacklist
def recommendation_chain(application):
def recommendation_chain(application, first=True):
""" Returns the recommendation chain for a application (as a nested dict) """
t = {}
for rec in application.recommendation_set.all():
try:
app = Application.objects.get(character=rec.user_character, status=APPLICATION_STATUS_COMPLETED)
t[rec.user_character.name] = recommendation_chain(app)
except Application.DoesNotExist:
t[rec.user_character.name] = {}
return t
output = {}
for rec in Recommendation.objects.filter(user__username=name):
# Avoid infinite loops
if not rec.user == rec.recommended_user:
output[rec.recommended_user.username] = recommendation_chain(rec.recommended_user.username, False)
if first:
return {name: output}
return output