Rework (projector) template with bootstrap.

- Always use templatetag 'absolute_url' instead of (depricated) 'model_url'.
  Search and replace all old arguments: edit -> update, view -> detail, delete
- Fixed bug in setting default value in 'absolute_url' templatetag
  (default value is defined in models.py only).

Updated 'backend' template.
This commit is contained in:
Emanuel Schuetze 2013-09-07 10:14:54 +02:00
parent d681e94eed
commit 84d5293fbc
33 changed files with 246 additions and 215 deletions

View File

@ -5,7 +5,7 @@
{% block title %}
{% if item %}
{{ item.title }} {% trans "Edit item" %}
{{ item }} {% trans "Edit item" %}
{% else %}
{% trans "New item" %}
{% endif %}

View File

@ -18,7 +18,7 @@
</a>
{% endif %}
{% if perms.agenda.can_manage_agenda %}
<a href="{{ node|absolute_url:'edit' }}" rel="tooltip" data-original-title="{% trans 'Edit' %}" class="btn btn-mini">
<a href="{{ node|absolute_url:'update' }}" rel="tooltip" data-original-title="{% trans 'Edit' %}" class="btn btn-mini">
<i class="icon-pencil"></i>
</a>
<a href="{{ node|absolute_url:'delete' }}" rel="tooltip" data-original-title="{% trans 'Delete' %}" class="btn btn-mini">

View File

@ -1,8 +1,10 @@
{% load i18n %}
<h1>
{{ item }}
<hr>
</h1>
{% if item.text %}
<h1>{{ item }}</h1>
<span>{{ item.text|safe|linebreaks }}</span>
{% else %}
<div class="item_fullscreen">{{ item }}</div>
{{ item.text|safe|linebreaks }}
{% endif %}

View File

@ -16,10 +16,10 @@
</style>
<h1>{{ title }}</h1>
<h2 style="margin-top: -10px;">
<h3>
{% trans 'List of speakers' %}
{% if item.speaker_list_closed %}(<span class="closed">{% trans 'closed' %}</span>){% endif %}
</h2>
</h3>
<p>
{% if list_of_speakers %}

View File

@ -10,4 +10,5 @@
<hr>
<a href="{% url 'agenda_next_on_current_list_of_speakers' %}" class="btn btn-mini"><i class="icon icon-bell"></i> {% trans 'Next speaker' %}</a>
<a href="{% url 'agenda_end_speach_on_current_list_of_speakers' %}" class="btn btn-mini"><i class="icon icon-bell"></i> {% trans 'End speach' %}</a>
<br>
{% endif %}

View File

