Esempio n. 1
0
    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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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)
Esempio n. 5
0
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)