import logging
+import re
-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, url
+from pylons.controllers.util import abort, redirect
+import elixir
+from floof.model import Art, ArtUser, ArtUserType, Tag, TagText, User
+from floof.lib import helpers as h
from floof.lib.base import BaseController, render
+from floof.lib.tags import add_tags
+from floof.lib.dbhelpers import find_or_create
log = logging.getLogger(__name__)
-import elixir
-from floof.model.art import 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)
+
+ tag_string = request.params.get('tags', '')
+ add_tags(
+ art=c.art,
+ tag_string=tag_string,
+ adding_user=c.user,
+ me=c.user,
+ )
+
+ # Add or remove tags
+ redirect(url('show_art', id=c.art.id))