fix talks materials and video
This commit is contained in:
parent
5318b43160
commit
164396a978
|
@ -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'),
|
||||||
|
|
|
@ -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',)
|
||||||
|
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
@ -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 %}
|
||||||
|
|
|
@ -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" %}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user