def get_suggestions(self, request):
     """
     Obtiene la mochila del usuario con la sesion iniciada
        
         :param request: Parametros pasados a la peticion
         :type request: :class:`GetSuggestionsRequest`
         :returns: :class:`Suggestions`
     """
     self._login_required()
     
     lists_following = ListSuggestion.objects.get_list_user_following(self.user, async=True)
     from geoalert.api import get_suggestions_dict
     suggestions = get_suggestions_dict(self.user)
     lists = ListSuggestion.objects.load_list_user_following_by_async(lists_following, to_dict=False, resolve=False)
     # añadimos las listas
     #[s.lists.append(l) for l in lists for s in suggestions if s.id in l['keys']]
     response = []
     for a in suggestions:
         t = Suggestion(
                        name = a.name,
                        description = a.description,
                        poi_lat = a.poi.location.lat,
                        poi_lon = a.poi.location.lon,
                        poi_id = a.poi.id,
                        google_places_reference = a.poi.google_places_reference,
                        modified = int(mktime(a.modified.utctimetuple())),
                        created = int(mktime(a.created.utctimetuple())),
                        username = a.user.username,
                        lists = [List(id=l.id, name=l.name) for l in lists if a.key() in l.keys],
                        id = a.id,
                      )
         response.append(t)
     return Suggestions(query_id='', suggestions=response)
Beispiel #2
0
def get_suggestions(request):
    from geoalert import api
    list_id = request.POST.get('list_id', None)
    suggs = api.get_suggestions_dict(request.user, list_id=list_id)
    from libs.jsonrpc.jsonencoder import JSONEncoder
    return HttpResponse(simplejson.dumps([{'id': s.key().id(),
                                          'name': s['name'],
                                          'description': s['description'],
                                          'created': s['created'],
                                          'lists': api.get_list_from_suggs(s, request.user), 
                                         } for s in suggs],
                                         cls=JSONEncoder
                                         ), mimetype='application/json')
Beispiel #3
0
def get_suggestions(request):
    from geoalert import api
    list_id = request.POST.get('list_id', None)
    suggs = api.get_suggestions_dict(request.user, list_id=list_id)
    from libs.jsonrpc.jsonencoder import JSONEncoder
    return HttpResponse(simplejson.dumps(
        [{
            'id': s.key().id(),
            'name': s['name'],
            'description': s['description'],
            'created': s['created'],
            'lists': api.get_list_from_suggs(s, request.user),
        } for s in suggs],
        cls=JSONEncoder),
                        mimetype='application/json')
Beispiel #4
0
def get_suggestion(request):
    """
        Obtiene los eventos
        Parametros en POST:
            eventid: el id del evento a buscar (opcional)
            wanted_user: usuario a buscar (opcional, por defecto, es uno mismo)
            private_profile: busqueda para mostrar en el perfil privado del usuario
            query_id: id de la consulta de pagina
            page : pagina a mostrar
    """
    eventid = request.POST.get('eventid', None)
    wanted_user = request.POST.get('wanteduser', request.user)
    if eventid is None:
        from geoalert.api import get_suggestions_dict
        suggestions = get_suggestions_dict(wanted_user) # FIXME: devolver solo publicas
    else:
        suggestions = geoalert.get_suggestion(request, id=eventid, wanted_user=wanted_user)    
    from funcs import getAlertsJSON
    return HttpResponse(getAlertsJSON(suggestions), mimetype="application/json")
Beispiel #5
0
    def get_suggestions(self, request):
        """
        Obtiene la mochila del usuario con la sesion iniciada
           
            :param request: Parametros pasados a la peticion
            :type request: :class:`GetSuggestionsRequest`
            :returns: :class:`Suggestions`
        """
        self._login_required()

        lists_following = ListSuggestion.objects.get_list_user_following(
            self.user, async=True)
        from geoalert.api import get_suggestions_dict
        suggestions = get_suggestions_dict(self.user)
        lists = ListSuggestion.objects.load_list_user_following_by_async(
            lists_following, to_dict=False, resolve=False)
        # añadimos las listas
        #[s.lists.append(l) for l in lists for s in suggestions if s.id in l['keys']]
        response = []
        for a in suggestions:
            t = Suggestion(
                name=a.name,
                description=a.description,
                poi_lat=a.poi.location.lat,
                poi_lon=a.poi.location.lon,
                poi_id=a.poi.id,
                google_places_reference=a.poi.google_places_reference,
                modified=int(mktime(a.modified.utctimetuple())),
                created=int(mktime(a.created.utctimetuple())),
                username=a.user.username,
                lists=[
                    List(id=l.id, name=l.name) for l in lists
                    if a.key() in l.keys
                ],
                id=a.id,
            )
            response.append(t)
        return Suggestions(query_id='', suggestions=response)
Beispiel #6
0
def get_suggestion(request):
    """
        Obtiene los eventos
        Parametros en POST:
            eventid: el id del evento a buscar (opcional)
            wanted_user: usuario a buscar (opcional, por defecto, es uno mismo)
            private_profile: busqueda para mostrar en el perfil privado del usuario
            query_id: id de la consulta de pagina
            page : pagina a mostrar
    """
    eventid = request.POST.get('eventid', None)
    wanted_user = request.POST.get('wanteduser', request.user)
    if eventid is None:
        from geoalert.api import get_suggestions_dict
        suggestions = get_suggestions_dict(
            wanted_user)  # FIXME: devolver solo publicas
    else:
        suggestions = geoalert.get_suggestion(request,
                                              id=eventid,
                                              wanted_user=wanted_user)
    from funcs import getAlertsJSON
    return HttpResponse(getAlertsJSON(suggestions),
                        mimetype="application/json")