@ -23,7 +23,7 @@
rel="tooltip" data-original-title="{% trans 'Show' %}">
<i class="icon-facetime-video {% if item.is_active_slide and active_type == 'text' %}icon-white{% endif %}"></i>
</a>&nbsp;
<a href="{{ item|absolute_url:'edit' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<a href="{{ item|absolute_url:'update' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<i class="icon-pencil"></i>
</a>
<a href="{{ item|absolute_url:'projector_preview' }}" title="{% trans 'Preview' %}" class="btn btn-mini right">

View File

@ -85,7 +85,7 @@ class Overview(TemplateView):
active_slide = get_active_slide()
if active_slide['callback'] == 'agenda':
agenda_active = active_slide.get('pk', 'agenda') == 'agenda'
agenda_is_active = active_slide.get('pk', 'agenda') == 'agenda'
active_type = active_slide.get('type', 'text')
else:
agenda_is_active = None

View File

@ -23,8 +23,10 @@
<a href="{% url 'assignment_pdf' assignment.id %}" class="btn btn-mini" rel="tooltip" data-original-title="{% trans 'Print election as PDF' %}" target="_blank"><i class="icon-print"></i> PDF</a>
<!-- activate projector -->
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' assignment.sid %}" class="activate_link btn {% if assignment.active %}btn-primary{% endif %} btn-mini" rel="tooltip" data-original-title="{% trans 'Show election' %}">
<i class="icon-facetime-video {% if assignment.active %}icon-white{% endif %}"></i>
<a href="{{ assignment|absolute_url:'projector' }}"
class="activate_link btn {% if assignment.is_active_slide %}btn-primary{% endif %} btn-mini"
rel="tooltip" data-original-title="{% trans 'Show election' %}">
<i class="icon-facetime-video {% if assignment.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
{% if perms.assignment.can_manage_assignment or perms.agenda.can_manage_agenda %}
@ -177,7 +179,7 @@
{% endfor %}
{% if assignment.candidates and perms.assignment.can_manage_assignment and assignment.status == "vot" %}
<th class="span1 nobr">
<a href="{% url 'assignment_gen_poll' assignment.id %}" class="btn btn-mini">
<a href="{% url 'assignment_poll_create' assignment.id %}" class="btn btn-mini">
<i class="icon-plus"></i> {% trans 'New ballot' %}
</a>
</th>

View File

@ -1,6 +1,7 @@
{% extends "base.html" %}
{% load i18n %}
{% load tags %}
{% block title %}
{% if assignment %}
@ -19,7 +20,11 @@
{% trans "New election" %}
{% endif %}
<small class="pull-right">
<a href="{% url 'assignment_list' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
{% if assignment %}
<a href="{{ assignment|absolute_url }}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to election" %}</a>
{% else %}
<a href="{% url 'assignment_list' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
{% endif %}
</small>
</h1>

View File

@ -37,7 +37,7 @@
</tr>
</thead>
{% for object in object_list %}
<tr class="{% if object.active %}activeline{% endif %}">
<tr class="{% if object.is_active_slide %}activeline{% endif %}">
<td><a href="{{ object|absolute_url:'detail' }}">{{ object }}</a></td>
<td class="optional">
<!-- posts -->
@ -54,10 +54,10 @@
<td>
<span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' object.sid %}"
class="activate_link btn {% if object.active %}btn-primary{% endif %} btn-mini"
<a href="{{ object|absolute_url:'projector' }}"
class="activate_link btn {% if object.is_active_slide %}btn-primary{% endif %} btn-mini"
rel="tooltip" data-original-title="{% trans 'Show election' %}">
<i class="icon-facetime-video {% if object.active %}icon-white{% endif %}"></i>
<i class="icon-facetime-video {% if object.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
{% if perms.assignment.can_manage_assignment %}

View File

@ -2,20 +2,23 @@
{% load staticfiles %}
{% load tags %}
{% if assignment.status != "fin" %}
<div id="sidebar">
<div class="box">
<p><b>{% trans "Status" %}:</b><br>
<div class="well">
<!-- Status -->
<h4 class="first">{% trans "Status" %}:</h4>
{% trans assignment.get_status_display %}</p>
{% if assignment.status == "sea" or assignment.status == "vot" %}
<p><b>{% trans "Number of available posts" %}:</b><br>
{{ assignment.posts }}</p>
{% endif %}
</div>
<h4>{% trans "Number of available posts" %}:</h4>
{{ assignment.posts }}
</div>
</div>
{% endif %}
<h1>{% trans "Election" %}: {{ assignment }}</h1>
<h1>{{ assignment }}
<br>
<small>
{% trans "Election" %}
</small>
<hr>
</h1>
{% if not assignment.candidates %}
<p>
<div class="text">{{ assignment.description|linebreaks }}</div>

View File

@ -46,17 +46,21 @@ def model_url(object, link='view'):
@register.filter
def absolute_url(model, link='detail'):
def absolute_url(model, link=None):
"""
Returns the absolute_url to a model. The 'link' argument decides which url
will be returned. See get_absolute_url() in the model.
Example: {{ motion|absolute_url:'delete' }}
"""
try:
return model.get_absolute_url(link)
except ValueError:
return ''
if link is None:
url = model.get_absolute_url()
else:
try:
url = model.get_absolute_url(link)
except ValueError:
url = ''
return url
@register.filter

View File

@ -46,3 +46,6 @@ td.diff_header {
margin-top: 5px;
margin-bottom: 15px;
}
#motion-vote-results img {
margin-top: -4px;
}

View File

@ -25,12 +25,12 @@
{% for category in category_list %}
<tr>
<td>{{ category.prefix }}</td>
<td><a href="{% model_url category 'update' %}">{{ category }}</a></td>
<td><a href="{{ category|absolute_url }}">{{ category }}</a></td>
<td><span style="width: 1px; white-space: nowrap;">
<a href="{% model_url category 'update' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
<a href="{{ category|absolute_url:'update' }}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
class="btn btn-mini"><i class="icon-pencil"></i>
</a>
<a href="{% model_url category 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
<a href="{{ category|absolute_url:'delete' }}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
class="btn btn-mini"><i class="icon-remove"></i>
</a>
</span>

