# Settings for django-bootstrap3
BOOTSTRAP3 = {
- 'set_required': False,
- 'error_css_class': 'bootstrap3-error',
- 'required_css_class': 'bootstrap3-required',
+ 'set_required': True,
+ 'set_placeholder': False,
+ 'error_css_class': 'has-error',
+ 'required_css_class': 'has-warning',
'javascript_in_head': True,
}
class MediaCollectionForm(ModelForm):
+ required_css_class = 'required'
+
class Meta:
model = MediaCollection
from telemeta.models import MediaCollection
for collection in MediaCollection.objects.all():
trig = False
- if collection.alt_ids:
+ if hasattr(collection, 'alt_ids'):
collection.alt_copy = collection.alt_ids
trig = True
- if collection.travail:
+ if hasattr(collection, 'travail'):
collection.archiver_notes = collection.travail
trig = True
if trig:
auto_period_access = BooleanField(_('automatic access after a rolling period'), default=True)
# Archiving data
- code = CharField(_('code'), unique=True, blank=True)
+ code = CharField(_('code'), unique=True, blank=True, required=True, help_text='CollectionCode-ItemCode')
old_code = CharField(_('original code'), unique=False, blank=True)
track = CharField(_('item number'))
recordist = CharField(_('recordist'))
top: 1.2em;
left: 35%;
background-color: #6a0307;
- padding: 0.3em;
+ padding: 0.5em;
-moz-border-radius: 8px 8px 8px 8px;
-webkit-border-radius: 8px 8px 8px 8px;
border-radius: 8px 8px 8px 8px;
<a href="{% url "telemeta-collection-detail" object.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
{% endblock %}
{% if perms.telemeta.change_mediacollection %}
- <input type="submit" value="Enregistrer" class="default" name="_save"/>
+ <input type="submit" value="{% trans "Save" %}" class="default" name="_save"/>
{% endif %}
</div>
-{% extends "telemeta/base.html" %}
+{% extends "telemeta/mediaitem_edit.html" %}
{% load telemeta_utils %}
{% load i18n %}
{% block head_title %}{% trans "Item" %}- {{ block.super }}{% endblock %}
-{% if item %}
{% block title %}
- <img src="{{ STATIC_URL }}telemeta/images/item.png" alt="item" style="vertical-align:middle" /> Item : NEW
+ <img src="{{ STATIC_URL }}telemeta/images/item.png" alt="item" style="vertical-align:middle" /> Item : {% trans "New" %}
{% endblock %}
{% block title_buttons %}
- <a href="{% url "telemeta-items" %}"
- class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
- {% if perms.telemeta.add_mediaitem %}
- <a href="#" class="component_icon button icon_save" onclick="var d=document; d.getElementById('wait-img').style.display='inline'; setTimeout(function(){d.getElementById('_addItemForm').submit();},300); return false;">{% trans "Save" %}</a>
- {% endif %}
- <br /><br />
- <img id="wait-img" style="display:none" style="vertical-align:middle" alt="wait" src="{{ STATIC_URL }}telemeta/images/wait.gif" />
+ <a href="{% url "telemeta-items" %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
{% endblock %}
-{% block content %}
- {% block infos %}
- <div class="infos">
- <form method="post" id="_addItemForm" action="" enctype="multipart/form-data">{% csrf_token %}
- <ul>{% for error in form.non_field_errors %}<li class="error">{{ error }}</li>{% endfor %}</ul>
- <table>
- {% for form in forms %}
- <tr><td colspan="2">{% for error in form.non_field_errors %}<li class="error">{{ error }}</li>{% endfor %}</td></tr>
- <tr><td colspan="2"><h2>{{ form.prefix|capitalize }}</h2><hr /></td></tr>
-
- {% for field in form %}
- <tr>
- <tr><td class="error">{{ field.errors }}</td></tr>
- <td>{{ field.label_tag }}:</td>
- <td>
- {% if field.html_name == "item-public_access" %}
- {% trans "Collection access status" %} : {% trans item.collection.public_access %}<br />
- {% trans "Context access status" %} : {% trans access %}<br />
- {% trans "Item access status" %} :<br />
- {% endif %}
- {{ field }}
- </td>
- </tr>
- {% endfor %}
- {% endfor %}
- </table>
- <div align="center" style="margin-top:3ex;">
- <a href="{% url "telemeta-items" %}"
- class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
- {% if perms.telemeta.add_mediaitem %}
- <a href="#" class="component_icon button icon_save"
- onclick="var d=document; d.getElementById('wait-img2').style.display='inline'; setTimeout(function(){d.getElementById('_addItemForm').submit();},300); return false;">{% trans "Save" %}</a>
- {% endif %}
- <img id="wait-img2" style="display:none" style="vertical-align:middle" alt="wait" src="{{ STATIC_URL }}telemeta/images/wait.gif" />
- </div>
- </form>
- </div>
- {% endblock infos %}
-</div> <!-- with-rightcol -->
-{% endblock %}
-
-{% block delete %}
-{% endblock %}
-
-{% else %}
-<p>No such item</p>
-{% endif %}
+ {% block cancel %}
+ <a href="{% url "telemeta-items" %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+ {% endblock %}
{% block title_buttons %}
<div class="fixedWidthAsPlayer">
<a href="{% url "telemeta-item-detail" item.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
- {% if perms.telemeta.change_mediaitem %}
- <a href="#" class="component_icon button icon_save" onclick="var d=document; d.getElementById('wait-img').style.display='inline'; setTimeout(function(){d.getElementById('_editItemForm').submit();},300); return false;">{% trans "Save" %}</a>
- {% endif %}
- <img id="wait-img" style="display:none" style="vertical-align:middle" alt="wait" src="{{ STATIC_URL }}telemeta/images/wait.gif" />
</div>
{% endblock %}
{% block infos %}
-
-
<div>
<form enctype="multipart/form-data" id="_editItemForm" method="post" action="">{% csrf_token %}
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#general" role="tab" data-toggle="tab">{% trans "General" %}</a></li>
-{# <li><a href="#player" role="tab" data-toggle="tab">{% trans "Player" %}</a></li> #}
<li><a href="#related" role="tab" data-toggle="tab">{% trans "Related media" %}</a></li>
<li><a href="#keyword_relations" role="tab" data-toggle="tab">{% trans "Keywords" %}</a></li>
<li><a href="#performances" role="tab" data-toggle="tab">{% trans "Performance" %}</a></li>
<script type="text/javascript" src="/static/admin/js/jquery.init.js"></script>
<script type="text/javascript" src="/static/admin/js/actions.min.js"></script>
{{ form.media }}
+ <div class="block-grey">
{% bootstrap_form form %}
+ </div>
</div>
-{#
- <div class="tab-pane fade in active" id="player">
- </div>
- #}
{% for formset in inlines %}
<div class="tab-pane" id="{{ formset.prefix }}">
{{ formset.management_form }}
</div>
-
<div align="center" style="margin-top:3ex;">
- {% block cancel %}
- <a href="{% url "telemeta-collection-detail" object.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
+ {% block cancel %}
+ <a href="{% url "telemeta-item-detail" item.public_id %}" class="component_icon button icon_cancel">{% trans "Cancel" %}</a>
{% endblock %}
+
{% if perms.telemeta.change_mediaitem %}
- <input type="submit" value="Enregistrer" class="default" name="_save" onclick="var d=document; d.getElementById('wait-img').style.display='inline'; setTimeout(function(){d.getElementById('_editItemForm').submit();},300); return false;"/>
+ <input type="submit" value="{% trans "Save" %}" class="default" name="_save" onclick="var d=document; d.getElementById('wait-img').style.display='inline'; setTimeout(function(){d.getElementById('_editItemForm').submit();},300); return false;"/>
<img id="wait-img" style="display:none" style="vertical-align:middle" alt="wait" src="{{ STATIC_URL }}telemeta/images/wait.gif" />
{% endif %}
</div>
url(r'^archives/items/(?P<pk>[A-Za-z0-9._-]+)/edit/$', ItemEditView.as_view(), name="telemeta-item-edit"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', item_view.item_copy,
dict(template='telemeta/mediaitem_copy.html'), name="telemeta-item-copy"),
- url(r'^archives/item_new/add/$', item_view.item_add,
- dict(template='telemeta/mediaitem_add.html'), name="telemeta-item-add"),
+ url(r'^archives/item_new/add/$', ItemAddView.as_view(), name="telemeta-item-add"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/$', item_view.item_detail,
dict(template='telemeta/mediaitem_player.html'), name="telemeta-item-player"),
url(r'^archives/items/(?P<public_id>[A-Za-z0-9._-]+)/player/(?P<width>[0-9]+)x(?P<height>[0-9]+)/simple/$', item_view.item_detail,
url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/edit/$', CollectionEditView.as_view(), name="telemeta-collection-edit"),
url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/copy/$', collection_view.collection_copy,
dict(template='telemeta/collection_edit.html'), name="telemeta-collection-copy"),
- url(r'^archives/collection_new/add/$', collection_view.collection_add,
- dict(template='telemeta/collection_add.html'), name="telemeta-collection-add"),
+ url(r'^archives/collection_new/add/$', CollectionAddView.as_view(), name="telemeta-collection-add"),
url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/add_item/$', item_view.item_add,
dict(template='telemeta/mediaitem_add.html'), name="telemeta-collection-additem"),
url(r'^archives/collections/(?P<public_id>[A-Za-z0-9._-]+)/delete/$', collection_view.collection_delete, name="telemeta-collection-delete"),
return reverse_lazy('telemeta-collection-detail', kwargs={'public_id':self.kwargs['public_id']})
+class CollectionAddView(CollectionViewMixin, CreateWithInlinesView):
+
+ template_name = 'telemeta/collection_add.html'
+ inlines = [CollectionRelatedInline, ]
+
+ def get_success_url(self):
+ return reverse_lazy('telemeta-collections')
+
+
context['audio_export_enabled'] = self.export_enabled
return context
+
+class ItemAddView(ItemViewMixin, CreateWithInlinesView):
+
+ form_class = MediaItemForm
+ template_name = 'telemeta/mediaitem_add.html'
+ inlines = [ItemRelatedInline, ItemPerformanceInline, ItemKeywordInline, ItemFormatInline]
+
+ def get_success_url(self):
+ return reverse_lazy('telemeta-items')
+