fix talks materials and video

This commit is contained in:
Élie Bouttier 2017-09-27 21:53:35 +02:00
parent 5318b43160
commit 164396a978
6 changed files with 14 additions and 15 deletions

View File

@ -28,7 +28,6 @@ class TalkForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
categories = kwargs.pop('categories')
super().__init__(*args, **kwargs)
self.fields['materials'].required = False
if categories.exists():
self.fields['category'].queryset = categories
else:
@ -36,7 +35,7 @@ class TalkForm(forms.ModelForm):
class Meta:
model = Talk
fields = ('category', 'title', 'description','notes')
fields = ('category', 'title', 'description', 'notes')
class TalkStaffForm(forms.ModelForm):
@ -46,11 +45,12 @@ class TalkStaffForm(forms.ModelForm):
self.fields['category'].queryset = TalkCategory.objects.filter(site=conference.site)
self.fields['track'].queryset = Track.objects.filter(site=conference.site)
self.fields['room'].queryset = Room.objects.filter(site=conference.site)
self.fields['materials'].required = False
if self.instance and self.instance.category and self.instance.category.duration:
self.fields['duration'].help_text = _('Default duration: %(duration)d min') % {'duration': self.instance.duration}
class Meta(TalkForm.Meta):
fields = ('category', 'track', 'title', 'description', 'notes', 'start_date', 'duration', 'room',)
fields = ('category', 'track', 'title', 'description', 'notes', 'start_date', 'duration', 'room', 'materials', 'video',)
labels = {
'category': _('Category'),
'title': _('Title'),

View File

@ -14,7 +14,7 @@ from colorful.fields import RGBColorField
import uuid
from datetime import timedelta
from os.path import join
from os.path import join, basename
from ponyconf.utils import PonyConfModel
from mailing.models import MessageThread
@ -241,10 +241,6 @@ class TalkCategory(models.Model): # type of talk (conf 30min, 1h, stand, …)
# return self.get_name()
#def talk_materials_destination(talk, filename):
# return join(talk.site.name, talk.slug, filename)
class TalkManager(models.Manager):
def get_queryset(self):
qs = super().get_queryset()
@ -325,9 +321,9 @@ class Talk(PonyConfModel):
else:
return None
#@property
#def materials_name(self):
# return basename(self.materials.name)
@property
def materials_name(self):
return basename(self.materials.name)
class Meta:
ordering = ('category__id', 'title',)

View File

@ -44,7 +44,8 @@
{% if talk.registration_required %}
<dt>{% trans "Registrations" %}</dt>
<dd>{% if talk.attendees_limit %}{{ talk.attendees.count }} / {{ talk.attendees_limit }}{% else %}{% trans "required but unlimited" %}{% endif %}</dd>
{% endif %}
{% endif %
{% endcomment %}
{% if talk.materials %}
<dt>{% trans "Materials" %}</dt>
<dd><a href="{{ talk.materials.url }}">{{ talk.materials_name }}</a></dd>
@ -53,7 +54,6 @@
<dt>{% trans "Video" %}</dt>
<dd><a href="{{ talk.video }}">{% trans "download" %}</a></dd>
{% endif %}
{% endcomment %}
</dl>

View File

@ -8,6 +8,6 @@
<h1>{% trans "Edit a talk" %}</h1>
{% url 'talk-details' talk.token as cancel_url %}
{% include '_form.html' %}
{% include '_form.html' with multipart=True %}
{% endblock %}

View File

@ -19,6 +19,8 @@
{% bootstrap_field filter_form.vote layout="horizontal" %}
{% bootstrap_field filter_form.scheduled layout="horizontal" %}
{% bootstrap_field filter_form.room layout="horizontal" %}
{% bootstrap_field filter_form.materials layout="horizontal" %}
{% bootstrap_field filter_form.video layout="horizontal" %}
</div>
<div class="col-md-6 col-xs-6">
{% bootstrap_field filter_form.track layout="horizontal" %}

View File

@ -10,7 +10,8 @@ register = template.Library()
def staff(request):
return is_staff(request, request.user)
@register.filter('duration_format')
@register.filter(name='duration_format')
def duration_format(value):
value = int(value)
hours = int(value/60)