View File

@ -22,16 +22,15 @@
{% endif %}
</small>
<small class="pull-right">
<a href="{% url 'motion_list' %}" class="btn btn-mini"
rel="tooltip" data-original-title="{% trans 'Show item' %}">
<a href="{% url 'motion_list' %}" class="btn btn-mini">
<i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
<a href="{% url 'motion_detail_pdf' motion.id %}" class="btn btn-mini"
rel="tooltip" data-original-title="{% trans 'Print motion as PDF' %}" target="_blank">
<i class="icon-print"></i> PDF</a>
<!-- activate projector -->
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' motion.sid %}" class="activate_link btn {% if motion.active %}btn-primary{% endif %} btn-mini" rel="tooltip" data-original-title="{% trans 'Show motion' %}">
<i class="icon-facetime-video {% if motion.active %}icon-white{% endif %}"></i>
<a href="{{ motion|absolute_url:'projector' }}" class="activate_link btn {% if motion.is_active_slide %}btn-primary{% endif %} btn-mini" rel="tooltip" data-original-title="{% trans 'Show motion' %}">
<i class="icon-facetime-video {% if motion.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
{% if perms.motion.can_manage_motion or perms.agenda.can_manage_agenda or allowed_actions.edit %}
@ -42,7 +41,7 @@
<ul class="dropdown-menu pull-right">
<!-- edit -->
{% if allowed_actions.edit %}
<li><a href="{{ motion|absolute_url:'edit' }}"><i class="icon-pencil"></i> {% trans 'Edit motion' %}</a></li>
<li><a href="{{ motion|absolute_url:'update' }}"><i class="icon-pencil"></i> {% trans 'Edit motion' %}</a></li>
{% endif %}
{% if perms.motion.can_manage_motion %}
<!-- delete -->
@ -196,7 +195,7 @@
{% if perms.motion.can_manage_motion or poll.has_votes %}
<li><b>{{ poll.poll_number|ordinal|safe }} {% trans "vote" %}</b>
{% if perms.motion.can_manage_motion %}
<a class="btn btn-mini" href="{{ poll|absolute_url:'edit' }}" title="{% trans 'Edit Vote' %}"><i class="icon-pencil"></i></a>
<a class="btn btn-mini" href="{{ poll|absolute_url:'update' }}" title="{% trans 'Edit Vote' %}"><i class="icon-pencil"></i></a>
<a class="btn btn-mini" href="{{ poll|absolute_url:'delete' }}" title="{% trans 'Delete Vote' %}"><i class="icon-remove"></i></a>
{% endif %}
<br>

View File

@ -45,7 +45,7 @@
{% endif %}
<small class="pull-right">
{% if motion %}
<a href="{% model_url motion 'view' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to motion" %}</a>
<a href="{{ motion|absolute_url }}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to motion" %}</a>
{% else %}
<a href="{% url 'motion_list' %}" class="btn btn-mini"><i class="icon-chevron-left"></i> {% trans "Back to overview" %}</a>
{% endif %}

View File

@ -48,9 +48,9 @@
</tr>
</thead>
{% for motion in motion_list %}
<tr class="{% if motion.active %}activeline{% endif %}">
<tr class="{% if motion.is_active_slide %}activeline{% endif %}">
<td class="nobr">{{ motion.identifier|default:'' }}</td>
<td><a href="{% model_url motion %}">{{ motion }}</a></td>
<td><a href="{{ motion|absolute_url }}">{{ motion }}</a></td>
<td class="optional">{% if motion.category %}{{ motion.category }}{% else %}{% endif %}</td>
<td><span class="label label-info">{% trans motion.state.name %}</span></td>
<td class="optional">
@ -74,15 +74,16 @@
<td>
<span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' motion.sid %}" class="activate_link btn {% if motion.active %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
<i class="icon-facetime-video {% if motion.active %}icon-white{% endif %}"></i>
<a href="{{ motion|absolute_url:'projector' }}" class="activate_link btn {% if motion.is_active_slide %}btn-primary{% endif %} btn-mini"
rel="tooltip" data-original-title="{% trans 'Show motion' %}">
<i class="icon-facetime-video {% if motion.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
{% if perms.motion.can_manage_motion %}
<a href="{% model_url motion 'edit' %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
<a href="{{ motion|absolute_url:'update' }}" rel="tooltip" data-original-title="{% trans 'Edit' %}"
class="btn btn-mini"><i class="icon-pencil"></i>
</a>
<a href="{% model_url motion 'delete' %}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
<a href="{{ motion|absolute_url:'delete' }}" rel="tooltip" data-original-title="{% trans 'Delete' %}"
class="btn btn-mini"><i class="icon-remove"></i>
</a>
{% endif %}

