3
0
Fork 0
mirror of https://github.com/nanoy42/coope synced 2025-01-25 09:34:21 +00:00
This commit is contained in:
Yoann Pétri 2019-02-28 13:18:41 +01:00
parent 84e2a529c6
commit 3a79cfb0ce
182 changed files with 64005 additions and 917 deletions

View file

@ -2,26 +2,28 @@ from django.contrib.auth.decorators import user_passes_test
from django.contrib.auth.models import User
from django.shortcuts import redirect, get_object_or_404
from django.urls import reverse
from functools import wraps
from preferences.models import GeneralPreferences
def admin_required(view):
"""
Test if the user is staff
Test if the user is staff.
"""
return user_passes_test(lambda u: u.is_staff)(view)
def superuser_required(view):
"""
Test if the user is superuser
Test if the user is superuser.
"""
return user_passes_test(lambda u: u.is_superuser)(view)
def self_or_has_perm(pkName, perm):
"""
Test if the user is the request user (pk) or has perm permission
Test if the user is the request user (pk) or has perm permission.
"""
def decorator(view):
@wraps(view)
def wrapper(request, *args, **kwargs):
user = get_object_or_404(User, pk=kwargs[pkName])
if(user == request.user or request.user.has_perm(perm)):
@ -32,6 +34,10 @@ def self_or_has_perm(pkName, perm):
return decorator
def active_required(view):
"""
Test if the site is active (:attr:`preferences.models.GeneralPreferences.is_active`).
"""
@wraps(view)
def wrapper(request, *args, **kwargs):
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
if(not gp.is_active):
@ -40,7 +46,11 @@ def active_required(view):
return wrapper
def acl_or(*perms):
"""
Test if a user has one of perms
"""
def decorator(view):
@wraps(view)
def wrapper(request,*args, **kwargs):
can_pass = request.user.has_perm(perms[0])
for perm in perms:
@ -53,7 +63,11 @@ def acl_or(*perms):
return decorator
def acl_and(*perms):
"""
Test if a user has all perms
"""
def decorator(view):
@wraps(view)
def wrapper(request,*args, **kwargs):
can_pass = request.user.has_perm(perms[0])
for perm in perms:

View file

@ -30,7 +30,6 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admindocs',
'gestion',
'users',
'preferences',

View file

