use wish list apparatus to set keywords
parent
7ddaa7174d
commit
44f3fadb49
|
@ -213,7 +213,17 @@
|
|||
</div>
|
||||
|
||||
{% comment %}same logic as above{% endcomment %}
|
||||
{% if show_pledge %}
|
||||
{% if setkw %}
|
||||
{% if setkw in work.subjects.all %}
|
||||
<div class="listview panelfront side1 remove-wishlist">
|
||||
<span class="kw_id" id="l{{ workid }}" data-kw="{{setkw}}">Unset <i>{{setkw}}</i></span>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="listview panelfront side1 add-wishlist">
|
||||
<span class="kw_id" id="l{{ workid }}" data-kw="{{setkw}}">Set <i>{{setkw}}</i></span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% else %}{% if show_pledge %}
|
||||
<div class="listview panelfront side1 add-wishlist">
|
||||
<span class="booklist_pledge"><a href="{% url pledge work_id=workid %}" class="fakeinput">Pledge</a></span>
|
||||
</div>
|
||||
|
@ -252,7 +262,7 @@
|
|||
<span class="work_id" id="l{{ workid }}">Fave</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}{% endif %}{% endif %}{% endif %}
|
||||
{% endif %}{% endif %}{% endif %}{% endif %}{% endif %}
|
||||
|
||||
<div class="listview panelfront side1 booklist-status">
|
||||
{% ifequal status "ACTIVE" %}
|
||||
|
|
|
@ -54,9 +54,9 @@
|
|||
</ul>
|
||||
<ul class="book-list-view">
|
||||
<li>Sort by:</li>
|
||||
<li class="view-list"><a {% if order_by = 'popular' %}class="chosen" {% endif %}href="{% url faceted_list path %}?order_by=popular">popular</a></li>
|
||||
<li class="view-list"><a {% if order_by = 'newest' %}class="chosen" {% endif %}href="{% url faceted_list path %}?order_by=newest">newest</a></li>
|
||||
<li class="view-list"><a {% if order_by = 'title' %}class="chosen" {% endif %}href="{% url faceted_list path %}?order_by=title">title</a></li>
|
||||
<li class="view-list"><a {% if order_by = 'popular' %}class="chosen" {% endif %}href="{% url faceted_list path %}?{% if setkw %}setkw={{setkw}}&{% endif %}order_by=popular">popular</a></li>
|
||||
<li class="view-list"><a {% if order_by = 'newest' %}class="chosen" {% endif %}href="{% url faceted_list path %}?{% if setkw %}setkw={{setkw}}&{% endif %}order_by=newest">newest</a></li>
|
||||
<li class="view-list"><a {% if order_by = 'title' %}class="chosen" {% endif %}href="{% url faceted_list path %}?{% if setkw %}setkw={{setkw}}&{% endif %}order_by=title">title</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content-block-content">
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<ul class="menu level2">
|
||||
<li class="first"><span>{{ group.title }} is ...</span></li>
|
||||
{% for facet in group.get_facets %}
|
||||
<li><a href="{% url faceted_list path %}{{facet.facet_name}}/" title="{{ facet.title }}"><span>{{ facet.label }}</span></a></li>
|
||||
<li><a href="{% url faceted_list path %}{{facet.facet_name}}/?{% if setkw %}setkw={{setkw}}&{% endif %}order_by={{order_by}}" title="{{ facet.title }}"><span>{{ facet.label }}</span></a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endfor %}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<ul>
|
||||
{% for subject in subjects %}
|
||||
|
||||
<li><a href="{% url free %}kw.{{ subject.name }}/">{{ subject.name }}</a> ({{ subject.works__count }})</li>
|
||||
<li><a href="{% url free %}kw.{{ subject.name }}/">{{ subject.name }}</a> ({{ subject.works__count }}). {% if request.user.is_staff %} <a href="{% url free %}?setkw={{ subject.name }}">set keywords</a>{% endif %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</p>
|
||||
|
|
|
@ -865,6 +865,12 @@ class FacetedView(FilterableListView):
|
|||
context = super(FacetedView, self).get_context_data(**kwargs)
|
||||
facet = self.kwargs.get('facet','all')
|
||||
qs=self.get_queryset()
|
||||
if self.request.GET.has_key('setkw') and self.request.user.is_staff:
|
||||
setkw = self.request.GET['setkw']
|
||||
try:
|
||||
context['setkw'] = models.Subject.objects.get(name=setkw)
|
||||
except models.Subject.DoesNotExist:
|
||||
pass
|
||||
context['activetab'] = "#1"
|
||||
context['tab_override'] = 'tabs-1'
|
||||
context['path'] = self.vertex.get_facet_path().replace('//','/').strip('/')
|
||||
|
@ -2106,6 +2112,20 @@ def wishlist(request):
|
|||
googlebooks_id = request.POST.get('googlebooks_id', None)
|
||||
remove_work_id = request.POST.get('remove_work_id', None)
|
||||
add_work_id = request.POST.get('add_work_id', None)
|
||||
setkw = request.POST.get('setkw', None)
|
||||
if setkw and request.user.is_staff:
|
||||
try:
|
||||
subject = models.Subject.objects.get(name=setkw)
|
||||
except models.Subject.DoesNotExist:
|
||||
return HttpResponse('invalid subject')
|
||||
if remove_work_id:
|
||||
work = safe_get_work(int(remove_work_id))
|
||||
work.subjects.remove(subject)
|
||||
return HttpResponse('removed work from '+setkw)
|
||||
elif add_work_id:
|
||||
work =safe_get_work(add_work_id)
|
||||
work.subjects.add(subject)
|
||||
return HttpResponse('added work to '+setkw)
|
||||
|
||||
if googlebooks_id:
|
||||
try:
|
||||
|
|
|
@ -8,6 +8,7 @@ $j().ready(function() {
|
|||
var span = $j(this).find("span");
|
||||
var id_val = span.attr('id').substring(1);
|
||||
var id_type = span.attr('class');
|
||||
|
||||
if (!id_val) {span.html('<i>an error occurred.</i>'); return;}
|
||||
|
||||
// give immediate feedback that action is in progress
|
||||
|
@ -22,13 +23,19 @@ $j().ready(function() {
|
|||
jQuery.post('/wishlist/', { 'googlebooks_id': id_val}, function(data) {
|
||||
span.html('Faved!').addClass('on-wishlist');
|
||||
});}
|
||||
else if (id_type=='kw_id'){
|
||||
var setkw = span.attr('data-kw');
|
||||
jQuery.post('/wishlist/', { 'add_work_id': id_val, 'setkw' : setkw}, function(data) {
|
||||
span.html(setkw + ' set!');
|
||||
span.parent().removeClass("add-wishlist").addClass('remove-wishlist');
|
||||
});}
|
||||
else {
|
||||
span.html('a type error occurred');
|
||||
}
|
||||
|
||||
// prevent perversities on download page
|
||||
if ($j(this).is("a")) {
|
||||
$j(this).removeClass("add-wishlist").addClass("success");
|
||||
if ($j(this).is('a')) {
|
||||
$j(this).removeClass('add-wishlist').addClass('success');
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -36,10 +43,20 @@ $j().ready(function() {
|
|||
var span = $j(this).find("span");
|
||||
var book = $j(this).closest('.thewholebook');
|
||||
var work_id = span.attr('id').substring(1)
|
||||
var id_type = span.attr('class');
|
||||
span.html('Removing...');
|
||||
if (id_type=='kw_id'){
|
||||
var setkw = span.attr('data-kw');
|
||||
jQuery.post('/wishlist/', {'remove_work_id': work_id, 'setkw' : setkw}, function(data) {
|
||||
span.html(setkw + ' unset');
|
||||
span.parent().addClass('add-wishlist').removeClass('remove-wishlist')
|
||||
})
|
||||
}
|
||||
else {
|
||||
jQuery.post('/wishlist/', {'remove_work_id': work_id}, function(data) {
|
||||
book.fadeOut();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
contentblock.on("click", "div.create-account", function () {
|
||||
|
|
Loading…
Reference in New Issue