View File

@ -2,16 +2,15 @@
{% load staticfiles %}
<div id="sidebar">
<div class="box">
<div class="well">
<!-- Status -->
<p><b>{% trans "Status" %}:</b><br>
{% trans motion.state.name %}
</p>
<h4 class="first">{% trans "Status" %}:</h4>
{% trans motion.state.name %}
<!-- poll results -->
{% with motion.polls.all as polls %}
{% if polls.exists and polls.0.has_votes %}
<p><b>{% trans "Poll result" %}:</b>
<h4>{% trans "Poll result" %}:</h4>
{% for poll in polls %}
{% if poll.has_votes %}
{% if polls|length > 1 %}
@ -33,31 +32,34 @@
{% endif %}
{% endif %}
{% endfor %}
</p>
{% endif %}
{% endwith %}
<!-- Submitter -->
<p><b>{% trans "Submitter" %}:</b><br>
{% for submitter in motion.submitter.all %}
{{ submitter.person }}{% if not forloop.last %},<br> {% endif %}
{% endfor %}
</p>
<h4>{% trans "Submitter" %}:</h4>
{% for submitter in motion.submitter.all %}
{{ submitter.person }}{% if not forloop.last %},<br> {% endif %}
{% empty %}
-
{% endfor %}
<!-- Category -->
{% if motion.category %}
<h4>{% trans "Category" %}:</h4>
{{ motion.category }}
{% endif %}
</div>
</div>
<h1>
{% if motion.identifier %}
{% trans "Motion" %} {{ motion.identifier }}
{% else %}
{% trans "Motion" %} [---]
{% endif %}
<small>
{% if motion.last_version.version_number > 1 %}({% trans 'Version' %} {{ motion.active_version.version_number }}){% endif %}
</small>
{{ motion.active_version.title }}
<br>
<small>
{% trans "Motion" %} {{ motion.identifier|default:'' }}
{% if motion.get_active_version.version_number > 1 %} | {% trans 'Version' %} {{ motion.active_version.version_number }}{% endif %}
</small>
<hr>
</h1>
<b>{{ motion.active_version.title }}</b>
<hr>
<p>
<div class="text">{{ motion.active_version.text|safe }}</div>

View File

