Skip to content

Commit

Permalink
Added discussions to the notification API
Browse files Browse the repository at this point in the history
  • Loading branch information
noirbizarre committed Jun 25, 2015
1 parent 81a9790 commit 8256f49
Showing 1 changed file with 19 additions and 4 deletions.
23 changes: 19 additions & 4 deletions udata/core/user/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

from udata import search
from udata.api import api, ModelAPI, ModelListAPI, API
from udata.models import User, FollowUser, Reuse, Dataset, Issue
from udata.models import User, FollowUser, Reuse, Dataset, Issue, Discussion

from udata.core.dataset.api_fields import dataset_fields
from udata.core.followers.api import FollowAPI
Expand Down Expand Up @@ -103,13 +103,13 @@ def get(self):
user = current_user._get_current_object()
notifications = []

orgs = [o for o in user.organizations if o.is_admin(user)]
orgs = [o for o in user.organizations if o.is_member(user)]
datasets = Dataset.objects.owned_by(user, *orgs)
reuses = Reuse.objects.owned_by(user, *orgs)

# TODO: use polymorph field

# Fetch user open issues
datasets = Dataset.objects.owned_by(user, *orgs)
reuses = Reuse.objects.owned_by(user, *orgs)
for issue in Issue.objects(subject__in=list(datasets)+list(reuses)):
notifications.append({
'type': 'issue',
Expand All @@ -124,6 +124,21 @@ def get(self):
}
})

# Fetch user open discussions
for discussion in Discussion.objects(subject__in=list(datasets)+list(reuses)):
notifications.append({
'type': 'discussion',
'created_on': discussion.created,
'details': {
'id': str(discussion.id),
'title': discussion.title,
'subject': {
'id': str(discussion.subject.id),
'type': discussion.subject.__class__.__name__.lower(),
}
}
})

# Fetch pending membership requests
for org in orgs:
for request in org.pending_requests:
Expand Down

0 comments on commit 8256f49

Please sign in to comment.