Commit Graph
100 Commits
Author SHA1 Message Date
Anand Chitipothu 6d4e64059a feat: pass context to page extensions
Pass the context to page extensions to allow them to make decisions
based on the context. For example, an extension to load the course
specific scripts. This is currently not possible because the course
details are not availale to the page extensions. Made this possible by
passing the context to page extensions.
2022-01-25 07:32:13 +05:30
Anand Chitipothu eb59713b65 fix: delete invalid links from Cohort doctype 2021-12-16 11:45:29 +05:30
Anand Chitipothu 274ecaa222 fix: typo in exercise_submission.py
Corrected the use of save instead of insert.
2021-12-15 22:27:57 +05:30
Anand Chitipothu 051196179d fix: failing test in doctype Exercise 2021-12-15 11:42:52 +05:30
Anand Chitipothu cddfc4550d Merge branch 'main' into cohorts-v1 2021-12-15 11:25:30 +05:30
Anand Chitipothu 465bc3b24a feat: allow the same custom page to be avaiable both for cohort and subgroup 2021-12-14 22:09:51 +05:30
Anand Chitipothu 8f740d70e0 fix: broken link to the course on join page 2021-12-13 21:30:19 +05:30
Anand Chitipothu bc80c2200d feat: add anchor to exercise to allow linking to an exercise 2021-12-13 11:16:56 +05:30
Anand Chitipothu 59b3b68bde fix: fixed the issue of duplicate join requests
Someone was spamming mon.school by generating thousands of join
requests. Added to fix to avoid creating duplicate requests.
2021-12-09 18:21:29 +05:30
Anand Chitipothu 943c8eabbf feat: added custom pages at subgroup level 2021-12-09 01:17:03 +05:30
Anand Chitipothu b83918c2aa feat: added Exercise Latest Submission doctype
Issue #274
2021-12-08 23:07:53 +05:30
Anand Chitipothu c8d7ac48ea fix: CohortSubgroup.has_student
Fixed the wrong query.

Issue #271
2021-12-07 15:37:46 +05:30
Anand Chitipothu 3cd4e64957 feat: allow cohort admins to add mentors
Issue #271
2021-12-05 02:10:58 +05:30
Anand Chitipothu 2f994628c3 fix: show students/mentors on subgroup page alphabetically
Issue #271
2021-12-05 01:33:33 +05:30
Anand Chitipothu f68fc02e57 style: improved the ux of approve/reject flow
Issue #271
2021-12-05 01:29:48 +05:30
Anand Chitipothu 0637b9c8f8 fix: allow admins to manage join requests
Issue #271
2021-12-05 01:29:24 +05:30
Anand Chitipothu 7001ddc96f feat: made all the cohort pages public
There is some info on the page that is only accessible to mentors and
admins and not shown to other users.
2021-12-05 01:04:46 +05:30
Anand Chitipothu fe31a64175 style: updated the styles of subgroup links on cohort page 2021-12-05 00:22:27 +05:30
Anand Chitipothu cd0cc2b501 feat: added support to get subgroups in sorted order
Issue #271
2021-12-05 00:13:05 +05:30
Anand Chitipothu ebcb3c5466 fix: fixed the issue with rendering custom cohort page
Issue #271
2021-12-05 00:01:42 +05:30
Anand Chitipothu a1d0f3948a feat: added support for custom web pages for cohorts
This allows adding custom web pages to each cohort by defining a web
template and attaching it to the cohort.

Issue #271
2021-12-04 23:47:29 +05:30
Anand Chitipothu 22f5508bea style: improved the display of users and mentors in a subgroup
Using MemberCard insted of Avatar macro.

Issue #271
2021-12-04 23:14:37 +05:30
Anand Chitipothu 63c4f708c3 feat: improved the subgroup page load time
Using `get_cached_doc` instead of `get_doc` for loading students and
mentors.

Issue #271
2021-12-04 23:03:58 +05:30
Anand Chitipothu 52fd891370 fix: show the recent join requests on the top
Issue #271
2021-12-04 22:52:56 +05:30
Anand Chitipothu fb447a30e4 feat: added undo of rejected join requests
Also improved the dispaly of timestamp, showing the diff now.

Issue #271
2021-12-04 22:47:23 +05:30
Anand Chitipothu e0c73e26ee fix: increased the page_length when querying for students of a subgroup. 2021-12-04 17:19:49 +05:30
Anand Chitipothu d5da5bd8aa feat: allow all mentors to see the cohort status
Issue #271
2021-12-04 07:25:15 +05:30
Anand Chitipothu d84302682e fix: permission issue on cohort page
Using get_all instead of get_list to disable permission check.

