Пример #1
0
def create_tag(request):
    """Create a new tag
    """
    if request.method == 'POST':
        form = TagForm(request.POST, request.FILES)
        if form.is_valid():
            tag = form.save(commit=False)
            tag.user = request.user
            tag.save()
            # Get hashtags from tag.description or from POST['hashtags']
            hashtags = tag.get_hashtags('description', request.POST['hashtags'])
            Hashtag.objects.update_tags(tag, hashtags)
            # Subscribe tag owner to tag
            try:
                track_tag(request, tag.id, silent=True)
            except Exception as ex: # TODO: Catch a real exception
                logging.debug(
                    "Exception raised when subscribing tag owner '%s' to tag '%s': %s"
                    % (request.user, tag, ex))
            return HttpResponseRedirect(reverse(view_tag, kwargs={'id': tag.id}))
    else:
        form = TagForm()
    template = 'web/tag_form.html' if not is_mobile_browser(request) else 'mobile/tag_form.html'
    return render_to_response(template,
                              {'form': form},
                              context_instance=RequestContext(request))
Пример #2
0
def edit_tag(request, id):
    """Edit a tag's details
    """
    tag = get_object_or_404(Tag, pk=id)
    if tag.is_deleted:
        raise Http404
    if request.method == 'POST':
        form = TagForm(request.POST, request.FILES, instance=tag)
        if form.is_valid():
            tag = form.save()
            Hashtag.objects.update_tags(tag, request.POST['hashtags'].replace('#', ''))
            return HttpResponseRedirect(reverse(view_tag, kwargs={'id': tag.id}))
    else:
        form = TagForm(instance=tag)
    hashtags = ' '.join([u'#%s' % (t, ) for t in Hashtag.objects.get_for_object(tag)])
    template = 'web/tag_form.html' if not is_mobile_browser(request) else 'mobile/tag_form.html'
    return render_to_response(template,
                              {'form': form,
                               'hashtags': hashtags},
                              context_instance=RequestContext(request))