@ -6,48 +6,75 @@ register = template.Library()
@register.simple_tag
def president():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.president`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.president
@register.simple_tag
def vice_president():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.vice_president`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.vice_president
@register.simple_tag
def treasurer():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.treasurer`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.treasurer
@register.simple_tag
def secretary():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.secretary`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.secretary
@register.simple_tag
def brewer():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.brewer`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.brewer
@register.simple_tag
def grocer():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.grocer`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
return gp.grocer
@register.simple_tag
def global_message():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.global_message`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
messages = gp.global_message.split("\n")
return random.choice(messages)
@register.simple_tag
def logout_time():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.automatic_logout_time`.
"""
gp, _ = GeneralPreferences.objects.get_or_create(pk=1)
logout_time = gp.automatic_logout_time
return logout_time
@register.simple_tag
def statutes():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.statutes`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
try:
return '<a target="_blank" href="' + gp.statutes.url + '">' + str(gp.statutes) + '</a>'
@ -56,6 +83,9 @@ def statutes():
@register.simple_tag
def rules():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.rules`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
try:
return '<a target="_blank" href="' + gp.rules.url + '">' + str(gp.rules) + '</a>'
@ -64,6 +94,9 @@ def rules():
@register.simple_tag
def menu():
"""
A tag which returns :attr:`preferences.models.GeneralPreferences.menu`.
"""
gp,_ = GeneralPreferences.objects.get_or_create(pk=1)
try:
return '<a target="_blank" href="' + gp.menu.url + '">' + str(gp.menu) + '</a>'

View file

@ -5,6 +5,9 @@ from preferences.models import GeneralPreferences
from gestion.models import Keg
def home(request):
"""
Redirect the user either to :func:`~gestion.views.manage` view (if connected and staff) or :func:`~coopeV3.views.homepage` view (if connected and not staff) or :func:`~users.views.loginView` view (if not connected).
"""
if request.user.is_authenticated:
if(request.user.has_perm('gestion.can_manage')):
return redirect(reverse('gestion:manage'))
@ -14,9 +17,15 @@ def home(request):
return redirect(reverse('users:login'))
def homepage(request):
"""
View which displays the :attr:`~preferences.models.GeneralPreferences.home_text` and active :class:`Kegs <gestion.models.Keg>`.
"""
gp, _ = GeneralPreferences.objects.get_or_create(pk=1)
kegs = Keg.objects.filter(is_active=True)
return render(request, "home.html", {"home_text": gp.home_text, "kegs": kegs})
def coope_runner(request):
"""
Just an easter egg
"""
return render(request, "coope-runner.html")

View file

@ -1,11 +0,0 @@
from django.forms.widgets import Select, Input
from django.template import Context, Template
from django.template.loader import get_template
class SearchField(Input):
def render(self, name, value, attrs=None):
#super().render(name, value, attrs)
template = get_template('search_field.html')
context = Context({})
return template.render(context)

View file

@ -11,6 +11,9 @@ from django.conf import settings
DEFAULT_INTERPRETER = 'lualatex'
def run_tex(source):
"""
Copy the source to temp dict and run latex.
"""
with tempfile.TemporaryDirectory() as tempdir:
filename = os.path.join(tempdir, 'texput.tex')
with open(filename, 'x', encoding='utf-8') as f:
@ -32,9 +35,15 @@ def run_tex(source):
return pdf
def compile_template_to_pdf(template_name, context):
"""
Compile the source with :func:`~django_tex.core.render_template_with_context` and :func:`~django_tex.core.run_tex`.
"""
source = render_template_with_context(template_name, context)
return run_tex(source)
def render_template_with_context(template_name, context):
"""
Render the template
"""
template = get_template(template_name, using='tex')
return template.render(context)

19
docs/Makefile Normal file
View file

@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

BIN
docs/_build/doctrees/coopeV3.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
docs/_build/doctrees/django_tex.doctree vendored Normal file

Binary file not shown.

BIN
docs/_build/doctrees/environment.pickle vendored Normal file

Binary file not shown.

BIN
docs/_build/doctrees/gestion.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
docs/_build/doctrees/index.doctree vendored Normal file

Binary file not shown.

BIN
docs/_build/doctrees/manage.doctree vendored Normal file

Binary file not shown.

BIN
docs/_build/doctrees/modules.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
docs/_build/doctrees/preferences.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

BIN
docs/_build/doctrees/users.doctree vendored Normal file

Binary file not shown.

Binary file not shown.

4
docs/_build/html/.buildinfo vendored Normal file
View file

@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 43e23fa5fc0f672f16886307c22e1325
tags: 645f666f9bcd5a90fca523b33c5a78b7

View file

@ -0,0 +1,85 @@
coopeV3 package
===============
Subpackages
-----------
.. toctree::
coopeV3.templatetags
Submodules
----------
coopeV3.acl module
------------------
.. automodule:: coopeV3.acl
:members:
:undoc-members:
:show-inheritance:
coopeV3.local\_settings.example module
--------------------------------------
.. automodule:: coopeV3.local_settings.example
:members:
:undoc-members:
:show-inheritance:
coopeV3.local\_settings module
------------------------------
.. automodule:: coopeV3.local_settings
:members:
:undoc-members:
:show-inheritance:
coopeV3.settings module
-----------------------
.. automodule:: coopeV3.settings
:members:
:undoc-members:
:show-inheritance:
coopeV3.urls module
-------------------
.. automodule:: coopeV3.urls
:members:
:undoc-members:
:show-inheritance:
coopeV3.views module
--------------------
.. automodule:: coopeV3.views
:members:
:undoc-members:
:show-inheritance:
coopeV3.widgets module
----------------------
.. automodule:: coopeV3.widgets
:members:
:undoc-members:
:show-inheritance:
coopeV3.wsgi module
-------------------
.. automodule:: coopeV3.wsgi
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: coopeV3
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,22 @@
coopeV3.templatetags package
============================
Submodules
----------
coopeV3.templatetags.vip module
-------------------------------
.. automodule:: coopeV3.templatetags.vip
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: coopeV3.templatetags
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,70 @@
django\_tex package
===================
Submodules
----------
django\_tex.core module
-----------------------
.. automodule:: django_tex.core
:members:
:undoc-members:
:show-inheritance:
django\_tex.engine module
-------------------------
.. automodule:: django_tex.engine
:members:
:undoc-members:
:show-inheritance:
django\_tex.environment module
------------------------------
.. automodule:: django_tex.environment
:members:
:undoc-members:
:show-inheritance:
django\_tex.exceptions module
-----------------------------
.. automodule:: django_tex.exceptions
:members:
:undoc-members:
:show-inheritance:
django\_tex.filters module
--------------------------
.. automodule:: django_tex.filters
:members:
:undoc-members:
:show-inheritance:
django\_tex.models module
-------------------------
.. automodule:: django_tex.models
:members:
:undoc-members:
:show-inheritance:
django\_tex.views module
------------------------
.. automodule:: django_tex.views
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: django_tex
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,62 @@
gestion.migrations package
==========================
Submodules
----------
gestion.migrations.0001\_initial module
---------------------------------------
.. automodule:: gestion.migrations.0001_initial
:members:
:undoc-members:
:show-inheritance:
gestion.migrations.0002\_pinte module
-------------------------------------
.. automodule:: gestion.migrations.0002_pinte
:members:
:undoc-members:
:show-inheritance:
gestion.migrations.0003\_historicalpinte module
-----------------------------------------------
.. automodule:: gestion.migrations.0003_historicalpinte
:members:
:undoc-members:
:show-inheritance:
gestion.migrations.0004\_auto\_20181223\_1830 module
----------------------------------------------------
.. automodule:: gestion.migrations.0004_auto_20181223_1830
:members:
:undoc-members:
:show-inheritance:
gestion.migrations.0005\_auto\_20190106\_0018 module
----------------------------------------------------
.. automodule:: gestion.migrations.0005_auto_20190106_0018
:members:
:undoc-members:
:show-inheritance:
gestion.migrations.0006\_auto\_20190227\_0859 module
----------------------------------------------------
.. automodule:: gestion.migrations.0006_auto_20190227_0859
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: gestion.migrations
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,83 @@
gestion package
===============
Subpackages
-----------
.. toctree::
Submodules
----------
gestion.admin module
--------------------
.. automodule:: gestion.admin
:members:
:undoc-members:
:show-inheritance:
gestion.apps module
-------------------
.. automodule:: gestion.apps
:members:
:undoc-members:
:show-inheritance:
gestion.environment module
--------------------------
.. automodule:: gestion.environment
:members:
:undoc-members:
:show-inheritance:
gestion.forms module
--------------------
.. automodule:: gestion.forms
:members:
:undoc-members:
:show-inheritance:
gestion.models module
---------------------
.. automodule:: gestion.models
:members:
:undoc-members:
:show-inheritance:
gestion.tests module
--------------------
.. automodule:: gestion.tests
:members:
:undoc-members:
:show-inheritance:
gestion.urls module
-------------------
.. automodule:: gestion.urls
:members:
:undoc-members:
:show-inheritance:
gestion.views module
--------------------
.. automodule:: gestion.views
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: gestion
:members:
:undoc-members:
:show-inheritance:

25
docs/_build/html/_sources/index.rst.txt vendored Normal file
View file

@ -0,0 +1,25 @@
.. CoopeV3 documentation master file, created by
sphinx-quickstart on Wed Feb 27 09:11:01 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
CoopeV3 documentation
===================================
.. toctree::
:maxdepth: 2
:caption: Contents:
modules/views.rst
modules/models.rst
modules/admin.rst
modules/forms.rst
modules/utils.rst
modules/django_tex.rst
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

View file

@ -0,0 +1,7 @@
manage module
=============
.. automodule:: manage
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,12 @@
coopeV3
=======
.. toctree::
:maxdepth: 4
coopeV3
django_tex
gestion
manage
preferences
users

View file

@ -0,0 +1,24 @@
===================
Admin documentation
===================
Gestion app admin
=================
.. automodule:: gestion.admin
:members:
:undoc-members:
Users app admin
===============
.. automodule:: users.admin
:members:
:undoc-members:
Preferences app admin
=====================
.. automodule:: preferences.admin
:members:
:undoc-members:

View file

@ -0,0 +1,52 @@
========================
Django_tex documentation
========================
Core
====
.. automodule:: django_tex.core
:members:
:undoc-members:
Engine
======
.. automodule:: django_tex.engine
:members:
:undoc-members:
Environment
===========
.. automodule:: django_tex.environment
:members:
:undoc-members:
Exceptions
==========
.. automodule:: django_tex.exceptions
:members:
:undoc-members:
Filters
=======
.. automodule:: django_tex.filters
:members:
:undoc-members:
Models
======
.. automodule:: django_tex.models
:members:
:undoc-members:
Views
=====
.. automodule:: django_tex.views
:members:
:undoc-members:

View file

@ -0,0 +1,24 @@
===================
Forms documentation
===================
Gestion app forms
=================
.. automodule:: gestion.forms
:members:
:undoc-members:
Users app forms
===============
.. automodule:: users.forms
:members:
:undoc-members:
Preferences app forms
=====================
.. automodule:: preferences.forms
:members:
:undoc-members:

View file

@ -0,0 +1,24 @@
====================
Models documentation
====================
Gestion app models
==================
.. automodule:: gestion.models
:members:
:undoc-members:
Users app models
================
.. automodule:: users.models
:members:
:undoc-members:
Preferences app models
======================
.. automodule:: preferences.models
:members:
:undoc-members:

View file

@ -0,0 +1,24 @@
===================
Utils documentation
===================
ACL
===
.. automodule:: coopeV3.acl
:members:
:undoc-members:
CoopeV3 templatetags
====================
.. automodule:: coopeV3.templatetags.vip
:members:
:undoc-members:
Users templatetags
==================
.. automodule:: users.templatetags.users_extra
:members:
:undoc-members:

View file

@ -0,0 +1,31 @@
===================
Views documentation
===================
Gestion app views
=================
.. automodule:: gestion.views
:members:
:undoc-members:
Users app views
===============
.. automodule:: users.views
:members:
:undoc-members:
Preferences app views
=====================
.. automodule:: preferences.views
:members:
:undoc-members:
coopeV3 app views
=================
.. automodule:: coopeV3.views
:members:
:undoc-members:

View file

@ -0,0 +1,86 @@
preferences.migrations package
==============================
Submodules
----------
preferences.migrations.0001\_initial module
-------------------------------------------
.. automodule:: preferences.migrations.0001_initial
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0002\_auto\_20181221\_2151 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0002_auto_20181221_2151
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0003\_auto\_20181223\_1440 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0003_auto_20181223_1440
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0004\_auto\_20190106\_0452 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0004_auto_20190106_0452
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0005\_auto\_20190106\_0513 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0005_auto_20190106_0513
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0006\_auto\_20190119\_2326 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0006_auto_20190119_2326
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0007\_auto\_20190120\_1208 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0007_auto_20190120_1208
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0008\_auto\_20190218\_1802 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0008_auto_20190218_1802
:members:
:undoc-members:
:show-inheritance:
preferences.migrations.0009\_auto\_20190227\_0859 module
--------------------------------------------------------
.. automodule:: preferences.migrations.0009_auto_20190227_0859
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: preferences.migrations
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,75 @@
preferences package
===================
Subpackages
-----------
.. toctree::
Submodules
----------
preferences.admin module
------------------------
.. automodule:: preferences.admin
:members:
:undoc-members:
:show-inheritance:
preferences.apps module
-----------------------
.. automodule:: preferences.apps
:members:
:undoc-members:
:show-inheritance:
preferences.forms module
------------------------
.. automodule:: preferences.forms
:members:
:undoc-members:
:show-inheritance:
preferences.models module
-------------------------
.. automodule:: preferences.models
:members:
:undoc-members:
:show-inheritance:
preferences.tests module
------------------------
.. automodule:: preferences.tests
:members:
:undoc-members:
:show-inheritance:
preferences.urls module
-----------------------
.. automodule:: preferences.urls
:members:
:undoc-members:
:show-inheritance:
preferences.views module
------------------------
.. automodule:: preferences.views
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: preferences
:members:
:undoc-members:
:show-inheritance:

View file

@ -0,0 +1,54 @@
users.migrations package
========================
Submodules
----------
users.migrations.0001\_initial module
-------------------------------------
.. automodule:: users.migrations.0001_initial
:members:
:undoc-members:
:show-inheritance:
users.migrations.0002\_auto\_20190218\_2231 module
--------------------------------------------------
.. automodule:: users.migrations.0002_auto_20190218_2231
:members:
:undoc-members:
:show-inheritance:
users.migrations.0003\_auto\_20190219\_1921 module
--------------------------------------------------
.. automodule:: users.migrations.0003_auto_20190219_1921
:members:
:undoc-members:
:show-inheritance:
users.migrations.0004\_auto\_20190226\_2313 module
--------------------------------------------------
.. automodule:: users.migrations.0004_auto_20190226_2313
:members:
:undoc-members:
:show-inheritance:
users.migrations.0005\_auto\_20190227\_0859 module
--------------------------------------------------
.. automodule:: users.migrations.0005_auto_20190227_0859
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: users.migrations
:members:
:undoc-members:
:show-inheritance:

75
docs/_build/html/_sources/users.rst.txt vendored Normal file
View file

@ -0,0 +1,75 @@
users package
=============
Subpackages
-----------
.. toctree::
Submodules
----------
users.admin module
------------------
.. automodule:: users.admin
:members:
:undoc-members:
:show-inheritance:
users.apps module
-----------------
.. automodule:: users.apps
:members:
:undoc-members:
:show-inheritance:
users.forms module
------------------
.. automodule:: users.forms
:members:
:undoc-members:
:show-inheritance:
users.models module
-------------------
.. automodule:: users.models
:members:
:undoc-members:
:show-inheritance:
users.tests module
------------------
.. automodule:: users.tests
:members:
:undoc-members:
:show-inheritance:
users.urls module
-----------------
.. automodule:: users.urls
:members:
:undoc-members:
:show-inheritance:
users.views module
------------------
.. automodule:: users.views
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: users
:members:
:undoc-members:
:show-inheritance:

3667
docs/_build/html/_static/_stemmer.js vendored Normal file

File diff suppressed because it is too large Load diff

BIN
docs/_build/html/_static/ajax-loader.gif vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 673 B

701
docs/_build/html/_static/alabaster.css vendored Normal file
View file

@ -0,0 +1,701 @@
@import url("basic.css");
/* -- page layout ----------------------------------------------------------- */
body {
font-family: Georgia, serif;
font-size: 17px;
background-color: #fff;
color: #000;
margin: 0;
padding: 0;
}
div.document {
width: 940px;
margin: 30px auto 0 auto;
}
div.documentwrapper {
float: left;
width: 100%;
}
div.bodywrapper {
margin: 0 0 0 220px;
}
div.sphinxsidebar {
width: 220px;
font-size: 14px;
line-height: 1.5;
}
hr {
border: 1px solid #B1B4B6;
}
div.body {
background-color: #fff;
color: #3E4349;
padding: 0 30px 0 30px;
}
div.body > .section {
text-align: left;
}
div.footer {
width: 940px;
margin: 20px auto 30px auto;
font-size: 14px;
color: #888;
text-align: right;
}
div.footer a {
color: #888;
}
p.caption {
font-family: inherit;
font-size: inherit;
}
div.relations {
display: none;
}
div.sphinxsidebar a {
color: #444;
text-decoration: none;
border-bottom: 1px dotted #999;
}
div.sphinxsidebar a:hover {
border-bottom: 1px solid #999;
}
div.sphinxsidebarwrapper {
padding: 18px 10px;
}
div.sphinxsidebarwrapper p.logo {
padding: 0;
margin: -10px 0 0 0px;
text-align: center;
}
div.sphinxsidebarwrapper h1.logo {
margin-top: -10px;
text-align: center;
margin-bottom: 5px;
text-align: left;
}
div.sphinxsidebarwrapper h1.logo-name {
margin-top: 0px;
}
div.sphinxsidebarwrapper p.blurb {
margin-top: 0;
font-style: normal;
}
div.sphinxsidebar h3,
div.sphinxsidebar h4 {
font-family: Georgia, serif;
color: #444;
font-size: 24px;
font-weight: normal;
margin: 0 0 5px 0;
padding: 0;
}
div.sphinxsidebar h4 {
font-size: 20px;
}
div.sphinxsidebar h3 a {
color: #444;
}
div.sphinxsidebar p.logo a,
div.sphinxsidebar h3 a,
div.sphinxsidebar p.logo a:hover,
div.sphinxsidebar h3 a:hover {
border: none;
}
div.sphinxsidebar p {
color: #555;
margin: 10px 0;
}
div.sphinxsidebar ul {
margin: 10px 0;
padding: 0;
color: #000;
}
div.sphinxsidebar ul li.toctree-l1 > a {
font-size: 120%;
}
div.sphinxsidebar ul li.toctree-l2 > a {
font-size: 110%;
}
div.sphinxsidebar input {
border: 1px solid #CCC;
font-family: Georgia, serif;
font-size: 1em;
}
div.sphinxsidebar hr {
border: none;
height: 1px;
color: #AAA;
background: #AAA;
text-align: left;
margin-left: 0;
width: 50%;
}
div.sphinxsidebar .badge {
border-bottom: none;
}
div.sphinxsidebar .badge:hover {
border-bottom: none;
}
/* To address an issue with donation coming after search */
div.sphinxsidebar h3.donation {
margin-top: 10px;
}
/* -- body styles ----------------------------------------------------------- */
a {
color: #004B6B;
text-decoration: underline;
}
a:hover {
color: #6D4100;
text-decoration: underline;
}
div.body h1,
div.body h2,
div.body h3,
div.body h4,
div.body h5,
div.body h6 {
font-family: Georgia, serif;
font-weight: normal;
margin: 30px 0px 10px 0px;
padding: 0;
}
div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
div.body h2 { font-size: 180%; }
div.body h3 { font-size: 150%; }
div.body h4 { font-size: 130%; }
div.body h5 { font-size: 100%; }
div.body h6 { font-size: 100%; }
a.headerlink {
color: #DDD;
padding: 0 4px;
text-decoration: none;
}
a.headerlink:hover {
color: #444;
background: #EAEAEA;
}
div.body p, div.body dd, div.body li {
line-height: 1.4em;
}
div.admonition {
margin: 20px 0px;
padding: 10px 30px;
background-color: #EEE;
border: 1px solid #CCC;
}
div.admonition tt.xref, div.admonition code.xref, div.admonition a tt {
background-color: #FBFBFB;
border-bottom: 1px solid #fafafa;
}
div.admonition p.admonition-title {
font-family: Georgia, serif;
font-weight: normal;
font-size: 24px;
margin: 0 0 10px 0;
padding: 0;
line-height: 1;
}
div.admonition p.last {
margin-bottom: 0;
}
div.highlight {
background-color: #fff;
}
dt:target, .highlight {
background: #FAF3E8;
}
div.warning {
background-color: #FCC;
border: 1px solid #FAA;
}
div.danger {
background-color: #FCC;
border: 1px solid #FAA;
-moz-box-shadow: 2px 2px 4px #D52C2C;
-webkit-box-shadow: 2px 2px 4px #D52C2C;
box-shadow: 2px 2px 4px #D52C2C;
}
div.error {
background-color: #FCC;
border: 1px solid #FAA;
-moz-box-shadow: 2px 2px 4px #D52C2C;
-webkit-box-shadow: 2px 2px 4px #D52C2C;
box-shadow: 2px 2px 4px #D52C2C;
}
div.caution {
background-color: #FCC;
border: 1px solid #FAA;
}
div.attention {
background-color: #FCC;
border: 1px solid #FAA;
}
div.important {
background-color: #EEE;
border: 1px solid #CCC;
}
div.note {
background-color: #EEE;
border: 1px solid #CCC;
}
div.tip {
background-color: #EEE;
border: 1px solid #CCC;
}
div.hint {
background-color: #EEE;
border: 1px solid #CCC;
}
div.seealso {
background-color: #EEE;
border: 1px solid #CCC;
}
div.topic {
background-color: #EEE;
}
p.admonition-title {
display: inline;
}
p.admonition-title:after {
content: ":";
}