def get(self, request, *args, **kwargs): """ This method has been copied from django/views/generic/detail.py :param request: :param args: :param kwargs: :return: HttpResponse """ from apps.alltoez.api.serializers import EventSerializer from apps.user_actions.tasks import mark_user_views_event, new_action self.object = self.get_object() if request.user.is_authenticated(): mark_user_views_event.delay(self.object.id, request.user.id, request.META["REMOTE_ADDR"]) else: mark_user_views_event.delay(self.object.id, None, request.META["REMOTE_ADDR"]) new_action.delay("View", None, self.object.id, request.META["REMOTE_ADDR"]) context = self.get_context_data(object=self.object) serializer = EventSerializer(self.object, context={"request": request}) event_json = JSONRenderer().render(serializer.data) event = json.loads(event_json) context["event"] = event context["event_json"] = event_json # Needed for parsing bookmark info in event_detail template context["location_string"] = request.session.get("location_name", "your location") return self.render_to_response(context)
def bookmark_post_save(sender, **kwargs): user_action = kwargs.get('instance') new_action.delay(sender._meta.object_name, user_action.user.id, user_action.event.id) bookmark_post_save_task.delay(user_action.id)
def view_post_save(sender, **kwargs): user_action = kwargs.get('instance') new_action.delay(sender._meta.object_name, user_action.user.id, user_action.event.id)