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:
@@ -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
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user