Compare commits

..

216 Commits

Author SHA1 Message Date
Jannat Patel f38b1226df Merge pull request #321 from pateljannat/version-13-lms 2022-04-04 12:01:18 +05:30
Jannat Patel 1f3513db8b fix: get_palette function call for avatar 2022-04-04 09:47:27 +05:30
Jannat Patel 3eb0f13fb0 fix: moved Avatar widget to lms module 2022-04-04 09:32:25 +05:30
Jannat Patel 1277133ec6 refactor: removed unused modules from modules.txt 2022-04-04 09:24:03 +05:30
Jannat Patel 7337aea0dc refactor: renamed school references to lms 2022-04-04 08:23:07 +05:30
Jannat Patel 32b601cf34 refactor: renamed school to lms 2022-04-01 20:11:07 +05:30
Jannat Patel d4dc901925 fix: rectified css path in hooks 2021-12-06 17:47:55 +05:30
Jannat Patel 64e581533b fix: included build files through hooks 2021-12-06 17:36:46 +05:30
Jannat Patel 0873d704d2 fix: reverting to old build system 2021-12-06 16:33:23 +05:30
Jannat Patel 8ee57f0254 fix: remove page_renderer and references 2021-12-06 13:10:42 +05:30
Jannat Patel 7c5021132d fix: remove page renderer for profile page 2021-12-06 10:51:50 +05:30
Jannat Patel 740c0d10ca get profile url jinja function issue 2021-12-03 16:29:29 +05:30
Jannat Patel a78019ccbc fix: mark as complete label 2021-12-01 18:59:29 +05:30
Jannat Patel 66f6c1fd46 Merge pull request #273 from pateljannat/testimonial-card-fix 2021-11-30 11:15:59 +05:30
Jannat Patel aaa845a0f8 fix: testimonial cards height and shadows 2021-11-30 11:04:29 +05:30
Jannat Patel 2a56b7ade2 Merge pull request #270 from pateljannat/mark-as-complete 2021-11-29 16:29:21 +05:30
Jannat Patel cf8be3ca21 style: discussons empty state and mark as complete message 2021-11-29 16:20:49 +05:30
Jannat Patel 715a1b5df5 fix: mark as complete behaviour 2021-11-29 16:02:59 +05:30
Jannat Patel 0a374a0e78 Merge pull request #269 from pateljannat/search-generic 2021-11-26 11:44:23 +05:30
Jannat Patel 36996a54a5 fix: search-settings 2021-11-26 11:34:10 +05:30
Jannat Patel 3f687e4c4a Merge pull request #265 from pateljannat/improve-notify-me-behaviour 2021-11-25 14:09:03 +05:30
Jannat Patel 315d373d2d fix: hide notify me button on callback 2021-11-25 13:06:12 +05:30
Jannat Patel 6ae346df44 fix: notify-me-ux 2021-11-23 22:28:07 +05:30
Jannat Patel 9582a27dc6 Merge pull request #264 from pateljannat/search-empty-state-improvements 2021-11-22 10:14:48 +05:30
Jannat Patel 6195d72c3c fix: indentation 2021-11-22 10:08:54 +05:30
Jannat Patel 3f0309c36a fix: search empty state improvements 2021-11-22 10:05:04 +05:30
Jannat Patel 08ea7401cc Merge pull request #263 from pateljannat/search-improvements 2021-11-19 19:44:55 +05:30
Jannat Patel f3d7f09476 feat: search empty state 2021-11-19 19:12:19 +05:30
Jannat Patel 36150d5b09 fix: allow guests to search 2021-11-18 15:44:19 +05:30
Jannat Patel e5deb2ddd7 Merge pull request #262 from pateljannat/testimonials 2021-11-18 15:25:33 +05:30
Jannat Patel d60aa54903 fix: condition if testimonials are less than multiple of three 2021-11-18 15:12:41 +05:30
Jannat Patel 2627cee938 fix: increased margin above explore more link 2021-11-18 15:07:29 +05:30
Jannat Patel e7f47a4485 fix: slider height 2021-11-18 10:09:11 +05:30
Jannat Patel 5bfe56c091 fix: slider 2021-11-17 20:34:10 +05:30
Jannat Patel f08586ee12 feat: testimonials template 2021-11-16 19:32:05 +05:30
Jannat Patel af17270c52 fix: back tracing result on search 2021-11-15 19:30:01 +05:30
Jannat Patel 06b4062003 Merge pull request #261 from pateljannat/search 2021-11-15 19:08:24 +05:30
Jannat Patel 6cba6972bc feat: search for courses 2021-11-15 19:00:23 +05:30
Jannat Patel f7a23e629c fix: conflicts 2021-11-15 13:29:02 +05:30
Jannat Patel e67b37be28 Merge pull request #260 from pateljannat/course-cards-cleanup 2021-11-12 19:35:52 +05:30
Jannat Patel 1fa7dfe41f fix: removed arrow interaction 2021-11-12 19:20:18 +05:30
Jannat Patel e781071ebf Merge pull request #257 from pateljannat/empty-states 2021-11-12 18:48:12 +05:30
Jannat Patel 1697c5d5b5 feat: search bar on course list 2021-11-12 10:10:39 +05:30
Jannat Patel 091fefb601 fix: removed unused css variables 2021-11-11 09:48:11 +05:30
Jannat Patel 7939e6c619 style: course cards and templates 2021-11-10 17:08:46 +05:30
Jannat Patel f8788dc32c fix: empty state logo and link style 2021-11-08 16:49:31 +05:30
Jannat Patel 4db51bff79 style: empty state for reviews 2021-11-04 22:03:26 +05:30
Jannat Patel 6f96da74c7 empty state for discussion 2021-11-02 18:27:52 +05:30
Jannat Patel f1692763d3 Merge pull request #255 from pateljannat/fixes 2021-11-01 15:08:00 +05:30
Jannat Patel 43311dfb73 fix: made course filter mandatory for course progress summary report 2021-11-01 14:46:16 +05:30
Jannat Patel 125b8d61d9 style: course cards, card dividers, breadcrumbs 2021-11-01 13:33:42 +05:30
Jannat Patel 27b92607c4 Merge pull request #253 from pateljannat/courses-enrolled-template-empty-state 2021-10-29 10:27:48 +05:30
Jannat Patel c238c6cc05 fix: empty state for courses enrolled 2021-10-28 20:25:11 +05:30
Jannat Patel fc8a702f2f Merge pull request #251 from pateljannat/readme-and-license 2021-10-27 20:17:57 +05:30
Jannat Patel a01c80794c docs: moved contribution guidelines to a separate file 2021-10-27 20:08:26 +05:30
Jannat Patel 1f6bdfbaa0 fix: docker installation file path 2021-10-27 20:04:29 +05:30
Jannat Patel a650a31990 fix: readme and license 2021-10-27 20:00:07 +05:30
Jannat Patel 12c00ae6c6 Merge pull request #250 from pateljannat/issues 2021-10-26 16:55:35 +05:30
Jannat Patel 857f170034 fix: help section in course lesson 2021-10-26 16:07:22 +05:30
Jannat Patel 41f7be4ebc style: overview card 2021-10-26 10:06:06 +05:30
Jannat Patel f95b9b4f00 Merge pull request #249 from pateljannat/course-cards-assets 2021-10-25 16:28:08 +05:30
Jannat Patel 6aa30cc8ba fix: aseets on course cards 2021-10-25 16:27:04 +05:30
Jannat Patel 1d4037fcc5 Merge pull request #238 from pateljannat/rename-app-to-school 2021-10-25 12:00:23 +05:30
Jannat Patel 59e853a012 fix: removed unnecessary lines 2021-10-25 11:52:08 +05:30
Jannat Patel 79bca49fb8 Merge branch 'main' into rename-app-to-school 2021-10-25 11:17:04 +05:30
Jannat Patel 05b0ca49fa fix: ci (#248) 2021-10-25 11:05:50 +05:30
Jannat Patel 8483b7b86b fix: conflicts 2021-10-24 12:09:31 +05:30
Jannat Patel 050cfa494c fix: conflicts 2021-10-24 12:03:06 +05:30
Jannat Patel 866829af97 Merge pull request #247 from pateljannat/fix-ui-quiz 2021-10-24 11:43:11 +05:30
Jannat Patel 0cd52b7220 style: quiz cta 2021-10-24 11:30:51 +05:30
Jannat Patel b922af1411 Merge pull request #243 from anandology/docker-compose-fixes 2021-10-24 11:30:05 +05:30
Jannat Patel ce01e83382 style: changed quiz button to secondary 2021-10-22 18:55:55 +05:30
Jannat Patel 60393e048e Merge pull request #246 from pateljannat/workspace 2021-10-21 18:50:39 +05:30
Jannat Patel 1f7e2cd0cc feat: new school workspace 2021-10-21 18:19:11 +05:30
Jannat Patel 747828b363 Merge pull request #244 from pateljannat/dashboard 2021-10-21 17:14:22 +05:30
Jannat Patel b722eedb05 fix: ci removed frappe path 2021-10-21 16:21:20 +05:30
Jannat Patel 2f664faea9 fix: ci 2021-10-21 16:17:39 +05:30
Jannat Patel e9b545c488 fix: empty state 2021-10-21 15:58:26 +05:30
Jannat Patel bb62f626fd feat: dashboard web templates 2021-10-21 12:53:36 +05:30
Anand Chitipothu 58fe403bd0 fix: docker-compose setup
The new image of anandology/frappe-bench has the following changes:
- the bench directoy is changed from /home/bench/frappe-bench to /opt/frappe-bench
- dependency on external redis service is removed

Updated the docker-compose.yml to reflect these changes. Also pinned the
docker image to anandology/frappe-bench:2021.10
2021-10-21 09:51:37 +05:30
Jannat Patel 5ae5bab76b Merge pull request #242 from pateljannat/course-progress-optimisation 2021-10-20 16:23:15 +05:30
Jannat Patel 049c374ece fix: convert progress to int for comparision 2021-10-20 16:12:41 +05:30
Jannat Patel 66e8ac9cae fix: get progress from membership 2021-10-20 12:05:13 +05:30
Jannat Patel f5af07086b Merge branch 'main' of https://github.com/frappe/school into rename-app-to-school 2021-10-19 19:20:31 +05:30
Jannat Patel 4d534db63f Merge pull request #241 from pateljannat/fix-styles 2021-10-19 19:18:46 +05:30
Jannat Patel aec69e96cb fix: style for certificate button and card responsive 2021-10-19 19:09:42 +05:30
Jannat Patel 6172b09aa3 fix: conflicts 2021-10-19 12:37:16 +05:30
Jannat Patel 98c386729c Merge pull request #240 from pateljannat/fix-translation-issue 2021-10-18 13:29:58 +05:30
Jannat Patel 91ebcd8253 fix: translation issue 2021-10-18 13:28:48 +05:30
Jannat Patel 3a51299e8d Merge pull request #239 from pateljannat/fix-rating-issue 2021-10-18 13:18:26 +05:30
Jannat Patel eaa8876f4e fix: made quotes same throughout file 2021-10-18 13:13:19 +05:30
Jannat Patel 7d80178b48 fix: allow import on course chapter lesson quiz 2021-10-18 13:02:11 +05:30
Jannat Patel 8090f2f397 fix: made strings translatable 2021-10-18 12:43:34 +05:30
Jannat Patel bf986e26bc fix: rating issue 2021-10-18 12:24:37 +05:30
Jannat Patel c95d957d2c refactor: build file and patch 2021-10-13 13:51:41 +05:30
Jannat Patel b1aaddae59 Merge pull request #235 from anandology/fix-reindex-exercises
fix: error on reindex-exercises
2021-10-12 17:23:13 +05:30
Anand Chitipothu 8fe9bad2bb fix: error on reindex-exercises
Issue fossunited/mon_school#69
2021-10-12 12:38:26 +05:30
Jannat Patel 23dab6312d Merge pull request #233 from pateljannat/quiz-question-length-issue
fix: quiz question length issue
2021-10-12 10:48:32 +05:30
Jannat Patel c91b1a7a23 fix: quiz question length issue 2021-10-12 10:34:15 +05:30
Jannat Patel d07dbcc50a refactor: renamed app to school 2021-10-11 20:31:27 +05:30
Jannat Patel 49771a627d Merge pull request #232 from anandology/ignore-xss-for-lesson
fix: fixed the issue of lesson body getting mangled on save
2021-10-11 17:13:50 +05:30
Anand Chitipothu 25ec4ae7c6 fix: fixed the issue of lesson body getting mangled on save
enabled `ignore_xss_filter` for lesson body to disable sanitizing the
input.

Issue #231
2021-10-11 15:34:16 +05:30
Jannat Patel 13022e0bcc Merge pull request #229 from pateljannat/ix-profile-cards 2021-10-08 20:34:58 +05:30
pateljannat cdc4b6992d fix: clickable course cards from profile page 2021-10-08 20:28:06 +05:30
Jannat Patel f178f3806d Merge pull request #224 from pateljannat/change-patch-sequence 2021-10-06 21:52:34 +05:30
pateljannat d84f621813 fix: patch sequence 2021-10-06 21:33:13 +05:30
Jannat Patel 7ba2ac1efd Merge pull request #222 from pateljannat/ci-fix 2021-10-04 13:39:51 +05:30
Jannat Patel 658a9e6172 fix: path to frappe-bench 2021-10-04 13:26:06 +05:30
Jannat Patel 0b44e78cc2 fix: removed frappe-path 2021-10-04 13:20:08 +05:30
Jannat Patel 1c5766d022 Merge pull request #205 from pateljannat/discussions-shift 2021-10-04 13:10:56 +05:30
pateljannat 3bff000cc9 fix: bench init command 2021-10-04 12:21:02 +05:30
pateljannat 30a8750f16 fix: ci 2021-10-04 10:34:47 +05:30
pateljannat f3ad3f6d18 Merge branch 'main' of https://github.com/fossunited/community into discussions-shift 2021-10-03 12:12:31 +05:30
Jannat Patel 65a7dde47b Merge pull request #221 from pateljannat/fix-progress-api 2021-10-02 19:50:02 +05:30
pateljannat 38ebab59c7 fix: api call for progress save 2021-10-02 19:39:27 +05:30
Jannat Patel b7f79b4832 Merge pull request #217 from pateljannat/remove-unused-doctypes 2021-10-02 19:00:21 +05:30
pateljannat 876a2f562f fix: conflicts 2021-10-02 18:54:05 +05:30
Jannat Patel 5f4fc2fb59 Merge pull request #219 from pateljannat/reload-doctypes-in-patch
fix: relaod doctypes in patch
2021-10-02 13:25:41 +05:30
pateljannat 44e8efd39b fix: relaod doctypes in patch 2021-10-02 13:12:04 +05:30
Jannat Patel 51c625da4d Merge pull request #218 from pateljannat/courses-page-headings 2021-10-01 19:40:50 +05:30
pateljannat a795cd23a8 fix: conflicts 2021-10-01 11:52:20 +05:30
pateljannat ebc3cf1cbf feat: live and upcoming course headers 2021-09-30 18:31:41 +05:30
pateljannat c717b3ba9d fix: removed unused folders 2021-09-30 17:54:59 +05:30
pateljannat 0ed3c87f79 fix: conflicts 2021-09-30 17:36:15 +05:30
Jannat Patel 9499700988 Merge pull request #216 from pateljannat/rename-chapters-and-lessons
fix: renamed chapter and lesson doctype
2021-09-30 17:17:42 +05:30
pateljannat 8366721643 fix: indentation 2021-09-30 17:09:35 +05:30
pateljannat 66afd0fcdd fix: remove unused doctype 2021-09-30 16:20:44 +05:30
pateljannat a105a1d3b4 fix: removed chapter and lesson links 2021-09-30 15:04:19 +05:30
pateljannat 5488947922 fix: rename parenttype for lesson reference 2021-09-30 11:27:27 +05:30
Jannat Patel aa466f9fb7 Merge pull request #215 from fossunited/duplicate-course-interest 2021-09-30 11:24:59 +05:30
pateljannat b3840e056f fix: naming series 2021-09-29 19:37:37 +05:30
pateljannat ddffc8372b fix: condition to check course and chapter 2021-09-29 17:55:08 +05:30
pateljannat dc877a9c09 fix: renamed chapter and lesson doctype 2021-09-29 16:42:07 +05:30
Anand Chitipothu 04d2384283 fix: avoid creating duplicate entries of LMS Course Interest 2021-09-29 13:34:38 +05:30
Jannat Patel 50938afe77 Merge pull request #214 from pateljannat/course-progress-report
feat: course progress summary
2021-09-28 20:10:00 +05:30
pateljannat ea6bd1f598 fix: columns 2021-09-28 19:58:07 +05:30
pateljannat fb0f9885c1 feat: course progress summary 2021-09-28 18:03:12 +05:30
pateljannat 4248a3af07 Merge branch 'main' of https://github.com/fossunited/community into discussions-shift 2021-09-28 11:16:46 +05:30
pateljannat a3dc2402f7 fix: semicolon 2021-09-28 11:16:42 +05:30
Jannat Patel 153b439510 Merge pull request #211 from pateljannat/preview-message
fix: preview message
2021-09-27 13:00:46 +05:30
pateljannat 06b925435d fix: preview message 2021-09-27 12:46:11 +05:30
pateljannat 93c2c3cc45 fix: conflicts 2021-09-21 12:38:43 +05:30
Jannat Patel 04a3d58028 Merge pull request #210 from pateljannat/patch-for-chapters-and-lessons
fix: Patch for chapters and lessons
2021-09-21 10:21:31 +05:30
Jannat Patel 8551cfa32e fix: check if present before adding 2021-09-20 21:40:49 +05:30
Jannat Patel b19c7f2fac fix: move data between doctypes 2021-09-20 18:11:19 +05:30
Jannat Patel d135338088 fix: patch 2021-09-20 17:49:13 +05:30
Jannat Patel b8fae5cd28 Merge pull request #209 from pateljannat/username-validation
fix: Username validation
2021-09-20 15:23:18 +05:30
Jannat Patel 29fe75d807 fix: regex in page renderer 2021-09-20 15:12:23 +05:30
Jannat Patel 1dbbf7c769 Merge branch 'main' of https://github.com/fossunited/community into username-validation 2021-09-20 13:44:51 +05:30
Jannat Patel 3be20b5658 Merge pull request #208 from pateljannat/misc
fix: minor issues
2021-09-20 12:26:59 +05:30
Jannat Patel 73b6ddf365 fix: deleted unnecessary file 2021-09-20 12:21:40 +05:30
Jannat Patel 64048a8a18 fix: minor issues 2021-09-20 12:10:35 +05:30
Jannat Patel e245af57a8 fix: regex change for username 2021-09-19 19:15:45 +05:30
Jannat Patel 0ab708396a Merge pull request #207 from pateljannat/fixes
fix: issues
2021-09-16 18:21:58 +05:30
Jannat Patel 29855a0cbc fix: issues 2021-09-16 18:04:03 +05:30
Jannat Patel ff6457171f Merge pull request #206 from kennethsequeira/patch-1
fix: spell check in Validation Message
2021-09-16 16:35:13 +05:30
Kenneth Sequeira 9fd59b5d38 fix: spell check in Validation Message
Change unedrscore to underscore
2021-09-16 15:59:32 +05:30
Jannat Patel c750c62993 fix: style and message 2021-09-16 13:26:11 +05:30
Jannat Patel a0d90ab16b fix: conflicts 2021-09-14 18:36:21 +05:30
Jannat Patel af15d978c6 Merge pull request #204 from pateljannat/discussions-markdown-support
fix: discussions markdown support
2021-09-14 16:38:02 +05:30
Jannat Patel f4271e7c0e fix: discussions markdown support 2021-09-14 16:22:56 +05:30
Jannat Patel 0440e1062d fix: shifting discussions from community app 2021-09-14 15:58:12 +05:30
Jannat Patel 2bc30d696a Merge pull request #203 from pateljannat/certification-redesign
fix: certificate-redesign
2021-09-11 11:21:07 +05:30
Jannat Patel 6dcd210031 certificate-redesign 2021-09-11 11:09:28 +05:30
Jannat Patel c78c4c92b7 Merge pull request #200 from pateljannat/progress-indicators-and-dashboard
fix: profile and progress on dashboard
2021-09-10 19:52:16 +05:30
Jannat Patel 6a2c749a86 fix: formatting 2021-09-10 19:46:48 +05:30
Jan Doe 56d738474a fix: course card buttons 2021-09-10 18:54:27 +05:30
Jan Doe 7721f31342 fix: profile urls 2021-09-09 15:34:39 +05:30
Jan Doe 90e268ff2f fix: conflicts 2021-09-09 11:01:59 +05:30
Jannat Patel 69bdb75625 Merge pull request #202 from fossunited/profile-urls
Added support for making profile urls to be top-level
2021-09-09 10:26:23 +05:30
Anand Chitipothu a0b77f5d08 feat: added get_profile_url function to get the profile url in templates
This takes care of generating the correct profile URL depending on the
`profile_url_prefix` setting.

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

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

Issue #192
2021-09-07 17:58:04 +05:30
pateljannat b9736cc6d6 fix: conflicts 2021-09-06 19:35:32 +05:30
Jannat Patel f52e5067b6 Merge pull request #201 from pateljannat/discussion-second-cut
fix: Discussions Redesign
2021-09-06 19:29:40 +05:30
pateljannat d657525359 fix: discussions redesign 2021-09-06 18:59:59 +05:30
pateljannat 3a2ebd42a7 fix: progress pill and certificate secondary cta 2021-09-02 13:26:45 +05:30
pateljannat 916e64d607 feat: discussions sidebar 2021-09-02 10:47:35 +05:30
pateljannat e0b25c1e6e fix: certificate link 2021-09-01 16:50:27 +05:30
pateljannat 13b968e18c fix: profile and progress on dashboard 2021-09-01 16:21:55 +05:30
pateljannat 9e1daf5062 fix: reply card ui 2021-08-31 19:17:00 +05:30
pateljannat 941a34784c Merge branch 'main' of https://github.com/fossunited/community into discussion-second-cut 2021-08-31 17:38:13 +05:30
Jannat Patel cd4ffa2eff Merge pull request #199 from pateljannat/certificate-ui
fix: certificate ui
2021-08-31 16:31:14 +05:30
pateljannat 17a7af74f2 fix: certificate ui 2021-08-31 16:19:41 +05:30
Jannat Patel ff22eaa606 Merge pull request #198 from pateljannat/issue-fixes
fix: ui and removed mockup
2021-08-31 12:51:32 +05:30
pateljannat 417436d7b6 fix: course filter in review 2021-08-31 12:43:51 +05:30
pateljannat f228489173 fix: ui and removed mockup 2021-08-31 12:30:52 +05:30
pateljannat a49563e23f fix: discussions template 2021-08-30 18:39:00 +05:30
pateljannat b3403b78ee fix: removed global discussions page 2021-08-30 12:47:15 +05:30
pateljannat 7a9039090d fix: discussions structure 2021-08-30 12:46:08 +05:30
Jannat Patel 289195e6c9 fix: readme url 2021-08-30 11:14:25 +05:30
Jannat Patel e6502784ea Merge pull request #197 from pateljannat/ui-issues
fix: ui issues
2021-08-27 09:58:22 +05:30
pateljannat 54f301e8eb fix: edit-profile-link 2021-08-27 09:53:30 +05:30
pateljannat ed91801769 fix: ui issues 2021-08-26 18:32:14 +05:30
Jannat Patel 6965148e4e Merge pull request #196 from pateljannat/course-cards-web-template
feat: course cards web template
2021-08-26 10:59:28 +05:30
pateljannat b5481e1dd5 fix: margin 2021-08-26 10:54:38 +05:30
pateljannat 4ec9b56366 feat: course cards web template 2021-08-26 10:44:17 +05:30
Jannat Patel 530fcf9a39 Merge pull request #194 from fossunited/certification-fixes
fix: certificate, profile, quiz, and video markdown
2021-08-25 21:11:28 +05:30
pateljannat ff1363b437 fix: certificate, profile, quiz, and video markdown 2021-08-25 21:01:13 +05:30
Jannat Patel 952e3a9906 Merge pull request #190 from fossunited/web-form-changes
fix: web form issues
2021-08-24 21:23:23 +05:30
pateljannat 9d530e35fb fix: web form issues 2021-08-24 20:58:12 +05:30
Jannat Patel 2c2ad78eb7 Merge pull request #189 from sumaiya2908/event-registration
fix: attendee-route
2021-08-24 18:09:27 +05:30
Summayya f61c5a2fa1 fix: implicit user in speaker and exhibitor 2021-08-24 17:47:58 +05:30
Summayya 3e24ff9678 fix: implicit user 2021-08-24 17:27:16 +05:30
Summayya b0280c3be4 fix: attendee-route 2021-08-24 16:40:46 +05:30
Jannat Patel b10eb5c979 Merge pull request #188 from fossunited/talks-thumbnail
fix: talk card schedule
2021-08-24 12:27:13 +05:30
pateljannat e2072c72da fix: talk card schedule 2021-08-24 12:12:55 +05:30
Jannat Patel 84a43912db Merge pull request #186 from fossunited/fixes
fix: minor issues
2021-08-23 18:52:14 +05:30
pateljannat 841819436a fix: minor issues 2021-08-23 18:22:36 +05:30
pateljannat 14a984c75f Merge branch 'main' of https://github.com/frappe/community into fixes 2021-08-23 11:14:35 +05:30
Jannat Patel 445de61ce4 Merge pull request #185 from fossunited/web-form-url-fixes
fix: web form redirects
2021-08-23 10:32:40 +05:30
Jannat Patel aefee791ca Merge pull request #184 from sumaiya2908/event-management
fix: redirections
2021-08-23 10:21:24 +05:30
Summayya 00154d80df fix: redirections 2021-08-23 10:08:43 +05:30
Summayya a1e12d29ac fix: redirections 2021-08-23 10:02:06 +05:30
pateljannat c6d3994383 fix: course page 2021-08-20 14:23:18 +05:30
pateljannat eaec991f47 fix: chapter teaser drawer 2021-08-19 10:06:39 +05:30
519 changed files with 5577 additions and 6346 deletions
+11 -8
View File
@@ -6,7 +6,7 @@ on:
pull_request: {} pull_request: {}
jobs: jobs:
tests: tests:
runs-on: ubuntu-20.04 runs-on: ubuntu-latest
services: services:
redis-cache: redis-cache:
image: redis:alpine image: redis:alpine
@@ -32,7 +32,7 @@ jobs:
- name: setup python - name: setup python
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: 3.9 python-version: '3.9'
- name: setup node - name: setup node
uses: actions/setup-node@v2 uses: actions/setup-node@v2
with: with:
@@ -53,19 +53,22 @@ jobs:
then then
(cd && tar xzf ~/bench-cache/bench.tgz) (cd && tar xzf ~/bench-cache/bench.tgz)
else else
bench init ~/frappe-bench --skip-redis-config-generation bench init ~/frappe-bench --skip-redis-config-generation --skip-assets --python "$(which python)"
mkdir -p ~/bench-cache mkdir -p ~/bench-cache
(cd && tar czf ~/bench-cache/bench.tgz frappe-bench) (cd && tar czf ~/bench-cache/bench.tgz frappe-bench)
fi fi
- name: add community app to bench - name: add lms app to bench
working-directory: /home/runner/frappe-bench working-directory: /home/runner/frappe-bench
run: bench get-app community $GITHUB_WORKSPACE run: bench get-app lms $GITHUB_WORKSPACE
- name: create bench site - name: create bench site
working-directory: /home/runner/frappe-bench working-directory: /home/runner/frappe-bench
run: bench new-site --mariadb-root-password root --admin-password admin frappe.local run: bench new-site --mariadb-root-password root --admin-password admin frappe.local
- name: install community app - name: install lms app
working-directory: /home/runner/frappe-bench working-directory: /home/runner/frappe-bench
run: bench --verbose --site frappe.local install-app community run: bench --verbose --site frappe.local install-app lms
- name: setup requirements
working-directory: /home/runner/frappe-bench
run: bench setup requirements --dev
- name: allow tests - name: allow tests
working-directory: /home/runner/frappe-bench working-directory: /home/runner/frappe-bench
run: bench --site frappe.local set-config allow_tests true run: bench --site frappe.local set-config allow_tests true
@@ -74,5 +77,5 @@ jobs:
run: bench --site frappe.local build run: bench --site frappe.local build
- name: run tests - name: run tests
working-directory: /home/runner/frappe-bench working-directory: /home/runner/frappe-bench
run: bench --site frappe.local run-tests --app community run: bench --site frappe.local run-tests --app lms
+2 -2
View File
@@ -3,8 +3,8 @@
*.egg-info *.egg-info
*.swp *.swp
tags tags
community/docs/current lms/docs/current
community/public/dist lms/public/dist
__pycache__/ __pycache__/
*.py[cod] *.py[cod]
*$py.class *$py.class
+7
View File
@@ -0,0 +1,7 @@
1. Go to the apps/lms directory of your installation and execute git pull --unshallow to ensure that you have the full git repository. Also fork the frappe/lms repository on GitHub.
1. Check out a working branch in git (e.g. git checkout -b my-new-branch).
1. Make your proposed changes to the source
1. Run your local version (e.g. bench start in your bench installation). Make sure that your changes work the way you want them to.
1. Commit your changes to your branch. Make sure to use a semantic commit message.
1. Push your branch to your fork on Github, and issue a pull request.
+12 -12
View File
@@ -4,15 +4,15 @@ include *.json
include *.md include *.md
include *.py include *.py
include *.txt include *.txt
recursive-include community *.css recursive-include lms *.css
recursive-include community *.csv recursive-include lms *.csv
recursive-include community *.html recursive-include lms *.html
recursive-include community *.ico recursive-include lms *.ico
recursive-include community *.js recursive-include lms *.js
recursive-include community *.json recursive-include lms *.json
recursive-include community *.md recursive-include lms *.md
recursive-include community *.png recursive-include lms *.png
recursive-include community *.py recursive-include lms *.py
recursive-include community *.svg recursive-include lms *.svg
recursive-include community *.txt recursive-include lms *.txt
recursive-exclude community *.pyc recursive-exclude lms *.pyc
+13 -67
View File
@@ -1,79 +1,25 @@
## Community ## LMS
This app helps people organize and manage their own communities. Create online courses without much hassle.
The App has following components: ![Course Home](/lms/public/images/course-home.png)
1. Hackathons ## Features
1. LMS
Community is built on the [Frappe Framework](https://github.com/frappe/frappe), a full-stack web app framework built with Python & JavaScript. 1. Simple Backend Forms.
1. The UI is clean and minimal.
1. Lessons can be in the form of texts, videos, quizzes or a combination of all of these.
## Development Setup ## Development Setup
**Step 1:** Clone the repo 1. [Through Docker](docker-installation.md)
1. [Direct install through bench](bench-installation.md)
```
$ git clone https://github.com/fossunited/community.git
$ cd community ### Contributing
```
**Step 2:** Run docker-compose 1. [Contribution Guidelines](Contribution.md)
``` ## License
$ docker-compose up
```
**Step 3:** Visit the website at http://localhost:8000/ [GNU AFFERO GENERAL PUBLIC LICENSE](license.txt)
You'll have to go through the setup wizard to setup the website for the first time you access it. Login using the following credentiasl to complete the setup wizard.
```
Username: Administrator
password: admin
```
TODO: Explain how to load sample data
## Stopping the server
Press `ctrl+c` in the terminal to stop the server. You can also run `docker-compose down` in another terminal to stop it.
To completely reset the instance, do the following:
```
$ docker-compose down --volumes
$ docker-compose up
```
## Making Code Changes
The dev setup is configured to reload whenever any code is changed. Just edit the code and reload the webpage.
Commit the changes in a branch and send a pull request.
## Local Setup - The Hard Way
To setup the repository locally follow the steps mentioned below:
1. Install bench and setup a frappe-bench directory by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation).
1. Start the server by running bench start.
1. In a separate terminal window, create a new site by running bench new-site community.test.
1. Run bench get-app https://github.com/fossunited/community.
1. Run bench --site community.test install-app community.
1. Map your site to localhost with the command ```bench --site community.test add-to-hosts```
1. Now open the URL http://community.test:8000/docs in your browser, you should see the app running.
### Contribution Guidelines (for The Hard Way)
1. Go to the apps/community directory of your installation and execute git pull --unshallow to ensure that you have the full git repository. Also fork the fossunited/community repository on GitHub.
1. Check out a working branch in git (e.g. git checkout -b my-new-branch).
1. Make your proposed changes to the source
1. Run your local version (e.g. bench start in your bench installation). Make sure that your changes work the way you want them to.
1. Commit your changes to your branch. Make sure to use a semantic commit message.
1. Push your branch to your fork on Github, and issue a pull request.
#### License
AGPL
+10
View File
@@ -0,0 +1,10 @@
To setup the repository locally follow the steps mentioned below:
1. Install bench and setup a frappe-bench directory by following the [Installation Steps](https://frappeframework.com/docs/user/en/installation).
1. Start the server by running bench start.
1. In a separate terminal window, create a new site by running bench new-site lms.test.
1. Fork the lms app
1. Run bench get-app <url-of-your-form>.
1. Run bench --site lms.test install-app lms.
1. Map your site to localhost with the command ```bench --site lms.test add-to-hosts```
1. Now open the URL http://lms.test:8000/ in your browser, you should see the app running.
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Event', {
// refresh: function(frm) {
// }
});
@@ -1,58 +0,0 @@
{
"actions": [],
"autoname": "Prompt",
"creation": "2021-02-12 17:54:52.300451",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"year",
"is_hackathon",
"volunteers"
],
"fields": [
{
"fieldname": "year",
"fieldtype": "Select",
"label": "Year",
"options": "\n2021\n2022\n2023\n2024\n2025"
},
{
"fieldname": "volunteers",
"fieldtype": "Table",
"label": "Volunteers",
"options": "Community Event Volunteer"
},
{
"default": "0",
"fieldname": "is_hackathon",
"fieldtype": "Check",
"label": "Is Hackathon"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-15 18:29:26.828720",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Event",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityEvent(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityEvent(unittest.TestCase):
pass
@@ -1,32 +0,0 @@
{
"actions": [],
"creation": "2021-02-12 15:55:58.252902",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"member"
],
"fields": [
{
"fieldname": "member",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Member",
"options": "User"
}
],
"index_web_pages_for_search": 1,
"istable": 1,
"links": [],
"modified": "2021-05-21 12:15:51.286478",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Event Volunteer",
"owner": "Administrator",
"permissions": [],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityEventVolunteer(Document):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Participant', {
// refresh: function(frm) {
// }
});
@@ -1,74 +0,0 @@
{
"actions": [],
"creation": "2021-02-15 11:04:02.748879",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"first_name",
"last_name",
"email",
"student",
"organization_college"
],
"fields": [
{
"fieldname": "first_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "First Name",
"reqd": 1
},
{
"fieldname": "last_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Last Name",
"reqd": 1
},
{
"fieldname": "email",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Email",
"options": "Email",
"reqd": 1
},
{
"default": "0",
"fieldname": "student",
"fieldtype": "Check",
"label": "Student"
},
{
"fieldname": "organization_college",
"fieldtype": "Data",
"label": "Organization/College"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-15 11:04:02.748879",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Participant",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityParticipant(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityParticipant(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Speaker', {
// refresh: function(frm) {
// }
});
@@ -1,72 +0,0 @@
{
"actions": [],
"creation": "2021-02-15 10:56:59.876454",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"full_name",
"enabled",
"avatar",
"column_break_3",
"short_bio",
"bio"
],
"fields": [
{
"fieldname": "full_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Full Name"
},
{
"fieldname": "avatar",
"fieldtype": "Attach Image",
"label": "Avatar"
},
{
"fieldname": "short_bio",
"fieldtype": "Data",
"label": "Short Bio"
},
{
"fieldname": "bio",
"fieldtype": "Small Text",
"label": "Bio"
},
{
"default": "0",
"fieldname": "enabled",
"fieldtype": "Check",
"label": "Enabled"
},
{
"fieldname": "column_break_3",
"fieldtype": "Column Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-15 11:01:02.010360",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Speaker",
"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",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunitySpeaker(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunitySpeaker(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Sponsor', {
// refresh: function(frm) {
// }
});
@@ -1,82 +0,0 @@
{
"actions": [],
"autoname": "field:sponsor",
"creation": "2021-02-15 10:46:16.271104",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"sponsor",
"website",
"image",
"speaker",
"timeslot",
"short_intro",
"pitch"
],
"fields": [
{
"fieldname": "sponsor",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Sponsor",
"reqd": 1,
"unique": 1
},
{
"fieldname": "website",
"fieldtype": "Data",
"label": "Website"
},
{
"fieldname": "image",
"fieldtype": "Attach Image",
"label": "Image"
},
{
"fieldname": "speaker",
"fieldtype": "Data",
"label": "Speaker"
},
{
"fieldname": "timeslot",
"fieldtype": "Datetime",
"label": "Timeslot"
},
{
"fieldname": "short_intro",
"fieldtype": "Small Text",
"label": "Short Intro"
},
{
"fieldname": "pitch",
"fieldtype": "Markdown Editor",
"label": "Pitch"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-15 10:46:16.271104",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Sponsor",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunitySponsor(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunitySponsor(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Talk', {
// refresh: function(frm) {
// }
});
@@ -1,80 +0,0 @@
{
"actions": [],
"autoname": "field:topic",
"creation": "2021-02-18 16:06:59.882799",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"speaker",
"topic",
"video_link",
"date_and_time",
"event_type",
"event"
],
"fields": [
{
"fieldname": "speaker",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Speaker",
"reqd": 1
},
{
"fieldname": "topic",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Topic",
"reqd": 1,
"unique": 1
},
{
"fieldname": "video_link",
"fieldtype": "Data",
"label": "Video Link"
},
{
"fieldname": "date_and_time",
"fieldtype": "Datetime",
"label": "Date and Time"
},
{
"fieldname": "event_type",
"fieldtype": "Link",
"label": "Event Type",
"options": "DocType"
},
{
"fieldname": "event",
"fieldtype": "Dynamic Link",
"label": "Event",
"options": "event_type"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-18 16:56:41.526184",
"modified_by": "Administrator",
"module": "Community",
"name": "Community Talk",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityTalk(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityTalk(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Discussion Message', {
// refresh: function(frm) {
// }
});
@@ -1,69 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 10:59:38.597046",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"thread",
"column_break_2",
"parent_message",
"section_break_4",
"message"
],
"fields": [
{
"fieldname": "message",
"fieldtype": "Long Text",
"in_list_view": 1,
"label": "Message"
},
{
"fieldname": "thread",
"fieldtype": "Link",
"in_list_view": 1,
"in_standard_filter": 1,
"label": "Thread",
"options": "Discussion Thread"
},
{
"fieldname": "column_break_2",
"fieldtype": "Column Break"
},
{
"fieldname": "parent_message",
"fieldtype": "Link",
"in_list_view": 1,
"label": "Parent Message",
"options": "Discussion Message"
},
{
"fieldname": "section_break_4",
"fieldtype": "Section Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-12 15:59:04.811286",
"modified_by": "Administrator",
"module": "Community",
"name": "Discussion Message",
"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",
"track_changes": 1
}
@@ -1,22 +0,0 @@
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
import frappe
from frappe.model.document import Document
from community.widgets import Widget, Widgets
class DiscussionMessage(Document):
def after_insert(self):
data = {
"message": self,
"widgets": Widgets()
}
template = frappe.render_template("community/templates/message_card.html", data)
thread_info = frappe.db.get_value("Discussion Thread", self.thread, ["reference_doctype", "reference_docname"], as_dict=True)
frappe.publish_realtime(event="publish_message",
message = {
"thread": self.thread,
"template": template,
"thread_info": thread_info
},
after_commit=True)
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestDiscussionMessage(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Discussion Thread', {
// refresh: function(frm) {
// }
});
@@ -1,57 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 10:55:29.341674",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"title",
"reference_doctype",
"reference_docname"
],
"fields": [
{
"fieldname": "title",
"fieldtype": "Data",
"label": "Title"
},
{
"fieldname": "reference_doctype",
"fieldtype": "Link",
"label": "Reference Doctype",
"options": "DocType"
},
{
"fieldname": "reference_docname",
"fieldtype": "Dynamic Link",
"label": "Reference Docname",
"options": "reference_doctype"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-11 12:29:43.564123",
"modified_by": "Administrator",
"module": "Community",
"name": "Discussion Thread",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"search_fields": "title",
"sort_field": "modified",
"sort_order": "DESC",
"title_field": "title",
"track_changes": 1
}
@@ -1,48 +0,0 @@
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
import frappe
from frappe.model.document import Document
class DiscussionThread(Document):
pass
@frappe.whitelist()
def submit_discussion(doctype, docname, message, title=None, thread_name=None):
thread = []
filters = {}
if doctype and docname:
filters = {
"reference_doctype": doctype,
"reference_docname": docname
}
elif thread_name:
filters = {
"name": thread_name
}
if filters:
thread = frappe.get_all("Discussion Thread",filters)
if len(thread):
thread = thread[0]
save_message(message, thread)
else:
thread = frappe.get_doc({
"doctype": "Discussion Thread",
"title": title,
"reference_doctype": doctype,
"reference_docname": docname
})
thread.save(ignore_permissions=True)
save_message(message, thread)
return thread.name
def save_message(message, thread):
frappe.get_doc({
"doctype": "Discussion Message",
"message": message,
"thread": thread.name
}).save(ignore_permissions=True)
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestDiscussionThread(unittest.TestCase):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestTShirtSizes(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, Frappe and contributors
// For license information, please see license.txt
frappe.ui.form.on('TShirt Sizes', {
// refresh: function(frm) {
// }
});
@@ -1,49 +0,0 @@
{
"actions": [],
"creation": "2021-02-25 17:52:49.813558",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"size",
"quantity"
],
"fields": [
{
"fieldname": "size",
"fieldtype": "Select",
"label": "Size",
"options": "S\nM\nL\nXL\nXXL\nXXXL"
},
{
"fieldname": "quantity",
"fieldtype": "Int",
"label": "Quantity"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-02-25 17:52:49.813558",
"modified_by": "Administrator",
"module": "Community",
"name": "TShirt Sizes",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, Frappe and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class TShirtSizes(Document):
pass
-1
View File
@@ -1 +0,0 @@
import frappe
@@ -1,3 +0,0 @@
frappe.ready(function() {
// bind events here
})
@@ -1,64 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Send Request",
"client_script": "$('.page-header h2').html(`Request to Join \"${frappe.utils.get_url_arg('project_name')}\"`);",
"creation": "2021-02-17 13:20:08.548735",
"doc_type": "Community Project Member",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 0,
"max_attachment_size": 0,
"modified": "2021-02-17 13:50:35.153793",
"modified_by": "Administrator",
"module": "Community",
"name": "join-request",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "join-request",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/join-request",
"title": "Join Request",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "project",
"fieldtype": "Link",
"hidden": 0,
"label": "Project",
"max_length": 0,
"max_value": 0,
"options": "Community Project",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "intro",
"fieldtype": "Small Text",
"hidden": 0,
"label": "Intro",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
}
]
}
@@ -1,7 +0,0 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,8 +0,0 @@
frappe.ready(function () {
// bind events here
frappe.web_form.success_url = `hackathons/project?project=${frappe.utils.get_url_arg('project')}&hackathon=${frappe.utils.get_url_arg('hackathon')}`;
$('.breadcrumb-container')
.html(`<a href="${frappe.web_form.success_url}">Back to my project</a>`)
.addClass('py-4');
})
@@ -1,63 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Submit",
"creation": "2021-02-18 13:15:09.464515",
"doc_type": "Community Project Update",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-02-18 13:23:41.023545",
"modified_by": "Administrator",
"module": "Community",
"name": "project-update",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "project-update",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/project-update",
"title": "Project Update",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "project",
"fieldtype": "Link",
"hidden": 0,
"label": "Project",
"max_length": 0,
"max_value": 0,
"options": "Community Project",
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "update",
"fieldtype": "Data",
"hidden": 0,
"label": "Update",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
}
]
}
@@ -1,7 +0,0 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,70 +0,0 @@
<div class="discussions">
<form class="discussion-form {% if doctype or thread %} discussion-on-page {% endif %}" id="discussion-form">
<div class="form-group" {% if title or thread %} style="display: none;" {% endif %}>
<div class="control-input-wrapper">
<div class="control-input">
<input type="text" autocomplete="off" class="input-with-feedback form-control thread-title"
data-fieldtype="Data" data-fieldname="feedback_comments" placeholder="Title" spellcheck="false" {% if title
%} value="{{ title }}" {% endif %}></input>
</div>
</div>
</div>
<div class="form-group">
<div class="control-input-wrapper">
<div class="control-input">
<textarea type="text" autocomplete="off" class="input-with-feedback form-control comment-field"
data-fieldtype="Text" data-fieldname="feedback_comments" placeholder="Enter a comment..."
spellcheck="false"></textarea>
</div>
</div>
</div>
<div class="comment-footer">
<div class="button is-secondary pull-right" id="submit-discussion"
{% if doctype %} data-doctype="{{ doctype | urlencode}}" {% endif %}
{% if docname %} data-docname="{{ docname | urlencode}}" {% endif %}
{% if thread %} data-thread="{{ thread }}" {% endif %}>
Post</div>
</div>
</form>
</div>
<script>
frappe.ready(() => {
$("#submit-discussion").click((e) => {
submit_discussion(e);
})
})
var submit_discussion = (e) => {
var message = $(".comment-field").val().trim();
if (message) {
var doctype = $(e.currentTarget).attr("data-doctype");
doctype = doctype ? decodeURIComponent(doctype) : doctype;
var docname = $(e.currentTarget).attr("data-docname");
docname = docname ? decodeURIComponent(docname) : docname;
frappe.call({
method: "community.community.doctype.discussion_thread.discussion_thread.submit_discussion",
args: {
"doctype": doctype ? doctype : "",
"docname": docname ? docname : "",
"message": $(".comment-field").val(),
"title": $(".thread-title").val(),
"thread_name": $(e.currentTarget).attr("data-thread")
},
callback: (data) => {
if (! $(".discussion-on-page").length) {
$("#discussion-modal").modal("hide");
window.location.href = `/discussions/${data.message}`;
}
}
})
}
}
</script>
@@ -1,80 +0,0 @@
{% if doctype and docname and not thread %}
{% set thread_info = frappe.get_all("Discussion Thread", {"reference_doctype": doctype, "reference_docname": docname},
["name"]) %}
{% if thread_info | length %}
{% set thread = thread_info[0].name %}
{% endif %}
{% endif %}
{% if thread %}
{% set messages = frappe.get_all("Discussion Message", {"thread": thread}, ["name", "message", "owner", "creation"],
order_by="creation") %}
{% endif %}
{% if doctype %}
<div class="course-home-headings mt-5"> Discussions </div>
{% endif %}
<div class="messages mt-5">
{% for message in messages %}
{% include "community/templates/message_card.html" %}
{% endfor %}
</div>
{% if frappe.session.user == "Guest" or (condition is defined and not condition) %}
<div class="d-flex flex-column align-items-center font-weight-bold">
Want to join the discussion?
{% if frappe.session.user == "Guest" %}
<div class="button is-primary" id="login-from-discussion">Log In</div>
{% elif not condition %}
<div class="button is-primary" id="login-from-discussion" data-redirect="{{ redirect_to }}">{{ button_name }}</div>
{% endif %}
</div>
{% else %}
{{ widgets.DiscussionComment(doctype=doctype, docname=docname, title=title, thread=thread ) }}
{% endif %}
<script>
frappe.ready(() => {
setup_socket_io();
$("#login-from-discussion").click((e) => {
login_from_discussion(e);
})
})
var setup_socket_io = () => {
const assets = [
"/assets/frappe/js/lib/socket.io.min.js",
"/assets/frappe/js/frappe/socketio_client.js",
]
frappe.require(assets, () => {
if (window.dev_server) {
frappe.boot.socketio_port = "9000";
}
frappe.socketio.init(9000);
var target = $("#submit-discussion");
frappe.socketio.socket.on("publish_message", (data) => {
if (target.attr("data-thread") == data.thread
|| (decodeURIComponent(target.attr("data-doctype")) == data.thread_info.reference_doctype
&& decodeURIComponent(target.attr("data-docname")) == data.thread_info.reference_docname)) {
$(".comment-field").val("");
$(".messages").append(data.template);
}
})
})
}
var login_from_discussion = (e) => {
var redirect = $(e.currentTarget).attr("data-redirect") || window.location.href;
window.location.href = `/login?redirect-to=${redirect}`;
}
</script>
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Conference', {
// refresh: function(frm) {
// }
});
@@ -1,56 +0,0 @@
{
"actions": [],
"autoname": "field:conference_name",
"creation": "2021-02-25 17:12:51.981534",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"conference_name",
"live_stream_url",
"conference_details"
],
"fields": [
{
"fieldname": "conference_name",
"fieldtype": "Data",
"label": "Conference Name",
"unique": 1
},
{
"fieldname": "live_stream_url",
"fieldtype": "Data",
"label": "Live Stream URL"
},
{
"fieldname": "conference_details",
"fieldtype": "Markdown Editor",
"label": "Conference Details"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-04-06 18:30:18.228083",
"modified_by": "Administrator",
"module": "Conference",
"name": "Community Conference",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityConference(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityConference(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Conference Participant', {
// refresh: function(frm) {
// }
});
@@ -1,147 +0,0 @@
{
"actions": [],
"autoname": "CON-.YYYY.-.###",
"creation": "2021-02-25 17:51:23.959033",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"participant_details",
"participant_name",
"participant_designation",
"column_break_4",
"email",
"conference_details",
"year",
"full_conference_tickets",
"user_conference_tickets",
"paid",
"column_break_11",
"tshirt_table",
"tshirt_size",
"currency",
"amount",
"thank_you_email_sent"
],
"fields": [
{
"fieldname": "participant_details",
"fieldtype": "Section Break",
"label": "Participant Details"
},
{
"fieldname": "participant_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Participant Name",
"reqd": 1
},
{
"fieldname": "participant_designation",
"fieldtype": "Select",
"label": "Participant Designation",
"options": "\nCxO\nAnalyst\nConsultant\nDeveloper\nSystem Administrator\nOther"
},
{
"fieldname": "column_break_4",
"fieldtype": "Column Break"
},
{
"fieldname": "email",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Email",
"options": "Email",
"reqd": 1
},
{
"fieldname": "conference_details",
"fieldtype": "Section Break",
"label": "Conference Details"
},
{
"fieldname": "year",
"fieldtype": "Select",
"label": "Year",
"options": "\n2017\n2018\n2019\n2020\n2021\n2022\n2023\n2024\n2025"
},
{
"fieldname": "full_conference_tickets",
"fieldtype": "Int",
"in_list_view": 1,
"label": "Full Conference Tickets",
"reqd": 1
},
{
"fieldname": "user_conference_tickets",
"fieldtype": "Int",
"label": "User Conference Tickets"
},
{
"default": "0",
"fieldname": "paid",
"fieldtype": "Check",
"label": "Paid"
},
{
"fieldname": "column_break_11",
"fieldtype": "Column Break"
},
{
"fieldname": "tshirt_table",
"fieldtype": "Data",
"label": "T-Shirt Sizes"
},
{
"fieldname": "tshirt_size",
"fieldtype": "Select",
"label": "T-Shirt Size",
"options": "S\nM\nL\nXL\nXXL\nXXXL"
},
{
"fieldname": "currency",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Currency",
"options": "USD\nINR",
"reqd": 1
},
{
"fieldname": "amount",
"fieldtype": "Currency",
"label": "Amount",
"reqd": 1
},
{
"default": "0",
"fieldname": "thank_you_email_sent",
"fieldtype": "Check",
"label": "Thank You Email Sent"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 20:13:42.151103",
"modified_by": "Administrator",
"module": "Conference",
"name": "Community Conference Participant",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityConferenceParticipant(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityConferenceParticipant(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Community Conference Request', {
// refresh: function(frm) {
// }
});
@@ -1,73 +0,0 @@
{
"actions": [],
"creation": "2021-02-25 17:19:10.378290",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"contact_name",
"contact_number",
"email",
"organization_name",
"request_type",
"message"
],
"fields": [
{
"fieldname": "contact_name",
"fieldtype": "Data",
"label": "Contact Name"
},
{
"fieldname": "contact_number",
"fieldtype": "Data",
"label": "Contact Number"
},
{
"fieldname": "email",
"fieldtype": "Data",
"label": "Email"
},
{
"fieldname": "organization_name",
"fieldtype": "Data",
"label": "Organization Name"
},
{
"fieldname": "request_type",
"fieldtype": "Select",
"label": "Request Type",
"options": "Sponsorship\nExhibit Program"
},
{
"fieldname": "message",
"fieldtype": "Text Editor",
"label": "Message"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-03-04 20:13:26.130017",
"modified_by": "Administrator",
"module": "Conference",
"name": "Community Conference Request",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"quick_entry": 1,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1
}
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
from __future__ import unicode_literals
# import frappe
from frappe.model.document import Document
class CommunityConferenceRequest(Document):
pass
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
from __future__ import unicode_literals
# import frappe
import unittest
class TestCommunityConferenceRequest(unittest.TestCase):
pass
@@ -1,14 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Attendee', {
onload: function (frm) {
frm.set_query('user', function (doc) {
return {
filters: {
"ignore_user_type": 1,
}
};
});
}
});
@@ -1,80 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 10:07:53.262504",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"user",
"full_name",
"column_break_3",
"company",
"is_paid",
"section_break_6",
"what_are_you_hoping_to_learn"
],
"fields": [
{
"fieldname": "company",
"fieldtype": "Data",
"label": "Company"
},
{
"fieldname": "what_are_you_hoping_to_learn",
"fieldtype": "Text",
"label": "What are you hoping to learn?"
},
{
"fieldname": "user",
"fieldtype": "Link",
"label": "User",
"options": "User"
},
{
"fetch_from": "user.full_name",
"fieldname": "full_name",
"fieldtype": "Data",
"label": "Full Name",
"read_only": 1
},
{
"default": "0",
"fieldname": "is_paid",
"fieldtype": "Check",
"label": "Is Paid"
},
{
"fieldname": "column_break_3",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_6",
"fieldtype": "Section Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 17:03:09.741997",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Attendee",
"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",
"title_field": "user",
"track_changes": 1
}
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestAttendee(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Event Details', {
// refresh: function(frm) {
// }
});
@@ -1,68 +0,0 @@
{
"actions": [],
"autoname": "field:event_name",
"creation": "2021-08-11 10:05:41.072432",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event_name",
"start_date",
"end_date",
"event_description"
],
"fields": [
{
"fieldname": "event_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Event Name",
"reqd": 1,
"unique": 1
},
{
"fieldname": "start_date",
"fieldtype": "Date",
"in_list_view": 1,
"label": "Start Date",
"reqd": 1
},
{
"fieldname": "end_date",
"fieldtype": "Date",
"in_list_view": 1,
"label": "End Date",
"reqd": 1
},
{
"fieldname": "event_description",
"fieldtype": "Markdown Editor",
"in_list_view": 1,
"label": "Event Description"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-18 23:51:30.432691",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Event Details",
"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",
"track_changes": 1
}
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Event Ticket', {
// refresh: function(frm) {
// }
});
@@ -1,55 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 11:17:28.452289",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event",
"ticket",
"attendee"
],
"fields": [
{
"fieldname": "ticket",
"fieldtype": "Data",
"label": "Ticket"
},
{
"fieldname": "attendee",
"fieldtype": "Link",
"label": "attendee",
"options": "Attendee"
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 13:38:28.688115",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Event Ticket",
"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",
"track_changes": 1
}
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Exhibitor', {
// refresh: function(frm) {
// }
});
@@ -1,87 +0,0 @@
{
"actions": [],
"creation": "2021-08-16 16:26:46.189119",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event",
"is_paid",
"column_break_3",
"user",
"full_name",
"company",
"section_break_7",
"description"
],
"fields": [
{
"fetch_from": "user.full_name",
"fieldname": "full_name",
"fieldtype": "Data",
"label": "Full Name",
"read_only": 1
},
{
"fieldname": "company",
"fieldtype": "Data",
"label": "Company "
},
{
"fieldname": "description",
"fieldtype": "Text Editor",
"label": "Description"
},
{
"default": "0",
"fieldname": "is_paid",
"fieldtype": "Check",
"label": "Is Paid"
},
{
"fieldname": "user",
"fieldtype": "Link",
"label": "User",
"options": "User"
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details"
},
{
"fieldname": "column_break_3",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_7",
"fieldtype": "Section Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 16:32:58.031324",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Exhibitor",
"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",
"title_field": "user",
"track_changes": 1
}
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestExhibitor(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Host', {
// refresh: function(frm) {
// }
});
@@ -1,57 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 10:51:47.234690",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event",
"user",
"full_name"
],
"fields": [
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details"
},
{
"fieldname": "full_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Full Name",
"unique": 1
},
{
"fieldname": "user",
"fieldtype": "Data",
"label": "User"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 17:03:26.733195",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Host",
"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",
"title_field": "user",
"track_changes": 1
}
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class Host(Document):
pass
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestHost(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Speaker', {
// refresh: function(frm) {
// }
});
@@ -1,72 +0,0 @@
{
"actions": [],
"creation": "2021-08-11 10:37:32.124651",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event",
"company",
"column_break_8",
"user",
"full_name"
],
"fields": [
{
"fieldname": "user",
"fieldtype": "Link",
"in_list_view": 1,
"label": "User",
"options": "User"
},
{
"fetch_from": "user.full_name",
"fieldname": "full_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Full Name",
"read_only": 1
},
{
"fieldname": "company",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Company"
},
{
"fieldname": "column_break_8",
"fieldtype": "Column Break"
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 16:53:43.968260",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Speaker",
"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",
"title_field": "user",
"track_changes": 1
}
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
# import frappe
from frappe.model.document import Document
class Speaker(Document):
pass
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestSpeaker(unittest.TestCase):
pass
@@ -1,8 +0,0 @@
// Copyright (c) 2021, FOSS United and contributors
// For license information, please see license.txt
frappe.ui.form.on('Talk', {
// refresh: function(frm) {
// }
});
@@ -1,139 +0,0 @@
{
"actions": [],
"creation": "2021-08-18 08:42:58.711932",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
"event",
"title",
"url",
"column_break_5",
"speaker",
"category",
"thumbnail",
"schedule_section",
"date",
"status",
"column_break_11",
"start_time",
"end_time",
"section_break_9",
"about",
"attachment",
"name_of_the_speaker"
],
"fields": [
{
"fieldname": "title",
"fieldtype": "Data",
"label": "Title"
},
{
"fieldname": "name_of_the_speaker",
"fieldtype": "Data",
"label": "Name of the Speaker"
},
{
"fieldname": "url",
"fieldtype": "Data",
"label": "Video Embed Link"
},
{
"fieldname": "thumbnail",
"fieldtype": "Data",
"label": "Preview Image (Link)"
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details"
},
{
"fieldname": "about",
"fieldtype": "Text",
"label": "About the Talk"
},
{
"fieldname": "attachment",
"fieldtype": "Attach",
"label": "Attachment"
},
{
"fieldname": "speaker",
"fieldtype": "Link",
"label": "Speaker",
"options": "Speaker"
},
{
"default": "Pending",
"fieldname": "status",
"fieldtype": "Select",
"in_list_view": 1,
"label": "Status",
"options": "Pending\nApproved\nRejected"
},
{
"fieldname": "column_break_5",
"fieldtype": "Column Break"
},
{
"fieldname": "section_break_9",
"fieldtype": "Section Break"
},
{
"fieldname": "category",
"fieldtype": "Data",
"label": "Category"
},
{
"fieldname": "schedule_section",
"fieldtype": "Section Break"
},
{
"fieldname": "date",
"fieldtype": "Date",
"label": "Date"
},
{
"fieldname": "column_break_11",
"fieldtype": "Column Break"
},
{
"fieldname": "start_time",
"fieldtype": "Time",
"label": "Start Time"
},
{
"fieldname": "end_time",
"fieldtype": "Time",
"label": "End Time"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-08-20 17:02:51.609288",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Talk",
"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",
"title_field": "title",
"track_changes": 1
}
@@ -1,29 +0,0 @@
# Copyright (c) 2021, FOSS United and contributors
# For license information, please see license.txt
import frappe
from frappe.model.document import Document
class Talk(Document):
def before_save(self):
if not self.speaker:
self.save_speaker()
def save_speaker(self):
exists = frappe.db.exists({
'doctype': 'Speaker',
'user': frappe.session.user
})
if exists:
self.speaker = frappe.db.get_value(
'Speaker', {'user': frappe.session.user}, ["name"])
else:
speaker = frappe.get_doc({
"doctype": "Speaker",
"event": self.event,
"user": frappe.session.user
}).save(ignore_permissions=True)
self.speaker = speaker
@@ -1,8 +0,0 @@
# Copyright (c) 2021, FOSS United and Contributors
# See license.txt
# import frappe
import unittest
class TestTalk(unittest.TestCase):
pass
@@ -1,7 +0,0 @@
frappe.ready(function () {
frappe.web_form.after_save = () => {
setTimeout(function () {
window.location.href = '/event/conference2021/about';
}, 2000);
}
})
@@ -1,76 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "",
"creation": "2021-08-19 15:26:56.594526",
"custom_css": "[data-doctype=\"Web Form\"] {\n max-width: 720px;\n margin: 6rem auto;\n}",
"doc_type": "Attendee",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-08-23 10:13:19.224367",
"modified_by": "Administrator",
"module": "Event Management",
"name": "attendee-registration",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "event/conference2021/attendee-registration",
"route_to_success_link": 1,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/event/conference2021/about",
"title": "Attendee Registration",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "user",
"fieldtype": "Data",
"hidden": 0,
"label": "User",
"max_length": 0,
"max_value": 0,
"options": "User",
"read_only": 1,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "company",
"fieldtype": "Data",
"hidden": 0,
"label": "Company",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "what_are_you_hoping_to_learn",
"fieldtype": "Text",
"hidden": 0,
"label": "What are you hoping to learn",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
]
}
@@ -1,5 +0,0 @@
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,7 +0,0 @@
frappe.ready(function () {
frappe.web_form.after_save = () => {
setTimeout(function () {
window.location.href = '/event/conference2021/about';
}, 2000);
}
})
@@ -1,76 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Save",
"creation": "2021-08-16 16:27:06.566564",
"custom_css": "[data-doctype=\"Web Form\"] {\n max-width: 720px;\n margin: 6rem auto;\n}",
"doc_type": "Exhibitor",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-08-23 10:12:24.038572",
"modified_by": "Administrator",
"module": "Event Management",
"name": "exhibitor-registration",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "exhibitor-registration",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "",
"title": "Exhibitor Registration",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "user",
"fieldtype": "Data",
"hidden": 0,
"label": "User",
"max_length": 0,
"max_value": 0,
"options": "User",
"read_only": 1,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "company",
"fieldtype": "Data",
"hidden": 0,
"label": "Company ",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "description",
"fieldtype": "Text Editor",
"hidden": 0,
"label": "Description",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
]
}
@@ -1,5 +0,0 @@
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,7 +0,0 @@
frappe.ready(function () {
frappe.web_form.after_save = () => {
setTimeout(function () {
window.location.href = '/event/conference2021/about';
}, 2000);
}
})
@@ -1,102 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Submit",
"client_script": "",
"creation": "2021-08-19 15:16:22.341723",
"custom_css": "[data-doctype=\"Web Form\"] {\n max-width: 720px;\n margin: 6rem auto;\n}",
"doc_type": "Talk",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-08-23 10:18:17.486228",
"modified_by": "Administrator",
"module": "Event Management",
"name": "purpose-a-talk",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "propose-talk",
"route_to_success_link": 0,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_message": "Talk Submitted!",
"success_url": "/purpose-a-talk",
"title": "Propose a Talk",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "title",
"fieldtype": "Data",
"hidden": 0,
"label": "Title",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "category",
"fieldtype": "Data",
"hidden": 0,
"label": "Category",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "event",
"fieldtype": "Data",
"hidden": 0,
"label": "Event",
"max_length": 0,
"max_value": 0,
"options": "Event Details",
"read_only": 1,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "about",
"fieldtype": "Text Editor",
"hidden": 0,
"label": "About",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "attachment",
"fieldtype": "Attach",
"hidden": 0,
"label": "Attachment",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
}
]
}
@@ -1,5 +0,0 @@
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,7 +0,0 @@
frappe.ready(function () {
frappe.web_form.after_save = () => {
setTimeout(function () {
window.location.href = '/event/conference2021/propose-talk';
}, 2000);
}
})
@@ -1,89 +0,0 @@
{
"accept_payment": 0,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 0,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"apply_document_permissions": 0,
"button_label": "Register",
"creation": "2021-08-19 15:29:01.167930",
"custom_css": "[data-doctype=\"Web Form\"] {\n max-width: 720px;\n margin: 6rem auto;\n}",
"doc_type": "Speaker",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2021-08-20 16:16:51.107177",
"modified_by": "Administrator",
"module": "Event Management",
"name": "speaker-registration",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "speaker-registration",
"route_to_success_link": 1,
"show_attachments": 0,
"show_in_grid": 0,
"show_sidebar": 0,
"sidebar_items": [],
"success_url": "/speaker-registration",
"title": "Speaker Registration",
"web_form_fields": [
{
"allow_read_on_all_link_options": 0,
"fieldname": "event",
"fieldtype": "Link",
"hidden": 0,
"label": "Event",
"max_length": 0,
"max_value": 0,
"options": "Event Details",
"read_only": 1,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "user",
"fieldtype": "Link",
"hidden": 0,
"label": "User",
"max_length": 0,
"max_value": 0,
"options": "User",
"read_only": 1,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "full_name",
"fieldtype": "Data",
"hidden": 0,
"label": "Full Name",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0,
"show_in_filter": 0
},
{
"allow_read_on_all_link_options": 0,
"fieldname": "company",
"fieldtype": "Data",
"hidden": 0,
"label": "Company",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1,
"show_in_filter": 0
}
]
}
@@ -1,5 +0,0 @@
import frappe
def get_context(context):
# do your magic here
pass
@@ -1,43 +0,0 @@
<div class="section-with-cards">
<h1 class="course-home-headings">{{title}}</h1>
{%- if subtitle -%}
<p class="section-description">{{ subtitle }}</p>
{%- endif -%}
<div>
<div class="mentors-section">
{% for exhibitor in exhibitor_details %}
{% set exhibitor_doc = frappe.db.get_value("Exhibitor", exhibitor.exhibitor, ["user", "company"], as_dict= True)
%}
{% set member = frappe.get_doc("User", exhibitor_doc.user) %}
<div class="common-card-style member-card">
{% set color = member.get_palette() %}
<a class="button-links" href="/user/{{member.username}}">
<span class="avatar avatar-large" title="{{ member.full_name }}">
{% if member.user_image %}
<img class="avatar-frame standard-image" style="object-fit: cover;" src="{{ member.user_image }}"
title="{{ member.full_name }}">
</img>
{% else %}
<span class="avatar-frame standard-image" title="{{ member.full_name }}"
style="background-color: var({{color[0]}}); color: var({{color[1]}});">
{{ frappe.utils.get_abbr(member.full_name) }}
</span>
{% endif %}
</span>
</a>
<div class="small-title member-card-title">
{{ member.full_name }}
</div>
<div class="small-title">
{{exhibitor_doc.company}}
</div>
<a class="stretched-link" href=""></a>
</div>
{% endfor %}
</div>
<div class="event-btn"><a href="/exhibitor-registration?new=1&user={{ frappe.session.user }}&event={{ event }}"
class="btn btn-primary ">Become an Exhibitor</a></div>
</div>
</div>
@@ -1,49 +0,0 @@
{
"__unsaved": 1,
"creation": "2021-08-13 15:05:41.606772",
"docstatus": 0,
"doctype": "Web Template",
"fields": [
{
"fieldname": "title",
"fieldtype": "Data",
"label": "Title",
"reqd": 0
},
{
"fieldname": "subtitle",
"fieldtype": "Data",
"label": "Subtitle",
"reqd": 0
},
{
"fieldname": "event",
"fieldtype": "Link",
"label": "Event",
"options": "Event Details",
"reqd": 0
},
{
"fieldname": "exhibitor_details",
"fieldtype": "Table Break",
"label": "Exhibitor Details",
"reqd": 0
},
{
"fieldname": "exhibitor",
"fieldtype": "Link",
"label": "Exhibitor",
"options": "Exhibitor",
"reqd": 0
}
],
"idx": 1,
"modified": "2021-08-20 16:28:22.779057",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Exhibitor Section",
"owner": "Administrator",
"standard": 1,
"template": "",
"type": "Section"
}
@@ -1,3 +0,0 @@
<div class="section-with-cards">
<h1 class="course-home-headings">{{title}}</h1>
</div>
@@ -1,44 +0,0 @@
<div class="section-with-cards">
<h1 class="course-home-headings">{{section_title}}</h1>
{%- if subtitle -%}
<p class="section-description">{{ subtitle }}</p>
{%- endif -%}
<div class="mentors-section">
{% for speaker in speaker_details %}
{% set speaker_doc = frappe.db.get_value("Speaker", speaker.speaker, ["user", "company"], as_dict= True)
%}
{% set member = frappe.get_doc("User", speaker_doc.user) %}
<div class="common-card-style member-card">
{% set color = member.get_palette() %}
<a class="button-links" href="/user/{{member.username}}">
<span class="avatar avatar-large" title="{{ member.full_name }}">
{% if member.user_image %}
<img class="avatar-frame standard-image" style="object-fit: cover;" src="{{ member.user_image }}"
title="{{ member.full_name }}">
</img>
{% else %}
<span class="avatar-frame standard-image" title="{{ member.full_name }}"
style="background-color: var({{color[0]}}); color: var({{color[1]}});">
{{ frappe.utils.get_abbr(member.full_name) }}
</span>
{% endif %}
</span>
</a>
<div class="small-title member-card-title">
{{ member.full_name }}
</div>
<div class="small-title">
{{speaker_doc.company}}
</div>
<a class="stretched-link" href=""></a>
</div>
{% endfor %}
</div>
<div class="event-btn">
<a href='/propose-talk?new=1&event={{ event }}' class="btn btn-primary ">Propose a Talk</a>
</div>
</div>
@@ -1,49 +0,0 @@
{
"__unsaved": 1,
"creation": "2021-08-12 21:15:14.492000",
"docstatus": 0,
"doctype": "Web Template",
"fields": [
{
"fieldname": "section_title",
"fieldtype": "Data",
"label": "Section Title",
"reqd": 1
},
{
"fieldname": "subtitle",
"fieldtype": "Data",
"label": "Subtitle",
"reqd": 0
},
{
"fieldname": "event_",
"fieldtype": "Link",
"label": "Event ",
"options": "Event Details",
"reqd": 0
},
{
"fieldname": "speaker_details",
"fieldtype": "Table Break",
"label": "Speaker Details",
"reqd": 0
},
{
"fieldname": "speaker",
"fieldtype": "Link",
"label": "Speaker",
"options": "Speaker",
"reqd": 0
}
],
"idx": 1,
"modified": "2021-08-20 10:59:54.965714",
"modified_by": "Administrator",
"module": "Event Management",
"name": "Speaker Section",
"owner": "Administrator",
"standard": 1,
"template": "",
"type": "Section"
}

Some files were not shown because too many files have changed in this diff Show More