kawaz.core.comments.activity のソースコード

from django.contrib.contenttypes.models import ContentType
from kawaz.core.personas.models import Persona
from activities.models import Activity
from activities.mediator import ActivityMediator
from activities.registry import registry


[ドキュメント]class CommentActivityMediator(ActivityMediator):
[ドキュメント] def translate_snapshot(self, snapshot): # 可能な限り対象モデルに合わせたスナップショットを作成する try: mediator = registry.get(snapshot) except KeyError: mediator = super() return mediator.translate_snapshot(snapshot)
[ドキュメント] def alter(self, instance, activity, **kwargs): if activity and activity.status == 'created': target = instance.content_object # あるモデルにコメントが付いたことを通知させるため # コメントが作成されたタイミングで、そのアクティビティを # コメントが追加されたオブジェクトの物に変えてしまう # また、ステータスも`comment_added`に変える ct = ContentType.objects.get_for_model(type(target)) pk = target.pk activity.content_type = ct activity.object_id = pk activity.status = 'comment_added' activity.remarks = str(instance.pk) return activity