]> git.parisson.com Git - telemeta.git/commitdiff
fix add forms, add some bootstrap form styles
authorGuillaume Pellerin <yomguy@parisson.com>
Wed, 15 Oct 2014 14:52:03 +0000 (16:52 +0200)
committerGuillaume Pellerin <yomguy@parisson.com>
Wed, 15 Oct 2014 14:52:03 +0000 (16:52 +0200)
example/sandbox/settings.py
telemeta/forms/media.py
telemeta/migrations/0034_auto__add_copytype__add_status__add_mediatype__del_field_mediacollecti.py
telemeta/models/media.py
telemeta/static/telemeta/css/telemeta.css
telemeta/templates/telemeta/collection_edit.html
telemeta/templates/telemeta/mediaitem_add.html
telemeta/templates/telemeta/mediaitem_edit.html
telemeta/urls.py
telemeta/views/collection.py
telemeta/views/item.py

index 46899e58ed51ca4a47cb7f731b5cca7e237568dc..1ecd79da4423ce2db9dccd433df8f9e62099b057 100644 (file)
@@ -176,9 +176,10 @@ TIMESIDE_AUTO_ZOOM = True
 
 # 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,
 }
 
index ace16439d6239b0540bd2d8380983522fd024480..a606a5dbeddc04b7c8a9b7c4f5f5c37b158012c6 100644 (file)
@@ -84,6 +84,8 @@ class MediaCorpusRelatedForm(ModelForm):
 
 class MediaCollectionForm(ModelForm):
 
+    required_css_class = 'required'
+
     class Meta:
         model = MediaCollection
 
index 498ec3922a2d63c3a7fd8cbebc16c5aa3a3a2c2d..8c2b36b24ccde556124f09af4958fc67d2c91ab8 100644 (file)
@@ -69,10 +69,10 @@ class Migration(SchemaMigration):
             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:
index 0148cad8ce1223f36d0a0b26964b8cf0d2787719..3352f779fbed6fe5d980d9ea0d2ca3d3cc72ee67 100644 (file)
@@ -397,7 +397,7 @@ class MediaItem(MediaResource):
     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'))
index 2a3869f6e1a50b20cf207663a536cc06d0d73308..79000ba135e08c405d17f8655b14ab955ee472b2 100644 (file)
@@ -322,7 +322,7 @@ label.disabled { color: #d7d7d7 }
     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;
index 33341074bc3735180aa48878d49902220f16b584..91a78512e93a5315d27f7d55093955ab5582ad80 100644 (file)
@@ -52,7 +52,7 @@
        <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>
 
index faa280358bdd27111c0eb6e132822d3103b39a6d..d19bf25dd8c5a8606a545e602186ebbd69f5dcc6 100644 (file)
@@ -1,68 +1,17 @@
-{% 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" %}
-                &nbsp;{% trans "Collection access status" %} : {% trans item.collection.public_access %}<br />
-                &nbsp;{% trans "Context access status" %} : {% trans access %}<br />
-                &nbsp;{% 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 %}
index ef948ac583f12f8d88b5c91cca0bea0039ad01cf..e1815daac82a790651f0a02541acb5b976cdffda 100644 (file)
 {% 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>
index 79ebb00a402d6fd176187f5f73203b16cba95d88..b7c8698b98bb60f17debefd7a45b1b65c9d57551 100644 (file)
@@ -99,8 +99,7 @@ urlpatterns = patterns('',
     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,
@@ -140,8 +139,7 @@ urlpatterns = patterns('',
     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"),
index 3d35cfc604e75df3edf4d64a7439c0bdb2ee1288..34b981d111c95979fdda544425f4dd4c6daae73f 100644 (file)
@@ -307,3 +307,12 @@ class CollectionEditView(CollectionViewMixin, UpdateWithInlinesView):
         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')
+
+
index ea912fc7528c1971ecc641c3478ee269377f4d88..9015eaf6ec772880762fc0b97286c3e74601ab7c 100644 (file)
@@ -735,3 +735,13 @@ class ItemEditView(ItemViewMixin, UpdateWithInlinesView):
         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')
+