learning-paths-plugin 0.3.4rc10__tar.gz → 0.3.5__tar.gz
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.
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/CHANGELOG.rst +15 -1
- {learning_paths_plugin-0.3.4rc10/learning_paths_plugin.egg-info → learning_paths_plugin-0.3.5}/PKG-INFO +16 -2
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/__init__.py +1 -1
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/admin.py +5 -30
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5/learning_paths_plugin.egg-info}/PKG-INFO +16 -2
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/LICENSE.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/MANIFEST.in +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/README.rst +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/__init__.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/urls.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/__init__.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/filters.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/permissions.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/serializers.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/urls.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/utils.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/views.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/apps.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/compat.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/conftest.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/keys.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0001_initial.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0002_learningpath_uuid.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0003_learningpath_subtitle.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0004_auto_20240207_1633.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0005_learningpathstep_weight_learningpathgradingcriteria.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0006_enrollment_models.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0007_replace_uuid_with_learningpathkey.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0008_remove_learningpathstep_relative_due_date_in_days.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0009_remove_learningpath_slug.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0010_learningpath_invite_only.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0011_replace_learningpath_image_url_with_image.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0012_alter_learningpath_subtitle.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0013_enrollment_audit.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0014_remove_learningpath_duration_in_days_and_more.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/0015_make_skill_level_optional.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/migrations/__init__.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/models.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/receivers.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/settings.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/templates/learning_paths/base.html +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/urls.py +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/SOURCES.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/dependency_links.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/entry_points.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/not-zip-safe +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/requires.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths_plugin.egg-info/top_level.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/pyproject.toml +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/requirements/base.in +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/requirements/constraints.txt +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/setup.cfg +0 -0
- {learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/setup.py +0 -0
|
@@ -16,7 +16,21 @@ Unreleased
|
|
|
16
16
|
|
|
17
17
|
*
|
|
18
18
|
|
|
19
|
-
0.3.
|
|
19
|
+
0.3.5 - 2025-09-01
|
|
20
|
+
******************
|
|
21
|
+
|
|
22
|
+
Changed
|
|
23
|
+
=======
|
|
24
|
+
|
|
25
|
+
* Allow changing the Learning Path key in the Django admin interface.
|
|
26
|
+
|
|
27
|
+
Removed
|
|
28
|
+
=======
|
|
29
|
+
|
|
30
|
+
* Grading criteria from the Django admin interface.
|
|
31
|
+
* Step weight and order from the Django admin interface.
|
|
32
|
+
|
|
33
|
+
0.3.4 - 2025-08-02
|
|
20
34
|
******************
|
|
21
35
|
|
|
22
36
|
Added
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: learning-paths-plugin
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.5
|
|
4
4
|
Summary: Learning Paths plugin
|
|
5
5
|
Home-page: https://github.com/open-craft/learning-paths-plugin
|
|
6
6
|
Author: OpenCraft
|
|
@@ -121,7 +121,21 @@ Unreleased
|
|
|
121
121
|
|
|
122
122
|
*
|
|
123
123
|
|
|
124
|
-
0.3.
|
|
124
|
+
0.3.5 - 2025-09-01
|
|
125
|
+
******************
|
|
126
|
+
|
|
127
|
+
Changed
|
|
128
|
+
=======
|
|
129
|
+
|
|
130
|
+
* Allow changing the Learning Path key in the Django admin interface.
|
|
131
|
+
|
|
132
|
+
Removed
|
|
133
|
+
=======
|
|
134
|
+
|
|
135
|
+
* Grading criteria from the Django admin interface.
|
|
136
|
+
* Step weight and order from the Django admin interface.
|
|
137
|
+
|
|
138
|
+
0.3.4 - 2025-08-02
|
|
125
139
|
******************
|
|
126
140
|
|
|
127
141
|
Added
|
|
@@ -21,7 +21,6 @@ from .models import (
|
|
|
21
21
|
LearningPathEnrollment,
|
|
22
22
|
LearningPathEnrollmentAllowed,
|
|
23
23
|
LearningPathEnrollmentAudit,
|
|
24
|
-
LearningPathGradingCriteria,
|
|
25
24
|
LearningPathStep,
|
|
26
25
|
RequiredSkill,
|
|
27
26
|
Skill,
|
|
@@ -93,6 +92,7 @@ class LearningPathStepInline(admin.TabularInline):
|
|
|
93
92
|
|
|
94
93
|
model = LearningPathStep
|
|
95
94
|
form = LearningPathStepForm
|
|
95
|
+
fields = ("course_key",)
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
class AcquiredSkillInline(admin.TabularInline):
|
|
@@ -107,13 +107,6 @@ class RequiredSkillInline(admin.TabularInline):
|
|
|
107
107
|
model = RequiredSkill
|
|
108
108
|
|
|
109
109
|
|
|
110
|
-
class LearningPathGradingCriteriaInline(admin.TabularInline):
|
|
111
|
-
"""Inline Admin for Learning path grading criteria."""
|
|
112
|
-
|
|
113
|
-
model = LearningPathGradingCriteria
|
|
114
|
-
verbose_name = "Certificate Criteria"
|
|
115
|
-
|
|
116
|
-
|
|
117
110
|
class BulkEnrollUsersForm(forms.ModelForm):
|
|
118
111
|
"""Form to bulk enroll users in a learning path."""
|
|
119
112
|
|
|
@@ -163,23 +156,15 @@ class LearningPathAdmin(DjangoObjectActions, admin.ModelAdmin):
|
|
|
163
156
|
"invite_only",
|
|
164
157
|
)
|
|
165
158
|
list_filter = ("invite_only",)
|
|
166
|
-
readonly_fields = ("key",)
|
|
167
159
|
|
|
168
160
|
inlines = [
|
|
169
161
|
LearningPathStepInline,
|
|
170
162
|
RequiredSkillInline,
|
|
171
163
|
AcquiredSkillInline,
|
|
172
|
-
LearningPathGradingCriteriaInline,
|
|
173
164
|
]
|
|
174
165
|
|
|
175
166
|
change_actions = ("duplicate_learning_path",)
|
|
176
167
|
|
|
177
|
-
def get_readonly_fields(self, request, obj=None):
|
|
178
|
-
"""Make key read-only only for existing objects."""
|
|
179
|
-
if obj: # Editing an existing object.
|
|
180
|
-
return self.readonly_fields
|
|
181
|
-
return () # Allow all fields during creation.
|
|
182
|
-
|
|
183
168
|
def save_related(self, request, form, formsets, change):
|
|
184
169
|
"""Save related objects and enroll users in the learning path."""
|
|
185
170
|
super().save_related(request, form, formsets, change)
|
|
@@ -212,15 +197,11 @@ class LearningPathAdmin(DjangoObjectActions, admin.ModelAdmin):
|
|
|
212
197
|
)
|
|
213
198
|
|
|
214
199
|
if obj.image:
|
|
215
|
-
with obj.image.open(
|
|
200
|
+
with obj.image.open("rb") as original_file:
|
|
216
201
|
image_content = original_file.read()
|
|
217
202
|
|
|
218
203
|
original_filename = os.path.basename(obj.image.name)
|
|
219
|
-
new_learning_path.image.save(
|
|
220
|
-
original_filename,
|
|
221
|
-
ContentFile(image_content),
|
|
222
|
-
save=False
|
|
223
|
-
)
|
|
204
|
+
new_learning_path.image.save(original_filename, ContentFile(image_content), save=False)
|
|
224
205
|
|
|
225
206
|
new_learning_path.save()
|
|
226
207
|
|
|
@@ -244,14 +225,8 @@ class LearningPathAdmin(DjangoObjectActions, admin.ModelAdmin):
|
|
|
244
225
|
skill.learning_path = new_learning_path
|
|
245
226
|
skill.save()
|
|
246
227
|
|
|
247
|
-
messages.success(
|
|
248
|
-
|
|
249
|
-
f'Learning path duplicated successfully. New key: {new_key}'
|
|
250
|
-
)
|
|
251
|
-
|
|
252
|
-
return HttpResponseRedirect(
|
|
253
|
-
reverse('admin:learning_paths_learningpath_change', args=[new_learning_path.pk])
|
|
254
|
-
)
|
|
228
|
+
messages.success(request, f"Learning path duplicated successfully. New key: {new_key}")
|
|
229
|
+
return HttpResponseRedirect(reverse("admin:learning_paths_learningpath_change", args=[new_learning_path.pk]))
|
|
255
230
|
|
|
256
231
|
|
|
257
232
|
@admin.register(Skill)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: learning-paths-plugin
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.5
|
|
4
4
|
Summary: Learning Paths plugin
|
|
5
5
|
Home-page: https://github.com/open-craft/learning-paths-plugin
|
|
6
6
|
Author: OpenCraft
|
|
@@ -121,7 +121,21 @@ Unreleased
|
|
|
121
121
|
|
|
122
122
|
*
|
|
123
123
|
|
|
124
|
-
0.3.
|
|
124
|
+
0.3.5 - 2025-09-01
|
|
125
|
+
******************
|
|
126
|
+
|
|
127
|
+
Changed
|
|
128
|
+
=======
|
|
129
|
+
|
|
130
|
+
* Allow changing the Learning Path key in the Django admin interface.
|
|
131
|
+
|
|
132
|
+
Removed
|
|
133
|
+
=======
|
|
134
|
+
|
|
135
|
+
* Grading criteria from the Django admin interface.
|
|
136
|
+
* Step weight and order from the Django admin interface.
|
|
137
|
+
|
|
138
|
+
0.3.4 - 2025-08-02
|
|
125
139
|
******************
|
|
126
140
|
|
|
127
141
|
Added
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/__init__.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/filters.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/permissions.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/serializers.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/urls.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/utils.py
RENAMED
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/learning_paths/api/v1/views.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{learning_paths_plugin-0.3.4rc10 → learning_paths_plugin-0.3.5}/requirements/constraints.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|