X-Git-Url: http://git.veekun.com/zzz-floof.git/blobdiff_plain/b3558ab49ac069f88ee1f1dc39e8127b2519409a..490b45cdc311a09db0266a3f974289e3979bf2ea:/floof/controllers/tag.py diff --git a/floof/controllers/tag.py b/floof/controllers/tag.py index 3b69ed6..5d13789 100644 --- a/floof/controllers/tag.py +++ b/floof/controllers/tag.py @@ -1,20 +1,33 @@ 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(c.art, tag_string, c.user) + + # Add or remove tags + redirect(url('show_art', id=c.art.id))