Turn "listen" link into a popup if a player is configured (#995)

This commit is contained in:
Frédéric Péters 2011-12-02 15:53:07 +01:00
parent ef52b1452b
commit b0f7b6f9cc
2 changed files with 20 additions and 1 deletions

View File

@ -15,8 +15,17 @@
tal:define="current_meeting view/current_meeting;
next_meeting view/next_meeting;">
<div id="seance-en-cours" tal:condition="python: current_meeting is not None">
<a tal:attributes="href current_meeting/listen_url">Écoutez la séance en direct</a>
<a tal:attributes="href view/live_url">Écoutez la séance en direct</a>
</div>
<script>
$('div#seance-en-cours a').click(function(event) {
if ($(this).attr('href').indexOf('.m3u') == -1) {
window.open($(this).attr('href'), 'streaming', 'width=220,height=220');
event.preventDefault();
}
});
</script>
<div id="prochaine-seance" tal:condition="python: (next_meeting is not None and current_meeting is None)">
<a tal:attributes="href next_meeting/absolute_url">Prochaine séance :<br/>
<span tal:replace="next_meeting/longdatetime"/></a>

View File

@ -1,5 +1,7 @@
import datetime
from zope import component
from plone.portlets.interfaces import IPortletDataProvider
from zope.component import adapts, getMultiAdapter, queryUtility
from zope.formlib import form
@ -8,6 +10,8 @@ from zope import schema
from Acquisition import aq_inner, aq_base, aq_parent
from Products.CMFCore.utils import getToolByName
from plone.registry.interfaces import IRegistry
from tabellio.config.interfaces import ITabellioSettings
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile
from plone.app.portlets.portlets import base
@ -65,6 +69,12 @@ class Renderer(base.Renderer):
return event
return None
def live_url(self):
settings = component.getUtility(IRegistry).forInterface(ITabellioSettings, False)
if settings.embedded_audio_player_url:
return settings.embedded_audio_player_url
return self.current_meeting.absolute_url() + '/ecouter.m3u'
def next_meeting(self):
catalog = getToolByName(self.context, 'portal_catalog')
# do not go more than 30 days in the future