Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • komasolver
  • main
  • renovate/django_csp-4.x
  • renovate/jsonschema-4.x
4 results

Target

Select target project
  • konstantin/akplanning
  • matedealer/akplanning
  • kif/akplanning
  • mirco/akplanning
  • lordofthevoid/akplanning
  • voidptr/akplanning
  • xayomer/akplanning-fork
  • mollux/akplanning
  • neumantm/akplanning
  • mmarx/akplanning
  • nerf/akplanning
  • felix_bonn/akplanning
  • sebastian.uschmann/akplanning
13 results
Select Git revision
  • ak-import
  • feature/clear-schedule-button
  • feature/json-export-via-rest-framework
  • feature/json-export-via-rest-framework-rebased
  • feature/json-schedule-import-tests
  • feature/preference-polling
  • feature/preference-polling-form
  • feature/preference-polling-form-rebased
  • feature/preference-polling-rebased
  • fix/add-room-import-only-once
  • main
  • merge-to-upstream
  • renovate/django-5.x
  • renovate/django-debug-toolbar-4.x
  • renovate/django-simple-history-3.x
  • renovate/mysqlclient-2.x
16 results
Show changes
Showing
with 578 additions and 37 deletions
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
import os
import sys
from recommonmark.parser import CommonMarkParser
import django
# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
project = 'AK Planning'
copyright = '2025, N. Geisler, B. Hättasch & more'
author = 'N. Geisler, B. Hättasch & more'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
extensions = [
'sphinxcontrib.apidoc', # runs sphinx-apidoc automatically as part of sphinx-build
'sphinx.ext.autodoc', # the autodoc extensions uses files generated by apidoc
"sphinx.ext.autosummary",
"sphinxcontrib_django",
'sphinx.ext.viewcode', # enable viewing autodoc'd code
]
templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
# -- Django specific settings ------------------------------------------------
# Add source directory to sys.path
sys.path.insert(0, os.path.abspath(".."))
# Configure the path to the Django settings module
django_settings = "AKPlanning.settings"
os.environ['DJANGO_SETTINGS_MODULE'] = django_settings
django.setup()
# Include the database table names of Django models
django_show_db_tables = True # Boolean, default: False
# Add abstract database tables names (only takes effect if django_show_db_tables is True)
django_show_db_tables_abstract = True # Boolean, default: False
# Auto-generate API documentation.
os.environ['SPHINX_APIDOC_OPTIONS'] = "members,show-inheritance"
# -- Input ----
source_parsers = {
'.md': CommonMarkParser,
}
source_suffix = ['.rst', '.md']
# -- Extension Conf ----
autodoc_member_order = 'bysource'
autodoc_inherit_docstrings = False
apidoc_module_dir = '../'
apidoc_output_dir = 'code'
apidoc_excluded_paths = ['*/migrations',
'AKPlanning/',
'manage.py',
'docs',
'locale',
'Utils',
'*/urls.py',
]
apidoc_separate_modules = True
apidoc_toc_file = False
apidoc_module_first = True
apidoc_extra_args = ['-f']
apidoc_project = project
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
html_static_path = ['_static']
html_theme = 'sphinx_rtd_theme'
.. AK Planning documentation master file, created by
sphinx-quickstart on Wed Jun 21 09:54:11 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Start
=======================================
.. toctree::
:maxdepth: 2
:caption: Contents:
usage/usage
code
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)
if "%1" == "" goto help
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd
Usage
=====
.. toctree::
......@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-08-15 18:26+0000\n"
"POT-Creation-Date: 2023-08-16 16:30+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
......@@ -18,39 +18,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: AKOnline/models.py:10
msgid "URL"
msgstr "URL"
#: AKOnline/models.py:10
msgid "URL to the room or server"
msgstr "URL zum Raum/Server"
#: AKOnline/models.py:13
msgid "Virtual Room"
msgstr "Virtueller Raum"
#: AKOnline/models.py:14
msgid "Virtual Rooms"
msgstr "Virtuelle Räume"
#: templates/base.html:29
#: templates/base.html:43
msgid ""
"Are you sure you want to change the language now? This will clear the form!"
msgstr "Wirklich jetzt die Sprache ändern? Das wird das Formular zurücksetzen!"
#: templates/base.html:94
#: templates/base.html:108
msgid "Go to backend"
msgstr "Zum Backend"
#: templates/base.html:100
#: templates/base.html:109
msgid "Docs"
msgstr "Doku"
#: templates/base.html:115
msgid "Impress"
msgstr "Impressum"
#: templates/base.html:103
#: templates/base.html:118
msgid "This software is open source"
msgstr "Diese Software ist Open Source"
#~ msgid "URL to the room or server"
#~ msgstr "URL zum Raum/Server"
#~ msgid "Room"
#~ msgstr "Raum"
#~ msgid "Virtual Room"
#~ msgstr "Virtueller Raum"
#~ msgid "Virtual Rooms"
#~ msgstr "Virtuelle Räume"
#~ msgid "Scheduling for"
#~ msgstr "Scheduling für"
......@@ -66,9 +66,6 @@ msgstr "Diese Software ist Open Source"
#~ msgid "Event (Vertical)"
#~ msgstr "Event (vertikal)"
#~ msgid "Room"
#~ msgstr "Raum"
#~ msgid "Event Status"
#~ msgstr "Event-Status"
......
[MAIN]
ignore=urls.py, migrations, AKPlanning
load-plugins=
pylint_django,
pylint_django.checkers.migrations
django-settings-module=AKPlanning.settings
disable=
C0114, # missing-module-docstring
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=120
indent-string=' '
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=6
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
[BASIC]
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+)|((tags_)*AK[A-Z][a-z0-9_]+))$
# Good variable names which should always be accepted, separated by a comma
good-names=i,j,k,a,e,ak,tz,_,pk
# Allow single-letter variables and enforce lowercase variables with underscores otherwise
variable-rgx=[a-z_][a-z0-9_]{0,30}$
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set).
ignored-classes=SQLObject,WSGIRequest
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E0201 when accessed.
generated-members=objects,DoesNotExist,id,pk,_meta,base_fields,context
# List of method names used to declare (i.e. assign) instance attributes
defining-attr-methods=__init__,__new__,setUp
[DESIGN]
max-parents=15
max-args=8
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}
Django==3.2.16
django-bootstrap4==2.3.1
django-fontawesome-5==1.0.18
django-split-settings==1.2.0
django-timezone-field==4.1.2
djangorestframework==3.14.0
django-simple-history==3.1.1
django-registration-redux==2.11
django-debug-toolbar==3.7.0
django-bootstrap-datepicker-plus==3.0.5
Django==5.2.1
django-betterforms==2.0.0
django-bootstrap-datepicker-plus==5.0.5
django-bootstrap5==25.1
django-compressor==4.5.1
django-debug-toolbar==5.2.0
django-fontawesome-6==1.0.0.0 # Provides an icon field for models and forms as well as handy shortcuts to render icons
django-libsass==0.9
django-registration-redux==2.13
django-simple-history==3.8.0
django-split-settings==1.3.2
django-tex==1.1.10
django-csp==3.7
mysqlclient==2.0.3 # for production deployment
pytz==2022.4
django-timezone-field==7.1
django_csp==3.8
djangorestframework==3.16.0
fontawesomefree==6.6.0 # Makes static files (css, fonts) available locally
mysqlclient==2.2.7 # for production deployment
tzdata==2025.2
jsonschema==4.23.0
# Documentation
Sphinx==8.2.3
sphinx-rtd-theme==3.0.2
sphinxcontrib-apidoc==0.6.0
sphinxcontrib-django==2.5.0
recommonmark==0.7.1
django-docs==0.3.3
# Testing
unittest-xml-reporting==3.2.0
beautifulsoup4==4.13.4
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/ak-export.schema.json",
"properties": {
"info": {
"$ref": "ak.schema.json#/properties/info",
"unevaluatedProperties": false
}
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/ak.schema.json",
"title": "AK",
"type": "object",
"properties": {
"id": {
"$ref": "common/id.schema.json",
"description": "The unique identifier of an AK"
},
"duration": {
"description": "The number of consecutive slot units",
"type": "integer",
"exclusiveMinimum": 0
},
"room_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Room constraints required by this AK"
},
"time_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Time constraints required by this AK"
},
"properties": {
"type": "object",
"properties": {
"conflicts": {
"$ref": "common/id_array.schema.json",
"description": "IDs of all AKs that are in conflict with this AK"
},
"dependencies": {
"$ref": "common/id_array.schema.json",
"description": "IDs of all AKs that should be scheduled before this AK"
}
},
"required": ["conflicts", "dependencies"],
"additionalProperties": false
},
"info": {
"type": "object",
"properties": {
"name": {"description": "Name of the AK", "type": "string"},
"head": {"description": "Name of the head of the AK", "type": "string"},
"description": {"description": "Short description of the AK", "type": "string"},
"reso": {"description": "Whether this AK intends to introduce a resolution", "type": "boolean"},
"duration_in_hours": {"description": "AK duration in hours", "type": "number"},
"django_ak_id": {
"$ref": "common/id.schema.json",
"description": "Unique identifier of the AK object in the django database"
},
"types": {
"$ref": "common/constraints.schema.json",
"description": "Types of this AK"
}
},
"required": ["name", "head", "description", "reso", "duration_in_hours", "django_ak_id", "types"]
}
},
"required": ["id", "duration", "room_constraints", "time_constraints", "properties", "info"],
"additionalProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/common/constraints.schema.json",
"type": "array",
"items": {"type": "string"},
"uniqueItems": true
}
\ No newline at end of file
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/common/id.schema.json",
"type": "integer",
"minimum": 0
}
\ No newline at end of file
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/common/id_array.schema.json",
"type": "array",
"items": {"type": "integer"},
"uniqueItems": true
}
\ No newline at end of file
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/participant-export.schema.json",
"properties": {
"preferences": {
"items": {
"properties": {
"preference_score": {
"anyOf": [
{"const": -1}, {"const": 1}, {"const": 2}
]
}
}
}
},
"info": {
"$ref": "participant.schema.json#/properties/info",
"unevaluatedProperties": false
}
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/participant.schema.json",
"title": "Participant",
"type": "object",
"properties": {
"id": {
"$ref": "common/id.schema.json",
"description": "The unique identifier of a participant"
},
"preferences": {
"description": "AK preferences of the participant",
"type": "array",
"items": {
"type": "object",
"properties": {
"ak_id": {
"$ref": "common/id.schema.json",
"description": "The unique identifier of the AK"
},
"required": {
"type": "boolean",
"description": "whether this participant is required for the AK"
},
"preference_score": {
"type": "integer",
"description": "The prefeference score for this AK",
"default": 0,
"minimum": -1,
"maximum": 2
}
},
"required": ["ak_id", "required", "preference_score"],
"additionalProperties": false
},
"uniqueItems": true
},
"room_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Room constraints required by this participant"
},
"time_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Time constraints required by this participant"
},
"info": {
"type": "object",
"properties": {"name": {"description": "Name of the person", "type": "string"}},
"required": ["name"]
}
},
"required": ["id", "room_constraints", "time_constraints", "info"],
"additionalProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/room-export.schema.json",
"properties": {
"info": {
"$ref": "room.schema.json#/properties/info",
"unevaluatedProperties": false
}
}
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/room.schema.json",
"title": "Room",
"type": "object",
"properties": {
"id": {
"$ref": "common/id.schema.json",
"description": "The unique identifier of a room"
},
"capacity": {
"description": "The maximum number of total participants. Unbounded capacity is represented by -1",
"type": "integer",
"anyOf": [
{"minimum": 1}, {"const": -1}
]
},
"fulfilled_room_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Constraints fulfilled by this room"
},
"time_constraints": {
"$ref": "common/constraints.schema.json",
"description": "Time constraints required by this room"
},
"info": {
"type": "object",
"properties": {
"name": {"description": "Name of the room", "type": "string"}
},
"required": ["name"]
}
},
"required": ["id", "capacity", "fulfilled_room_constraints", "time_constraints", "info"],
"additionalProperties": false
}
\ No newline at end of file
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/solver-input-export.schema.json",
"allOf": [{ "$ref": "solver-input.schema.json"}],
"properties": {
"participants": {"items": {"$ref": "participant-export.schema.json"}},
"rooms": {"items": {"$ref": "room-export.schema.json"}},
"timeslots": {"items": {"$ref": "timeslot-export.schema.json"}},
"aks": {"items": {"$ref": "ak-export.schema.json"}},
"info": {
"$ref": "solver-input.schema.json#/properties/info",
"unevaluatedProperties": false
}
}
}
\ No newline at end of file
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/solver-input.schema.json",
"type": "object",
"properties": {
"aks": {"type": "array", "items": {"$ref": "ak.schema.json"}, "uniqueItems": true},
"rooms": {"type": "array", "items": {"$ref": "room.schema.json"}, "uniqueItems": true},
"participants": {"type": "array", "items": {"$ref": "participant.schema.json"}, "uniqueItems": true},
"timeslots": {"$ref": "timeslot.schema.json"},
"info": {
"type": "object",
"properties": {
"title": {"type": "string"},
"slug": {"type": "string"},
"place": {"type": "string"},
"contact_email": {"type": "string"}
}
}
},
"required": ["aks", "rooms", "participants", "timeslots", "info"],
"additionalProperties": false
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "schemas/solver-output.schema.json",
"type": "object",
"additionalProperties": false,
"required": ["input", "scheduled_aks"],
"properties": {
"input": {"$ref": "solver-input.schema.json"},
"scheduled_aks": {
"type": "array",
"items": {
"description": "An object representing the scheduling information for one AK",
"type": "object",
"properties": {
"ak_id": {
"description": "The unique identifier of the scheduled AK",
"type": "integer",
"minimum": 0
},
"room_id": {
"description": "The unique identifier of the room the AK takes place in",
"type": "integer",
"minimum": 0
},
"timeslot_ids": {
"description": "The unique identifiers of all timeslots the AK takes place in",
"type": "array",
"items": {
"description": "The unique identifier of the referenced timeslot",
"type": "integer",
"minimum": 0
},
"uniqueItems": true
},
"participant_ids": {
"description": "The unique identifiers of all participants assigned to the AK",
"type": "array",
"items": {
"description": "The unique identifier of the referenced participant",
"type": "integer",
"minimum": 0
},
"uniqueItems": true
}
},
"required": ["ak_id", "room_id", "timeslot_ids", "participant_ids"],
"additionalProperties": false
},
"uniqueItems": true
}
}
}