rename projector to dashboard
This commit is contained in:
parent
b7a0e83c68
commit
c6bc50e2fd
@ -24,21 +24,6 @@ class UserCreateForm(forms.ModelForm, CssClassMixin):
|
|||||||
groups = forms.ModelMultipleChoiceField(
|
groups = forms.ModelMultipleChoiceField(
|
||||||
queryset=Group.objects.exclude(name__iexact='anonymous'),
|
queryset=Group.objects.exclude(name__iexact='anonymous'),
|
||||||
label=_("User groups"), required=False)
|
label=_("User groups"), required=False)
|
||||||
is_active = forms.BooleanField(label=_("Active"), required=False,
|
|
||||||
initial=True)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = User
|
|
||||||
exclude = ('username', 'password', 'is_staff', 'is_superuser',
|
|
||||||
'last_login', 'date_joined', 'user_permissions')
|
|
||||||
|
|
||||||
|
|
||||||
class UserEditForm(forms.ModelForm, CssClassMixin):
|
|
||||||
first_name = forms.CharField(label=_("First name"))
|
|
||||||
last_name = forms.CharField(label=_("Last name"))
|
|
||||||
groups = forms.ModelMultipleChoiceField(queryset=Group.objects.all(),
|
|
||||||
label=_("User groups"), required=False)
|
|
||||||
is_active = forms.BooleanField(label=_("Active"), required=False)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = User
|
||||||
@ -111,6 +96,7 @@ class UsersettingsForm(forms.ModelForm, CssClassMixin):
|
|||||||
model = User
|
model = User
|
||||||
fields = ('username', 'first_name', 'last_name', 'email')
|
fields = ('username', 'first_name', 'last_name', 'email')
|
||||||
|
|
||||||
|
|
||||||
class UserImportForm(forms.Form, CssClassMixin):
|
class UserImportForm(forms.Form, CssClassMixin):
|
||||||
csvfile = forms.FileField(widget=forms.FileInput(attrs={'size': '50'}),
|
csvfile = forms.FileField(widget=forms.FileInput(attrs={'size': '50'}),
|
||||||
label=_("CSV File"))
|
label=_("CSV File"))
|
||||||
|
@ -50,7 +50,8 @@ class ProjectorSlide(models.Model, SlideMixin):
|
|||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
permissions = (
|
||||||
('can_manage_projector', ugettext_noop("Can manage the projector")),
|
('can_manage_projector', ugettext_noop("Can manage the projector")),
|
||||||
('can_see_projector', ugettext_noop("Can see projector")),
|
('can_see_projector', ugettext_noop("Can see the projector")),
|
||||||
|
('can_see_dashboard', ugettext_noop("Can see the dashboard")),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -105,12 +105,14 @@ class Widget(object):
|
|||||||
"""
|
"""
|
||||||
Class for a Widget for the Projector-Tab.
|
Class for a Widget for the Projector-Tab.
|
||||||
"""
|
"""
|
||||||
def __init__(self, name, html=None, template=None, context={}):
|
def __init__(self, name, html=None, template=None, context={},
|
||||||
|
permission_required=None):
|
||||||
self.name = name
|
self.name = name
|
||||||
if html is not None:
|
if html is not None:
|
||||||
self.html = html
|
self.html = html
|
||||||
elif template is not None:
|
elif template is not None:
|
||||||
self.html = render_to_string(template, context)
|
self.html = render_to_string(template, context)
|
||||||
|
self.permission_required = permission_required
|
||||||
|
|
||||||
def get_name(self):
|
def get_name(self):
|
||||||
return self.name.lower()
|
return self.name.lower()
|
||||||
|
@ -7,12 +7,12 @@
|
|||||||
{% block title %}{{ block.super}} – {% trans 'Projector' %} {% endblock %}
|
{% block title %}{{ block.super}} – {% trans 'Projector' %} {% endblock %}
|
||||||
|
|
||||||
{% block submenu %}
|
{% block submenu %}
|
||||||
{% url projector_control as url_projectoroverview %}
|
{% url dashboard as url_dashboard %}
|
||||||
<h4 class="sectiontitle">{% trans "Projector" %}</h4>
|
<h4 class="sectiontitle">{% trans "Projector" %}</h4>
|
||||||
<ul>
|
<ul>
|
||||||
{% if perms.projector.can_manage_projector %}
|
{% if perms.projector.can_manage_projector %}
|
||||||
<li class="{% if request.path == url_projectoroverview %}selected{% endif %}">
|
<li{% if request.path == url_dashboard %} class="selected"{% endif %}>
|
||||||
<a href="{% url projector_control %}">{% trans 'Overview' %}</a>
|
<a href="{% url dashboard %}">{% trans 'Overview' %}</a>
|
||||||
</li>
|
</li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.projector.can_see_projector %}
|
{% if perms.projector.can_see_projector %}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h1>{% trans 'Projector' %}</h1>
|
<h1>{% trans 'Dashboard' %}</h1>
|
||||||
<div style="text-align: right; padding: 0 10px 5px 0; margin-top:-20px;">
|
<div style="text-align: right; padding: 0 10px 5px 0; margin-top:-20px;">
|
||||||
<!-- projector control -->
|
<!-- projector control -->
|
||||||
{% trans "Adjust projector view" %}:
|
{% trans "Adjust projector view" %}:
|
@ -15,8 +15,8 @@
|
|||||||
<button class="button" type="submit" name="apply">
|
<button class="button" type="submit" name="apply">
|
||||||
<span class="icon apply">{% trans 'Apply' %}</span>
|
<span class="icon apply">{% trans 'Apply' %}</span>
|
||||||
</button>
|
</button>
|
||||||
<a href='{% url projector_control %}'>
|
<a href='{% url dashboard %}'>
|
||||||
<button class="button" type="button" onclick="window.location='{% url projector_control %}'">
|
<button class="button" type="button" onclick="window.location='{% url dashboard %}'">
|
||||||
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
<span class="icon cancel">{% trans 'Cancel' %}</span>
|
||||||
</button>
|
</button>
|
||||||
</a>
|
</a>
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
from django.conf.urls.defaults import patterns, url
|
from django.conf.urls.defaults import patterns, url
|
||||||
|
|
||||||
from openslides.projector.views import (ControlView, ActivateView,
|
from openslides.projector.views import (DashboardView, ActivateView,
|
||||||
CustomSlideCreateView, CustomSlideUpdateView, CustomSlideDeleteView,
|
CustomSlideCreateView, CustomSlideUpdateView, CustomSlideDeleteView,
|
||||||
CountdownEdit, ProjectorEdit, Projector, ActivateOverlay)
|
CountdownEdit, ProjectorEdit, Projector, ActivateOverlay)
|
||||||
|
|
||||||
@ -35,9 +35,9 @@ urlpatterns = patterns('',
|
|||||||
name='projctor_preview_slide',
|
name='projctor_preview_slide',
|
||||||
),
|
),
|
||||||
|
|
||||||
url(r'^control/$',
|
url(r'^dashboard/$',
|
||||||
ControlView.as_view(),
|
DashboardView.as_view(),
|
||||||
name='projector_control',
|
name='dashboard',
|
||||||
),
|
),
|
||||||
|
|
||||||
url(r'^activate/$',
|
url(r'^activate/$',
|
||||||
|
@ -36,12 +36,12 @@ from openslides.projector.projector import SLIDE, Widget
|
|||||||
from openslides.projector.signals import projector_overlays
|
from openslides.projector.signals import projector_overlays
|
||||||
|
|
||||||
|
|
||||||
class ControlView(TemplateView, AjaxMixin):
|
class DashboardView(TemplateView, AjaxMixin):
|
||||||
"""
|
"""
|
||||||
Overview over all possible slides, the overlays and a liveview.
|
Overview over all possible slides, the overlays and a liveview.
|
||||||
"""
|
"""
|
||||||
template_name = 'projector/control.html'
|
template_name = 'projector/dashboard.html'
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_see_dashboard'
|
||||||
|
|
||||||
def get_projector_overlays(self):
|
def get_projector_overlays(self):
|
||||||
overlays = []
|
overlays = []
|
||||||
@ -73,7 +73,7 @@ class ControlView(TemplateView, AjaxMixin):
|
|||||||
}
|
}
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(ControlView, self).get_context_data(**kwargs)
|
context = super(DashboardView, self).get_context_data(**kwargs)
|
||||||
|
|
||||||
widgets = SortedDict()
|
widgets = SortedDict()
|
||||||
for app in settings.INSTALLED_APPS:
|
for app in settings.INSTALLED_APPS:
|
||||||
@ -88,6 +88,7 @@ class ControlView(TemplateView, AjaxMixin):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
for widget in modul_widgets:
|
for widget in modul_widgets:
|
||||||
|
if self.request.user.has_perm(widget.permission_required):
|
||||||
widgets[widget.get_name()] = widget
|
widgets[widget.get_name()] = widget
|
||||||
|
|
||||||
|
|
||||||
@ -182,7 +183,7 @@ class ActivateView(RedirectView):
|
|||||||
Activate a Slide.
|
Activate a Slide.
|
||||||
"""
|
"""
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_manage_projector'
|
||||||
url = 'projector_control'
|
url = 'dashboard'
|
||||||
allow_ajax = True
|
allow_ajax = True
|
||||||
|
|
||||||
def pre_redirect(self, request, *args, **kwargs):
|
def pre_redirect(self, request, *args, **kwargs):
|
||||||
@ -199,7 +200,7 @@ class ProjectorEdit(RedirectView):
|
|||||||
Scale or scroll the projector.
|
Scale or scroll the projector.
|
||||||
"""
|
"""
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_manage_projector'
|
||||||
url = 'projector_control'
|
url = 'dashboard'
|
||||||
allow_ajax = True
|
allow_ajax = True
|
||||||
|
|
||||||
def pre_redirect(self, request, *args, **kwargs):
|
def pre_redirect(self, request, *args, **kwargs):
|
||||||
@ -223,7 +224,7 @@ class CountdownEdit(RedirectView):
|
|||||||
Start, stop or reset the countdown.
|
Start, stop or reset the countdown.
|
||||||
"""
|
"""
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_manage_projector'
|
||||||
url = 'projector_control'
|
url = 'dashboard'
|
||||||
allow_ajax = True
|
allow_ajax = True
|
||||||
|
|
||||||
def pre_redirect(self, request, *args, **kwargs):
|
def pre_redirect(self, request, *args, **kwargs):
|
||||||
@ -273,7 +274,7 @@ class ActivateOverlay(RedirectView):
|
|||||||
"""
|
"""
|
||||||
Activate or deactivate an overlay.
|
Activate or deactivate an overlay.
|
||||||
"""
|
"""
|
||||||
url = 'projector_control'
|
url = 'dashboard'
|
||||||
allow_ajax = True
|
allow_ajax = True
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_manage_projector'
|
||||||
|
|
||||||
@ -308,7 +309,7 @@ class CustomSlideCreateView(CreateView):
|
|||||||
template_name = 'projector/new.html'
|
template_name = 'projector/new.html'
|
||||||
model = ProjectorSlide
|
model = ProjectorSlide
|
||||||
context_object_name = 'customslide'
|
context_object_name = 'customslide'
|
||||||
success_url = 'projector_control'
|
success_url = 'dashboard'
|
||||||
apply_url = 'customslide_edit'
|
apply_url = 'customslide_edit'
|
||||||
|
|
||||||
|
|
||||||
@ -320,7 +321,7 @@ class CustomSlideUpdateView(UpdateView):
|
|||||||
template_name = 'projector/new.html'
|
template_name = 'projector/new.html'
|
||||||
model = ProjectorSlide
|
model = ProjectorSlide
|
||||||
context_object_name = 'customslide'
|
context_object_name = 'customslide'
|
||||||
success_url = 'projector_control'
|
success_url = 'dashboard'
|
||||||
apply_url = 'customslide_edit'
|
apply_url = 'customslide_edit'
|
||||||
|
|
||||||
|
|
||||||
@ -330,7 +331,7 @@ class CustomSlideDeleteView(DeleteView):
|
|||||||
"""
|
"""
|
||||||
permission_required = 'projector.can_manage_projector'
|
permission_required = 'projector.can_manage_projector'
|
||||||
model = ProjectorSlide
|
model = ProjectorSlide
|
||||||
url = 'projector_control'
|
url = 'dashboard'
|
||||||
|
|
||||||
|
|
||||||
def register_tab(request):
|
def register_tab(request):
|
||||||
@ -339,9 +340,10 @@ def register_tab(request):
|
|||||||
"""
|
"""
|
||||||
selected = True if request.path.startswith('/projector/') else False
|
selected = True if request.path.startswith('/projector/') else False
|
||||||
return Tab(
|
return Tab(
|
||||||
title=_('Projector'),
|
title=_('Dashboard'),
|
||||||
url=reverse('projector_control'),
|
url=reverse('dashboard'),
|
||||||
permission=request.user.has_perm('projector.can_manage_projector'),
|
permission=request.user.has_perm('projector.can_manage_projector') or
|
||||||
|
request.user.has_perm('projector.can_see_dashboard'),
|
||||||
selected=selected,
|
selected=selected,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -356,7 +358,7 @@ def get_widgets(request):
|
|||||||
template='projector/widget.html',
|
template='projector/widget.html',
|
||||||
context={
|
context={
|
||||||
'slides': ProjectorSlide.objects.all(),
|
'slides': ProjectorSlide.objects.all(),
|
||||||
'welcomepage_is_active': not bool(config["presentation"]),
|
'welcomepage_is_active': not bool(config["presentation"])},
|
||||||
}
|
permission_required = 'projector.can_manage_projector',
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user