X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/d4609fff2bfd910366c41116f1da35e4037da7d4..6fb3ad2a578aa2e0eced735187a02a79a8907668:/floof/model/search.py diff --git a/floof/model/search.py b/floof/model/search.py new file mode 100644 index 0000000..011468c --- /dev/null +++ b/floof/model/search.py @@ -0,0 +1,30 @@ +from elixir import * +from users import User + +class SavedSearch(Entity): + string = Field(Unicode) # I tried calling this query, but it broke elixir + author = ManyToOne(User) + + def __unicode__(self): + return self.string + + +class GalleryWidget(Entity): + 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. + + # Needs some fields for position on your page + + @property + def query(self): + return self.search.query + + @query.setter + def query(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." + + self.search = SavedSearch(author=self.displayer, query=value) \ No newline at end of file