Fix serialization after model changes

After the recent model changes there were some bugs which were
introduced into the serialization methods of the models. This commit
fixes those issues.
This commit is contained in:
Jessica Tallon 2015-08-20 11:31:50 +02:00
parent 35fbad47d7
commit de366f735a
2 changed files with 11 additions and 10 deletions

View File

@ -451,8 +451,8 @@ class ActivityMixin(object):
"audio": _("audio"),
"person": _("a person"),
}
obj = self.object_helper.get_object()
target = None if self.target_helper is None else self.target_helper.get_object()
obj = self.object
target = None if self.target is None else self.target
actor = self.get_actor
content = verb_to_content.get(self.verb, None)
@ -506,7 +506,7 @@ class ActivityMixin(object):
"updated": updated.isoformat(),
"content": self.content,
"url": self.get_url(request),
"object": self.get_object.serialize(request),
"object": self.object().serialize(request),
"objectType": self.object_type,
"links": {
"self": {
@ -521,9 +521,8 @@ class ActivityMixin(object):
if self.title:
obj["title"] = self.title
target = self.get_target
if target is not None:
obj["target"] = target.serialize(request)
if self.target_id is not None:
obj["target"] = self.target().serialize(request)
return obj

View File

@ -304,6 +304,8 @@ class User(Base, UserMixin):
if self.location:
user.update({"location": self.get_location.serialize(request)})
return user
def unserialize(self, data):
if "summary" in data:
self.bio = data["summary"]
@ -689,8 +691,9 @@ class MediaEntry(Base, MediaEntryMixin):
author = self.get_uploader
published = UTC.localize(self.created)
updated = UTC.localize(self.updated)
public_id = self.get_public_id(request)
context = {
"id": self.get_public_id(request),
"id": public_id,
"author": author.serialize(request),
"objectType": self.object_type,
"url": self.url_for_self(request.urlgen, qualified=True),
@ -707,7 +710,7 @@ class MediaEntry(Base, MediaEntryMixin):
},
"links": {
"self": {
"href": href,
"href": public_id,
},
}
@ -1276,7 +1279,6 @@ class CommentReport(ReportBase):
MediaComment, backref=backref("reports_filed_on",
lazy="dynamic"))
class MediaReport(ReportBase):
"""
Reports that have been filed on media entries
@ -1435,7 +1437,7 @@ class Activity(Base, ActivityMixin):
# Create the generic foreign Key for the target
target_id = Column(Integer, ForeignKey(GenericModelReference.id), nullable=True)
target_helper = relationship(GenericModelReference, foreign_keys=[target_id])
taget = association_proxy("target_helper", "get_target",
target = association_proxy("target_helper", "get_object",
creator=GenericModelReference.find_or_new)
get_actor = relationship(User,