Compare commits
2 Commits
a7ee94653f
...
3b9cf0917a
Author | SHA1 | Date |
---|---|---|
Lucas Verney | 3b9cf0917a | |
Lucas Verney | 7fc9077520 |
|
@ -9,80 +9,80 @@ export default {
|
|||
isLoading: (state) => state.loading > 0,
|
||||
|
||||
inseeCodesFlatsBuckets: (state, getters) => (filter) => {
|
||||
const buckets = {};
|
||||
const buckets = {}
|
||||
|
||||
state.flats.forEach((flat) => {
|
||||
if (!filter || filter(flat)) {
|
||||
const insee = flat.flatisfy_postal_code.insee_code;
|
||||
const insee = flat.flatisfy_postal_code.insee_code
|
||||
if (!buckets[insee]) {
|
||||
buckets[insee] = {
|
||||
name: flat.flatisfy_postal_code.name,
|
||||
flats: [],
|
||||
};
|
||||
flats: []
|
||||
}
|
||||
}
|
||||
buckets[insee].flats.push(flat);
|
||||
buckets[insee].flats.push(flat)
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
return buckets;
|
||||
return buckets
|
||||
},
|
||||
|
||||
flatsMarkers: (state, getters) => (router, filter) => {
|
||||
const markers = [];
|
||||
const markers = []
|
||||
state.flats.forEach((flat) => {
|
||||
if (filter && filter(flat)) {
|
||||
const gps = findFlatGPS(flat);
|
||||
const gps = findFlatGPS(flat)
|
||||
|
||||
if (gps) {
|
||||
const previousMarker = markers.find(
|
||||
(marker) =>
|
||||
marker.gps[0] === gps[0] && marker.gps[1] === gps[1]
|
||||
);
|
||||
)
|
||||
if (previousMarker) {
|
||||
// randomize position a bit
|
||||
// gps[0] += (Math.random() - 0.5) / 500
|
||||
// gps[1] += (Math.random() - 0.5) / 500
|
||||
}
|
||||
const href = router.resolve({
|
||||
name: "details",
|
||||
params: { id: flat.id },
|
||||
}).href;
|
||||
name: 'details',
|
||||
params: { id: flat.id }
|
||||
}).href
|
||||
const cost = flat.cost
|
||||
? costFilter(flat.cost, flat.currency)
|
||||
: "";
|
||||
: ''
|
||||
markers.push({
|
||||
title: "",
|
||||
title: '',
|
||||
content:
|
||||
'<a href="' +
|
||||
href +
|
||||
'">' +
|
||||
flat.title +
|
||||
"</a>" +
|
||||
'</a>' +
|
||||
cost,
|
||||
gps: gps,
|
||||
flatId: flat.id,
|
||||
});
|
||||
flatId: flat.id
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
return markers;
|
||||
return markers
|
||||
},
|
||||
|
||||
allTimeToPlaces: (state) => {
|
||||
const places = {};
|
||||
const places = {}
|
||||
Object.keys(state.timeToPlaces).forEach((constraint) => {
|
||||
const constraintTimeToPlaces = state.timeToPlaces[constraint];
|
||||
const constraintTimeToPlaces = state.timeToPlaces[constraint]
|
||||
Object.keys(constraintTimeToPlaces).forEach((name) => {
|
||||
places[name] = constraintTimeToPlaces[name];
|
||||
});
|
||||
});
|
||||
return places;
|
||||
places[name] = constraintTimeToPlaces[name]
|
||||
})
|
||||
})
|
||||
return places
|
||||
},
|
||||
|
||||
timeToPlaces: (state, getters) => (constraintName) => {
|
||||
return state.timeToPlaces[constraintName];
|
||||
return state.timeToPlaces[constraintName]
|
||||
},
|
||||
|
||||
metadata: (state) => state.metadata,
|
||||
};
|
||||
metadata: (state) => state.metadata
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ class SearchResultsPage(HTMLPage):
|
|||
|
||||
def next_page(self):
|
||||
page_nb = Dict('navigation/pagination/page')(self)
|
||||
max_results = Dict('navigation/pagination/maxResults')(self)
|
||||
max_results = Dict('navigation/counts/count')(self)
|
||||
results_per_page = Dict('navigation/pagination/resultsPerPage')(self)
|
||||
|
||||
if int(max_results) / int(results_per_page) > int(page_nb):
|
||||
|
@ -85,7 +85,7 @@ class SearchResultsPage(HTMLPage):
|
|||
|
||||
def condition(self):
|
||||
return (
|
||||
Dict('cardType')(self) not in ['advertising', 'localExpert']
|
||||
Dict('cardType')(self) not in ['advertising', 'ali', 'localExpert']
|
||||
and Dict('id', default=False)(self)
|
||||
and Dict('classifiedURL', default=False)(self)
|
||||
)
|
||||
|
@ -171,11 +171,14 @@ class HousingPage(HTMLPage):
|
|||
|
||||
def obj_type(self):
|
||||
idType = Dict('idTransactionType')(self)
|
||||
type = next(k for k, v in TYPES.items() if v == idType)
|
||||
if type == POSTS_TYPES.FURNISHED_RENT:
|
||||
# SeLoger does not let us discriminate between furnished and not furnished.
|
||||
return POSTS_TYPES.RENT
|
||||
return type
|
||||
try:
|
||||
type = next(k for k, v in TYPES.items() if v == idType)
|
||||
if type == POSTS_TYPES.FURNISHED_RENT:
|
||||
# SeLoger does not let us discriminate between furnished and not furnished.
|
||||
return POSTS_TYPES.RENT
|
||||
return type
|
||||
except StopIteration:
|
||||
return NotAvailable
|
||||
|
||||
def obj_advert_type(self):
|
||||
if 'Agences' in self.agency_doc['type']:
|
||||
|
|
Loading…
Reference in New Issue