Skip to content

Commit

Permalink
Move logic of getting ActivityDetails' by activity_id to its model
Browse files Browse the repository at this point in the history
  • Loading branch information
vitorbaptista committed Aug 9, 2013
1 parent 7085138 commit 3a36088
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 2 deletions.
3 changes: 1 addition & 2 deletions ckan/logic/action/get.py
Expand Up @@ -2124,8 +2124,7 @@ def activity_detail_list(context, data_dict):
# authorized to read.
model = context['model']
activity_id = _get_or_bust(data_dict, 'id')
activity_detail_objects = model.Session.query(
model.activity.ActivityDetail).filter_by(activity_id=activity_id).all()
activity_detail_objects = model.ActivityDetail.by_activity_id(activity_id)
return model_dictize.activity_detail_list_dictize(activity_detail_objects, context)


Expand Down
6 changes: 6 additions & 0 deletions ckan/model/activity.py
Expand Up @@ -2,6 +2,7 @@

from sqlalchemy import orm, types, Column, Table, ForeignKey, desc, or_

import ckan.model
import meta
import types as _types
import domain_object
Expand Down Expand Up @@ -62,6 +63,11 @@ def __init__(self, activity_id, object_id, object_type, activity_type,
else:
self.data = data

@classmethod
def by_activity_id(cls, activity_id):
return ckan.model.Session.query(cls) \
.filter_by(activity_id = activity_id).all()


meta.mapper(ActivityDetail, activity_detail_table, properties = {
'activity':orm.relation ( Activity, backref=orm.backref('activity_detail'))
Expand Down
16 changes: 16 additions & 0 deletions ckan/tests/models/test_activity.py
@@ -0,0 +1,16 @@
import ckan.model as model

Activity = model.Activity
ActivityDetail = model.ActivityDetail


class TestActivityDetail(object):
def test_by_activity_id(self):
activity = Activity('user-id', 'object-id',
'revision-id', 'activity-type')
activity.save()
activity_detail = ActivityDetail(activity.id, 'object-id',
'object-type', 'activity-type')
activity_detail.save()
activities = ActivityDetail.by_activity_id(activity.id)
assert activities == [activity_detail], activity_detail

0 comments on commit 3a36088

Please sign in to comment.