X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/6fb3ad2a578aa2e0eced735187a02a79a8907668..69d5189cc4fb2ca63418a0741bf744cf5fee8bc9:/floof/model/search.py?ds=sidebyside diff --git a/floof/model/search.py b/floof/model/search.py index 011468c..be2bb9e 100644 --- a/floof/model/search.py +++ b/floof/model/search.py @@ -1,30 +1,41 @@ from elixir import * -from users import User +# from users import User + +from floof.lib.search import do_search class SavedSearch(Entity): string = Field(Unicode) # I tried calling this query, but it broke elixir - author = ManyToOne(User) + author = ManyToOne('User') def __unicode__(self): return self.string + + @property + def results(self): + return do_search(self.string) + class GalleryWidget(Entity): + page = ManyToOne('UserPage') search = ManyToOne(SavedSearch) - displayer = ManyToOne(User) # determines whose page should it should show up on - # Could be no-ones, if it's just a template. + + # NOTE: no longer needed now that we have pages, I guess. + # displayer = ManyToOne('User') # determines whose page should it should show up on + # # Could be no-ones, if it's just a template. # Needs some fields for position on your page @property - def query(self): - return self.search.query + def string(self): + return self.search - @query.setter - def query(self, value): + @string.setter + def string(self, value): # TODO: should we delete the possibly orphaned saved search? - if not self.displayer: - # TODO: may have to refactor this into an init if the key ordering is inconvenienc - raise "Oh no! This gallery needs a displayer to set on the saved search." + # if not self.displayer: + # # TODO: may have to refactor this into an init if the key ordering is inconvenienc + # raise "Oh no! This gallery needs a displayer to set on the saved search." - self.search = SavedSearch(author=self.displayer, query=value) \ No newline at end of file + self.search = SavedSearch(author=getattr(self,"author",None), string=value) + \ No newline at end of file