codeforlife-portal 7.2.1__py2.py3-none-any.whl → 7.3.1__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of codeforlife-portal might be problematic. Click here for more details.
- {codeforlife_portal-7.2.1.dist-info → codeforlife_portal-7.3.1.dist-info}/METADATA +2 -2
- {codeforlife_portal-7.2.1.dist-info → codeforlife_portal-7.3.1.dist-info}/RECORD +11 -11
- example_project/settings.py +0 -1
- portal/__init__.py +1 -1
- portal/forms/teach.py +206 -56
- portal/templates/portal/play.html +1 -1
- portal/templates/portal/teach/teacher_edit_class.html +57 -1
- portal/views/teacher/teach.py +294 -83
- {codeforlife_portal-7.2.1.dist-info → codeforlife_portal-7.3.1.dist-info}/LICENSE.md +0 -0
- {codeforlife_portal-7.2.1.dist-info → codeforlife_portal-7.3.1.dist-info}/WHEEL +0 -0
- {codeforlife_portal-7.2.1.dist-info → codeforlife_portal-7.3.1.dist-info}/top_level.txt +0 -0
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
</div>
|
|
90
90
|
|
|
91
91
|
<div class="background container">
|
|
92
|
-
<h5>
|
|
92
|
+
<h5>Levels access settings</h5>
|
|
93
93
|
<p>You may control access to levels here by selecting what you wish to display to the students.</p>
|
|
94
94
|
|
|
95
95
|
<form method="post">
|
|
@@ -140,6 +140,62 @@
|
|
|
140
140
|
</div>
|
|
141
141
|
</div>
|
|
142
142
|
{% endfor %}
|
|
143
|
+
<div class="panel-intro d-flex align-items-center justify-content-between">
|
|
144
|
+
<h6>Python Den levels</h6>
|
|
145
|
+
<label class="pr-5 mb-0 mr-5">
|
|
146
|
+
<input type="checkbox" id="select-all-python-levels">
|
|
147
|
+
</label>
|
|
148
|
+
</div>
|
|
149
|
+
{% for episode in python_episodes %}
|
|
150
|
+
{% if episode.levels %}
|
|
151
|
+
<div class="panel">
|
|
152
|
+
<div class="panel-header bg--{{ episode.difficulty }}" id="episode-{{episode.id}}">
|
|
153
|
+
<div class="d-flex align-items-center justify-content-end" data-toggle="collapse"
|
|
154
|
+
data-target="#collapse-{{episode.id}}" aria-expanded="false"
|
|
155
|
+
aria-controls="collapse-{{episode.id}}" data-parent="#episodes">
|
|
156
|
+
<p class="episode-title flex-grow-1">{{episode.name}}</p>
|
|
157
|
+
{% if episode.first_level > 1009 %}
|
|
158
|
+
<span>Levels {{episode.first_level|stringformat:"i"|slice:"2:4"}}-{{episode.last_level|stringformat:"i"|slice:"2:4"}}</span>
|
|
159
|
+
{% else %}
|
|
160
|
+
{% if episode.last_level > 1009 %}
|
|
161
|
+
<span>Levels {{episode.first_level|stringformat:"i"|slice:"3:4"}}-{{episode.last_level|stringformat:"i"|slice:"2:4"}}</span>
|
|
162
|
+
{% else %}
|
|
163
|
+
<span>Levels {{episode.first_level|stringformat:"i"|slice:"3:4"}}-{{episode.last_level|stringformat:"i"|slice:"3:4"}}</span>
|
|
164
|
+
{% endif %}
|
|
165
|
+
{% endif %}
|
|
166
|
+
<div class="episode_range_text collapsed d-flex align-items-center justify-content-end"
|
|
167
|
+
data-toggle="collapse" data-target="#collapse-{{episode.id}}"
|
|
168
|
+
aria-expanded="false" aria-controls="collapse-{{episode.id}}" data-parent="#episodes">
|
|
169
|
+
<label class="mb-0" for="select-all-episode-levels">
|
|
170
|
+
<input type="checkbox" value="{{ episode.name }}" id="select-all-python-levels-{{ episode.id }}">
|
|
171
|
+
</label>
|
|
172
|
+
</div>
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
|
|
176
|
+
<div id="collapse-{{episode.id}}" aria-labelledby="episode-{{episode.id}}" class="collapse">
|
|
177
|
+
<div class="panel-body d-flex justify-content-between">
|
|
178
|
+
<div class="d-flex flex-grow-1 flex-column justify-content-between">
|
|
179
|
+
{% for level in episode.levels %}
|
|
180
|
+
{% if level.name < 1010 %}
|
|
181
|
+
<p>{{level.name|stringformat:"i"|slice:"3:4"}}: {{level.title.strip | safe}}</p>
|
|
182
|
+
{% else %}
|
|
183
|
+
<p>{{level.name|stringformat:"i"|slice:"2:4"}}: {{level.title.strip | safe}}</p>
|
|
184
|
+
{% endif %}
|
|
185
|
+
{% endfor %}
|
|
186
|
+
</div>
|
|
187
|
+
<div class="form__checkbox flex-column justify-content-between p-0">
|
|
188
|
+
{% for input in level_control_form|get_dict_item:episode.name %}
|
|
189
|
+
<div class="form__checkbox-input p-0">
|
|
190
|
+
{{ input }}
|
|
191
|
+
</div>
|
|
192
|
+
{% endfor %}
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
196
|
+
</div>
|
|
197
|
+
{% endif %}
|
|
198
|
+
{% endfor %}
|
|
143
199
|
</div>
|
|
144
200
|
|
|
145
201
|
<div class="button-group">
|