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

View File

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

View File

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

View File

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

View File

@ -19,6 +19,8 @@
{% bootstrap_field filter_form.vote layout="horizontal" %} {% bootstrap_field filter_form.vote layout="horizontal" %}
{% bootstrap_field filter_form.scheduled layout="horizontal" %} {% bootstrap_field filter_form.scheduled layout="horizontal" %}
{% bootstrap_field filter_form.room 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>
<div class="col-md-6 col-xs-6"> <div class="col-md-6 col-xs-6">
{% bootstrap_field filter_form.track layout="horizontal" %} {% bootstrap_field filter_form.track layout="horizontal" %}

View File

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