diff --git a/webconference/migrations/0001_initial.py b/webconference/migrations/0001_initial.py
new file mode 100644
index 0000000..e5a3e22
--- /dev/null
+++ b/webconference/migrations/0001_initial.py
@@ -0,0 +1,32 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.4 on 2017-03-14 19:18
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ('topics', '0007_auto_20170123_1911'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Webconference',
+ fields=[
+ ('resource_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='topics.Resource')),
+ ('presentation', models.TextField(blank=True, verbose_name='Presentation')),
+ ('start', models.DateTimeField(verbose_name='Start date/hour')),
+ ('end', models.DateTimeField(verbose_name='End date/hour')),
+ ],
+ options={
+ 'verbose_name_plural': 'Web Conferences',
+ 'verbose_name': 'Web Conference',
+ },
+ bases=('topics.resource',),
+ ),
+ ]
diff --git a/webconference/templates/webconference/view.html b/webconference/templates/webconference/view.html
index fec5e02..d74e988 100644
--- a/webconference/templates/webconference/view.html
+++ b/webconference/templates/webconference/view.html
@@ -1,6 +1,6 @@
{% extends 'subjects/view.html' %}
-{% load static i18n pagination permissions_tags subject_counter %}
+{% load static i18n pagination permissions_tags subject_counter access_conference %}
{% load django_bootstrap_breadcrumbs %}
{% block javascript%}
@@ -10,7 +10,7 @@
{% block breadcrumbs %}
{{ block.super }}
{% breadcrumb topic 'subjects:topic_view' subject.slug topic.slug %}
- {% breadcrumb web conference 'webconferences:view' webconference.slug %}
+ {% breadcrumb webconference 'webconferences:view' webconference.slug %}
{% endblock %}
{% block content %}
@@ -51,8 +51,25 @@
{% autoescape off %}
- {{ webconference.content }}
+ {{ webconference.presentation }}
{% endautoescape %}
+
+
{% trans "Start date/hour" %}: {{webconference.start}}
+
+
+
{% trans "End date/hour" %}: {{webconference.end}}
+
+
+ {% access_conference webconference.start as access %}
+ {% if access %}
+
+
+ {% endif %}
+
{% endblock %}
diff --git a/webconference/templates/webconference/window_view.html b/webconference/templates/webconference/window_view.html
index 74be59c..43567ab 100644
--- a/webconference/templates/webconference/window_view.html
+++ b/webconference/templates/webconference/window_view.html
@@ -1 +1,58 @@
-{{ webconference.content|safe }}
+
+
+{% load static i18n access_conference%}
+
+
+
+ {{ title }} | {{ theme.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% autoescape off %}
+ {{ webconference.presentation }}
+ {% endautoescape %}
+
+
{% trans "Start date/hour" %}: {{webconference.start}}
+
+
+
{% trans "End date/hour" %}: {{webconference.end}}
+
+
+ {% access_conference webconference.start as access %}
+ {% if access %}
+
+
+ {% endif %}
+
+
+
+
+
+ {##}
+ {##}
+
+
+
diff --git a/webconference/templatetags/__init__.py b/webconference/templatetags/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/webconference/templatetags/__init__.py
diff --git a/webconference/templatetags/access_conference.py b/webconference/templatetags/access_conference.py
new file mode 100644
index 0000000..b9f2820
--- /dev/null
+++ b/webconference/templatetags/access_conference.py
@@ -0,0 +1,12 @@
+import datetime
+from django import template
+from django.utils import timezone
+register = template.Library()
+
+@register.simple_tag
+def access_conference(hour_conference):
+ hour = datetime.datetime.now() + datetime.timedelta(minutes=10) # utilizado para poder começar a seção 10 min antes do tempo marcado
+ hour_conference = hour_conference - datetime.timedelta(hours=3) # utilizado para converter a hora para UTC-3
+ if (hour_conference.timetuple() < hour.timetuple()):
+ return True
+ return False
diff --git a/webconference/views.py b/webconference/views.py
index 446c11e..ce719bd 100644
--- a/webconference/views.py
+++ b/webconference/views.py
@@ -26,44 +26,44 @@ class NewWindowView(LoginRequiredMixin,
# log_resource = 'webpage'
# log_context = {}
- login_url = reverse_lazy("users:login")
- redirect_field_name = 'next'
-
- template_name = 'webconference/window_view.html'
- model = Webconference
- context_object_name = 'webconference'
-
- def dispatch(self, request, *args, **kwargs):
- slug = self.kwargs.get('slug', '')
- webconference = get_object_or_404(Webconference, slug = slug)
-
- if not has_resource_permissions(request.user, webconference):
- return redirect(reverse_lazy('subjects:home'))
-
- return super(NewWindowView, self).dispatch(request, *args, **kwargs)
-
- def get_context_data(self, **kwargs):
- context = super(NewWindowView, self).get_context_data(**kwargs)
-
- # self.log_context['category_id'] = self.object.topic.subject.category.id
- # self.log_context['category_name'] = self.object.topic.subject.category.name
- # self.log_context['category_slug'] = self.object.topic.subject.category.slug
- # self.log_context['subject_id'] = self.object.topic.subject.id
- # self.log_context['subject_name'] = self.object.topic.subject.name
- # self.log_context['subject_slug'] = self.object.topic.subject.slug
- # self.log_context['topic_id'] = self.object.topic.id
- # self.log_context['topic_name'] = self.object.topic.name
- # self.log_context['topic_slug'] = self.object.topic.slug
- # self.log_context['webpage_id'] = self.object.id
- # self.log_context['webpage_name'] = self.object.name
- # self.log_context['webpage_slug'] = self.object.slug
- # self.log_context['timestamp_start'] = str(int(time.time()))
-
- # super(NewWindowView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
+ login_url = reverse_lazy("users:login")
+ redirect_field_name = 'next'
+
+ template_name = 'webconference/window_view.html'
+ model = Webconference
+ context_object_name = 'webconference'
+
+ def dispatch(self, request, *args, **kwargs):
+ slug = self.kwargs.get('slug', '')
+ webconference = get_object_or_404(Webconference, slug = slug)
+
+ if not has_resource_permissions(request.user, webconference):
+ return redirect(reverse_lazy('subjects:home'))
+
+ return super(NewWindowView, self).dispatch(request, *args, **kwargs)
+
+ def get_context_data(self, **kwargs):
+ context = super(NewWindowView, self).get_context_data(**kwargs)
+ context['title'] = _("%s - Web Conference")%(self.object.name)
+ # self.log_context['category_id'] = self.object.topic.subject.category.id
+ # self.log_context['category_name'] = self.object.topic.subject.category.name
+ # self.log_context['category_slug'] = self.object.topic.subject.category.slug
+ # self.log_context['subject_id'] = self.object.topic.subject.id
+ # self.log_context['subject_name'] = self.object.topic.subject.name
+ # self.log_context['subject_slug'] = self.object.topic.subject.slug
+ # self.log_context['topic_id'] = self.object.topic.id
+ # self.log_context['topic_name'] = self.object.topic.name
+ # self.log_context['topic_slug'] = self.object.topic.slug
+ # self.log_context['webpage_id'] = self.object.id
+ # self.log_context['webpage_name'] = self.object.name
+ # self.log_context['webpage_slug'] = self.object.slug
+ # self.log_context['timestamp_start'] = str(int(time.time()))
+
+ # super(NewWindowView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
#
- # self.request.session['log_id'] = Log.objects.latest('id').id
+ # self.request.session['log_id'] = Log.objects.latest('id').id
- return context
+ return context
class InsideView(LoginRequiredMixin,
# '''LogMixin,'''
@@ -124,83 +124,78 @@ class CreateView(LoginRequiredMixin,
# log_action = 'create'
# log_resource = 'webpage'
# log_context = {}
+ login_url = reverse_lazy("users:login")
+ redirect_field_name = 'next'
- login_url = reverse_lazy("users:login")
- redirect_field_name = 'next'
-
- template_name = 'webconference/create.html'
- form_class = WebconferenceForm
-
- def dispatch(self, request, *args, **kwargs):
- slug = self.kwargs.get('slug', '')
- topic = get_object_or_404(Topic, slug = slug)
-
- if not has_subject_permissions(request.user, topic.subject):
- return redirect(reverse_lazy('subjects:home'))
-
- return super(CreateView, self).dispatch(request, *args, **kwargs)
+ template_name = 'webconference/create.html'
+ form_class = WebconferenceForm
- def get(self, request, *args, **kwargs):
- self.object = None
+ def dispatch(self, request, *args, **kwargs):
+ slug = self.kwargs.get('slug', '')
+ topic = get_object_or_404(Topic, slug = slug)
- form_class = self.get_form_class()
- form = self.get_form(form_class)
+ if not has_subject_permissions(request.user, topic.subject):
+ return redirect(reverse_lazy('subjects:home'))
+ return super(CreateView, self).dispatch(request, *args, **kwargs)
- slug = self.kwargs.get('slug', '')
- topic = get_object_or_404(Topic, slug = slug)
+ def get(self, request, *args, **kwargs):
+ self.object = None
- pendencies_form = PendenciesForm(initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
+ form_class = self.get_form_class()
+ form = self.get_form(form_class)
- return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
+ slug = self.kwargs.get('slug', '')
+ topic = get_object_or_404(Topic, slug = slug)
+ pendencies_form = PendenciesForm(initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
+ return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
- def post(self, request, *args, **kwargs):
- self.object = None
+ def post(self, request, *args, **kwargs):
+ self.object = None
- form_class = self.get_form_class()
- form = self.get_form(form_class)
-
- slug = self.kwargs.get('slug', '')
- topic = get_object_or_404(Topic, slug = slug)
+ form_class = self.get_form_class()
+ form = self.get_form(form_class)
- pendencies_form = PendenciesForm(self.request.POST, initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
+ slug = self.kwargs.get('slug', '')
+ topic = get_object_or_404(Topic, slug = slug)
- if (form.is_valid() and pendencies_form.is_valid()):
- return self.form_valid(form, pendencies_form)
- else:
- return self.form_invalid(form, pendencies_form)
+ pendencies_form = PendenciesForm(self.request.POST, initial = {'subject': topic.subject.id, 'actions': [("", "-------"),("view", _("Visualize"))]})
- def get_initial(self):
- initial = super(CreateView, self).get_initial()
+ if (form.is_valid() and pendencies_form.is_valid()):
+ return self.form_valid(form, pendencies_form)
+ else:
+ return self.form_invalid(form, pendencies_form)
- slug = self.kwargs.get('slug', '')
+ def get_initial(self):
+ initial = super(CreateView, self).get_initial()
- topic = get_object_or_404(Topic, slug = slug)
- initial['subject'] = topic.subject
+ slug = self.kwargs.get('slug', '')
- return initial
+ topic = get_object_or_404(Topic, slug = slug)
+ initial['subject'] = topic.subject
- def form_invalid(self, form, pendencies_form):
- return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
+ return initial
- def form_valid(self, form, pendencies_form):
- self.object = form.save(commit = False)
+ def form_invalid(self, form, pendencies_form):
+ return self.render_to_response(self.get_context_data(form = form, pendencies_form = pendencies_form))
- slug = self.kwargs.get('slug', '')
- topic = get_object_or_404(Topic, slug = slug)
+ def form_valid(self, form, pendencies_form):
- self.object.topic = topic
- self.object.order = topic.resource_topic.count() + 1
+ self.object = form.save(commit = False)
+ slug = self.kwargs.get('slug', '')
+ topic = get_object_or_404(Topic, slug = slug)
- if not self.object.topic.visible and not self.object.topic.repository:
- self.object.visible = False
+ self.object.topic = topic
+ self.object.order = topic.resource_topic.count() + 1
- self.object.save()
+ if not self.object.topic.visible and not self.object.topic.repository:
+ self.object.visible = False
- pend_form = pendencies_form.save(commit = False)
- pend_form.resource = self.object
+ self.object.save()
+ pend_form = pendencies_form.save(commit = False)
+ pend_form.resource = self.object
- if not pend_form.action == "":
- pend_form.save()
+ if not pend_form.action == "":
+ pend_form.save()
# self.log_context['category_id'] = self.object.topic.subject.category.id
# self.log_context['category_name'] = self.object.topic.subject.category.name
@@ -217,34 +212,34 @@ class CreateView(LoginRequiredMixin,
#
# super(CreateView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
- return redirect(self.get_success_url())
+ return redirect(self.get_success_url())
- def get_context_data(self, **kwargs):
- context = super(CreateView, self).get_context_data(**kwargs)
+ def get_context_data(self, **kwargs):
+ context = super(CreateView, self).get_context_data(**kwargs)
- context['title'] = _('Create Web Conference')
+ context['title'] = _('Create Web Conference')
- slug = self.kwargs.get('slug', '')
- topic = get_object_or_404(Topic, slug = slug)
+ slug = self.kwargs.get('slug', '')
+ topic = get_object_or_404(Topic, slug = slug)
- context['topic'] = topic
- context['subject'] = topic.subject
+ context['topic'] = topic
+ context['subject'] = topic.subject
- return context
+ return context
- def get_success_url(self):
- messages.success(self.request, _('The Web conference "%s" was added to the Topic "%s" of the virtual environment "%s" successfully!')%(self.object.name, self.object.topic.name, self.object.topic.subject.name))
+ def get_success_url(self):
+ messages.success(self.request, _('The Web conference "%s" was added to the Topic "%s" of the virtual environment "%s" successfully!')%(self.object.name, self.object.topic.name, self.object.topic.subject.name))
- success_url = reverse_lazy('webconference:view', kwargs = {'slug': self.object.slug})
+ success_url = reverse_lazy('webconferences:view', kwargs = {'slug': self.object.slug})
- if self.object.show_window:
- self.request.session['resources'] = {}
- self.request.session['resources']['new_page'] = True
- self.request.session['resources']['new_page_url'] = reverse('webconference:window_view', kwargs = {'slug': self.object.slug})
+ if self.object.show_window:
+ self.request.session['resources'] = {}
+ self.request.session['resources']['new_page'] = True
+ self.request.session['resources']['new_page_url'] = reverse('webconferences:window_view', kwargs = {'slug': self.object.slug})
- success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
+ success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
- return success_url
+ return success_url
class UpdateView(LoginRequiredMixin,
# ''' LogMixin,'''
@@ -359,12 +354,12 @@ generic.UpdateView):
def get_success_url(self):
messages.success(self.request, _('The Web conference "%s" was updated successfully!')%(self.object.name))
- success_url = reverse_lazy('webconference:view', kwargs = {'slug': self.object.slug})
+ success_url = reverse_lazy('webconferences:view', kwargs = {'slug': self.object.slug})
if self.object.show_window:
self.request.session['resources'] = {}
self.request.session['resources']['new_page'] = True
- self.request.session['resources']['new_page_url'] = reverse('webconference:window_view', kwargs = {'slug': self.object.slug})
+ self.request.session['resources']['new_page_url'] = reverse('webconferences:window_view', kwargs = {'slug': self.object.slug})
success_url = reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
--
libgit2 0.21.2