diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 500e2aa2..f0546b5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: run: bench new-site --mariadb-root-password root --admin-password admin frappe.local - name: install school app working-directory: /home/runner/frappe-bench - run: bench --verbose --site frappe.local install-app school + run: bench --site frappe.local install-app school - name: setup requirements working-directory: /home/runner/frappe-bench run: bench setup requirements --dev diff --git a/school/community/web_template/multiple_testimonials/multiple_testimonials.html b/school/community/web_template/multiple_testimonials/multiple_testimonials.html index 9d9ed1bf..ff7e150b 100644 --- a/school/community/web_template/multiple_testimonials/multiple_testimonials.html +++ b/school/community/web_template/multiple_testimonials/multiple_testimonials.html @@ -19,7 +19,7 @@
- "{{ review.review }}" + {{ review.review }}
{% if loop.index % 3 == 0 or loop.index == testimonials_table | length %} {% endif %} @@ -45,17 +45,3 @@ - diff --git a/school/fixtures/custom_field.json b/school/fixtures/custom_field.json index e450d748..51bae85e 100644 --- a/school/fixtures/custom_field.json +++ b/school/fixtures/custom_field.json @@ -1,163 +1,4 @@ [ - { - "allow_in_quick_entry": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "collapsible_depends_on": null, - "columns": 0, - "default": null, - "depends_on": null, - "description": null, - "docstatus": 0, - "doctype": "Custom Field", - "dt": "User", - "fetch_from": null, - "fetch_if_empty": 0, - "fieldname": "linkedin", - "fieldtype": "Data", - "hidden": 0, - "hide_border": 0, - "hide_days": 0, - "hide_seconds": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_preview": 0, - "in_standard_filter": 0, - "insert_after": "mobile_no", - "label": "LinkedIn ID", - "length": 0, - "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", - "name": "User-linkedin", - "no_copy": 0, - "non_negative": 0, - "options": null, - "parent": null, - "parentfield": null, - "parenttype": null, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "print_width": null, - "read_only": 0, - "read_only_depends_on": null, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "translatable": 1, - "unique": 0, - "width": null - }, - { - "allow_in_quick_entry": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "collapsible_depends_on": null, - "columns": 0, - "default": null, - "depends_on": null, - "description": null, - "docstatus": 0, - "doctype": "Custom Field", - "dt": "User", - "fetch_from": null, - "fetch_if_empty": 0, - "fieldname": "github", - "fieldtype": "Data", - "hidden": 0, - "hide_border": 0, - "hide_days": 0, - "hide_seconds": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_preview": 0, - "in_standard_filter": 0, - "insert_after": "linkedin", - "label": "Github ID", - "length": 0, - "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", - "name": "User-github", - "no_copy": 0, - "non_negative": 0, - "options": null, - "parent": null, - "parentfield": null, - "parenttype": null, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "print_width": null, - "read_only": 0, - "read_only_depends_on": null, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "translatable": 1, - "unique": 0, - "width": null - }, - { - "allow_in_quick_entry": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "collapsible_depends_on": null, - "columns": 0, - "default": null, - "depends_on": null, - "description": null, - "docstatus": 0, - "doctype": "Custom Field", - "dt": "User", - "fetch_from": null, - "fetch_if_empty": 0, - "fieldname": "medium", - "fieldtype": "Data", - "hidden": 0, - "hide_border": 0, - "hide_days": 0, - "hide_seconds": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_preview": 0, - "in_standard_filter": 0, - "insert_after": "github", - "label": "Medium ID", - "length": 0, - "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", - "name": "User-medium", - "no_copy": 0, - "non_negative": 0, - "options": null, - "parent": null, - "parentfield": null, - "parenttype": null, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "print_width": null, - "read_only": 0, - "read_only_depends_on": null, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "translatable": 1, - "unique": 0, - "width": null - }, { "allow_in_quick_entry": 0, "allow_on_submit": 0, @@ -189,7 +30,8 @@ "label": "City", "length": 0, "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", + "modified": "2021-12-17 14:46:55.834145", + "module": null, "name": "User-city", "no_copy": 0, "non_negative": 0, @@ -242,7 +84,8 @@ "label": "College Name", "length": 0, "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", + "modified": "2021-12-17 14:46:55.834145", + "module": null, "name": "User-college", "no_copy": 0, "non_negative": 0, @@ -295,7 +138,8 @@ "label": "Branch", "length": 0, "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", + "modified": "2021-12-17 14:46:55.834145", + "module": null, "name": "User-branch", "no_copy": 0, "non_negative": 0, @@ -317,6 +161,168 @@ "unique": 0, "width": null }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "linkedin", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "mobile_no", + "label": "LinkedIn ID", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 14:46:55.834145", + "module": null, + "name": "User-linkedin", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 1, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "github", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "linkedin", + "label": "Github ID", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 14:46:55.834145", + "module": null, + "name": "User-github", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 1, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "medium", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "github", + "label": "Medium ID", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 14:46:55.834145", + "module": null, + "name": "User-medium", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 1, + "unique": 0, + "width": null + }, { "allow_in_quick_entry": 0, "allow_on_submit": 0, @@ -348,7 +354,8 @@ "label": "Profession", "length": 0, "mandatory_depends_on": null, - "modified": "2021-06-30 14:46:55.834145", + "modified": "2021-12-17 14:46:55.834145", + "module": null, "name": "User-profession", "no_copy": 0, "non_negative": 0, @@ -369,5 +376,1355 @@ "translatable": 1, "unique": 0, "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "education_details", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "profession", + "label": "Education Details", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:57:55.170625", + "module": null, + "name": "User-education_details", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": "Private Information includes your Mobile Number, Email Address, Grade Type, Grade and Work Environment Preferences", + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "hide_private", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "profession", + "label": "Hide my Private Information from others", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:57:47.942967", + "module": null, + "name": "User-hide_my_private_information_from_others", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": "", + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "profile_complete", + "fieldtype": "Check", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "hide_private", + "label": "Profile Complete", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:00:13.792809", + "module": null, + "name": "User-profile_complete", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": "", + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "cover_image", + "fieldtype": "Attach Image", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "profile_complete", + "label": "Cover Image", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 10:59:52.682112", + "module": null, + "name": "User-cover_image", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "education", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "education_details", + "label": "Education", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:58:56.052663", + "module": null, + "name": "User-education", + "no_copy": 0, + "non_negative": 0, + "options": "Education Detail", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "work_experience_details", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "education", + "label": "Work Experience Details", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:56:29.466560", + "module": null, + "name": "User-work_experience_details", + "no_copy": 0, + "non_negative": 0, + "options": null, + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "work_experience", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "work_experience_details", + "label": "Work Experience", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:58:43.329371", + "module": null, + "name": "User-work_experience", + "no_copy": 0, + "non_negative": 0, + "options": "Work Experience", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "certification_details", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "work_experience", + "label": "Certification Details", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:59:36.478416", + "module": null, + "name": "User-certification_details", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "certification", + "fieldtype": "Table", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "certification_details", + "label": "Certification", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 11:59:54.850517", + "module": null, + "name": "User-certification", + "no_copy": 0, + "non_negative": 0, + "options": "Certification", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "skill_details", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "certification", + "label": "Skill Details", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:01:29.335323", + "module": null, + "name": "User-skill_details", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "skill", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "skill_details", + "label": "Skill", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 15:32:13.944672", + "module": null, + "name": "User-skill", + "no_copy": 0, + "non_negative": 0, + "options": "Skills", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "carrer_preference_details", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "skill", + "label": "Career Preference Details", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 15:35:50.764368", + "module": null, + "name": "User-carrer_preference_details", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "preferred_functions", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "carrer_preference_details", + "label": "Preferred Functions", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 17:12:36.454519", + "module": null, + "name": "User-preferred_functions", + "no_copy": 0, + "non_negative": 0, + "options": "Preferred Function", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "preferred_location", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "preferred_functions", + "label": "Preferred Location", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 17:12:40.105066", + "module": null, + "name": "User-preferred_location", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "career_preference_column", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "preferred_location", + "label": "", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:47:32.673594", + "module": null, + "name": "User-career_preference_column", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "preferred_industries", + "fieldtype": "Table MultiSelect", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "career_preference_column", + "label": "Preferred Industries", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 17:12:31.604282", + "module": null, + "name": "User-preferred_industries", + "no_copy": 0, + "non_negative": 0, + "options": "Preferred Industry", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "dream_companies", + "fieldtype": "Data", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "preferred_industries", + "label": "Dream Companies", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:49:19.295124", + "module": null, + "name": "User-dream_companies", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "work_environment", + "fieldtype": "Section Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "dream_companies", + "label": "Work Environment", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:49:46.685634", + "module": null, + "name": "User-work_environment", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "attire", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "work_environment", + "label": "Attire Preference", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:03:02.296214", + "module": null, + "name": "User-attire", + "no_copy": 0, + "non_negative": 0, + "options": "Casual Wear\nFormal Wear", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "collaboration", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "attire", + "label": "Collaboration Preference", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:02:49.680208", + "module": null, + "name": "User-collaboration", + "no_copy": 0, + "non_negative": 0, + "options": "Individual Work\nTeam Work\nBoth Individual and Team Work", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "role", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "collaboration", + "label": "Role Preference", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 16:10:37.349479", + "module": null, + "name": "User-role", + "no_copy": 0, + "non_negative": 0, + "options": "Clearly Defined Role\nUnstructured Role", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "work_environment_column", + "fieldtype": "Column Break", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "role", + "label": "", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 16:45:46.776903", + "module": null, + "name": "User-work_environment_column", + "no_copy": 0, + "non_negative": 0, + "options": "", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "location_preference", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "work_environment_column", + "label": "Location Preference", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:02:04.328536", + "module": null, + "name": "User-location_preference", + "no_copy": 0, + "non_negative": 0, + "options": "Travel\nOffice close to Home", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "time", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "location_preference", + "label": "Time Preference", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 16:16:37.885306", + "module": null, + "name": "User-time", + "no_copy": 0, + "non_negative": 0, + "options": "Flexible Time\nFixed 9-5", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null + }, + { + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "collapsible_depends_on": null, + "columns": 0, + "default": null, + "depends_on": null, + "description": null, + "docstatus": 0, + "doctype": "Custom Field", + "dt": "User", + "fetch_from": null, + "fetch_if_empty": 0, + "fieldname": "company_type", + "fieldtype": "Select", + "hidden": 0, + "hide_border": 0, + "hide_days": 0, + "hide_seconds": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_preview": 0, + "in_standard_filter": 0, + "insert_after": "time", + "label": "Company Type", + "length": 0, + "mandatory_depends_on": null, + "modified": "2021-12-17 12:01:41.342622", + "module": null, + "name": "User-company_type", + "no_copy": 0, + "non_negative": 0, + "options": "Corporate Organization\nStartup Organization", + "parent": null, + "parentfield": null, + "parenttype": null, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "print_width": null, + "read_only": 0, + "read_only_depends_on": null, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "translatable": 0, + "unique": 0, + "width": null } ] diff --git a/school/fixtures/function.json b/school/fixtures/function.json new file mode 100644 index 00000000..e1dcbd89 --- /dev/null +++ b/school/fixtures/function.json @@ -0,0 +1,162 @@ +[ + { + "docstatus": 0, + "doctype": "Function", + "function": "Consulting", + "modified": "2021-12-14 15:16:26.189604", + "name": "Consulting", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Data & Analytics", + "modified": "2021-12-14 15:16:26.341051", + "name": "Data & Analytics", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Design & Creative", + "modified": "2021-12-14 15:16:26.343820", + "name": "Design & Creative", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Engineering (Non Software)", + "modified": "2021-12-14 15:16:26.346329", + "name": "Engineering (Non Software)", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Engineering (Software & IT)", + "modified": "2021-12-14 15:16:26.348864", + "name": "Engineering (Software & IT)", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Finance, Investment & Accounting", + "modified": "2021-12-14 15:16:26.351518", + "name": "Finance, Investment & Accounting", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Human Resource & Recruiting", + "modified": "2021-12-14 15:16:26.354310", + "name": "Human Resource & Recruiting", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Legal", + "modified": "2021-12-14 15:16:26.356844", + "name": "Legal", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Marketing, Advertising & PR", + "modified": "2021-12-14 15:16:26.359511", + "name": "Marketing, Advertising & PR", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Operations & Admin", + "modified": "2021-12-14 15:16:26.362571", + "name": "Operations & Admin", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Project Management", + "modified": "2021-12-14 15:16:26.365033", + "name": "Project Management", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Product", + "modified": "2021-12-14 15:16:26.367804", + "name": "Product", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Research, Training & Education", + "modified": "2021-12-14 15:16:26.370085", + "name": "Research, Training & Education", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Sales & Customer Service", + "modified": "2021-12-14 15:16:26.372635", + "name": "Sales & Customer Service", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Supply Chain, Logistics Strategy & Management", + "modified": "2021-12-14 15:16:26.375091", + "name": "Supply Chain, Logistics Strategy & Management", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Function", + "function": "Other", + "modified": "2021-12-14 15:16:26.377761", + "name": "Other", + "parent": null, + "parentfield": null, + "parenttype": null + } +] \ No newline at end of file diff --git a/school/fixtures/industry.json b/school/fixtures/industry.json new file mode 100644 index 00000000..db34d12e --- /dev/null +++ b/school/fixtures/industry.json @@ -0,0 +1,242 @@ +[ + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Accounting", + "modified": "2021-12-14 15:21:18.044741", + "name": "Accounting", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Ads, Marketing, PR & Events", + "modified": "2021-12-14 15:21:18.069794", + "name": "Ads, Marketing, PR & Events", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Agriculture, Fishing & Forestry", + "modified": "2021-12-14 15:21:18.074148", + "name": "Agriculture, Fishing & Forestry", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Architecture", + "modified": "2021-12-14 15:21:18.078250", + "name": "Architecture", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Aviation & Aerospace", + "modified": "2021-12-14 15:21:18.082127", + "name": "Aviation & Aerospace", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Banking, Financial Services & Insurance", + "modified": "2021-12-14 15:21:18.087499", + "name": "Banking, Financial Services & Insurance", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Biotech & Pharmaceuticals", + "modified": "2021-12-14 15:21:18.092094", + "name": "Biotech & Pharmaceuticals", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Construction & Real Estate", + "modified": "2021-12-14 15:21:18.095728", + "name": "Construction & Real Estate", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Consulting & Professional Services", + "modified": "2021-12-14 15:21:18.099171", + "name": "Consulting & Professional Services", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Education & Training", + "modified": "2021-12-14 15:21:18.105864", + "name": "Education & Training", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Energy & Utilities", + "modified": "2021-12-14 15:21:18.114022", + "name": "Energy & Utilities", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Engineering", + "modified": "2021-12-14 15:21:18.119149", + "name": "Engineering", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Food & Beverages", + "modified": "2021-12-14 15:21:18.124655", + "name": "Food & Beverages", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Health & Medical", + "modified": "2021-12-14 15:21:18.127914", + "name": "Health & Medical", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Hospitality & Tourism", + "modified": "2021-12-14 15:21:18.130783", + "name": "Hospitality & Tourism", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "IT / Ecommerce / Internet", + "modified": "2021-12-14 15:21:18.134069", + "name": "IT / Ecommerce / Internet", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Manufacturing & Production", + "modified": "2021-12-14 15:21:18.137362", + "name": "Manufacturing & Production", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Media & Entertainment", + "modified": "2021-12-14 15:21:18.140180", + "name": "Media & Entertainment", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Public Service & NGOs", + "modified": "2021-12-14 15:21:18.143125", + "name": "Public Service & NGOs", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Retail, Fashion & FMCG", + "modified": "2021-12-14 15:21:18.146020", + "name": "Retail, Fashion & FMCG", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Staffing & Recruiting", + "modified": "2021-12-14 15:21:18.149084", + "name": "Staffing & Recruiting", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Transportation & Logistics", + "modified": "2021-12-14 15:21:18.151952", + "name": "Transportation & Logistics", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Security & Law Enforcement", + "modified": "2021-12-14 15:21:18.154929", + "name": "Security & Law Enforcement", + "parent": null, + "parentfield": null, + "parenttype": null + }, + { + "docstatus": 0, + "doctype": "Industry", + "industry": "Other", + "modified": "2021-12-14 15:21:18.157766", + "name": "Other", + "parent": null, + "parentfield": null, + "parenttype": null + } +] \ No newline at end of file diff --git a/school/hooks.py b/school/hooks.py index 21f83c9c..73365a81 100644 --- a/school/hooks.py +++ b/school/hooks.py @@ -105,7 +105,7 @@ doc_events = { # ] #} -fixtures = ["Custom Field"] +fixtures = ["Custom Field", "Function", "Industry"] # Testing # ------- diff --git a/school/lms/doctype/certification/__init__.py b/school/lms/doctype/certification/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/certification/certification.js b/school/lms/doctype/certification/certification.js new file mode 100644 index 00000000..b61d405d --- /dev/null +++ b/school/lms/doctype/certification/certification.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Certification', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/certification/certification.json b/school/lms/doctype/certification/certification.json new file mode 100644 index 00000000..8aef0e9b --- /dev/null +++ b/school/lms/doctype/certification/certification.json @@ -0,0 +1,72 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-07 12:20:37.143096", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "certification_name", + "organization", + "description", + "column_break_4", + "expire", + "issue_date", + "expiration_date" + ], + "fields": [ + { + "fieldname": "certification_name", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Certification Name", + "reqd": 1 + }, + { + "fieldname": "organization", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Organization", + "reqd": 1 + }, + { + "fieldname": "issue_date", + "fieldtype": "Date", + "in_list_view": 1, + "label": "Issue Date", + "reqd": 1 + }, + { + "fieldname": "description", + "fieldtype": "Small Text", + "label": "Description" + }, + { + "depends_on": "eval: !doc.expire", + "fieldname": "expiration_date", + "fieldtype": "Data", + "label": "Expiration Date" + }, + { + "default": "0", + "fieldname": "expire", + "fieldtype": "Check", + "label": "This certificate does no expire" + }, + { + "fieldname": "column_break_4", + "fieldtype": "Column Break" + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-14 11:42:24.844113", + "modified_by": "Administrator", + "module": "LMS", + "name": "Certification", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/certification/certification.py b/school/lms/doctype/certification/certification.py new file mode 100644 index 00000000..70bf6f4c --- /dev/null +++ b/school/lms/doctype/certification/certification.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class Certification(Document): + pass diff --git a/school/lms/doctype/certification/test_certification.py b/school/lms/doctype/certification/test_certification.py new file mode 100644 index 00000000..180107f1 --- /dev/null +++ b/school/lms/doctype/certification/test_certification.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestCertification(unittest.TestCase): + pass diff --git a/school/lms/doctype/education_detail/__init__.py b/school/lms/doctype/education_detail/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/education_detail/education_detail.json b/school/lms/doctype/education_detail/education_detail.json new file mode 100644 index 00000000..e448a4b4 --- /dev/null +++ b/school/lms/doctype/education_detail/education_detail.json @@ -0,0 +1,85 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-07 12:15:46.078717", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "institution_name", + "location", + "degree_type", + "major", + "column_break_5", + "grade_type", + "grade", + "start_date", + "end_date" + ], + "fields": [ + { + "fieldname": "institution_name", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Institution Name", + "reqd": 1 + }, + { + "fieldname": "location", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Location", + "reqd": 1 + }, + { + "fieldname": "degree_type", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Degree Type", + "reqd": 1 + }, + { + "fieldname": "grade_type", + "fieldtype": "Select", + "label": "Grade Type", + "options": "Percentage (e.g. 70%)\nPoint of Score (e.g. 70)\nLetter Grade (e.g. A, B-)\nUK Grading (e.g. 1st, 2:2)\nFrench (e.g. Distinction)\nCGPA/4" + }, + { + "fieldname": "grade", + "fieldtype": "Data", + "label": "Grade" + }, + { + "fieldname": "major", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Field of Major/Study", + "reqd": 1 + }, + { + "fieldname": "start_date", + "fieldtype": "Date", + "label": "Start Date" + }, + { + "fieldname": "end_date", + "fieldtype": "Date", + "label": "End Date (or expected)" + }, + { + "fieldname": "column_break_5", + "fieldtype": "Column Break" + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-10 12:12:58.827429", + "modified_by": "Administrator", + "module": "LMS", + "name": "Education Detail", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/education_detail/education_detail.py b/school/lms/doctype/education_detail/education_detail.py new file mode 100644 index 00000000..0e28779c --- /dev/null +++ b/school/lms/doctype/education_detail/education_detail.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class EducationDetail(Document): + pass diff --git a/school/lms/doctype/function/__init__.py b/school/lms/doctype/function/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/function/function.js b/school/lms/doctype/function/function.js new file mode 100644 index 00000000..76de5320 --- /dev/null +++ b/school/lms/doctype/function/function.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Function', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/function/function.json b/school/lms/doctype/function/function.json new file mode 100644 index 00000000..269ef60e --- /dev/null +++ b/school/lms/doctype/function/function.json @@ -0,0 +1,44 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "field:function", + "creation": "2021-12-14 14:02:35.435916", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "function" + ], + "fields": [ + { + "fieldname": "function", + "fieldtype": "Data", + "label": "Function", + "unique": 1 + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2021-12-14 14:02:46.474260", + "modified_by": "Administrator", + "module": "LMS", + "name": "Function", + "naming_rule": "By fieldname", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/function/function.py b/school/lms/doctype/function/function.py new file mode 100644 index 00000000..39942f7a --- /dev/null +++ b/school/lms/doctype/function/function.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class Function(Document): + pass diff --git a/school/lms/doctype/function/test_function.py b/school/lms/doctype/function/test_function.py new file mode 100644 index 00000000..bf87dc73 --- /dev/null +++ b/school/lms/doctype/function/test_function.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestFunction(unittest.TestCase): + pass diff --git a/school/lms/doctype/industry/__init__.py b/school/lms/doctype/industry/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/industry/industry.js b/school/lms/doctype/industry/industry.js new file mode 100644 index 00000000..93534dbf --- /dev/null +++ b/school/lms/doctype/industry/industry.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Industry', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/industry/industry.json b/school/lms/doctype/industry/industry.json new file mode 100644 index 00000000..c0c2ce2d --- /dev/null +++ b/school/lms/doctype/industry/industry.json @@ -0,0 +1,44 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "field:industry", + "creation": "2021-12-14 14:37:47.183595", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "industry" + ], + "fields": [ + { + "fieldname": "industry", + "fieldtype": "Data", + "label": "Industry", + "unique": 1 + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2021-12-14 14:38:10.405473", + "modified_by": "Administrator", + "module": "LMS", + "name": "Industry", + "naming_rule": "By fieldname", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/industry/industry.py b/school/lms/doctype/industry/industry.py new file mode 100644 index 00000000..098084ca --- /dev/null +++ b/school/lms/doctype/industry/industry.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class Industry(Document): + pass diff --git a/school/lms/doctype/industry/test_industry.py b/school/lms/doctype/industry/test_industry.py new file mode 100644 index 00000000..d8c7f632 --- /dev/null +++ b/school/lms/doctype/industry/test_industry.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestIndustry(unittest.TestCase): + pass diff --git a/school/lms/doctype/preferred_function/__init__.py b/school/lms/doctype/preferred_function/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/preferred_function/preferred_function.json b/school/lms/doctype/preferred_function/preferred_function.json new file mode 100644 index 00000000..c47b5d81 --- /dev/null +++ b/school/lms/doctype/preferred_function/preferred_function.json @@ -0,0 +1,32 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-14 14:42:48.823215", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "function" + ], + "fields": [ + { + "fieldname": "function", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Function", + "options": "Function", + "reqd": 1 + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-14 14:42:48.823215", + "modified_by": "Administrator", + "module": "LMS", + "name": "Preferred Function", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/preferred_function/preferred_function.py b/school/lms/doctype/preferred_function/preferred_function.py new file mode 100644 index 00000000..e66670a5 --- /dev/null +++ b/school/lms/doctype/preferred_function/preferred_function.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class PreferredFunction(Document): + pass diff --git a/school/lms/doctype/preferred_industry/__init__.py b/school/lms/doctype/preferred_industry/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/preferred_industry/preferred_industry.js b/school/lms/doctype/preferred_industry/preferred_industry.js new file mode 100644 index 00000000..c5500d10 --- /dev/null +++ b/school/lms/doctype/preferred_industry/preferred_industry.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Preferred Industry', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/preferred_industry/preferred_industry.json b/school/lms/doctype/preferred_industry/preferred_industry.json new file mode 100644 index 00000000..d4be8c76 --- /dev/null +++ b/school/lms/doctype/preferred_industry/preferred_industry.json @@ -0,0 +1,32 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-14 14:44:06.808797", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "industry" + ], + "fields": [ + { + "fieldname": "industry", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Industry", + "options": "Industry", + "reqd": 1 + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-14 14:44:21.215262", + "modified_by": "Administrator", + "module": "LMS", + "name": "Preferred Industry", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/preferred_industry/preferred_industry.py b/school/lms/doctype/preferred_industry/preferred_industry.py new file mode 100644 index 00000000..35790487 --- /dev/null +++ b/school/lms/doctype/preferred_industry/preferred_industry.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class PreferredIndustry(Document): + pass diff --git a/school/lms/doctype/preferred_industry/test_preferred_industry.py b/school/lms/doctype/preferred_industry/test_preferred_industry.py new file mode 100644 index 00000000..57a7c1a6 --- /dev/null +++ b/school/lms/doctype/preferred_industry/test_preferred_industry.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestPreferredIndustry(unittest.TestCase): + pass diff --git a/school/lms/doctype/skill/__init__.py b/school/lms/doctype/skill/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/skill/skill.js b/school/lms/doctype/skill/skill.js new file mode 100644 index 00000000..b4cb4eb7 --- /dev/null +++ b/school/lms/doctype/skill/skill.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Skill', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/skill/skill.json b/school/lms/doctype/skill/skill.json new file mode 100644 index 00000000..70fd28e3 --- /dev/null +++ b/school/lms/doctype/skill/skill.json @@ -0,0 +1,44 @@ +{ + "actions": [], + "allow_rename": 1, + "autoname": "field:skill", + "creation": "2021-12-08 15:31:29.292544", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "skill" + ], + "fields": [ + { + "fieldname": "skill", + "fieldtype": "Data", + "label": "Skill", + "unique": 1 + } + ], + "index_web_pages_for_search": 1, + "links": [], + "modified": "2021-12-12 10:02:39.584832", + "modified_by": "Administrator", + "module": "LMS", + "name": "Skill", + "naming_rule": "By fieldname", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/skill/skill.py b/school/lms/doctype/skill/skill.py new file mode 100644 index 00000000..4ff2164e --- /dev/null +++ b/school/lms/doctype/skill/skill.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class Skill(Document): + pass diff --git a/school/lms/doctype/skill/test_skill.py b/school/lms/doctype/skill/test_skill.py new file mode 100644 index 00000000..0b3835eb --- /dev/null +++ b/school/lms/doctype/skill/test_skill.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestSkill(unittest.TestCase): + pass diff --git a/school/lms/doctype/skills/__init__.py b/school/lms/doctype/skills/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/skills/skills.js b/school/lms/doctype/skills/skills.js new file mode 100644 index 00000000..7545dd0c --- /dev/null +++ b/school/lms/doctype/skills/skills.js @@ -0,0 +1,8 @@ +// Copyright (c) 2021, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Skills', { + // refresh: function(frm) { + + // } +}); diff --git a/school/lms/doctype/skills/skills.json b/school/lms/doctype/skills/skills.json new file mode 100644 index 00000000..21bdcade --- /dev/null +++ b/school/lms/doctype/skills/skills.json @@ -0,0 +1,32 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-07 12:22:44.139341", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "skill_name" + ], + "fields": [ + { + "fieldname": "skill_name", + "fieldtype": "Link", + "in_list_view": 1, + "label": "Skill Name", + "options": "Skill", + "reqd": 1 + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-13 14:42:43.962186", + "modified_by": "Administrator", + "module": "LMS", + "name": "Skills", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/skills/skills.py b/school/lms/doctype/skills/skills.py new file mode 100644 index 00000000..c6cbc49a --- /dev/null +++ b/school/lms/doctype/skills/skills.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class Skills(Document): + pass diff --git a/school/lms/doctype/skills/test_skills.py b/school/lms/doctype/skills/test_skills.py new file mode 100644 index 00000000..9e17743e --- /dev/null +++ b/school/lms/doctype/skills/test_skills.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestSkills(unittest.TestCase): + pass diff --git a/school/lms/doctype/work_experience/__init__.py b/school/lms/doctype/work_experience/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/lms/doctype/work_experience/work_experience.json b/school/lms/doctype/work_experience/work_experience.json new file mode 100644 index 00000000..a5f0fa45 --- /dev/null +++ b/school/lms/doctype/work_experience/work_experience.json @@ -0,0 +1,81 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2021-12-07 12:17:49.571045", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "title", + "company", + "location", + "description", + "column_break_4", + "current", + "from_date", + "to_date" + ], + "fields": [ + { + "fieldname": "title", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Title", + "reqd": 1 + }, + { + "fieldname": "company", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Company", + "reqd": 1 + }, + { + "fieldname": "location", + "fieldtype": "Data", + "in_list_view": 1, + "label": "Location", + "reqd": 1 + }, + { + "fieldname": "from_date", + "fieldtype": "Date", + "in_list_view": 1, + "label": "From Date", + "reqd": 1 + }, + { + "depends_on": "eval: !doc.current", + "fieldname": "to_date", + "fieldtype": "Date", + "label": "To Date", + "mandatory_depends_on": "eval: !doc.current" + }, + { + "fieldname": "description", + "fieldtype": "Small Text", + "label": "Description" + }, + { + "default": "0", + "fieldname": "current", + "fieldtype": "Check", + "label": "I am currently working here" + }, + { + "fieldname": "column_break_4", + "fieldtype": "Column Break" + } + ], + "index_web_pages_for_search": 1, + "istable": 1, + "links": [], + "modified": "2021-12-09 16:25:48.104205", + "modified_by": "Administrator", + "module": "LMS", + "name": "Work Experience", + "owner": "Administrator", + "permissions": [], + "sort_field": "modified", + "sort_order": "DESC" +} \ No newline at end of file diff --git a/school/lms/doctype/work_experience/work_experience.py b/school/lms/doctype/work_experience/work_experience.py new file mode 100644 index 00000000..38ef7d00 --- /dev/null +++ b/school/lms/doctype/work_experience/work_experience.py @@ -0,0 +1,8 @@ +# Copyright (c) 2021, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class WorkExperience(Document): + pass diff --git a/school/lms/web_form/profile/profile.js b/school/lms/web_form/profile/profile.js index 8a707633..0822212c 100644 --- a/school/lms/web_form/profile/profile.js +++ b/school/lms/web_form/profile/profile.js @@ -1,14 +1,83 @@ frappe.ready(function () { frappe.web_form.after_load = () => { - if (!frappe.utils.get_url_arg("name")) { - window.location.href = `/edit-profile?name=${frappe.session.user}`; - } + + redirect_to_user_profile_form(); + add_listener_for_current_company(); + add_listener_for_certificate_expiry(); + add_listener_for_skill_add_rows(); + add_listener_for_functions_add_rows(); + add_listener_for_industries_add_rows(); + } + frappe.web_form.validate = () => { + let information_missing; + const data = frappe.web_form.get_values(); + data.work_experience.forEach(exp => { + if (!exp.current && !exp.to_date) { + information_missing = true + frappe.msgprint('To Date is mandatory in Work Experience.'); + } + }); + + if (information_missing) + return false; + return true; + }; + frappe.web_form.after_save = () => { setTimeout(() => { window.location.href = `/profile_/${frappe.web_form.get_value(["username"])}`; }) } -}) +}); + +const redirect_to_user_profile_form = () => { + if (!frappe.utils.get_url_arg("name")) { + window.location.href = `/edit-profile?name=${frappe.session.user}`; + } +}; + + +const add_listener_for_current_company = () => { + $(document).on("click", "input[data-fieldname='current']", (e) => { + if ($(e.currentTarget).prop("checked")) + $("div[data-fieldname='to_date']").addClass("hide"); + else + $("div[data-fieldname='to_date']").removeClass("hide"); + }); +}; + +const add_listener_for_certificate_expiry = () => { + $(document).on("click", "input[data-fieldname='expire']", (e) => { + if ($(e.currentTarget).prop("checked")) + $("div[data-fieldname='expiration_date']").addClass("hide"); + else + $("div[data-fieldname='expiration_date']").removeClass("hide"); + }); +}; + +const add_listener_for_skill_add_rows = () => { + $('[data-fieldname="skill"]').find(".grid-add-row").click((e) => { + if ($('[data-fieldname="skill"]').find(".grid-row").length > 5) { + $('[data-fieldname="skill"]').find(".grid-add-row").hide(); + } + }); +}; + +const add_listener_for_functions_add_rows = () => { + $('[data-fieldname="preferred_functions"]').find(".grid-add-row").click((e) => { + if ($('[data-fieldname="preferred_functions"]').find(".grid-row").length > 3) { + $('[data-fieldname="preferred_functions"]').find(".grid-add-row").hide(); + } + }); +}; + +const add_listener_for_industries_add_rows = () => { + $('[data-fieldname="preferred_industries"]').find(".grid-add-row").click((e) => { + if ($('[data-fieldname="preferred_industries"]').find(".grid-row").length > 3) { + $('[data-fieldname="preferred_industries"]').find(".grid-add-row").hide(); + } + }); +}; diff --git a/school/lms/web_form/profile/profile.json b/school/lms/web_form/profile/profile.json index 3ba731a9..e5a77c0d 100644 --- a/school/lms/web_form/profile/profile.json +++ b/school/lms/web_form/profile/profile.json @@ -21,7 +21,7 @@ "is_standard": 1, "login_required": 1, "max_attachment_size": 0, - "modified": "2021-08-06 14:40:39.013776", + "modified": "2021-12-14 16:35:24.751439", "modified_by": "Administrator", "module": "LMS", "name": "profile", @@ -98,6 +98,19 @@ "reqd": 0, "show_in_filter": 0 }, + { + "allow_read_on_all_link_options": 0, + "description": "", + "fieldname": "cover_image", + "fieldtype": "Attach Image", + "hidden": 0, + "label": "Cover Image", + "max_length": 0, + "max_value": 0, + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, { "allow_read_on_all_link_options": 0, "fieldname": "mobile_no", @@ -114,7 +127,7 @@ { "allow_read_on_all_link_options": 0, "fieldname": "bio", - "fieldtype": "Small Text", + "fieldtype": "Text Editor", "hidden": 0, "label": "Bio", "max_length": 0, @@ -173,10 +186,10 @@ }, { "allow_read_on_all_link_options": 0, - "fieldname": "college", - "fieldtype": "Data", + "fieldname": "education_details", + "fieldtype": "Section Break", "hidden": 0, - "label": "College Name", + "label": "Education Details", "max_length": 0, "max_value": 0, "read_only": 0, @@ -185,11 +198,23 @@ }, { "allow_read_on_all_link_options": 0, - "depends_on": "college", - "fieldname": "branch", - "fieldtype": "Data", + "fieldname": "education", + "fieldtype": "Table", "hidden": 0, - "label": "Branch", + "label": "Education", + "max_length": 0, + "max_value": 0, + "options": "Education Detail", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "work_experience_details", + "fieldtype": "Section Break", + "hidden": 0, + "label": "Work Experience", "max_length": 0, "max_value": 0, "read_only": 0, @@ -198,10 +223,232 @@ }, { "allow_read_on_all_link_options": 0, - "fieldname": "profession", + "fieldname": "work_experience", + "fieldtype": "Table", + "hidden": 0, + "label": "Work Experience", + "max_length": 0, + "max_value": 0, + "options": "Work Experience", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "certification_details", + "fieldtype": "Section Break", + "hidden": 0, + "label": "Certification Details", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "certification", + "fieldtype": "Table", + "hidden": 0, + "label": "Certification", + "max_length": 0, + "max_value": 0, + "options": "Certification", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "skill_details", + "fieldtype": "Section Break", + "hidden": 0, + "label": "Skill Details", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "skill", + "fieldtype": "Table", + "hidden": 0, + "label": "Skill", + "max_length": 0, + "max_value": 0, + "options": "Skills", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "carrer_preference_details", + "fieldtype": "Section Break", + "hidden": 0, + "label": "Career Preference", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "preferred_functions", + "fieldtype": "Table", + "hidden": 0, + "label": "Preferred Functions", + "max_length": 0, + "max_value": 0, + "options": "Preferred Function", + "read_only": 0, + "reqd": 1, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "preferred_industries", + "fieldtype": "Table", + "hidden": 0, + "label": "Preferred Industries", + "max_length": 0, + "max_value": 0, + "options": "Preferred Industry", + "read_only": 0, + "reqd": 1, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "preferred_location", "fieldtype": "Data", "hidden": 0, - "label": "Profession", + "label": "Preferred Location", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 1, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "dream_companies", + "fieldtype": "Data", + "hidden": 0, + "label": "Dream Companies", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "work_environment", + "fieldtype": "Section Break", + "hidden": 0, + "label": "Work Environment", + "max_length": 0, + "max_value": 0, + "options": "", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "attire", + "fieldtype": "Select", + "hidden": 0, + "label": "Attire Preference", + "max_length": 0, + "max_value": 0, + "options": "Casual Wear\nFormal Wear", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "collaboration", + "fieldtype": "Select", + "hidden": 0, + "label": "Collaboration Preference", + "max_length": 0, + "max_value": 0, + "options": "Individual Work\nTeam Work\nBoth Individual and Team Work", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "role", + "fieldtype": "Select", + "hidden": 0, + "label": "Role Preference", + "max_length": 0, + "max_value": 0, + "options": "Clearly Defined Role\nUnstructured Role", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "location_preference", + "fieldtype": "Select", + "hidden": 0, + "label": "Location Preference", + "max_length": 0, + "max_value": 0, + "options": "Travel to work\nOffice close to Home", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "time", + "fieldtype": "Select", + "hidden": 0, + "label": "Time Preference", + "max_length": 0, + "max_value": 0, + "options": "Flexible Time\nFixed 9-5", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "fieldname": "company_type", + "fieldtype": "Select", + "hidden": 0, + "label": "Company Type", + "max_length": 0, + "max_value": 0, + "options": "Corporate Organization\nStartup Organization", + "read_only": 0, + "reqd": 0, + "show_in_filter": 0 + }, + { + "allow_read_on_all_link_options": 0, + "description": "Private Information includes your Mobile Number, Email Address, Grade Type, Grade and Work Environment Preferences", + "fieldname": "hide_private", + "fieldtype": "Check", + "hidden": 0, + "label": "Hide my Private Information from others", "max_length": 0, "max_value": 0, "read_only": 0, diff --git a/school/overrides/user.py b/school/overrides/user.py index 04a94380..26d60024 100644 --- a/school/overrides/user.py +++ b/school/overrides/user.py @@ -11,6 +11,7 @@ class CustomUser(User): def validate(self): super(CustomUser, self).validate() self.validate_username_characters() + self.validate_skills() def validate_username_characters(self): if len(self.username): @@ -49,6 +50,17 @@ class CustomUser(User): if len(self.username) < 4: frappe.throw(_("Username cannot be less than 4 characters")) + def validate_skills(self): + unique_skills = [] + for skill in self.skill: + if not skill.skill_name: + return + if not skill.skill_name in unique_skills: + unique_skills.append(skill.skill_name) + else: + frappe.throw(_("Skills must be unique")) + + def get_username_from_first_name(self): return frappe.scrub(self.first_name) + str(random.randint(0, 99)) diff --git a/school/public/css/style.css b/school/public/css/style.css index 31bcf871..80848fc8 100644 --- a/school/public/css/style.css +++ b/school/public/css/style.css @@ -773,7 +773,6 @@ input[type=checkbox] { .overview-card { padding: 1.5rem; - width: 256px; flex-direction: column; display: grid; -moz-column-gap: 1rem; @@ -976,7 +975,6 @@ input[type=checkbox] { } .profile-about-section { - flex: 1; margin-top: 3rem; } @@ -984,13 +982,16 @@ input[type=checkbox] { height: 68px; background: #ffffff; border-radius: 0px 0px 8px 8px; + font-size: 12px; + display: flex; + justify-content: space-between; } .profile-avatar { position: relative; top: 188px; left: 40px; - display: flex; + width: fit-content; } @media (max-width: 500px) { @@ -1008,13 +1009,11 @@ input[type=checkbox] { } .profile-name { - color: #FFFFFF; + color: var(--text-color-dark); font-weight: 600; font-size: 22px; line-height: 156%; letter-spacing: -0.0175em; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.64); - padding: 1.5rem; } @media (max-width: 375px) { @@ -1024,6 +1023,36 @@ input[type=checkbox] { } } +.profile-name-section { + display: flex; + align-items: center; + margin-bottom: 0.25rem; + padding-left: 175px; +} + +.profile-link { + display: flex; + align-items: center; + padding: 1rem; +} + +@media (max-width: 500px) { + .profile-info { + flex-direction: column; + align-items: end; + justify-content: space-around; + padding-right: 1rem; + } + + .profile-name-section { + padding-left: 0; + } + + .profile-link { + padding: 0; + } +} + .creator-badge { background: #48BB74; padding: 4px 6px; @@ -1038,54 +1067,40 @@ input[type=checkbox] { height: fit-content; box-shadow: 0px 1px 1px rgb(0 0 0 / 16%); border-radius: 4px; - margin-top: 2rem; + margin-left: 0.5rem; } @media (max-width: 375px) { .creator-badge { font-size: 8px; - margin: 8px 0px 0px; } } -.profile-profession { - position: relative; - top: 16px; - left: 174px; - font-size: 12px; - line-height: 165%; - width: 85%; +.profile-card { + flex-direction: column; + padding: 1.5rem; + display: grid; + row-gap: 2rem; } -@media (max-width: 1200px) { - .profile-profession { - width: 75%; - } +.profile-item { + color: var(--text-color-dark); + font-weight: 500; } -@media (max-width: 767px) { - .profile-profession { - width: 60%; - } +.profile-card-row span::before { + content: "\00B7"; + margin: 0 4px; } -@media (max-width: 500px) { - .profile-profession { - top: 10px; - left: 120px; - } -} - -@media (max-width: 375px) { - .profile-profession { - top: 5px; - left: 70px; - width: 75%; - } +.education-work-details { + display: grid; + grid-template-columns: 4fr 1fr; + grid-gap: 2rem; } .social-icons { - margin: 16px; + margin: 0.5rem; } @media (max-width: 500px) { @@ -1100,6 +1115,15 @@ input[type=checkbox] { } } +.education-details { + margin-top: 3rem; +} + +.institute-name { + font-weight: bold; + color: var(--text-color-dark); +} + .profile-courses { margin-top: 3rem; } @@ -1185,98 +1209,10 @@ pre { font-size: 1rem; } -.talk-title { - border-bottom: 1px solid #cecdcd; -} - -.mt-5 { - margin-top: 5px; -} - -.company-name { - font-weight: bold; -} - -.speaker-cards-parent { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - -moz-column-gap: 32px; - column-gap: 14px; - row-gap: 32px; -} - .avatar img { object-fit: cover; } -.section-with-cards .course-home-headings { - margin: 0px 0px 1rem; -} - -.schedule-container { - padding-bottom: 16px; -} - -.schedule-inner-container { - display: grid; - grid-template-columns: 1.2fr 2fr 1fr 0.2fr; - padding: 0 20px 0; -} - -.schedule-slot { - font-weight: bolder; -} - -.schedule-title { - font-size: 20px; -} - -.schedule-info { - padding: 20px; -} - -.drop-down-icon { - padding: 5px 0 0 5px; -} - -.event-btn { - display: flex; - align-items: center; - justify-content: center; - margin-top: 3rem; -} - -.exhibitor-card { - text-align: center; - padding-bottom: 30px; -} - -.exhibitor-card .company-name { - font-size: 25px; - margin-top: 30px; -} - -.exhibitor-card .company-logo { - height: 158px; - width: 252px; - object-fit: contain; -} - -.info-speaker-avatar { - display: flex; - text-align: left; -} - -.info-speaker { - margin-left: 1rem; - padding-bottom: 0; - margin-top: 6px; -} - -.info-avatar img { - object-fit: contain; -} - .certificate-content { padding: 2.5rem 3rem; } @@ -1397,8 +1333,10 @@ pre { .testimonial-card { flex-direction: column; - padding: 1rem 1rem 2rem; + padding: 1rem; height: 100%; + margin-right: 0.25rem; + margin-bottom: 0.5rem; } .testimonial-author { @@ -1410,6 +1348,10 @@ pre { .testimonial-review { color: var(--text-color-dark); + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; } .testimonial-profession { @@ -1487,3 +1429,32 @@ pre { .live-courses .course-home-headings { margin-bottom: 1.5rem; } + +@media (min-width: 768px) { + .lesson-pagination .custom-checkbox .empty-checkbox { + width: 1rem; + height: 1rem; + border-radius: 4px; + } +} + +@media (max-width: 767px) { + .lesson-pagination .custom-checkbox .empty-checkbox { + margin-bottom: 1rem; + border-radius: 4px; + } + + .lesson-pagination .custom-checkbox span { + display: inline-block; + width: 70%; + font-size: 10px; + } +} + +.lesson-pagination .custom-checkbox input:checked+.empty-checkbox { + background-size: 1rem; +} + +.no-discussions { + width: 80% !important; +} diff --git a/school/public/icons/call.svg b/school/public/icons/call.svg new file mode 100644 index 00000000..e4f4f7d8 --- /dev/null +++ b/school/public/icons/call.svg @@ -0,0 +1,3 @@ + + + diff --git a/school/public/icons/github.svg b/school/public/icons/github.svg index f946cae0..cbeacbaa 100644 --- a/school/public/icons/github.svg +++ b/school/public/icons/github.svg @@ -1,9 +1 @@ - - - - - - - - - + diff --git a/school/public/icons/linkedin.svg b/school/public/icons/linkedin.svg new file mode 100644 index 00000000..743d4a04 --- /dev/null +++ b/school/public/icons/linkedin.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/school/public/icons/mail.svg b/school/public/icons/mail.svg new file mode 100644 index 00000000..c4964de0 --- /dev/null +++ b/school/public/icons/mail.svg @@ -0,0 +1,4 @@ + + + + diff --git a/school/public/icons/medium.svg b/school/public/icons/medium.svg index df87d2cc..6c419c33 100644 --- a/school/public/icons/medium.svg +++ b/school/public/icons/medium.svg @@ -1,9 +1,9 @@ - - - - - - - - + + + + + + + + diff --git a/school/www/batch/learn.html b/school/www/batch/learn.html index ad1bca49..93e1a2a4 100644 --- a/school/www/batch/learn.html +++ b/school/www/batch/learn.html @@ -79,27 +79,30 @@ {% if not course.is_mentor(frappe.session.user) and membership %} - - {% if course.get_progress(lesson.name) != "Complete" %} -
- Mark as Complete + {% set progress = course.get_progress(lesson.name) %} +
+
- {% else %} -
+ +
Mark as Incomplete
- {% endif %} {% endif %}
- {% if next_url %} - - {% elif course.enable_certification %} -
+ {% if course.enable_certification %} +
Get Certificate
{% endif %} diff --git a/school/www/batch/learn.js b/school/www/batch/learn.js index 8cfd46d1..c64f8510 100644 --- a/school/www/batch/learn.js +++ b/school/www/batch/learn.js @@ -8,7 +8,11 @@ frappe.ready(() => { enable_check(e); }) - $("#progress").click((e) => { + $(".mark-progress").click((e) => { + mark_progress(e); + }); + + $(".next").click((e) => { mark_progress(e); }); @@ -66,21 +70,37 @@ var mark_active_question = (e = undefined) => { } var mark_progress = (e) => { - var status = $(e.currentTarget).attr("data-progress"); - frappe.call({ - method: "school.lms.doctype.course_lesson.course_lesson.save_progress", - args: { - lesson: $(".title").attr("data-lesson"), - course: $(".title").attr("data-course"), - status: status - }, - callback: (data) => { - change_progress_indicators(status, e); - if (data.message == 100 && !$(".next").length && $("#certification").hasClass("hide")) { - $("#certification").removeClass("hide"); + /* Prevent default only for Next button anchor tag and not for progress checkbox */ + if ($(e.currentTarget).prop("nodeName") != "INPUT") + e.preventDefault(); + else + return + + const target = $(e.currentTarget).attr("data-progress") ? $(e.currentTarget) : $("input.mark-progress"); + const current_status = $(".lesson-progress").hasClass("hide") ? "Incomplete": "Complete"; + + let status = "Incomplete"; + if (target.prop("nodeName") == "INPUT" && target.prop("checked")) { + status = "Complete"; + } + + if (status != current_status) { + frappe.call({ + method: "school.lms.doctype.course_lesson.course_lesson.save_progress", + args: { + lesson: $(".title").attr("data-lesson"), + course: $(".title").attr("data-course"), + status: status + }, + callback: (data) => { + change_progress_indicators(status, e); + show_certificate_if_course_completed(data); + move_to_next_lesson(e); } - } - }) + }); + } + else + move_to_next_lesson(e); } var change_progress_indicators = (status, e) => { @@ -92,9 +112,23 @@ var change_progress_indicators = (status, e) => { $(".lesson-progress").addClass("hide"); $(".active-lesson .lesson-progress-tick").addClass("hide"); } - var label = status != "Complete" ? "Mark as Complete" : "Mark as Incomplete"; - var data_progress = status != "Complete" ? "Complete" : "Incomplete"; - $(e.currentTarget).text(label).attr("data-progress", data_progress); + if (status == "Incomplete" && !$(e.currentTarget).hasClass("next")) { + $(e.currentTarget).addClass("hide"); + $("input.mark-progress").prop("checked", false).closest(".custom-checkbox").removeClass("hide"); + } +} + +const show_certificate_if_course_completed = (data) => { + if (data.message == 100 && !$(".next").attr("data-next") && $("#certification").hasClass("hide")) { + $("#certification").removeClass("hide"); + $(".next").addClass("hide"); + } +} + +const move_to_next_lesson = (e) => { + if ($(e.currentTarget).hasClass("next") && $(e.currentTarget).attr("data-href")) { + window.location.href = $(e.currentTarget).attr("data-href"); + } } var quiz_summary = (e) => { diff --git a/school/www/profiles/profile.html b/school/www/profiles/profile.html index 3785a205..2f02ed04 100644 --- a/school/www/profiles/profile.html +++ b/school/www/profiles/profile.html @@ -9,7 +9,7 @@
{% set read_only = member.name != frappe.session.user %} {{ ProfileBanner(member) }} - {{ AboutOverviewSection(member) }} + {{ ProfileSections(member) }} {{ CoursesEnrolled(member, read_only) }} {{ CoursesCreated(member, read_only) }} {{ CoursesMentored(member, read_only) }} @@ -19,63 +19,58 @@ {% endblock %} {% macro ProfileBanner(member) %} +{% set cover_image = member.cover_image if member.cover_image else "/assets/school/images/profile-banner.png" %}
-
+
{{ widgets.Avatar(member=member, avatar_class="avatar-xl") }} +
+
+
+
{{ member.full_name }}
{% if member.get_authored_courses() | length %}
Creator
{% endif %}
-
-
-
- {% if member.profession %} - {{ member.profession }} - {% endif %} - - {% if frappe.session.user == member.email %} - Edit Profile - {% endif %} -
+ + {% if frappe.session.user == member.email %} + Edit Profile + {% endif %} +
{% endmacro %} -{% macro AboutOverviewSection(member) %} +{% macro ProfileSections(member) %} + +
+ +
+ {{ About(member) }} + {{ EducationDetails(member) }} + {{ WorkDetails(member) }} + {{ Certification(member) }} +
+ +
+ {{ Overview(member) }} + {{ Contact(member) }} + {{ Skills(member) }} + {{ CareerPreference(member) }} + +
+ +
+{% endmacro %} + +{% macro Overview(member) %} + {% set enrollment = member.get_course_membership("Student") | length %} {% set mentorship = member.get_course_membership("Mentor") | length %} {% set reviews = member.get_user_reviews() | length %} -
- {% if member.bio %} -
-
- About -
-
- {{ member.bio }} -
-
- {% endif %} - {% if enrollment or reviews or mentorship %} +{% if enrollment or reviews or mentorship %}
Overview @@ -101,9 +96,7 @@ {% endif %}
- {% endif %} - -
+{% endif %} {% endmacro %} @@ -126,9 +119,7 @@ {% macro CoursesMentored(member, read_only) %} {% if member.get_mentored_courses() | length %}
-
- Courses Mentored -
+
{{ _("Courses Mentored") }}
{% for course in member.get_mentored_courses() %} {{ widgets.CourseCard(course=course, read_only=read_only) }} @@ -143,9 +134,7 @@ {% if enrolled.completed | length %}
-
- Courses Completed -
+
{{ _("Courses Completed") }}
{% for course in enrolled.completed %} {{ widgets.CourseCard(course=course, read_only=read_only) }} @@ -156,9 +145,7 @@ {% if enrolled.in_progress | length %}
-
- Courses In Progress -
+
{{ _("Courses In Progress") }}
{% for course in enrolled.in_progress %} {{ widgets.CourseCard(course=course, read_only=read_only) }} @@ -182,6 +169,180 @@
{% endmacro %} +{% macro About(member) %} +{% if member.bio %} +
+
{{ _("About") }}
+
+ {{ member.bio }} +
+
+{% endif %} +{% endmacro %} + +{% macro WorkPreference(member) %} +
+
{{ _("Work Preference") }}
+
+
{{ member.attire }}
+
{{ member.collaboration }}
+
{{ member.role }}
+
{{ member.location_preference }}
+
{{ member.time }}
+
{{ member.company_type }}
+
+
+{% endmacro %} + +{% macro CareerPreference(member) %} +{% if member.preferred_functions or member.preferred_industries or member.preferred_location or member.dream_companies %} +
+
{{ _("Career Preference") }}
+
+ + {% if member.preferred_functions | length %} +
+ Preferred Functions: +
+ {% for function in member.preferred_functions %} +
{{ function.function }}
+ {% endfor %} +
+
+ {% endif %} + + {% if member.preferred_industries | length %} +
+ Preferred Industries: +
+ {% for industry in member.preferred_industries %} +
{{ industry.industry }}
+ {% endfor %} +
+
+ {% endif %} + + {% if member.preferred_location %} +
Preferred Locations: {{ member.preferred_location }}
+ {% endif %} + + {% if member.dream_companies %} +
Dream Companies: {{ member.dream_companies }}
+ {% endif %} +
+
+{% endif %} +{% endmacro %} + +{% macro Contact(member) %} +
+
{{ _("Contact") }}
+
+ + {% if not member.hide_private %} + {{ member.email }} + {% endif %} + + {% if member.mobile_no and not member.hide_private %} + + {{ member.mobile_no }} + + {% endif %} + + {% if member.linkedin %} + + {{ member.linkedin.split("/")[-1] }} + + {% endif %} + {% if member.medium %} + + {{ member.medium.split("/")[-1] }} + + {% endif %} + {% if member.github %} + + {{ member.github.split("/")[-1] }} + + {% endif %} +
+
+{% endmacro %} + +{% macro Skills(member) %} +{% if member.skill | length %} +
+
{{ _("Skills")}}
+
+ {% for skill in member.skill %} +
{{ skill.skill_name }}
+ {% endfor %} +
+
+{% endif %} +{% endmacro %} + +{% macro EducationDetails(member) %} +{% if member.education %} +
+
Education
+
+ {% for edu in member.education %} +
+
{{ edu.institution_name }}
+
{{ edu.degree_type }} {{ edu.major }} + {% if not member.hide_private %} + + {% if edu.grade %} {{ edu.grade }} {% endif %} + {% endif %} +
+
{{ frappe.utils.format_date(edu.start_date, "MMM YYYY") }} - {{ frappe.utils.format_date(edu.end_date, "MMM YYYY") }}
+
{{ edu.location }}
+
+ {% endfor %} +
+
+{% endif %} +{% endmacro %} + +{% macro WorkDetails(member) %} +{% if member.work_experience %} +
+
Work Experience
+
+ {% for work in member.work_experience %} +
+
{{ work.title }}
+
{{ work.company }}
+
{{ frappe.utils.format_date(work.from_date, "MMM YYYY") }} - + {% if work.to_date %} {{ frappe.utils.format_date(work.to_date, "MMM YYYY") }} {% else %} Present {% endif %}
+
{{ work.location }}
+ {% if work.description %}
{{ work.description }}
{% endif %} +
+ {% endfor %} +
+
+{% endif %} +{% endmacro %} + +{% macro Certification(member) %} +{% if member.certification %} +
+
Certification
+
+ {% for cert in member.certification %} +
+
{{ cert.certification_name }}
+
{{ cert.organization }}
+
{{ frappe.utils.format_date(cert.issue_date, "MMM YYYY") }} + {% if cert.expiration_date %} - {{ frappe.utils.format_date(cert.expiration_date, "MMM YYYY") }} {% endif %}
+ {% if cert.description %}
{{ cert.description }}
{% endif %} +
+ {% endfor %} +
+
+{% endif %} +{% endmacro %} + {% block script %} {% endblock %} diff --git a/school/www/profiles/profile.py b/school/www/profiles/profile.py index 2f1592e4..17d4bb81 100644 --- a/school/www/profiles/profile.py +++ b/school/www/profiles/profile.py @@ -10,7 +10,7 @@ def get_context(context): except KeyError: username = frappe.db.get_value("User", frappe.session.user, ["username"]) if username: - frappe.local.flags.redirect_location = get_profile_url_prefix() + urlencode({"username": username}) + frappe.local.flags.redirect_location = get_profile_url_prefix() + username raise frappe.Redirect try: context.member = frappe.get_doc("User", {"username": username})