--- /dev/null
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models, migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('emissions', '0004_focus_page'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='emission',
+ name='chat_open',
+ field=models.DateTimeField(null=True),
+ preserve_default=True,
+ ),
+ ]
image = models.ImageField(_('Image'),
upload_to=get_emission_image_path, max_length=250, null=True, blank=True)
+ chat_open = models.DateTimeField(null=True)
+
# denormalized from Focus
got_focus = models.DateTimeField(default=None, null=True, blank=True)
has_focus = models.BooleanField(default=False)
{% if perms.emissions.add_absence and schedules %}
<a class="big-friendly-button" id="add-absence-link" href="#">Ajouter une absence</a>
{% endif %}
+{% if emission.chat_open %}
+<a class="big-friendly-button" href="{% url 'emission-close-chat' slug=emission.slug %}">Fermer le chat</a>
+{% else %}
+<a class="big-friendly-button" href="{% url 'emission-open-chat' slug=emission.slug %}">Ouvrir le chat</a>
+{% endif %}
</p>
{% endif %}
url(r'^(?P<slug>[\w,-]+)/add-schedule$', EmissionAddScheduleView.as_view(), name='emission-add-schedule'),
url(r'^(?P<slug>[\w,-]+)/add-absence$', EmissionAddAbsenceView.as_view(), name='emission-add-absence'),
+ url(r'^(?P<slug>[\w,-]+)/chat/open/$', EmissionOpenChatView.as_view(), name='emission-open-chat'),
+ url(r'^(?P<slug>[\w,-]+)/chat/close/$', EmissionCloseChatView.as_view(), name='emission-close-chat'),
+
url(r'^(?P<emission_slug>[\w,-]+)/schedule/(?P<pk>\d+)/remove$',
ScheduleDeleteView.as_view(), name='schedule-delete'),
url(r'^(?P<emission_slug>[\w,-]+)/absence/(?P<pk>\d+)/remove$',
from django.core.urlresolvers import reverse_lazy
from django.http import HttpResponse, Http404
from django.core.urlresolvers import reverse, reverse_lazy
+from django.shortcuts import redirect
from django.utils.translation import ugettext as _, ugettext_lazy
from django.views.decorators.csrf import csrf_exempt
'NewsItemUpdateView', 'CategoryNewsItemAddView',
'NewsItemDeleteView', 'NewsItemAddView',
'SoundFileDeleteView', 'SoundFileUpdateView',
- 'EmissionAddAbsenceView', 'AbsenceDeleteView',]
+ 'EmissionAddAbsenceView', 'AbsenceDeleteView',
+ 'EmissionOpenChatView', 'EmissionCloseChatView']
SUCCESS_MESSAGE = ugettext_lazy('Your changes will appear online in a few minutes.')
def get_success_url(self):
messages.success(self.request, SUCCESS_MESSAGE)
return '../../'
+
+
+class EmissionOpenChatView(DetailView):
+ model = Emission
+
+ def render_to_response(self, context):
+ self.object.chat_open = datetime.datetime.now()
+ self.object.save()
+ return redirect(self.object.get_absolute_url())
+
+
+class EmissionCloseChatView(DetailView):
+ model = Emission
+
+ def render_to_response(self, context):
+ self.object.chat_open = None
+ self.object.save()
+ return redirect(self.object.get_absolute_url())