ordering = ['code']
exclude = ('copied_from_item', )
-class MediaItemRelatedFileAdmin(admin.ModelAdmin):
+class MediaItemRelatedAdmin(admin.ModelAdmin):
search_fields = ['title', 'description']
class MediaPartAdmin(admin.ModelAdmin):
admin.site.register(MediaCollection, MediaCollectionAdmin)
admin.site.register(MediaItem, MediaItemAdmin)
admin.site.register(MediaPart, MediaPartAdmin)
-admin.site.register(MediaItemRelatedFile, MediaItemRelatedFileAdmin)
+admin.site.register(MediaItemRelated, MediaItemRelatedAdmin)
admin.site.register(Instrument, InstrumentAdmin)
admin.site.register(InstrumentAlias, InstrumentAliasAdmin)
return self.cleaned_data['code'] or None
-class MediaItemRelatedFile(MediaResource):
- "Item related attached file"
+class MediaItemRelated(MediaResource):
+ "Item related media"
element_type = 'media'
return 'image' in self.mime_type or is_url_image
def save(self, force_insert=False, force_update=False):
- super(MediaItemRelatedFile, self).save(force_insert, force_update)
+ super(MediaItemRelated, self).save(force_insert, force_update)
def set_mime_type(self):
if self.file:
return title
class Meta(MetaCore):
- db_table = 'media_item_related_file'
+ db_table = 'media_item_related'
-class MediaItemRelatedFileForm(ModelForm):
+class MediaItemRelatedForm(ModelForm):
class Meta:
- model = MediaItemRelatedFile
+ model = MediaItemRelated
class MediaItemKeyword(ModelCore):
"Item keyword"
class Revision(ModelCore):
"Revision made by user"
- ELEMENT_TYPE_CHOICES = (('collection', 'collection'), ('item', 'item'), ('part', 'part'), ('marker', 'marker'))
+ ELEMENT_TYPE_CHOICES = (('collection', 'collection'), ('item', 'item'), ('part', 'part'), ('marker', 'marker'), ('media', 'media'))
CHANGE_TYPE_CHOICES = (('import', 'import'), ('create', 'create'), ('update', 'update'), ('delete','delete'))
element_type = CharField(_('element type'), choices=ELEMENT_TYPE_CHOICES, max_length=16, required=True)
<table class="instruments" width="100%">
<thead>
<tr>
- <td>{% field_label "MediaItemRelatedFile" "title" %}</td>
- <td>{% field_label "MediaItemRelatedFile" "description" %}</td>
- <td>{% field_label "MediaItemRelatedFile" "mime type" %}</td>
- <td>{% field_label "MediaItemRelatedFile" "preview" %}</td>
+ <td>{% field_label "MediaItemRelated" "title" %}</td>
+ <td>{% field_label "MediaItemRelated" "description" %}</td>
+ <td>{% field_label "MediaItemRelated" "mime type" %}</td>
+ <td>{% field_label "MediaItemRelated" "preview" %}</td>
</tr>
</thead>
<tbody>
<td>{% if file.is_image %}
{% if file.url %}
<a href="{{ file.url }}">
- <img src="{{ file.url }}" style="width: 400px;" /></a>
+ <img src="{{ file.url }}" /></a>
{% else %}
<a href="{% url telemeta-item-related-file item.public_id file.id %}">
- <img src="{% url telemeta-item-related-file item.public_id file.id %}" style="width: 400px;" /></a>
+ <img src="{% url telemeta-item-related-file item.public_id file.id %}" /></a>
{% endif %}
{% else %}
{% if file.url %}
public_access = get_public_access(item.public_access, str(item.recorded_from_date).split('-')[0],
str(item.recorded_to_date).split('-')[0])
- related_files = MediaItemRelatedFile.objects.filter(item=item)
+ related_files = MediaItemRelated.objects.filter(item=item)
for file in related_files:
if not file.mime_type:
file.set_mime_type()
def related_file_stream(self, request, item_public_id, file_id):
item = MediaItem.objects.get(public_id=item_public_id)
- file = MediaItemRelatedFile.objects.get(item=item, id=file_id)
+ file = MediaItemRelated.objects.get(item=item, id=file_id)
response = HttpResponse(stream_from_file(file.file.path), mimetype=file.mime_type)
# response['Content-Disposition'] = 'attachment'
return response
@method_decorator(permission_required('telemeta.change_mediaitem'))
def related_file_edit(self, request, public_id, template):
item = MediaItem.objects.get(public_id=public_id)
- MediaItemRelatedFileFormSet = inlineformset_factory(MediaItem, MediaItemRelatedFile, form=MediaItemRelatedFileForm)
+ MediaItemRelatedFormSet = inlineformset_factory(MediaItem, MediaItemRelated, form=MediaItemRelatedForm)
if request.method == 'POST':
- formset = MediaItemRelatedFileFormSet(data=request.POST, files=request.FILES, instance=item)
+ formset = MediaItemRelatedFormSet(data=request.POST, files=request.FILES, instance=item)
if formset.is_valid():
formset.save()
+ item.set_revision(request.user)
return HttpResponseRedirect('/items/'+public_id)
else:
- formset = MediaItemRelatedFileFormSet(instance=item)
+ formset = MediaItemRelatedFormSet(instance=item)
return render(request, template, {'item': item, 'formset': formset,})