Changeset c89e8e54


Ignore:
Timestamp:
May 21, 2012 5:43:59 PM (3 years ago)
Author:
yomguy <yomguy@…>
Branches:
master, crem, crem2, crem3, dev, dev2, diadems, dj1.6, feature/breadcrumbs, feature/ts-0.5, feature/ts-0.5.4, feature/writecache, generic, lam, lam2, mapsv3, merge, nlivemulti, release/1.4.4, sabiod, search, server, storage, telecaster
Children:
5addd73
Parents:
bc866e5
git-author:
yomguy <yomguy@…> (21/05/2012 17:43:59)
git-committer:
yomguy <yomguy@…> (21/05/2012 17:43:59)
Message:

fix item add with format

Location:
telemeta
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • telemeta/models/format.py

    rbc866e5 rc89e8e54  
    5454    """ Physical format object as proposed by the LAM""" 
    5555 
    56     item                  = ForeignKey('MediaItem', related_name="format", verbose_name = _("item")) 
     56    item                  = ForeignKey('MediaItem', related_name="format", verbose_name = _("item"), 
     57                                       blank=True, null=True, on_delete=models.SET_NULL) 
    5758    original_format       = WeakForeignKey(OriginalFormat, related_name="format", 
    5859                                     verbose_name = _("original format")) 
  • telemeta/templates/telemeta/mediaitem_add.html

    r566f17d rc89e8e54  
    2323       <ul>{% for error in form.non_field_errors %}<li class="error">{{ error }}</li>{% endfor %}</ul> 
    2424       <table> 
     25       {% for form in forms %} 
    2526        {% for field in form %} 
    2627            <tr> 
    27             {% if field.html_name == "copied_from_item" %} 
     28            {% if field.html_name in hidden_fields %} 
    2829                <td>{{ field.label_tag.as_hidden }}{{ field.as_hidden }}</td> 
    2930            {% else %} 
     
    3940            {% endif %} 
    4041            </tr> 
    41     {% endfor %} 
     42        {% endfor %} 
     43       {% endfor %} 
    4244       </table> 
    4345       <div align="center" style="margin-top:3ex;"> 
  • telemeta/templates/telemeta/mediaitem_detail.html

    rbc866e5 rc89e8e54  
    310310                     {% dl_field format "original_location" %} 
    311311                     {% dl_field format "original_state" %} 
     312                     {% dl_field format "original_audio_quality" %} 
    312313                     <dt>{% trans "Comments" %}</dt> 
    313314                     <dd>{{ format.original_comments|html_line_break|safe }}</dd> 
  • telemeta/views/base.py

    rbc866e5 rc89e8e54  
    727727            item_form = MediaItemForm(instance=item, prefix='item') 
    728728            format_form = FormatForm(instance=format, prefix='format') 
    729             forms = [item_form, format_form] 
    730  
     729 
     730        forms = [item_form, format_form] 
    731731        hidden_fields = ['item-copied_from_item', 'format-item'] 
    732732 
     
    769769            code = auto_code(items, collection.code) 
    770770            item = MediaItem(collection=collection, code=code) 
     771            format, created = Format.objects.get_or_create(item=item) 
    771772        else: 
    772773            item = MediaItem() 
    773         if request.method == 'POST': 
    774             form = MediaItemForm(data=request.POST, files=request.FILES, instance=item) 
    775             if form.is_valid(): 
    776                 form.save() 
     774            format = Format() 
     775 
     776        if request.method == 'POST': 
     777            item_form = MediaItemForm(data=request.POST, files=request.FILES, instance=item, prefix='item') 
     778            format_form = FormatForm(data=request.POST, instance=format, prefix='format') 
     779            if item_form.is_valid(): 
     780                item_form.save() 
    777781                item.set_revision(request.user) 
    778                 code = form.cleaned_data['code'] 
     782                code = item_form.cleaned_data['code'] 
    779783                if not code: 
    780784                    code = str(item.id) 
     785                if format_form.is_valid(): 
     786                    format.item = item 
     787                    format_form.save() 
    781788                return HttpResponseRedirect('/archives/items/'+code) 
    782789        else: 
    783             form = MediaItemForm(instance=item) 
    784  
    785  
    786         return render(request, template, {'item': item, 'form': form}) 
     790            item_form = MediaItemForm(instance=item, prefix='item') 
     791            format_form = FormatForm(instance=format, prefix='format') 
     792 
     793        forms = [item_form, format_form] 
     794        hidden_fields = ['item-copied_from_item', 'format-item'] 
     795 
     796        return render(request, template, {'item': item, 'forms': forms, 'hidden_fields': hidden_fields,}) 
    787797 
    788798    @method_decorator(permission_required('telemeta.add_mediaitem')) 
Note: See TracChangeset for help on using the changeset viewer.