Changeset 80a9930 in osmose-frontend


Ignore:
Timestamp:
Nov 5, 2012 10:27:57 PM (5 years ago)
Author:
Frédéric Rodrigo <frodrigo@…>
Branches:
master
Children:
e88aece
Parents:
b490252
git-author:
Frédéric Rodrigo <frodrigo@…> (05/11/2012 18:45:37)
git-committer:
Frédéric Rodrigo <frodrigo@…> (05/11/2012 22:27:57)
Message:

Optimise marker list and restore marker by user

File:
1 edited

Legend:

Unmodified
Added
Removed
  • map.py

    re25994e r80a9930  
    182182    FROM 
    183183        marker 
    184         JOIN dynpoi_class ON 
    185             marker.source = dynpoi_class.source AND 
    186             marker.class = dynpoi_class.class 
    187184        JOIN dynpoi_update_last ON 
    188185            marker.source = dynpoi_update_last.source 
    189         JOIN dynpoi_item ON 
    190             marker.item = dynpoi_item.item 
     186        %s 
    191187    WHERE 
    192188        %s AND 
     
    198194    """ 
    199195 
     196    join = "" 
    200197    if source: 
    201198        sources = source.split(",") 
     
    235232 
    236233    if level: 
     234        join += """ 
     235        JOIN dynpoi_class ON 
     236            marker.source = dynpoi_class.source AND 
     237            marker.class = dynpoi_class.class 
     238        """ 
    237239        where += " AND dynpoi_class.level IN (%s)" % level 
    238240 
    239241    if user: 
    240         where += " AND (" 
    241         s = [] 
    242         for f in xrange(3): 
    243             s.append("elem%d.username = '%s'" % (f, user)) 
    244         where += " OR ".join(s) 
    245         where += ")" 
    246  
    247     db.execute(sqlbase % (where, minlat, maxlat, minlon, maxlon, lat, lon)) # FIXME pas de % 
     242        join += """ 
     243        JOIN marker_elem ON 
     244            marker_elem.marker_id = marker.id 
     245        """ 
     246        where += " AND marker_elem.username = '%s'" % user 
     247 
     248    db.execute(sqlbase % (join, where, minlat, maxlat, minlon, maxlon, lat, lon)) # FIXME pas de % 
    248249    results = db.fetchall() 
    249250 
Note: See TracChangeset for help on using the changeset viewer.