Merge branch 'master' of ssh://ssh.github.com/OpenSlides/OpenSlides
Conflicts: openslides/locale/de/LC_MESSAGES/django.po Signed-off-by: René Köcher <shirk@bitspin.org>
This commit is contained in:
commit
ed33b47666
11
INSTALL.txt
11
INSTALL.txt
@ -98,13 +98,12 @@ II. Installation on GNU/Linux and MacOSX
|
||||
|
||||
OR
|
||||
|
||||
b) Clone development version from mercurial repository
|
||||
http://hg.openslides.org. This requires Mercurial source control
|
||||
management (hg):
|
||||
b) Clone development version from OpenSlides' github repository
|
||||
https://github.com/OpenSlides/OpenSlides.
|
||||
This requires Git, see http://git-scm.com/.
|
||||
Open command line (cmd) and run:
|
||||
|
||||
E.g. for Ubuntu run:
|
||||
$ sudo apt-get install mercurial
|
||||
$ hg clone http://hg.openslides.org OpenSlides
|
||||
git clone git://github.com/OpenSlides/OpenSlides.git
|
||||
|
||||
3. Setup your virtual environment with virtualenv:
|
||||
|
||||
|
@ -6,17 +6,11 @@ How to create a new portable Windows distribution of OpenSlides:
|
||||
|
||||
easy_install -Z django django-mptt reportlab pil
|
||||
|
||||
2.) Install OpenSlides by running in the top directory:
|
||||
|
||||
python setup.py install
|
||||
|
||||
NOTE: This step must be repeated whenever you make changes to OpenSlides.
|
||||
|
||||
3.) Run in the main directory of the OpenSlides checkout:
|
||||
2.) Run in the main directory of the OpenSlides checkout:
|
||||
|
||||
python extras\win32-portable\prepare_portable.py
|
||||
|
||||
4.) The portable OpenSlides distribution is now ready as a zip archive
|
||||
3.) The portable OpenSlides distribution is now ready as a zip archive
|
||||
in the 'dist' directory
|
||||
|
||||
|
||||
|
@ -18,8 +18,6 @@ import zipfile
|
||||
import distutils.ccompiler
|
||||
import distutils.sysconfig
|
||||
|
||||
from contextlib import nested
|
||||
|
||||
import pkg_resources
|
||||
|
||||
sys.path.insert(0, os.getcwd())
|
||||
@ -80,10 +78,7 @@ SITE_PACKAGES = {
|
||||
"pil": {
|
||||
# NOTE: PIL is a special case, see copy_pil
|
||||
"copy": [],
|
||||
},
|
||||
"openslides": {
|
||||
"copy" : ["openslides"],
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
PY_DLLS = [
|
||||
@ -297,9 +292,13 @@ def main():
|
||||
raise
|
||||
|
||||
os.makedirs(odir)
|
||||
out_site_packages = os.path.join(odir, "site-packages")
|
||||
|
||||
collect_lib(libdir, odir)
|
||||
collect_site_packages(sitedir, os.path.join(odir, "site-packages"))
|
||||
collect_site_packages(sitedir, out_site_packages)
|
||||
|
||||
exclude = get_pkg_exclude("openslides")
|
||||
copy_dir_exclude(exclude, ".", "openslides", out_site_packages)
|
||||
|
||||
if not compile_openslides_launcher():
|
||||
sys.stdout.write("Using prebuild openslides.exe\n")
|
||||
|
@ -3,7 +3,7 @@
|
||||
"pk": 1,
|
||||
"model": "auth.group",
|
||||
"fields": {
|
||||
"name": "Beobachter",
|
||||
"name": "Beobachter/in",
|
||||
"permissions": [
|
||||
[
|
||||
"can_see_agenda",
|
||||
@ -57,7 +57,7 @@
|
||||
"pk": 2,
|
||||
"model": "auth.group",
|
||||
"fields": {
|
||||
"name": "Delegierter",
|
||||
"name": "Delegierte/r",
|
||||
"permissions": [
|
||||
[
|
||||
"can_see_agenda",
|
||||
|
Binary file not shown.
@ -2189,6 +2189,10 @@ msgstr "Teilnehmer/in ist kein Mitglied einer Gruppe."
|
||||
msgid "The participant has not logged in yet."
|
||||
msgstr "Teilnehmer/in hat sich noch nicht angemeldet."
|
||||
|
||||
#: participant/templates/projector/GroupSlide.html:11
|
||||
msgid "participants"
|
||||
msgstr "Teilnehmer/innen"
|
||||
|
||||
#: poll/models.py:95
|
||||
msgid "Votes invalid"
|
||||
msgstr "Ungültige Stimmen"
|
||||
|
@ -93,10 +93,12 @@
|
||||
<a href="{% url user_edit user.id %}">
|
||||
<img src="{% static 'images/icons/edit.png' %}" title="{% trans 'Edit participant' %}">
|
||||
</a>
|
||||
{% if user != request_user and not user.is_superuser %}
|
||||
{% if user != request_user %}
|
||||
<a href="{% url user_delete user.id %}">
|
||||
<img src="{% static 'images/icons/delete.png' %}" title="{% trans 'Delete participant' %}">
|
||||
</a>
|
||||
{% endif %}
|
||||
{% if user != request_user and not user.is_superuser %}
|
||||
<a class="status_link deactivate" href="{% url user_status_deactivate user.id %}" title="{% trans 'Change status to inactive' %}"{% if not user.is_active %} style="display:none"{% endif %}>
|
||||
<span></span>
|
||||
</a>
|
||||
|
@ -14,7 +14,7 @@
|
||||
{% endif %}
|
||||
</li>
|
||||
{% empty %}
|
||||
<li>{% trans "None" %}</li>
|
||||
<li><i>{% trans "None" %}</i></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
{% endif %}
|
||||
</li>
|
||||
{% empty %}
|
||||
<li>{% trans "None" %}</li>
|
||||
<li><i>{% trans "None" %}</i></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
@ -44,6 +44,6 @@
|
||||
{% for assignment in assignments %}
|
||||
<li><a href="{% model_url assignment 'view' %}">{{ assignment }}</a></li>
|
||||
{% empty %}
|
||||
<li>{% trans "None" %}</li>
|
||||
<li><i>{% trans "None" %}</i></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -6,20 +6,19 @@
|
||||
{% block title %}{{ block.super }} - {{ title }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<h1>{{ group }}</h1>
|
||||
<p>{{ group.description }}</p>
|
||||
|
||||
<h2>{% trans "Members" %}</h2>
|
||||
<div class="item_fullscreen">{{ group }}
|
||||
<span>
|
||||
<p><i>{{ group.user_set.all.count }} {% trans "participants" %}:</i></p>
|
||||
<p>
|
||||
{% if group.user_set.all %}
|
||||
{{ group.user_set.all|join:", " }}
|
||||
{% endif %}
|
||||
</p>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block scrollcontent %}
|
||||
|
||||
{% for member in group.user_set.all %}
|
||||
<p>{{ member }}</p>
|
||||
{% empty %}
|
||||
<p>{% trans "No members available." %}</p>
|
||||
{% endfor %}
|
||||
|
||||
{% endblock %}
|
||||
|
@ -208,8 +208,6 @@ class UserDeleteView(DeleteView):
|
||||
def pre_redirect(self, request, *args, **kwargs):
|
||||
if self.get_object() == self.request.user:
|
||||
messages.error(request, _("You can not delete yourself."))
|
||||
elif self.get_object().is_superuser:
|
||||
messages.error(request, _("You can not delete the administrator."))
|
||||
else:
|
||||
super(DeleteView, self).pre_redirect(request, *args, **kwargs)
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
{{ welcometext|safe|linebreaks }}
|
@ -316,7 +316,7 @@ input[type="submit"], input[type="button"] {
|
||||
padding:4px 10px !important;
|
||||
margin: 2px 0 2px 0;
|
||||
}
|
||||
#id_permissions {
|
||||
#id_permissions, #id_users {
|
||||
height: 310px;
|
||||
}
|
||||
.button {
|
||||
|
Loading…
Reference in New Issue
Block a user