Issue #271
2021-12-03 16:03:14 +05:30
Anand Chitipothu c963e93b52 feat: allow students who have already joined the course to join the cohort
Issue #271
2021-12-03 00:28:13 +05:30
Anand Chitipothu c96e3ee2f9 feat: show counts on cohort listing and view pages
Issue #271
2021-12-02 10:36:17 +05:30
Anand Chitipothu e014c94446 fix: mentor counts on cohort page
The group by clause was missing in the query.

Issue #271
2021-12-01 12:19:03 +05:30
Anand Chitipothu 6c747ff8b4 feat: added get_url method to cohort doctypes
This is required to make it easier to include links in the email
notification to mentors.

Issue #271
2021-12-01 08:43:10 +05:30
Anand Chitipothu ffd9e9d48e feat: Added support for approve/reject join requests to a cohort subgroup
Issue #271
2021-11-30 18:06:36 +05:30
Anand Chitipothu 3328359ba4 style: "manage the course" button
Issue #271
2021-11-30 18:06:27 +05:30
Anand Chitipothu f1157895db feat: added portal page to join a cohort
Issue #271
2021-11-30 08:29:24 +05:30
Anand Chitipothu 1277cfed64 feat: added cohort and subgroup pages
Issue #271
2021-11-30 07:46:48 +05:30
Anand Chitipothu 102fa9c0a8 feat: added a page to list cohorts of a course
- added a page /courses/<course>/manage that lists the active cohorts
- only accessible to mentors and staff
- also added a "manage the course" button on course page for mentors/staff

Issue #271
2021-11-29 17:33:45 +05:30
Anand Chitipothu 7cd57cadb2 feat: added doctypes for cohorts
Issue #271
2021-11-29 17:26:38 +05:30
Anand Chitipothu 58fe403bd0 fix: docker-compose setup
The new image of anandology/frappe-bench has the following changes:
- the bench directoy is changed from /home/bench/frappe-bench to /opt/frappe-bench
- dependency on external redis service is removed

Updated the docker-compose.yml to reflect these changes. Also pinned the
docker image to anandology/frappe-bench:2021.10
2021-10-21 09:51:37 +05:30
Anand Chitipothu 8fe9bad2bb fix: error on reindex-exercises
Issue fossunited/mon_school#69
2021-10-12 12:38:26 +05:30
Anand Chitipothu 25ec4ae7c6 fix: fixed the issue of lesson body getting mangled on save
enabled `ignore_xss_filter` for lesson body to disable sanitizing the
input.

Issue #231
2021-10-11 15:34:16 +05:30
Anand Chitipothu 04d2384283 fix: avoid creating duplicate entries of LMS Course Interest 2021-09-29 13:34:38 +05:30
Anand Chitipothu a0b77f5d08 feat: added get_profile_url function to get the profile url in templates
This takes care of generating the correct profile URL depending on the
`profile_url_prefix` setting.

Issue #192
2021-09-07 17:58:09 +05:30
Anand Chitipothu 77c4b53b71 feat: added redirect rule to redirect /profile_/foo to the profile url
Hack to allow redirecting to profile url from JS as it doesn't know
the `profile_url_prefix`.

Issue #192
2021-09-07 17:58:09 +05:30
Anand Chitipothu 035a674cff feat: added support for making profile urls to be top-level
Made the profile_url_prefix customizable by adding it in the hooks.

Issue #192
2021-09-07 17:58:04 +05:30
Anand Chitipothu 8a3e31f021 fix: only show the published courses on All Courses page
Closes #155
2021-07-19 17:03:38 +05:30
Anand Chitipothu b9cac20613 fix: the delay in sending signup email 2021-07-19 13:32:18 +05:30
Anand Chitipothu e6d5e6d37b fix: "Hello None" in the signup email
We were trying to show the full_name, but invite request only knows the email.
2021-07-19 13:31:44 +05:30
Anand Chitipothu b70e8b9acc fix: fixed the email message sent out on signup
Currently updated keeping Mon.School in mind.
2021-07-19 13:14:13 +05:30
Anand Chitipothu 51d5db01e9 feat: include membership info in page context
Added `is_member` field to page_context of learn page. This is required to
disable exercises to non-members.
2021-07-11 12:55:26 +05:30
Anand Chitipothu 524a041fb9 fix: error on profile page
Profile page was importing Sketch which was removed recently, even
though it was not using that. Removed it to fix the issue.
2021-07-08 10:33:12 +05:30
Anand Chitipothu 2c24412633 refactor: removed the unused dashboard portal page 2021-07-06 14:20:00 +05:30
Anand Chitipothu 1b8a45ba4a refactor: removed sketch doctype and portal page for home
Both of these will be moved to mon_school.
2021-07-06 13:20:41 +05:30
Anand Chitipothu 9caf44cdbd feat: make it possible to enable tracking for livecode execution
Tracking of livecode execution is made possible by making the page
context with course, batch and lesson available in js.

