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
-
- @query.setter
- def query(self, value):
+ def string(self):
+ return self.search
+
+ @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."
-
- self.search = SavedSearch(author=self.displayer, query=value)
\ No newline at end of file
+ # 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=getattr(self,"author",None), string=value)