diff --git a/amadeus/templates/base.html b/amadeus/templates/base.html
index 68eb560..238a3bf 100644
--- a/amadeus/templates/base.html
+++ b/amadeus/templates/base.html
@@ -176,6 +176,7 @@
{% trans 'Mail Sender' %}
{% trans 'Security' %}
{% trans 'Theme' %}
+ {% trans 'Conference Settings' %}
diff --git a/webconference/forms.py b/webconference/forms.py
index 22c81f0..fb31d93 100644
--- a/webconference/forms.py
+++ b/webconference/forms.py
@@ -6,7 +6,7 @@ import datetime
from subjects.models import Tag
-from .models import Webconference
+from .models import Webconference, ConferenceSettings
class WebconferenceForm(forms.ModelForm):
subject = None
@@ -104,3 +104,19 @@ class WebconferenceForm(forms.ModelForm):
self.instance.tags.add(new_tag)
return self.instance
+
+
+
+class SettingsForm(forms.ModelForm):
+
+ class Meta:
+ model = ConferenceSettings
+ fields = ['domain']
+
+ labels = {
+ 'domain': _('Domain'),
+ }
+
+ help_texts = {
+ 'domain': _('The domain of the jitsi server, e.g. meet.jit.si'),
+ }
diff --git a/webconference/migrations/0002_conferencesettings.py b/webconference/migrations/0002_conferencesettings.py
new file mode 100644
index 0000000..a04589d
--- /dev/null
+++ b/webconference/migrations/0002_conferencesettings.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.10.4 on 2017-03-22 19:31
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('webconference', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='ConferenceSettings',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('domain', models.CharField(max_length=100, verbose_name='Domain')),
+ ],
+ options={
+ 'verbose_name': 'Conference Setting',
+ 'verbose_name_plural': 'Conferences Setting',
+ },
+ ),
+ ]
diff --git a/webconference/models.py b/webconference/models.py
index f1119b4..5941f2f 100644
--- a/webconference/models.py
+++ b/webconference/models.py
@@ -30,3 +30,13 @@ class Webconference(Resource):
def delete_message(self):
return _('Are you sure you want delete the web conference')
+
+class ConferenceSettings(models.Model):
+ domain = models.CharField(_("Domain"), max_length = 100, blank=False, null = False)
+
+ class Meta:
+ verbose_name = _("Conference Setting")
+ verbose_name_plural = _("Conferences Setting")
+
+ def __str__(self):
+ return self.domain
diff --git a/webconference/templates/webconference/config.html b/webconference/templates/webconference/config.html
new file mode 100644
index 0000000..fb749df
--- /dev/null
+++ b/webconference/templates/webconference/config.html
@@ -0,0 +1,51 @@
+{% extends 'base.html' %}
+
+{% load static i18n %}
+{% load widget_tweaks %}
+{% load django_bootstrap_breadcrumbs %}
+
+{% block breadcrumbs %}
+ {{ block.super }}
+ {% trans 'Settings: Conference' as bread %}
+ {% breadcrumb bread 'webconferences:settings' %}
+{% endblock %}
+
+{% block content %}
+
+
+
+{% endblock %}
diff --git a/webconference/templates/webconference/jitsi.html b/webconference/templates/webconference/jitsi.html
index a4fe176..131f60c 100644
--- a/webconference/templates/webconference/jitsi.html
+++ b/webconference/templates/webconference/jitsi.html
@@ -27,15 +27,13 @@
diff --git a/webconference/urls.py b/webconference/urls.py
index 4f1911e..08540be 100644
--- a/webconference/urls.py
+++ b/webconference/urls.py
@@ -12,4 +12,5 @@ urlpatterns = [
url(r'^view/(?P[\w_-]+)/$', views.InsideView.as_view(), name = 'view'),
url(r'^conference/(?P[\w_-]+)/$',views.Conference.as_view(), name = 'conference'),
url(r'^saiu/$',views.saiu, name = 'saiu'),
+ url(r'^settings/$', views.ConferenceSettings.as_view(), name = 'settings'),
]
diff --git a/webconference/views.py b/webconference/views.py
index 7902082..84fdb73 100644
--- a/webconference/views.py
+++ b/webconference/views.py
@@ -15,9 +15,10 @@ from log.mixins import LogMixin
from topics.models import Topic
from pendencies.forms import PendenciesForm
+from braces import views as braces_mixins
-from .forms import WebconferenceForm
-from .models import Webconference
+from .forms import WebconferenceForm, SettingsForm
+from .models import Webconference, ConferenceSettings as Settings
class NewWindowView(LoginRequiredMixin,
# '''LogMixin,'''
@@ -78,6 +79,11 @@ class Conference(LoginRequiredMixin,generic.TemplateView):
context = super(Conference, self).get_context_data(**kwargs)
context['name_room'] = kwargs.get('slug')
context['user_image'] = 'http://localhost:8000'+str(self.request.user.image.url)
+ try:
+ context['domain'] = Settings.objects.last().domain
+ except AttributeError:
+ context['domain'] = 'meet.jit.si'
+
return context
def saiu(request):
@@ -428,3 +434,30 @@ generic.DeleteView):
# super(DeleteView, self).createLog(self.request.user, self.log_component, self.log_action, self.log_resource, self.log_context)
return reverse_lazy('subjects:view', kwargs = {'slug': self.object.topic.subject.slug})
+
+class ConferenceSettings(braces_mixins.LoginRequiredMixin, braces_mixins.StaffuserRequiredMixin, generic.UpdateView):
+ login_url = reverse_lazy("users:login")
+ redirect_field_name = 'next'
+
+ template_name = 'webconference/config.html'
+ model = Settings
+ form_class = SettingsForm
+ success_url = reverse_lazy("subjects:home")
+
+ def get_object(self, queryset = None):
+ return Settings.objects.last()
+
+ def form_valid(self, form):
+ form.save()
+
+ messages.success(self.request, _("Conference settings updated successfully!"))
+
+ return super(ConferenceSettings, self).form_valid(form)
+
+ def get_context_data(self, **kwargs):
+ context = super(ConferenceSettings, self).get_context_data(**kwargs)
+
+ context['title'] = _('Conference Settings')
+ # context['settings_menu_active'] = "settings_menu_active"
+
+ return context
--
libgit2 0.21.2