Added a global page_context variable in js and the data for that gets
initialzied in the learn.py.
2021-07-02 23:58:59 +05:30
Anand Chitipothu 94b3ccd3d9 feat: added a utililty to switch a student from one batch to another 2021-07-01 17:29:02 +05:30
Anand Chitipothu 9f50af4ebd refactor: removed the portal pages for showing sketches
Moved them to mon_school.
2021-06-23 12:53:35 +05:30
Anand Chitipothu 20b3ae7d76 fix: error in linking lessons on course page
The course was adding `{{ no such element: community.lms.doctype.lms_course.lms_course.LMSCourse object['query_parameter'] }}`
to the lesson links. Fixed it by setting query_parameter to "".
2021-06-23 10:27:01 +05:30
Anand Chitipothu f303be4db5 fix: error in find_macros when the input is empty
Added a special case to handle this issue.
2021-06-22 18:12:31 +05:30
Anand Chitipothu fc1c393f15 feat: allow a student to be mentor of another batch
This is a requirement for mon.school. The students are of the first
batch are now mentors of new batches.
2021-06-22 18:09:21 +05:30
Anand Chitipothu 526ded784b Merge pull request #125 from fossunited/hotfix-exercise-image
fix: fixed error on saving exercises
2021-06-12 21:42:27 +05:30
Anand Chitipothu 6b5ddcd54a fix: fixed error on saving exercises
Removed the image generation when exercise is saved. The library used
for exercises has changed and generating the image doesn't work any
more.
2021-06-12 10:49:27 +05:30
Anand Chitipothu d9185c0b6b feat: integrated lesson markup
- added PageExtension plugin to inject custom styles scripts in a page
- removed the livecode integration and enabled PageExtension plugins for
  learn page
- also merged the profile_tab.py with plugins.py
- added a utility to find the macros from given text
- updated the before_save of lesson to find exercises using the macros
  and update the exercises as before

Issue #115
2021-06-09 23:58:21 +05:30
Anand Chitipothu 5363fb7eb3 feat: extend markdown to support macros
With this feature, the exercises can be added to the lesson as:

    {{ Exercise("two-circles") }}

This also added fenced_code extension that allows adding id and classes
to code blocks.

This uses Python-Markdown library instead of Markdown2 that is used
everywhere in Frappe. The Python-Markdown is more easily extensible than
Markdown2.

Issue #115
2021-06-09 23:22:00 +05:30
Anand Chitipothu ef0c3e4a24 feat: pluggable profile tabs
Added ProfileTab class to represent a profile tab and made the profile
page render the tabs specified in the hook `profile_tabs`. This allows
plugging in new tabs in the profile page without makeing any changes to
the community module.
2021-06-08 10:36:12 +05:30
Anand Chitipothu 3619b136f8 Merge pull request #117 from fossunited/lesson-progress
feat: lesson progress
2021-06-07 11:24:52 +05:30
Anand Chitipothu 586b39c0fd fix: issue with numbering the exercises
The exercises being listed in unpredicted order instead of the order
they were listed in the lesson. The was because the `index_` of the
exercise was never updated. Fixed this by updating the `index_` whenever
a lesson edited. However, the user still need to run reindex exercises
on the course correct the ordering, which wasn't possible earlier.
2021-06-02 17:48:02 +05:30
Anand Chitipothu c96a14c972 feat: ignore orphan exercises in the progress
Don't show exercises that are not added to any lesson in the progress.
2021-06-01 08:15:52 +05:30
Anand Chitipothu 400e706be1 feat: update the index of orphan exercises
When an exercise is removed from a lesson, the link to the lesson is
removed from that exercise and the index is reset. This will make sure
the removed exercises won't show up in places like progress.
2021-06-01 05:59:01 +05:30
Anand Chitipothu a12a52747e feat: show exercise index in the title
Show exercise as "Exercise 2.1: Draw a Circle".
2021-06-01 05:49:45 +05:30
Anand Chitipothu b9a93bb160 feat: added actions to reindex lessons and exercises
Some lessons gets deleted and some new ones get added in the progress of
course creation and it may happen then some of the lesson index may
become inconsistent.  Also, we would like to maintain an index for the
exercises. To support both of these, added actions to reindex lessons
and exercises to the course doctype.
2021-06-01 05:46:32 +05:30
Anand Chitipothu 527a563e4a chore: added "programming" to the hero title 2021-05-27 09:39:07 +05:30
Anand Chitipothu 823cf4e431 style: fixed word-wrap of output 2021-05-25 16:06:12 +05:30
Anand Chitipothu 82fa0fa4d7 fix: error in loading the progress page 2021-05-24 13:46:59 +05:30
Anand Chitipothu 50856fdfa5 fix: fixed failing test 2021-05-24 13:30:47 +05:30
Anand Chitipothu cac4f2afef feat: redirect the learn page to the current lesson of the user
The current lesson is maintained in the LMS Batch Membership and that is
updated everytime a lesson page is visited.
2021-05-24 13:07:29 +05:30
Anand Chitipothu df431165e8 feat: redirect non-members visiting any batch page to the course page 2021-05-24 12:57:01 +05:30
Anand Chitipothu 69125e571f feat: added member_username and current_lesson fields to LMS Batch Membership
And removed member_email field which is a duplicate of member.
2021-05-24 12:43:20 +05:30
Anand Chitipothu 68f7215b95 fix: error in updating LMS Batch membership
The validation was always failing when trying to updating an LMS Batch
Membership document. This was due to a bug in the validation logic that
was considering itself as a duplicate record. This has been fixed.

