Depend on wtforms.
[zzz-floof.git] / floof / controllers / tag.py
index 3b69ed6..e5ce85b 100644 (file)
@@ -1,20 +1,29 @@
 import logging
 
-from pylons import request, response, session, tmpl_context as c
-from pylons.controllers.util import abort, redirect_to
+from pylons import request, response, session, tmpl_context as c, h
+from pylons.controllers.util import abort, redirect
 
 from floof.lib.base import BaseController, render
+from pylons import url
 
 log = logging.getLogger(__name__)
 
 import elixir
-from floof.model.art import Tag
+from floof.model import Art, Tag
 
 class TagController(BaseController):
 
-    def delete(self, id):
-        tag = Tag.get(id)
-        if tag:
-            elixir.session.delete(tag)
-            elixir.session.commit()
-        redirect_to(request.referrer)
\ No newline at end of file
+    # TODO: login required
+    def delete(self, art_id, id):
+        tag = h.get_object_or_404(Tag, id=id)
+        elixir.session.delete(tag)
+        elixir.session.commit()
+        redirect(url('show_art', id=art_id))
+
+    # TODO: login required
+    def create(self, art_id):
+        c.art = h.get_object_or_404(Art, id=art_id)
+        c.art.add_tags(request.params.get("tags",""), c.user)
+        elixir.session.commit()
+        redirect(url('show_art', id=c.art.id))
+