@ -7,7 +7,7 @@
<a href="{{ motion|absolute_url:'projector' }}" class="activate_link btn {% if motion.is_active_slide %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
<i class="icon-facetime-video {% if motion.is_active_slide %}icon-white{% endif %}"></i>
</a>&nbsp;
<a href="{{ motion|absolute_url:'edit' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<a href="{{ motion|absolute_url:'update' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<i class="icon-pencil"></i>
</a>
<a href="{{ motion|absolute_url:'projector_preview' }}" title="{% trans 'Preview' %}" class="btn btn-mini right">

View File

@ -148,7 +148,7 @@ class GroupForm(forms.ModelForm, CssClassMixin):
not Group.objects.exclude(pk=self.instance.pk).filter(
permissions__in=[get_protected_perm()],
user__pk=self.request.user.pk).exists()):
error_msg = _('You can not remove the permission to manage participants from the last group your are in.')
error_msg = _('You can not remove the permission to manage participants from the last group you are in.')
raise forms.ValidationError(error_msg)
return super(GroupForm, self).clean(*args, **kwargs)

View File

@ -33,7 +33,7 @@
</tr>
</thead>
{% for group in groups %}
<tr class="{% if group.active %}activeline{% endif %}">
<tr class="{% if group.is_active_slide %}activeline{% endif %}">
<td class="nobr">{{ group.pk }}
{% if group.pk == 1 or group.pk == 2 %}
<a title="{% blocktrans %}The groups 1 ('Anonymous') and 2 ('Registered') are fixed default groups which can not be deleted. Each created or imported participant is a member of group 2. Use custom groups to set additional permissions for a subset of participants.{% endblocktrans %}"><i class="icon-info-sign"></i></a>
@ -45,9 +45,11 @@
<td>
<span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' group.sid %}" class="activate_link btn {% if group.active %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
<i class="icon-facetime-video {% if group.active %}icon-white{% endif %}"></i>
</a>
<a href="{{ group|absolute_url:'projector' }}"
class="activate_link btn {% if group.is_active_slide %}btn-primary{% endif %} btn-mini"
rel="tooltip" data-original-title="{% trans 'Show group' %}">
<i class="icon-facetime-video {% if group.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
<a href="{% url 'user_group_edit' group.id %}" title="{% trans 'Edit' %}" class="btn btn-mini">
<i class="icon-pencil"></i>

View File

@ -1,7 +1,8 @@
{% load i18n %}
<div class="item_fullscreen">{% trans group.name %}
<span>
<p><i>{{ group.user_set.all.count }} {% trans "participants" %}</i></p>
</span>
</div>
<h1>
{% trans group.name %}
<hr>
</h1>
<i>{{ group.user_set.all.count }} {% trans "participants" %}</i>

View File

@ -25,7 +25,7 @@
{% trans 'Delegate' %} (<code>3</code>), {% trans 'Staff' %} (<code>4</code>)
</li>
<li>
{% trans 'At least first name or last name have to filled in. All other fields are optional and may be empty.' %}
{% trans 'At least first name or last name have to be filled in. All other fields are optional and may be empty.' %}
</li>
<li>{% trans 'The first line (header) is ignored' %}.</li>
<li>

View File

@ -59,7 +59,7 @@
</thead>
<tbody>
{% for user in users %}
<tr class="{% if user.active %}activeline{% endif %}">
<tr class="{% if user.is_active_slide %}activeline{% endif %}">
<td>{% if perms.participant.can_manage_participant %}
{% if user != request_user %}
<a href="{% url 'user_status_toggle' user.id %}"
@ -108,9 +108,9 @@
<td>
<span style="width: 1px; white-space: nowrap;">
{% if perms.projector.can_manage_projector %}
<a href="{% url 'projector_activate_slide' user.sid %}" class="activate_link btn {% if user.active %}btn-primary{% endif %} btn-mini"
<a href="{{ user|absolute_url:'projector' }}" class="activate_link btn {% if user.is_active_slide %}btn-primary{% endif %} btn-mini"
rel="tooltip" data-original-title="{% trans 'Show participant' %}">
<i class="icon-facetime-video {% if user.active %}icon-white{% endif %}"></i>
<i class="icon-facetime-video {% if user.is_active_slide %}icon-white{% endif %}"></i>
</a>
{% endif %}
<a href="{% url 'user_edit' user.id %}" rel="tooltip" data-original-title="{% trans 'Edit' %}"

View File

@ -1,15 +1,19 @@
{% load i18n %}
<div class="item_fullscreen">{{ shown_user }}
<span>
{% if shown_user.committee %}
<p>{{ shown_user.committee }}</p>
<h1>
{{ shown_user.clean_name }}<br>
<small>{{ shown_user.structure_level }}</small>
<hr>
</h1>
{% if shown_user.committee %}
<p>{{ shown_user.committee }}</p>
{% endif %}
<p>
{% if shown_user.groups.all %}
{% for group in shown_user.groups.all %}
{% trans group.name %}{% if not forloop.last %}<br> {% endif %}
{% endfor %}
{% endif %}
<p>
{% if shown_user.groups.all %}
{% for group in shown_user.groups.all %}
{% trans group.name %}{% if not forloop.last %}, {% endif %}
{% endfor %}
{% endif %}
</p>
</span>
</div>
</p>

View File

@ -6,7 +6,7 @@
<a href="{{ user|absolute_url:'projector' }}" class="activate_link btn {% if user.is_active_slide %}btn-primary{% endif %} btn-mini" title="{% trans 'Show' %}">
<i class="icon-facetime-video {% if user.is_active_slide %}icon-white{% endif %}"></i>
</a>&nbsp;
<a href="{{ user|absolute_url:'edit' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<a href="{{ user|absolute_url:'update' }}" title="{% trans 'Edit' %}" class="btn btn-mini right">
<i class="icon-pencil"></i>
</a>
<a href="{{ user|absolute_url:'projector_preview' }}" title="{% trans 'Preview' %}" class="btn btn-mini right">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -6,50 +6,32 @@
*/
body{
margin : 0px;
padding-top: 0px;
padding-left : 0px;
font-family: 'Lucida Grande',"Trebuchet MS",Verdana,sans-serif;
font-size : 20px;
background-color: #FAFAFB;
font-size: 20px !important;
line-height: 24px !important;
overflow: hidden;
}
/*** HEADER ***/
#header {
position:relative;
background:url("../img/presentation-header-bg.png") repeat-x scroll center top #3D3020;
height:100px;
background-color: #333333;
background-image: -moz-linear-gradient(top, #444444, #222222);
background-image: -ms-linear-gradient(top, #444444, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
background-image: -webkit-linear-gradient(top, #444444, #222222);
background-image: -o-linear-gradient(top, #444444, #222222);
background-image: linear-gradient(top, #444444, #222222);
box-shadow: 0 0 7px rgba(0,0,0,0.6);
height: 70px;
margin-bottom: 20px;
padding: 7px 20px 0;
position: relative;
}
#logo {
position:absolute;
top: 15px;
left: 100px;
}
.event_name {
position:absolute;
text-align:right;
top: 10px;
right: 40px;
font-size:42px;
font-weight:bold;
color: #ffffff;
}
.event_description {
position:absolute;
text-align:right;
top:60px;
right:40px;
font-size:17px;
color: #cfcfcf;
}
#ajaxswitcher {
height: 20px;
padding: 5px;
position: fixed;
z-index: 100;
display: none;
position: absolute;
top: 8px;
left: 75px;
}
#currentTime {
border:0 solid #000000;
font-size:24px;
@ -58,12 +40,82 @@ body{
top:110px;
right:40px;
padding-left:30px;
background: url(../img/glyphicons_054_clock_big.png) no-repeat scroll 0px 4px;
background: url(../img/glyphicons_054_clock_big.png) no-repeat scroll 0px 0px;
}
#currentTime.ajax_error {
border-bottom: 4px solid red;
/*** FOOTER ***/
#footer {
color: #999999;
font-size: 16px;
clear: both;
margin-top: 50px;
position: fixed;
left: 0px;
right: 0;
bottom: 0px;
height: 30px;
padding-top: 10px;
background-color: #333333;
background-image: -moz-linear-gradient(top, #444444, #222222);
background-image: -ms-linear-gradient(top, #444444, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
background-image: -webkit-linear-gradient(top, #444444, #222222);
background-image: -o-linear-gradient(top, #444444, #222222);
background-image: linear-gradient(top, #444444, #222222);
box-shadow: 0 0 7px rgba(0,0,0,0.6);
border-top: 1px solid #999999;
}
.event_name_description {
left: 75px;
float: left;
position: absolute;
width: 50%;
}
.event_date_location {
text-align: right;
right: 40px;
position: absolute;
width: 40%;
}
/*** CONTENT ***/
#content {
position: absolute;
left: 75px;
top: 150px;
right: 40px;
z-index: -1;
}
h1 {
font-size: 45px !important;
margin-bottom: 40px !important;
}
#sidebar {
width: 255px;
float: right;
margin: 0 0 20px 10px;
}
.well h4 {
margin: 20px 0 2px 0;
}
.well h4 .first {
margin-top: 0;
}
.well .results {
line-height: 30px;
}
.well .results hr {
margin: 5px 0 !important;
}
hr {
margin: 10px 0 !important;
}
/*** OVERLAY ***/
#overlay_transparent {
background-color: #777777;
opacity: 0.6;
@ -74,71 +126,16 @@ body{
height: 100%;
}
/*** CONTENT ***/
#contentwrapper {
position:absolute;
left:100px;
top:150px;
right:40px;
z-index: -1;
}
#scrollcontentcontainer {
position: relative;
margin-top: -11px;
overflow: hidden;
}
.title
{
position: absolute;
top: 58px;
left: 100px;
font-size: 30px;
letter-spacing:4px;
color: #FAFAFB;
}
#sidebar {
width: 255px;
float: right;
margin: 0 0 20px 10px;
}
.box {
border:1px solid #808080;
padding: 0px 10px 10px 10px;
}
.box h4 {
margin-bottom: 5px;
margin-top: 10px;
color: #333333;
font-weight: normal;
text-transform: uppercase;
}
.box .results {
font-size: 120%;
margin-top: -12px;
}
/*** Items *** /
/* item title centered */
.item_fullscreen
/*** Agenda Items ***/
.itemlist
{
position: relative;
top: 110px;
right:30px;
font-size:230%;
font-weight:bold;
text-align: center;
margin-top: 20px;
}
.item_fullscreen span
{
font-size: 50%; font-weight:normal;
}
/* items in a list*/
.itemlist li
{
font-size:130%;
padding-bottom: 15px;
padding-bottom: 20px;
list-style-type: none;
}
.itemlist .closed

View File

@ -5,15 +5,15 @@
<!DOCTYPE html>
<html lang="{{LANGUAGE_CODE}}">
<head>
<link type="text/css" rel="stylesheet" href="{% static 'styles/projector.css' %}">
<link rel="shortcut icon" href="{% static 'img/favicon.png' %}" type="image/png" />
<title>{{ 'event_name'|get_config }} {% trans 'Projector' %}</title>
<link href="{% static 'styles/projector.css' %}" type="text/css" rel="stylesheet">
<link href="{% static 'styles/bootstrap.min.css' %}" type="text/css" rel="stylesheet">
<link href="{% static 'img/favicon.png' %}" type="image/png" rel="shortcut icon">
<title>{% trans 'Projector' %} {{ 'event_name'|get_config }}</title>
</head>
<body>
<div id="header">
<div id="logo"><img src="{% static 'img/logo-projector.png' %}"></div>
<div class="event_name">{% get_config 'event_name' %}</div>
<div class="event_description">{% get_config 'event_description' %}</div>
<a title="Startseite" id="logo" href="/"><img alt="Logo" src="/static/img/logo.png"></a>
<div class="pull-right"></div>
</div>
<div id="overlays">
@ -23,6 +23,17 @@
<div id="content" {% if reload %}class="reload"{% endif %}>
{{ content }}
</div>
<div id="footer">
<div class="event_name_description">
{{ 'event_name'|get_config }} | {{ 'event_description'|get_config }}
</div>
<div class="event_date_location">
{% if 'event_date'|get_config %}
{{ 'event_date'|get_config }}{% if 'event_location'|get_config %}, {{ 'event_location'|get_config }}{% endif %}
{% endif %}
</div>
</div>
<script type="text/javascript" src="{% static 'javascript/jquery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'javascript/projector.js' %}"></script>
<script type="text/javascript">

View File

@ -1,4 +1,3 @@
{% load tags %}
<div class="item_fullscreen">{% get_config 'welcome_title' %}</div>
<h1>{{ 'welcome_title'|get_config }}</h1>

View File

@ -2,15 +2,15 @@
#overlay_countdown_inner {
position: fixed;
right: 40px;
height: 37px;
top: 0;
padding: 20px 50px;
font-size: 4em;
font-weight: bold;
border-bottom-left-radius: 0.5em;
border-bottom-right-radius: 0.5em;
background: #DDD9D9;
padding: 0 1em;
}
</style>
<div id="overlay_countdown_inner">
<div id="overlay_countdown_inner" class="well">
</div>

View File

@ -1,11 +1,6 @@
{% load i18n %}
{% if slide.text %}
<h1>{{ slide.title }}</h1>
{% else %}
<div class="item_fullscreen">{{ slide.title }}</div>
{% endif %}
<h1>{{ slide.title }}</h1>
{% if slide.text %}
<span>{{ slide.text|safe|linebreaks }}</span>

View File

@ -121,7 +121,7 @@ class LockoutProtection(TestCase):
response=response,
form='form',
field=None,
errors='You can not remove the permission to manage participants from the last group your are in.')
errors='You can not remove the permission to manage participants from the last group you are in.')
class TestUserSettings(TestCase):