Also added tests to verify that.
2021-05-24 12:15:16 +05:30
Anand Chitipothu 20adc8079e Merge pull request #105 from fossunited/community-member-to-user-refactor
refactor: Community Member to User refactor
2021-05-24 11:44:45 +05:30
Anand Chitipothu d55941d4bb Merge branch 'main' into community-member-to-user-refactor 2021-05-24 11:39:20 +05:30
Anand Chitipothu 8d7963fc60 feat: added "Resume Course" button to course teaser
Closes #102
2021-05-24 09:55:35 +05:30
Anand Chitipothu 38938ac14b feat: added ability to find the batch of a student
Added the course field and member_email fields to LMS Batch Membership
to allow the possibility of querying if a user is a student of a course.

Closes #101
2021-05-24 09:55:13 +05:30
Anand Chitipothu 14f9d4875a chore: added issue template for Feature Request 2021-05-24 08:36:09 +05:30
Anand Chitipothu 4a2ecff15d Merge pull request #98 from fossunited/remove-primary-color-from-app
fix: removed primary color from app
2021-05-21 13:26:38 +05:30
Anand Chitipothu c77835b81f feat: added page to see progress of a batch 2021-05-21 13:13:34 +05:30
Anand Chitipothu e04bbb633d refactor: moved courses/*/index pages to batch/* 2021-05-21 13:12:52 +05:30
Anand Chitipothu a2b856aaf8 feat: added image to exercise submission 2021-05-21 13:10:54 +05:30
Anand Chitipothu 632693c9f8 fix: show submitted solution in the exercise 2021-05-20 21:03:24 +05:30
Anand Chitipothu 463aec01f8 fix: permission issue when a student submits an exercise 2021-05-20 21:02:54 +05:30
Anand Chitipothu e7d116f31c chore: removed obsolete doctype LMS Topic
It has been replaced by Chapter and Lesson.
Moved the section_parser from lms_topic directory to the lms.
2021-05-20 16:52:51 +05:30
Anand Chitipothu f1b3ee19b6 Merge pull request #93 from fossunited/exercises
Added Exercise and Exercise Submission doctypes
2021-05-20 16:43:29 +05:30
Anand Chitipothu 9cb9fad05c fix: fixed failing tests 2021-05-20 16:24:41 +05:30
Anand Chitipothu 0859afdf34 style: fixed the styles of the sidebar 2021-05-20 15:08:12 +05:30
Anand Chitipothu 6407b24324 feat: added course, batch and lesson to exercise submission
Useful to find all the submissions for a batch/lesson.
2021-05-20 15:07:14 +05:30
Anand Chitipothu 34e993cf86 refactor: added lesson to exercise
usualy to know which lesson an exercise is part of by looking at the
exercise.
2021-05-20 13:27:30 +05:30
Anand Chitipothu 8c889ffb92 chore: switched to new build system for css.
- added community.bundle.less file to create css bundle
- removed the obsolete build.json in favor of new build system
- updated the paths in the books
- removed the imported urls from css files (the new build system doesn't support that)
- removed obsolete lms.css
2021-05-20 13:15:08 +05:30
Anand Chitipothu a67ad67be1 feat: show image for the exercise
generate the image from the answer and display it along with
description. The image is geneated when the exercise is saved.
2021-05-20 12:09:12 +05:30
Anand Chitipothu 646a7b723f fix: fix broken pagination links 2021-05-19 20:12:35 +05:30
Anand Chitipothu 6f7011ca58 feat: integrated exercises into lessons
- an exercise can now be added to a lesson
- it is rendered using livecode editor with submit button
- remembers the submitted code and shows the submission time

Issue #90
2021-05-19 20:06:20 +05:30
Anand Chitipothu d61acb552a feat: added Exercise and Exercise Submission doctypes
Also:
- added methods to submit an exercise and get the submission for a user
- added test cases

Issue #90
2021-05-19 20:01:17 +05:30