from telemeta.models.location import LocationRelation, Location
from telemeta.models.system import Revision
from telemeta.models.query import *
+from telemeta.models.instrument import *
from django.forms import ModelForm
objects = MediaCollectionManager()
def __unicode__(self):
- if self.title:
- return self.title
+# if self.title:
+# return self.title
return self.code
class Meta(MetaCore):
db_table = 'media_item_performances'
+class MediaItemPerformanceForm(ModelForm):
+ class Meta:
+ model = MediaItemPerformance
+
class MediaPart(MediaResource):
"Describe an item part"
element_type = 'part'
db_table = 'playlists'
def __unicode__(self):
- return self.name
-
+ return self.title
+
class PlaylistForm(ModelForm):
class Meta:
model = Playlist
class Meta(MetaCore):
db_table = 'playlist_resources'
-
+
class MediaItemMarker(MediaResource):
"2D marker object : text value vs. time"
db_table = 'media_markers'
def __unicode__(self):
- return self.title
+ if self.title:
+ return self.title
+ else:
+ return self.public_id
class Search(ModelCore):
"Keywork search"
return self.get_query_set().flatname_map(*args, **kwargs)
flatname_map.__doc__ = LocationQuerySet.flatname_map.__doc__
+
+#class MediaItemPerformanceQuerySet(CoreQuerySet):
+#
+# def by_item(self, item):
+# return self.filter(item=item)
+#
+#
+#class MediaItemPerformanceManager(CoreManager):
+#
+# def get_query_set(self):
+# "Return performance query set"
+# return MediaItemPerformanceQuerySet(self.model)
+
+
--- /dev/null
+{% extends "telemeta_default/mediaitem_performances_edit.html" %}
</div>
{% endblock musical_data %}
</div>
+ {% if user.is_authenticated and perms.telemeta.change_mediaitem %}
+ <a href="{% url telemeta-item-performances_edit item.public_id %}" class="component_icon button icon_edit">{% trans "Edit" %}</a>
+ {% endif %}
<div class="extraInfos">
{% block general_data %}
<div>
{% endif %}
{% endif %}
</tr>
+ {% else %}
+ <tr><td>{{ field.label_tag.as_hidden }}{{ field.as_hidden }}</td></tr>
{% endif %}
{% endfor %}
</table>
<div align="center">
-
<a href="{% url telemeta-item-detail item.public_id %}"
class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
<a href="#" class="component_icon button icon_save"
--- /dev/null
+{% extends "telemeta/mediaitem_detail.html" %}
+{% load i18n %}
+{% load telemeta_utils %}
+
+{% block extra_javascript %}
+{% endblock %}
+
+ {% block title %}
+ <img src="images/item.png" style="vertical-align:middle" /> <h1>Item : {{ item }}</h1>
+ {% endblock %}
+ {% block title_buttons %}
+ <a href="{% url telemeta-item-detail item.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+ {% endblock %}
+
+{% block content %}
+ {% block infos %}
+ <div class="infos">
+ <form method="post" id="_editPerformanceForm" action="">{% csrf_token %}
+
+ {{ formset.management_form }}
+ {% for form in formset.forms %}
+ <table>
+ <tr><td><b>Performance :</b><td></td></tr>
+ {% for field in form %}
+ <tr>
+ {% if not "media_item" in field.html_name %}
+ {% if "id" in field.html_name %}
+ <td>{{ field.label_tag.as_hidden }}</td><td>{{ field.as_hidden }}</td>
+ {% else %}
+ <td>{{ field.label_tag }}: </td><td>{{ field }}</td>
+ {% endif %}
+ {% else %}
+ <td>{{ field.label_tag.as_hidden }}</td><td>{{ field.as_hidden }}</td>
+ {% endif %}
+ </tr>
+ {% endfor %}
+ </table>
+ {% endfor %}
+
+ <div align="center">
+ <a href="{% url telemeta-item-detail item.public_id %}"
+ class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+ <a href="#" class="component_icon button icon_save"
+ onclick="document.getElementById('_editPerformanceForm').submit(); return false;">{% trans "Save" %}</a>
+ </div>
+
+ </form>
+ </div>
+
+ {% endblock infos %}
+{% endblock content %}
dict(template='telemeta/mediaitem_add.html'), name="telemeta-item-add"),
url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/player/$', web_view.item_detail,
dict(template='telemeta/mediaitem_player.html'), name="telemeta-item-player"),
+ url(r'^items/(?P<public_id>[A-Za-z0-9._-]+)/performances/$', web_view.item_performances_edit,
+ dict(template='telemeta/mediaitem_performances_edit.html'), name="telemeta-item-performances_edit"),
# Markers
url(r'^markers/(?P<marker_id>[A-Za-z0-9]+)/$', web_view.item_detail, name="telemeta-item-detail-marker"),
'audio_export_enabled': getattr(settings, 'TELEMETA_DOWNLOAD_ENABLED', True), "form": form,
'previous' : previous, 'next' : next,
})
+
+ @method_decorator(permission_required('telemeta.change_mediaitem'))
+ def item_performances_edit(self, request, public_id, template):
+ item = MediaItem.objects.get(public_id=public_id)
+ PerformanceFormSet = modelformset_factory(MediaItemPerformance)
+ queryset = MediaItemPerformance.objects.filter(media_item=item)
+ if request.method == 'POST':
+ formset = PerformanceFormSet(data=request.POST, queryset=queryset)
+ if formset.is_valid():
+ formset.save()
+ return HttpResponseRedirect('/items/'+public_id)
+ else:
+ formset = PerformanceFormSet(queryset=queryset)
+ return render(request, template,
+ {'item': item, 'formset': formset,})
+
@method_decorator(permission_required('telemeta.add_mediaitem'))
def item_add(self, request, template='telemeta/mediaitem_add.html'):