url(r'^quick/(?P<type>[A-Za-z0-9._-]+)/$', HaystackSearch(), name='haystack_search_type'),
url(r'^advance/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search'),
url(r'^advance/(?P<type>[A-Za-z0-9._-]+)/$', HaystackAdvanceSearch(form_class=HayAdvanceForm, template='search/advanceSearch.html'), name='haystack_advance_search_type'),
- url(r'^playlist_add/$', NewPlaylistView().display, name='haystack_playlist'),
+ url(r'^playlist_add/(?P<type>[A-Za-z0-9._-]+)/$', NewPlaylistView().display, name='haystack_playlist'),
url(r'^playlist_confirmation/$',NewPlaylistView().addToPlaylist, name='add_confirmation'),
)
</tr>
</thead><tbody>
- {% for item in selected_items_list %}
- <tr>
+ {% ifequal type "item" %}
+ {% for item in selected_items_list %}
+ <tr>
- <td><a href="#">
- {{item}}</a></td>
- </tr>
- {% endfor %}
+ <td><a href="#">
+ {{item}}</a></td>
+ </tr>
+ {% endfor %}
+ {% else %}
+ {% for item in selected_items_list %}
+ <tr>
+
+ <td><a href="#">
+ {{item.title}}</a></td>
+ </tr>
+ {% endfor %}
+ {% endifequal %}
</tbody>
</table>
</div>
</tr>
</thead><tbody>
- {% for item in selected_items_list %}
- <tr>
+ {% ifequal type "item" %}
+ {% for item in selected_items_list %}
+ <tr>
- <td><a href="#">
- {{item}}</a></td>
- </tr>
- {% endfor %}
+ <td><a href="#">
+ {{item}}</a></td>
+ </tr>
+ {% endfor %}
+ {% else %}
+ {% for item in selected_items_list %}
+ <tr>
+
+ <td><a href="#">
+ {{item.title}}</a></td>
+ </tr>
+ {% endfor %}
+ {% endifequal %}
</tbody>
</table></br>
<a style="margin-top:10px" href="{{lastquerypath}}" id="btn" class="btn btn-default">return to search results</a>
<table class="listing">
<tr>
- <th class="highlight">{% trans "Title" %}</th>
+ {% if user.is_authenticated %}
+ <th class="highlight"><input id="selectAll" type="checkbox"/> select all </th>
+ <th>{% trans "Title" %}</th>
+ {% else %}
+ <th class="highlight">{% trans "Title" %}</th>
+ {% endif %}
<th>{% trans "Digitized" %}</th>
<th>{% field_label "MediaCollection" "creator" %}</th>
<th>{% trans "Recordist" %}</th>
<th>{% trans "Recording period" %}</th>
<th>{% trans "Code" %}</th>
</tr>
-{% for result in page.object_list %}
-<tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
- <td class="highlight">
- <a href="{% url "telemeta-collection-detail" result.object.public_id %}">{{ result.object.title }}</a>
- </td>
- <td>
- {% if result.object.has_mediafile %}
- <center><span class="glyphicon glyphicon-volume-up" style="font-size: 1.3em;"></span></center>
- {% endif %}
- </td>
+{% if user.is_authenticated %}
+ {% for result in page.object_list %}
+ <tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
+ <td class="highlight"><input type="checkbox" class="check1" name="selected_items_list" value="{{ result.object.id }}"/></td>
+ <td>
+ <a href="{% url "telemeta-collection-detail" result.object.public_id %}">{{ result.object.title }}</a>
+ </td>
+ <td>
+ {% if result.object.has_mediafile %}
+ <center><span class="glyphicon glyphicon-volume-up" style="font-size: 1.3em;"></span></center>
+ {% endif %}
+ </td>
- <td>{{ result.object.creator }}</td>
- <td>{{ result.object.apparent_collector }}</td>
- <td>
- {% if result.object.recorded_from_year %}
- {{ result.object.recorded_from_year }}
- {% if result.object.recorded_to_year and not result.object.recorded_to_year|equals:result.object.recorded_from_year %}
- - {{ result.object.recorded_to_year }}
+ <td>{{ result.object.creator }}</td>
+ <td>{{ result.object.apparent_collector }}</td>
+ <td>
+ {% if result.object.recorded_from_year %}
+ {{ result.object.recorded_from_year }}
+ {% if result.object.recorded_to_year and not result.object.recorded_to_year|equals:result.object.recorded_from_year %}
+ - {{ result.object.recorded_to_year }}
+ {% endif %}
{% endif %}
- {% endif %}
- </td>
- <td>
- {{ result.object.code|default:result.object.old_code }}
- </td>
-</tr>
-{% endfor %}
+ </td>
+ <td>
+ {{ result.object.code|default:result.object.old_code }}
+ </td>
+ </tr>
+ {% endfor %}
+{% else %}
+ {% for result in page.object_list %}
+ <tr {% if not forloop.counter0|divisibleby:"2" %}class="odd"{% endif %}>
+ <td class="highlight">
+ <a href="{% url "telemeta-collection-detail" result.object.public_id %}">{{ result.object.title }}</a>
+ </td>
+ <td>
+ {% if result.object.has_mediafile %}
+ <center><span class="glyphicon glyphicon-volume-up" style="font-size: 1.3em;"></span></center>
+ {% endif %}
+ </td>
+
+ <td>{{ result.object.creator }}</td>
+ <td>{{ result.object.apparent_collector }}</td>
+ <td>
+ {% if result.object.recorded_from_year %}
+ {{ result.object.recorded_from_year }}
+ {% if result.object.recorded_to_year and not result.object.recorded_to_year|equals:result.object.recorded_from_year %}
+ - {{ result.object.recorded_to_year }}
+ {% endif %}
+ {% endif %}
+ </td>
+ <td>
+ {{ result.object.code|default:result.object.old_code }}
+ </td>
+ </tr>
+ {% endfor %}
+{% endif %}
</table>
{% else %}
<p>{% trans "No collection" %}</p>
{% endblock %}
{% block extra_stylesheets %}
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}telemeta/css/jquery-ui.css" />
+ <style>
+ .overflow{
+ max-height:200px;
+ }
+
+ .module ul, li {
+ border-radius: 0px 0px 0px 0px;
+ }
+
+ .ui-selectmenu-button.ui-widget.ui-state-default{
+ background-image:none;
+ background-color:#6a0307;
+ border-color:#6a0307;
+ color:white;
+ }
+ .ui-selectmenu-button.ui-widget.ui-state-hover{
+ background-image:none;
+ background-color:#6a0307;
+ border-color:#6a0307;
+ color:white;
+ }
+
+ .ui-selectmenu-button.ui-widget.ui-state-focus{
+ background-image:none;
+ background-color:#6a0307;
+ border-color:#6a0307;
+ color:white;
+ }
+
+ .ui-selectmenu-button.ui-widget.ui-state-default .ui-icon{
+ background-image:url("{{ STATIC_URL }}telemeta/css/images/ui-icons_ffffff_256x240.png");
+ }
+
+ .ui-menu-item{
+ background-color:white;
+ }
+
+ .ui-menu-item.ui-state-focus{
+ background-image:none;
+ background-color:#6a0307;
+ border-color:#6a0307;
+ color:white;
+ }
+
+ </style>
{% endblock %}
{% block content %}
<h1>{% trans "Results" %}</h1>
-
- {% ifequal type 'item' %}
- <p><b>Items ({{item_count}}) | <a href="{% url "haystack_search_type" "collection" %}?{{request.GET.urlencode}}">Collections ({{collection_count}})</a></b></p>
- {% else %}
- {% ifequal type 'collection'%}
- <p><b><a href="{% url "haystack_search_type" "item" %}?{{request.GET.urlencode}}">Items ({{item_count}}) </a>| Collections ({{collection_count}})</b></p>
- {% endifequal %}
- {% endifequal %}
- <div>
- <form method="GET" action=".">
- <select onchange="location='?q={{ query }}&page=1&selected_facets={{selected_facets_url|join:'&selected_facets='}}&results_page='+this.options[this.selectedIndex].value" name="results_page">
- <option {% ifequal results_page 20 %}selected{% endifequal %} value="20">20</option>
- <option {% ifequal results_page 1 %}selected{% endifequal %} value="1">1</option>
- <option {% ifequal results_page 50 %}selected{% endifequal %} value="50">50</option>
- <option {% ifequal results_page 100 %}selected{% endifequal %} value="100">100</option>
- <option {% ifequal results_page 250 %}selected{% endifequal %} value="250">250</option>
- <option {% ifequal results_page 500 %}selected{% endifequal %} value="500">500</option>
- <option {% ifequal results_page 1000 %}selected{% endifequal %} value="1000">1000</option>
- <option {% ifequal results_page item_count %}selected{% endifequal %} value="{{item_count}}">ALL</option>
- </select>
- </form>
+ <div class="row" style="margin-left:-15px">
+ <div class="col-md-4">
+ {% ifequal type 'item' %}
+ <p><b>Items ({{item_count}}) | <a href="{% url "haystack_search_type" "collection" %}?{{request.GET.urlencode}}">Collections ({{collection_count}})</a></b></p>
+ {% else %}
+ {% ifequal type 'collection'%}
+ <p><b><a href="{% url "haystack_search_type" "item" %}?{{request.GET.urlencode}}">Items ({{item_count}}) </a>| Collections ({{collection_count}})</b></p>
+ {% endifequal %}
+ {% endifequal %}
+ </div>
+ <div class="col-md-4 col-md-offset-4" >
+ <div class="pull-right"">
+ <label style="display:inline-block;vertical-align:middle">results per page:</label>
+ <form style="display:inline-block;vertical-align:middle" method="GET" action=".">
+ <select id="results-per-page" onchange="location='?q={{ query }}&page=1&selected_facets={{selected_facets_url|join:'&selected_facets='}}&results_page='+this.options[this.selectedIndex].value" name="results_page">
+ <option {% ifequal results_page 20 %}selected{% endifequal %} value="20">20</option>
+ <option {% ifequal results_page 1 %}selected{% endifequal %} value="1">1</option>
+ <option {% ifequal results_page 50 %}selected{% endifequal %} value="50">50</option>
+ <option {% ifequal results_page 100 %}selected{% endifequal %} value="100">100</option>
+ <option {% ifequal results_page 250 %}selected{% endifequal %} value="250">250</option>
+ <option {% ifequal results_page 500 %}selected{% endifequal %} value="500">500</option>
+ <option {% ifequal results_page 1000 %}selected{% endifequal %} value="1000">1000</option>
+ <option {% ifequal results_page 10000 %}selected{% endifequal %} value="10000">10000</option>
+ </select>
+ </form>
+ </div>
+ </div>
</div>
- {{results_page}}
- {{selected_facets_url|join:'&selected_facets='}}
{% include "search/filters.html" %}
- <form method="POST" action="{% url "haystack_playlist"%} ">{% csrf_token %}
+ <form method="POST" action="{% url "haystack_playlist" type %} ">{% csrf_token %}
{% with object_list as items %}
<div class="fullpage">
{% ifequal type 'item' %}
});
}
});
+ $(document).ready(function() {
+ $("#results-per-page").selectmenu({
+ icons : {button: "ui-icon-carat-2-n-s"}
+ }).selectmenu("menuWidget").addClass("overflow");
+ });
});
</script>
{% endblock %}
class NewPlaylistView(object):
- def display(self, request):
+ def display(self, request, type=None):
+
+ self.type=type
template_name = loader.get_template('search/addplaylist.html')
idlist = request.POST.getlist('selected_items_list')
itemlist = []
- for itemid in idlist:
- itemlist.append(MediaItem.objects.all().get(id=itemid))
+ if self.type =="items":
+ for itemid in idlist:
+ itemlist.append(MediaItem.objects.all().get(id=itemid))
+
+ if self.type =="collection":
+ for itemid in idlist:
+ itemlist.append(MediaCollection.objects.all().get(id=itemid))
+
context = RequestContext(request, {
'selected_items_list': itemlist,
'existing_playlists': Playlist.objects.all().filter(author=request.user),
+ 'type':self.type,
'lastquerypath':request.POST.get('lastquerypath')})
return HttpResponse(template_name.render(context))
- def addToPlaylist(self, request):
+ def addToPlaylist(self, request, type=None):
+ self.type=type
+
template_name = loader.get_template('search/confirmation_add_playslist.html')
idlist = request.POST.getlist('item_id')
selected_playlist = Playlist.objects.all().get(id=selected_playlist_id)
itemlist = []
- for itemid in idlist:
- itemlist.append(MediaItem.objects.all().get(id=itemid))
+ if self.type == "item":
+ for itemid in idlist:
+ itemlist.append(MediaItem.objects.all().get(id=itemid))
+
+ for item in itemlist:
+ new_id = uuid.uuid4()
+ PlaylistResource.objects.get_or_create(resource_type='item',public_id=new_id,resource_id=item.id,playlist=selected_playlist)
+ else:
+ for itemid in idlist:
+ itemlist.append(MediaCollection.objects.all().get(id=itemid))
- for item in itemlist:
- new_id = uuid.uuid4()
- PlaylistResource.objects.get_or_create(resource_type='item',public_id=new_id,resource_id=item.id,playlist=selected_playlist)
+ for item in itemlist:
+ new_id = uuid.uuid4()
+ PlaylistResource.objects.get_or_create(resource_type='collection',public_id=new_id,resource_id=item.id,playlist=selected_playlist)
context = RequestContext(request, {
'selected_items_list': itemlist,
+ 'type':self.type,
'lastquerypath': request.POST.get('lastquerypath')})
return HttpResponse(template_name.render(context))