- {% if student.score_first > ongoing.entry_threshold %}
+ {% if student.score_first >= ongoing.entry_threshold %}
Uczeń zakwalifikowany do finału
{% else %}
Uczeń niezakwalifikowany do finału
diff --git a/crispy_forms/LICENSE b/crispy_forms/LICENSE
new file mode 100644
index 0000000..c3b9ee5
--- /dev/null
+++ b/crispy_forms/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2009 Daniel Greenfeld and contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/crispy_forms/LICENSE.txt b/crispy_forms/LICENSE.txt
new file mode 100644
index 0000000..c1c3cf8
--- /dev/null
+++ b/crispy_forms/LICENSE.txt
@@ -0,0 +1,22 @@
+Copyright (c) 2009-2021 Miguel Araujo, Daniel Feldroy and contributors.
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/crispy_forms/__init__.py b/crispy_forms/__init__.py
new file mode 100644
index 0000000..b9f68ed
--- /dev/null
+++ b/crispy_forms/__init__.py
@@ -0,0 +1 @@
+__version__ = "1.14.0"
diff --git a/crispy_forms/base.py b/crispy_forms/base.py
new file mode 100644
index 0000000..87c479a
--- /dev/null
+++ b/crispy_forms/base.py
@@ -0,0 +1,22 @@
+class KeepContext:
+ """
+ Context manager that receives a `django.template.Context` instance and a list of keys
+
+ Once the context manager is exited, it removes `keys` from the context, to avoid
+ side effects in later layout objects that may use the same context variables.
+
+ Layout objects should use `extra_context` to introduce context variables, never
+ touch context object themselves, that could introduce side effects.
+ """
+
+ def __init__(self, context, keys):
+ self.context = context
+ self.keys = keys
+
+ def __enter__(self):
+ pass
+
+ def __exit__(self, type, value, traceback):
+ for key in list(self.keys):
+ if key in self.context:
+ del self.context[key]
diff --git a/crispy_forms/bootstrap.py b/crispy_forms/bootstrap.py
new file mode 100644
index 0000000..aac501d
--- /dev/null
+++ b/crispy_forms/bootstrap.py
@@ -0,0 +1,1132 @@
+from random import randint
+
+from django.template import Template
+from django.template.loader import render_to_string
+from django.utils.safestring import SafeString
+from django.utils.text import slugify
+
+from .layout import Div, Field, LayoutObject, TemplateNameMixin
+from .utils import TEMPLATE_PACK, flatatt, render_field
+
+
+class PrependedAppendedText(Field):
+ """
+ Layout object for rendering a field with prepended and appended text.
+
+ Attributes
+ ----------
+ template : str
+ The default template which this Layout Object will be rendered
+ with.
+ attrs : dict
+ Attributes to be applied to the field. These are converted into html
+ attributes. e.g. ``data_id: 'test'`` in the attrs dict will become
+ ``data-id='test'`` on the field's ````.
+
+ Parameters
+ ----------
+ field : str
+ The name of the field to be rendered.
+ prepended_text : str, optional
+ The prepended text, can be HTML like, by default None
+ appended_text : str, optional
+ The appended text, can be HTML like, by default None
+ input_size : str, optional
+ For Bootstrap4+ additional classes to customise the input-group size
+ e.g. ``input-group-sm``. By default None
+ active : bool
+ For Bootstrap3, a boolean to render the text active. By default
+ ``False``.
+ css_class : str, optional
+ CSS classes to be applied to the field. These are added to any classes
+ included in the ``attrs`` dict. By default ``None``.
+ wrapper_class: str, optional
+ CSS classes to be used when rendering the Field. This class is usually
+ applied to the ``