X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/332de9696e2cca102332d5543adad9b289c35214..03c8b0becd6264301a64e9201588c60c9b588ad1:/floof/controllers/tag.py diff --git a/floof/controllers/tag.py b/floof/controllers/tag.py index ef3c7ce..1ceaf7c 100644 --- a/floof/controllers/tag.py +++ b/floof/controllers/tag.py @@ -1,16 +1,18 @@ import logging +import re -from pylons import request, response, session, tmpl_context as c, h +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 pylons import url +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 Art, Tag - class TagController(BaseController): # TODO: login required @@ -18,12 +20,19 @@ class TagController(BaseController): tag = h.get_object_or_404(Tag, id=id) elixir.session.delete(tag) elixir.session.commit() - redirect(url('art', id=art_id)) - + 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["tags"], c.user) - elixir.session.commit() - redirect(url('art', id=c.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))