<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Sorry Simone,</div><div class=""><br class=""></div><div class="">I cannot see the forest because of trees.</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="ltr" class="">The 404 is because you the original one must stay, you should add your own.</div></blockquote></div><div class=""><br class=""></div>Do you mean a new resourceBase model? or a new autocomplete register Instance? <div class="">This is where I´m getting confused as the text_search_input from layers page is filtering against</div><div class="">resourceBase model. AUTOCOMPLETE_URL_RESOURCEBASE = '/autocomplete/ResourceBaseAutocomplete/</div><div class="">which is what I need but simple with more fields than title (abstract + puropose).</div><div class=""><blockquote type="cite" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="" style="word-wrap: break-word;"><div class=""><div class=""><blockquote type="cite" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="" style="word-wrap: break-word;"><div class=""><div class=""><span class="m_-5158760982108197958m_7830546296618264870Apple-tab-span" style="white-space: pre-wrap;">   </span>search_fields=<b class="">[‘title‘,’abstra<wbr class="">ct’,’purpose'],</b></div></div></div></blockquote></div></div></blockquote></div></div></div></blockquote></div></div></blockquote></div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">I don't understand why you have to modify the request, in autocomplete all is done in a 'magical' way and if you register your own and add the correct name in the relevant template then it'll just work.</div></div></blockquote><br class=""></div><div class="">I think that´s the key point I´m asking for. How can I tell autocomplete to <b class="">search</b> against title, abstract and purpose</div><div class=""><div style="orphans: 2; widows: 2;" class=""><div style="orphans: auto; widows: auto;" class="">but only <b class="">return</b> fields where the user input is found? It´s this magic that is unclear to me.</div><div style="orphans: auto; widows: auto;" class=""><br class=""></div><div style="orphans: auto; widows: auto;" class="">To not steal your time, maybe you know of a fork where something like this has been done before?</div><div style="orphans: auto; widows: auto;" class="">A code snipptes would help to shorten this and get it running.</div><div style="orphans: auto; widows: auto;" class=""><br class=""></div><div style="orphans: auto; widows: auto;" class="">all the best,</div><div style="orphans: auto; widows: auto;" class=""><br class=""></div><div style="orphans: auto; widows: auto;" class="">toni</div></div><div style="orphans: 2; widows: 2;" class=""><br class=""></div><div style="orphans: 2; widows: 2;" class=""><font face="monospace" size="3" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div style="orphans: 2; widows: 2;" class=""><font face="monospace" size="3" class=""><span style="white-space: pre-wrap;" class=""><br class=""></span></font></div><div><blockquote type="cite" class=""><div class="">Am 22.02.2017 um 14:07 schrieb Simone Dalmasso <<a href="mailto:simone.dalmasso@gmail.com" class="">simone.dalmasso@gmail.com</a>>:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The 404 is because you the original one must stay, you should add your own.<div class=""><br class=""></div><div class="">I don't understand why you have to modify the request, in autocomplete all is done in a 'magical' way and if you register your own and add the correct name in the relevant template then it'll just work.</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2017-02-22 13:56 GMT+01:00 Toni Schönbuchner <span dir="ltr" class=""><<a href="mailto:toni.schoenbuchner@csgis.de" target="_blank" class="">toni.schoenbuchner@csgis.de</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Dear Simone,<div class=""><br class=""></div><div class="">thanks for your fast reply!</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div dir="ltr" class="">correct name, see <a href="https://github.com/GeoNode/geonode/blob/master/geonode/templates/base.html#L296" target="_blank" class="">https://github.com/<wbr class="">GeoNode/geonode/blob/master/<wbr class="">geonode/templates/base.html#<wbr class="">L296</a>.</div></blockquote><div class=""><br class=""></div>I think this template is for the top search, right? I´m working on the left side menu which should be here:</div><div class=""><a href="https://github.com/GeoNode/geonode/blob/2.4.x/geonode/static/geonode/js/search/search.js#L366" target="_blank" class="">https://github.com/GeoNode/<wbr class="">geonode/blob/2.4.x/geonode/<wbr class="">static/geonode/js/search/<wbr class="">search.js#L366</a></div><div class=""><br class=""></div><div class="">Why I´m puzzled is, why do I already get a 404 when changing register as the DAL documentation suggests:</div><div class=""><br class=""></div><div class="">FROM:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><div class="">autocomplete_light.register(Re<wbr class="">sourceBase,</div><div class=""><span class="m_-5158760982108197958m_7830546296618264870Apple-tab-span" style="white-space:pre-wrap">    </span>search_fields=<b class="">[‘title‘,’abstra<wbr class="">ct’,’purpose'],</b></div><div class=""><span class="m_-5158760982108197958m_7830546296618264870Apple-tab-span" style="white-space:pre-wrap">       </span>autocomplete_js_attributes={'p<wbr class="">laceholder': 'Resource name..', },)</div></div></div></blockquote></div></div></blockquote><br class=""></div><div class="">TO:</div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><div class=""><div class="">class CustomResource(autocomplete_li<wbr class="">ght.AutocompleteModelBase):</div><div class="">    search_fields = ['title', ‚abstract‘,’purpose']</div><div class="">    model = ResourceBase</div><div class=""><br class=""></div><div class="">autocomplete_light.register(Cu<wbr class="">stomResource)</div></div></div></blockquote></div></div></blockquote><br class=""></div><div class=""><br class=""></div><div class="">And if this works how would I get access to <b class="">user request q </b>and the <b class="">choices coming from my model</b> to overwrite the</div><div class="">http response. Sorry for asking again but even if DAL says it´s build for easy use it has so many options that it´s</div><div class="">hard for me to find a start.</div><div class=""><br class=""></div><div class="">thanks!</div><div class=""><br class=""></div><div class="">toni</div><div class=""><br class=""></div><div class=""><div class="">
</div>
<br class=""><div class=""><blockquote type="cite" class=""><div class="">Am 22.02.2017 um 13:46 schrieb Simone Dalmasso <<a href="mailto:simone.dalmasso@gmail.com" target="_blank" class="">simone.dalmasso@gmail.com</a>>:</div><br class="m_-5158760982108197958Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi, definitely the second way is the one to go with. You can see what there's already in geonode and make your own <a href="https://github.com/GeoNode/geonode/blob/master/geonode/base/autocomplete_light_registry.py" target="_blank" class="">https://github.com/<wbr class="">GeoNode/geonode/blob/master/<wbr class="">geonode/base/autocomplete_<wbr class="">light_registry.py</a> and call it from the template using the correct name, see <a href="https://github.com/GeoNode/geonode/blob/master/geonode/templates/base.html#L296" target="_blank" class="">https://github.com/GeoNode/<wbr class="">geonode/blob/master/geonode/<wbr class="">templates/base.html#L296</a>.<div class=""><br class=""></div><div class=""> hope this helps</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2017-02-22 13:26 GMT+01:00 Toni Schönbuchner <span dir="ltr" class=""><<a href="mailto:toni.schoenbuchner@csgis.de" target="_blank" class="">toni.schoenbuchner@csgis.de</a>></span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="">Hi together,<div class=""><br class=""></div><div class="">this might be an easy one. In geonode 2.4 I have extended autocomplete registry to search in more fields</div><div class="">on layers left side title-search-input.</div><div class=""><br class=""></div><div class=""><a href="https://github.com/GeoNode/geonode/blob/2.4.x/geonode/base/autocomplete_light_registry.py" target="_blank" class="">https://github.com/GeoNode/geo<wbr class="">node/blob/2.4.x/geonode/base/<wbr class="">autocomplete_light_registry.py</a></div><div class=""><br class=""></div><div class=""><div class="">autocomplete_light.register(Re<wbr class="">sourceBase,</div><div class=""><span class="m_-5158760982108197958m_7830546296618264870Apple-tab-span" style="white-space:pre-wrap"> </span>search_fields=<b class="">[‘title‘,’abstra<wbr class="">ct’,’purpose'],</b></div><div class=""><span class="m_-5158760982108197958m_7830546296618264870Apple-tab-span" style="white-space:pre-wrap">       </span>autocomplete_js_attributes={'p<wbr class="">laceholder': 'Resource name..', },)</div></div><div class=""><br class=""></div><div class="">then changed the base model to return abstract and purpose content as well:</div><div class=""><br class=""></div><div class=""><a href="https://github.com/GeoNode/geonode/blob/2.4.x/geonode/base/models.py#L342" target="_blank" class="">https://github.com/GeoNode/geo<wbr class="">node/blob/2.4.x/geonode/base/<wbr class="">models.py#L342</a></div><div class=""><div class="">    def __unicode__(self):</div><div class="">        return self.title + ’,’ + self.abstract + ’,’ + self.purpose</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">The result is a user can search f.e. for ‚dog‘ and autocomplete shows choices like:</div><div class=""><b class="">Dog Title, Dogs Heaven, the purpose is sleep</b></div><div class=""><b class="">Dogs world, Dogs Hell, the purpose is eat</b></div><div class=""><b class=""><br class=""></b></div><div class="">All that is missing is that I do not want to show a field when the search term is not</div><div class="">found in it. F.e. if purpose does not has ‚dog‘ autoselect should not show it.</div><div class=""><div class=""><b class="">Dog Title, Dogs Heaven</b></div></div><div class=""><b class="">…</b></div><div class=""><b class=""><br class=""></b></div><div class="">From the documentation of DAL I assumed that the way to go is to create/register a subclass like:</div><div class=""><br class=""></div><div class=""><div class="">class CustomResource(autocomplete_li<wbr class="">ght.AutocompleteModelBase):</div><div class="">    search_fields = ['title', ‚abstract‘,’purpose']</div><div class="">    model = ResourceBase</div><div class=""><br class=""></div><div class="">autocomplete_light.register(Cu<wbr class="">stomResource)</div></div><div class=""><br class=""></div><div class="">and override the httpResponse method. Unfortunately this basic step already ends in a 404.</div><div class="">Maybe one could bring me on the right track how to achieve filtering the return.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class=""><br class=""></div><div class="">Toni</div></div><br class="">______________________________<wbr class="">_________________<br class="">
geonode-users mailing list<br class="">
<a href="mailto:geonode-users@lists.osgeo.org" target="_blank" class="">geonode-users@lists.osgeo.org</a><br class="">
<a href="https://lists.osgeo.org/mailman/listinfo/geonode-users" rel="noreferrer" target="_blank" class="">https://lists.osgeo.org/mailma<wbr class="">n/listinfo/geonode-users</a><br class="">
<br class=""></blockquote></div><br class=""><br clear="all" class=""><span class="HOEnZb"><font color="#888888" class=""><div class=""><br class=""></div>-- <br class=""><div class="m_-5158760982108197958gmail_signature" data-smartmail="gmail_signature">Simone </div>
</font></span></div>
</div></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""><br clear="all" class=""><div class=""><br class=""></div>-- <br class=""><div class="gmail_signature" data-smartmail="gmail_signature">Simone </div>
</div>
</div></blockquote></div><br class=""></div></body></html>