Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
514f3a5
Phase 4: Refactor question/choice classes to use persistent records
mchurchward Mar 13, 2026
9bea667
Phase 5: Clean up output/rendering layer
mchurchward Mar 16, 2026
a67ca07
Remove #[AllowDynamicProperties] and declare all properties explicitly
mchurchward Mar 16, 2026
fe15cbc
Fix pagebreak::questionstart_survey_display() signature mismatch
mchurchward Mar 17, 2026
beabdd8
Declare dynamic properties set by locallib on question objects
mchurchward Mar 17, 2026
88ab6fb
Fixing docblocks.
mchurchward Mar 17, 2026
41e95f8
Phase 6a: Remove questionnaire_delete_response/responses/get_user_res…
mchurchward Mar 17, 2026
21ea448
Phase 6b: Move capabilities, survey list/select to questionnaire class
mchurchward Mar 17, 2026
6c042c3
Phase 6c: Move questionnaire_check_page_breaks to questionnaire class
mchurchward Mar 17, 2026
98391b7
Phase 6d: Move questionnaire_set_events and questionnaire_delete_surv…
mchurchward Mar 17, 2026
203e421
Fix pagebreak return type and daily test midnight edge case
mchurchward Mar 17, 2026
92558ce
Fix PHPCS MultipleArguments errors in lib.php
mchurchward Mar 17, 2026
42bb23e
Fix pagebreak stdClass namespace — use \stdClass not stdClass
mchurchward Mar 17, 2026
8111adb
Declare dynamic properties set by page scripts
mchurchward Mar 17, 2026
bbe2b99
Guard constructor property loop to only set declared properties
mchurchward Mar 17, 2026
d6fc58c
Declare \$canviewallgroups property on questionnaire class
mchurchward Mar 18, 2026
72257e9
Declare dynamic map properties on behat_mod_questionnaire
mchurchward Mar 18, 2026
394f3ce
Add missing questionnaire.class.php require_once in lib.php callbacks
mchurchward Mar 18, 2026
1d95ce6
Declare \$cmid, \$cmidnumber, \$courseid on questionnaire class
mchurchward Mar 18, 2026
97ed3bb
Phase 7: Move survey_update() and survey_copy() to classes/questionna…
mchurchward Mar 18, 2026
a16185e
Phase 7: Rewrite update_survey/copy_survey to use persistent records
mchurchward Mar 18, 2026
ac66afd
Phase 7b: Consolidate add_instance/update_instance into questionnaire…
mchurchward Mar 20, 2026
9cce6ef
Fix property/method access errors after new questionnaire class intro…
mchurchward Mar 20, 2026
30a0c36
Phase 7c: persistent record factories, questionnaire.php getters, tes…
mchurchward Mar 20, 2026
d999616
Phase 7c: Add back temnporary fix.
mchurchward Mar 20, 2026
43328a9
Fix PHPCS multi-line formatting errors in generator/lib.php and quest…
mchurchward Mar 21, 2026
9128417
Remove unused questionnaire_get_instance() from lib.php
mchurchward Mar 21, 2026
3d04568
Phase 8a: Remove deprecated questionnaire_print_overview() and questi…
mchurchward Mar 21, 2026
2bb064c
Phase 8b: Extract gradebook methods to mod_questionnaire\questionnair…
mchurchward Mar 21, 2026
4245688
Phase 8c: Extract delete_instance and reset_userdata to mod_questionn…
mchurchward Mar 21, 2026
4bffa39
Phase 8d: Extract navigation/display/hook methods to mod_questionnair…
mchurchward Mar 21, 2026
fb55807
Fix bad require_once path in coursemodule_edit_post_actions
mchurchward Mar 21, 2026
1caf2fe
Fix custom_completion: inline deleted questionnaire_get_completion_st…
mchurchward Mar 21, 2026
4f0eb5d
Phase 8 follow-up: delegate completion check through persistent layer
mchurchward Mar 23, 2026
ea425f1
Add TODO note to user_has_submitted re Phase 9 manager migration
mchurchward Mar 23, 2026
0e454d3
Phase 9: Migrate response handler to mod_questionnaire\questionnaire
mchurchward Mar 24, 2026
92451c8
Fix PHPCS style violations from Phase 9
mchurchward Mar 24, 2026
90a9968
Phase 10: Add dependency-checking and navigation methods to new quest…
mchurchward Mar 24, 2026
80fb691
Phase 11: Add response-flow and utility methods to classes/questionna…
mchurchward Mar 25, 2026
13fd22d
Phase 12: Extract survey domain object; questionnaire delegates to it
mchurchward Mar 25, 2026
cb44c80
Fix PHPCS violations in Phase 12 files
mchurchward Mar 25, 2026
a27196e
Phase 13: Add response domain object
mchurchward Mar 26, 2026
455ef6f
Fix PHPCS violations in response_test.php
mchurchward Mar 26, 2026
7b8c382
Phase 14: Migrate view.php to classes/questionnaire.php
mchurchward Mar 26, 2026
dba4b8a
Fix is_active() and make_questionnaire() test consistency
mchurchward Mar 27, 2026
50d8a40
Phase 15: Migrate complete.php to classes/questionnaire.php
mchurchward Mar 28, 2026
fb75304
Phase 16: Migrate qsettings.php/tabs.php/grade.php to new questionnai…
mchurchward Apr 1, 2026
d7f062c
Fix PHPCS errors in Phase 16 forwarding methods and control structure
mchurchward Apr 1, 2026
3401f64
Improve complete.php: move PAGE setup out of view(), clean up globals
mchurchward Apr 1, 2026
43c066a
Phase 17: Migrate feedback.php, fbsections.php, print.php to new ques…
mchurchward Apr 2, 2026
f25f5c2
Fix PHPCS line length warnings in feedback.php and fbsections.php
mchurchward Apr 2, 2026
3454833
Phase 18: Migrate myreport.php to new questionnaire class
mchurchward Apr 2, 2026
9619a9b
Phase 19: Migrate report.php to new questionnaire class
mchurchward Apr 2, 2026
75163b2
Phase 20: Migrate show_nonrespondents.php to new questionnaire class
mchurchward Apr 2, 2026
a579c92
Phase 21: Migrate questions.php to new questionnaire class
mchurchward Apr 2, 2026
a9d6b36
Fix PHPCS PSR-12 multi-line function call formatting in feedback.php
mchurchward Apr 6, 2026
1600bbd
Fix questions_form.php to use accessor API on new questionnaire class
mchurchward Apr 6, 2026
8287bb7
Fix questionnaire class compatibility issues exposed by sync
mchurchward Apr 6, 2026
c3efbb7
Fix Behat failures in report/survey_results shims
mchurchward Apr 7, 2026
1aa94f4
Simplifying multi line if.
mchurchward Apr 7, 2026
7a928cd
Phase 22: Introduce question_type class and record-backed question pr…
mchurchward Apr 8, 2026
ff6e4d6
Fix PHPCS style violations and __set set_id() compat issue
mchurchward Apr 8, 2026
693e499
Phase 23: Replace raw DB writes in insert_response() with persistent …
mchurchward Apr 8, 2026
119d2b2
Fix Phase 22 regressions: magic props incompatible with set_data() an…
mchurchward Apr 8, 2026
04bc526
Fix PHPCS style violations in question.php
mchurchward Apr 8, 2026
5d53f70
Phase 24: Merge two response classes into unified persistent-backed d…
mchurchward Apr 9, 2026
76018c2
Replace raw DB call in response::latest_incomplete() with persistent …
mchurchward Apr 9, 2026
84e9e16
Phase 25: Merge \local\responsetype into \local\response namespace
mchurchward Apr 9, 2026
a6bcf46
Replace raw DB calls in questionnaire_responses with response domain …
mchurchward Apr 9, 2026
c8de4ad
Phase 26: Remove TEMPORARY magic from response class; migrate all cal…
mchurchward Apr 9, 2026
9e3d5a3
Phase 27a: Add named accessor methods to question base class; update …
mchurchward Apr 10, 2026
5a60454
Phase 27b: Update external callsites to use named question accessor m…
mchurchward Apr 10, 2026
d51334c
Phase 27c: Update internal $this-> reads in question classes to use n…
mchurchward Apr 13, 2026
04b6b9b
Fix PHPCS: add missing @param for $responseid in build_response_from_…
mchurchward Apr 13, 2026
2c60d83
Phase 27d: Remove TEMPORARY __get/__set/__isset magic from question c…
mchurchward Apr 13, 2026
f1e6a77
Phase 28: Migrate preview.php to use new questionnaire domain class
mchurchward Apr 13, 2026
c9a70f0
Phase 29: Audit and slim questionnaire.class.php
mchurchward Apr 14, 2026
d9fbfcc
Fix PHPCS: remove blank line before class closing brace in questionna…
mchurchward Apr 14, 2026
19a4495
Phase 30a: Add question_type::display_name(); remove questionnaire_ge…
mchurchward Apr 14, 2026
e8006e9
Phase 30b: Move locallib constants to private const on questionnaire …
mchurchward Apr 14, 2026
09e97b3
Phase 30c: Move questionnaire_choice_values() to question::parse_choi…
mchurchward Apr 14, 2026
4102f48
Phase 30d: Move survey-content functions from locallib to survey class
mchurchward Apr 14, 2026
fbc511b
Phase 30e: Move response-query functions from locallib to questionnai…
mchurchward Apr 14, 2026
4c877eb
Phase 30f: Move question-lifecycle functions from locallib to questio…
mchurchward Apr 14, 2026
f3554cc
Phase 30g: Move remaining migratable locallib functions to questionna…
mchurchward Apr 14, 2026
0517d9f
Late version change for refactor.
mchurchward Apr 14, 2026
1e68ec8
Fix PHPCS violations in Phase 30 additions
mchurchward Apr 14, 2026
dc40ee0
Add unit tests for survey, question_type, and Phase 30 questionnaire …
mchurchward Apr 14, 2026
59cd1d7
Add unit tests for capability methods and questionnaire_responses sta…
mchurchward Apr 15, 2026
10f7307
Start removing legacy code.
mchurchward Apr 15, 2026
5d74b4b
Phase 31: Convert extend_settings_navigation to instance method
mchurchward Apr 16, 2026
8660ef5
Phase 32: Migrate externallib.php to new questionnaire domain class
mchurchward Apr 16, 2026
d419253
Add PHPUnit tests for questionnaire::save_mobile_data()
mchurchward Apr 17, 2026
bc8956a
Phase 33: Migrate mod_form.php to new questionnaire domain class
mchurchward Apr 17, 2026
e6d4c8e
Refactor survey select: three named methods, persistents for data access
mchurchward Apr 17, 2026
c29af94
Rename get_*_surveys to get_*_questionnaires
mchurchward Apr 17, 2026
49684f4
Refactor survey select list to use survey domain class and questionna…
mchurchward Apr 20, 2026
d839c51
Phase 34: Remove legacy class from privacy/provider.php and simplify …
mchurchward Apr 20, 2026
661e13e
Phase 35: Migrate mobile.php off legacy questionnaire class
mchurchward Apr 22, 2026
5bcb6b3
Remove questionnaire_get_standard_page_items() from locallib.php
mchurchward Apr 22, 2026
602671d
Move last two locallib functions to domain classes
mchurchward Apr 22, 2026
71a4155
Remove unused get_survey_select() from legacy questionnaire class
mchurchward Apr 22, 2026
062700d
Reorganize legacy class: group all public methods before private methods
mchurchward Apr 22, 2026
614ba78
Remove legacy context() — all callers now use new questionnaire class
mchurchward Apr 22, 2026
f48faac
Fix PHPCS violations in locallib, provider, slider, and renderer
mchurchward Apr 22, 2026
a1fa1e5
Make 15 legacy class methods private — no external callers on legacy …
mchurchward Apr 22, 2026
364155c
Reorder legacy class: group 17 public methods before 86 private methods
mchurchward Apr 22, 2026
d19763e
Remove legacy add_user_responses delegation; make legacy method private
mchurchward Apr 23, 2026
2d08e1e
Remove legacy get_survey_list from reset_userdata; make method private
mchurchward Apr 23, 2026
8b4e8af
Remove legacy get_survey_list — no callers remain
mchurchward Apr 23, 2026
41f4ff5
Remove legacy delete_survey and 23 dead private methods
mchurchward Apr 23, 2026
cc1a98a
Restore questions_autonumbered to public on legacy class
mchurchward Apr 23, 2026
2f8a137
Restore load_parents to public on legacy class
mchurchward Apr 23, 2026
c97a256
Extract question_navigator: move page/dependency logic out of survey …
mchurchward Apr 23, 2026
3d35c9f
Apply coding style fixes to slider.php and renderer.php
mchurchward Apr 23, 2026
6dc340e
Phase 31a: Migrate generate_csv() into new reporter class
mchurchward Apr 23, 2026
e0ba535
Phase 31b: Migrate response_analysis() into reporter class
mchurchward Apr 23, 2026
c4e2c05
Phase 31c: Migrate view_response() into reporter class
mchurchward Apr 24, 2026
d03656e
Phase 31d: Migrate view_all_responses() and add_user_responses() into…
mchurchward Apr 24, 2026
ef10302
Phase 31e: Migrate survey_results() into reporter class
mchurchward Apr 24, 2026
591fcd2
Phase 31f: Migrate survey_results_navbar_alpha/student into reporter …
mchurchward Apr 24, 2026
d1b872a
Refactor: coursemodule property is always \cm_info
mchurchward Apr 24, 2026
38af035
Refactor: rework constructor; fix PHPCS violations in reporter
mchurchward Apr 24, 2026
4a98a9b
Phase 32: Move survey listing methods from questionnaire to survey class
mchurchward Apr 24, 2026
bc94560
Phase 33: Migrate mod_form.php; remove global arrays from locallib.php
mchurchward Apr 28, 2026
85a54f6
Phase 34: Add add_user_responses() to new class; remove locallib from…
mchurchward Apr 28, 2026
2008ce9
Phase 35: Remove vestigial require_once locallib.php from migrated pa…
mchurchward Apr 28, 2026
caac596
Phase 36: Eliminate legacy_instance() for non-rendering methods
mchurchward Apr 28, 2026
2f75398
Phase 37: Implement check_page_breaks() and response_goto_thankyou() …
mchurchward Apr 29, 2026
b36b21d
Phase 38: Implement print_survey() and survey_print_render() directly…
mchurchward Apr 29, 2026
45b5166
Phase 39: Remove legacy_instance() — replace with stdClass shim in re…
mchurchward Apr 29, 2026
06bdac0
Phase 40: Remove global $questionnaire from response/text and respons…
mchurchward Apr 30, 2026
2d7fe25
Phase 41: preview.php — use new class when $sid+$qid resolves to real CM
mchurchward Apr 30, 2026
37f5da4
Phase 42: Make QTYPE/RESPVIEW/CONFIRM/RESTORE constants public; remov…
mchurchward Apr 30, 2026
0d9c3e5
Phase 43: Delete locallib.php; remove require_once from all callers
mchurchward May 1, 2026
ffd49ef
Phase 44: Slash questionnaire.class.php from 3894 to 763 lines
mchurchward May 1, 2026
cbe2d88
Fix PHP 8.2 dynamic property deprecations on response class
mchurchward May 4, 2026
4debf3a
Phase 45a: Add survey-only construction path to questionnaire class
mchurchward May 5, 2026
9b4269f
Phase 45b: Switch preview.php to new class; delete legacy questionnai…
mchurchward May 5, 2026
c4c3acd
Phase 46: Extract gradebook, submission_notifier, form_options classes
mchurchward May 5, 2026
7d6c61c
Phase 46c: Extract capabilities class
mchurchward May 7, 2026
b446188
Phase 46d: Move question administration onto survey class
mchurchward May 7, 2026
d32e40f
Phase 46e: Extract instance_admin class
mchurchward May 7, 2026
188b092
Replace mod_questionnaire\manager with the existing domain classes
mchurchward May 8, 2026
cd14c4a
Tier A: Push three DB calls out of questionnaire.php into records
mchurchward May 8, 2026
57dda6a
Tier B: Move count_submissions and original-public lookup onto records
mchurchward May 8, 2026
ea2eb8e
Survey Phase A: Reuse existing record finders for 3 DB calls
mchurchward May 8, 2026
5047f8c
Survey Phase B: Push cascade-delete DB calls onto record classes
mchurchward May 8, 2026
103d166
Survey Phase C: Move orphan finder onto survey_record
mchurchward May 8, 2026
9556de3
Survey Phase D: Soft-deleted question CRUD onto question_record
mchurchward May 8, 2026
6659e5c
Survey Phase E: Rewrite check_page_breaks to use record statics
mchurchward May 8, 2026
973c7c0
Tier 1: Push DB calls in question/sectiontext onto records
mchurchward May 8, 2026
6ab0380
Use already-loaded survey persistent for update_survey
mchurchward May 8, 2026
b7038dd
Tier 4: Push DB calls in local/feedback onto record classes
mchurchward May 9, 2026
0493548
Tier 2: Push rate.php DB calls onto records
mchurchward May 11, 2026
e73f115
Add unit tests for seven persistent record classes
mchurchward May 12, 2026
842959f
Add unit tests for response_record, question_record, and count_distin…
mchurchward May 12, 2026
2247fcc
Add unit tests for response_X and question_type record classes
mchurchward May 12, 2026
6c08399
Clean up code-checker findings on the new record-class tests
mchurchward May 12, 2026
9a9aaca
Reword test section-header comments to silence false-positive checker
mchurchward May 12, 2026
a8879e6
Add unit tests for gradebook and the feedback section classes
mchurchward May 12, 2026
a2e0df1
Add unit tests for submission_notifier and instance_admin
mchurchward May 12, 2026
9c101d3
Add unit tests for the responsetype hierarchy
mchurchward May 12, 2026
eb23689
Phase 47a: Extract student-facing survey rendering into survey_view_r…
mchurchward May 12, 2026
35d8f82
Phase 47b: Extract print/preview rendering into report_view_renderer
mchurchward May 12, 2026
9b1f7bd
Fix capitalisation on submission_notifier inline comment
mchurchward May 12, 2026
cb95d40
Phase 47d-1: Drop the questionnaire response-flow shims
mchurchward May 12, 2026
cebaebb
Phase 47d-2: Navigator code move
mchurchward May 13, 2026
2614fe1
Phase 47d-3: Extract submission_controller for page-flow actions
mchurchward May 14, 2026
0a2d063
Phase 47d-4: Move response_goto_* into survey_view_renderer
mchurchward May 14, 2026
2a3783c
Phase 47d-5: Note save_mobile_data() as the mobile-API contract surface
mchurchward May 15, 2026
2111a0d
Fix two phpcs style issues flagged by CI
mchurchward May 15, 2026
3df6d69
Phase 47e pre-batch: reporter takes renderer and page as constructor …
mchurchward May 15, 2026
4d4338d
Phase 47e pre-batch: forms and question take their own renderer
mchurchward May 15, 2026
21af5f8
Phase 47e batch 1: 4 non-tabs pages stop using questionnaire->rendere…
mchurchward May 15, 2026
8ae4902
Phase 47e batch 2: 4 tabs.php-including pages migrate off questionnai…
mchurchward May 15, 2026
89732e3
Phase 47e batch 3: the three heavy pages migrate off questionnaire->r…
mchurchward May 15, 2026
64d7622
Phase 47e batch 4: drop renderer/page state and shims from questionnaire
mchurchward May 16, 2026
953f0d8
Wrap long reporter() chains to satisfy phpcs line length
mchurchward May 21, 2026
3ad02da
Drop remaining raw $DB calls in report.php and fix navbar N+1
mchurchward May 21, 2026
9f9f53a
Drop unused forwarders and downgrade survey finder visibility
mchurchward May 21, 2026
88dc126
Drop raw $DB calls from print_survey_start
mchurchward May 21, 2026
b134833
Push capabilities::user_time_for_new_attempt onto response_record
mchurchward May 21, 2026
51516a4
Extract pdf_factory from the report.php top-level function
mchurchward May 22, 2026
88048a9
Extract delete arms from report.php into report_actions controller
mchurchward May 22, 2026
a5204c2
Extract download arms from report.php into report_downloader controller
mchurchward Jun 8, 2026
625c196
Extract action handlers from build_survey_form
mchurchward Jun 9, 2026
0e18094
Cover error-path branches in build_survey_form action handlers
mchurchward Jun 10, 2026
1aa28ae
Fix string $from arg to email_to_user under stricter core typing
mchurchward Jun 10, 2026
98853bb
Extract vall/vresp arms from report.php into report_viewer controller
mchurchward Jun 11, 2026
522c472
Move RGraph JS init out of report.php and into report_viewer
mchurchward Jun 11, 2026
f13b77c
Add direct tests for boolean / text insert_response + display_results
mchurchward Jun 11, 2026
d0f7779
Add direct tests for date and single responsetype methods
mchurchward Jun 14, 2026
5a28f2d
Add missing $choicedata param to build_data_fixture docblock
mchurchward Jun 14, 2026
17e3328
Fix property access on question $name (broke after feedback save star…
mchurchward Jun 17, 2026
df35cf5
Replace survey::update_survey(stdClass) with update_settings(array) a…
mchurchward Jun 17, 2026
a12c264
Replace procedural tabs.php with mod_questionnaire\output\tabs class
mchurchward Jun 18, 2026
a634b85
Require explicit instance= on report.php; drop SESSION URL fallback
mchurchward Jun 18, 2026
3343a15
Fix phpcs violations flagged by CI after Phase A/B
mchurchward Jun 18, 2026
c3dc702
Add missing $individualresponse phpdoc param on question::question_ou…
mchurchward Jun 18, 2026
b94ef50
Drop dead/redundant SESSION report-context fields
mchurchward Jun 19, 2026
0ce3801
Carry submission end flag in hidden form field, not SESSION
mchurchward Jun 19, 2026
838f615
Replace SESSION validateresults flash with core\notification::warning
mchurchward Jun 19, 2026
6875092
Carry last-add typeid/required via URL/hidden params, not SESSION
mchurchward Jun 20, 2026
76a4268
Thread currentgroupid into responsetype display, drop SESSION read
mchurchward Jun 20, 2026
94a1bd2
Moving test to proper namespace.
mchurchward Jun 20, 2026
a8b9a25
Drop SESSION->questionnaire bootstraps; add CI grep guard
mchurchward Jun 20, 2026
611906d
Wrap get_results_tags signatures to fix CI line-length warnings
mchurchward Jun 20, 2026
f856c45
Document $currentgroupid in display_results phpdocs
mchurchward Jun 20, 2026
bee8d71
Add direct tests for rank responsetype methods
mchurchward Jun 22, 2026
7572b15
Add direct tests for multiple responsetype; load QUES constants in setUp
mchurchward Jun 22, 2026
b9a0ee2
Add direct tests for numericaltext responsetype methods
mchurchward Jun 22, 2026
486f2cd
Add direct tests for slider responsetype methods
mchurchward Jun 22, 2026
dc43936
Add direct tests for file responsetype read paths
mchurchward Jun 22, 2026
0508a59
Add mod_questionnaire\feedback domain object (read-side delegation)
mchurchward Jun 22, 2026
d93b7ff
Move feedback fields write-side off survey allowlist onto feedback
mchurchward Jun 23, 2026
1ad46f0
Extract response_analysis into feedback::build_scoreboard with value …
mchurchward Jun 23, 2026
69e22b7
Move feedback domain classes into mod_questionnaire\local\feedback
mchurchward Jun 23, 2026
df64ca8
Drop survey feedback accessors; route feedback reads through raw_field
mchurchward Jun 23, 2026
4eba10b
Route feedback scoreboard reads through persistent statics
mchurchward Jun 23, 2026
1ea2f47
Cover 6 reporter public methods + fix pages_autonumbered() self-call
mchurchward Jun 23, 2026
deb7967
Move report classes to local\report; rename renderer to builder
mchurchward Jun 23, 2026
647a20b
Move survey domain class + view builder into local\survey
mchurchward Jun 24, 2026
111ee7c
Drop unused survey_record(); reorder members public→protected→private
mchurchward Jun 24, 2026
a7e4afe
Drop dead questionnaire wrappers; relocate get_all_file_areas tests
mchurchward Jun 25, 2026
9f17378
Drop dead questionnaire->questions_by_section() and add_questions() w…
mchurchward Jun 25, 2026
9fc0c0b
Fix 'Only variables should be passed by reference' notices in tests
mchurchward Jun 25, 2026
e7b732f
Migrate external API to classes/external/ namespaced layout
mchurchward Jun 25, 2026
2b43083
Inline save_as_dataformat() into report_downloader::stream_and_email()
mchurchward Jun 25, 2026
d13d977
Move draw_chart() into chart_renderer; add tests for chart_renderer +…
mchurchward Jun 25, 2026
4d3a39d
Test
mchurchward Jun 26, 2026
70fc37c
Phase 1a: convert 4 init_* JS callbacks to AMD modules
mchurchward Jun 26, 2026
50655a9
Phase 1b: convert inline onclick= handlers to delegated AMD module
mchurchward Jun 26, 2026
418b121
Add mobile WS response shape test; fix two latent bugs it exposed
mchurchward Jun 26, 2026
605a78f
Phase 1c: delete module.js, form_options::js_module() and stale doc refs
mchurchward Jun 26, 2026
53981e6
Add Behat coverage for the usergraph chart-rendering path
mchurchward Jun 26, 2026
1ba3fca
Flatten nested ternary in slider.js to satisfy ESLint no-nested-ternary
mchurchward Jun 26, 2026
08edd7a
Phase 2: extract chart-rendering JS into amd/src/chart.js
mchurchward Jun 26, 2026
bc40e4a
Drop redundant RGraph preloads now that chart_renderer self-registers…
mchurchward Jun 26, 2026
736f5fa
Regenerate AMD build artifacts with grunt
mchurchward Jun 26, 2026
333fc10
Drop stray blank line before report_viewer's closing brace
mchurchward Jun 26, 2026
30612ea
Add missing @param docs to chart_renderer build_* helpers
mchurchward Jun 26, 2026
aa3942f
Phase A: refactor rank.php mkresavg/mkrescount into helpers
mchurchward Jun 29, 2026
6365c93
build_averages_headers: compute precise() flags internally
mchurchward Jun 29, 2026
95bfaee
Add is_na() / is_osgood() accessors on rank; drop flag params from he…
mchurchward Jun 29, 2026
ce035fa
Split build_averages_choice_row into osgood and default paths
mchurchward Jun 29, 2026
3352533
Phase B: split output\tabs::render into per-section helpers
mchurchward Jul 9, 2026
6a645cf
Phase 22f: remove contenteditordata smuggler; return editor payload f…
mchurchward Jul 9, 2026
fe3abdd
Phase C: split output\mobile::mobile_view_activity into per-action ha…
mchurchward Jul 9, 2026
b7fe095
Phase E prep: add canary tests for rate::question_survey_display / re…
mchurchward Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,24 @@ jobs:
IGNORE_PATHS: 'templates/local/mobile'
PHPDOCCHECKER_IGNORE_PATHS: /^vendor/

- name: Guard against $SESSION->questionnaire regressions
if: ${{ always() }}
working-directory: plugin
run: |
if git grep -nE '\$SESSION->questionnaire' -- ':!.github/**'; then
echo "::error::Found \$SESSION->questionnaire usage. State must round-trip via forms, URL params, persistent records, or computed-on-render — never via the session object. See [[project-session-removal-plan]]."
exit 1
fi

- name: Guard against survey feedback-accessor regressions
if: ${{ always() }}
working-directory: plugin
run: |
if git grep -nE 'survey\(\)->(feedbacknotes|feedbacksections|feedbackscores|charttype)\(' -- ':!.github/**'; then
echo "::error::Found a call to a survey feedback accessor that was dropped in Phase 4 of the feedback-domain-class extraction. Use \$q->feedback()->notes()/mode()/show_scores()/chart_type() instead. See [[project-feedback-domain-class-plan]]."
exit 1
fi

- name: PHP Lint
if: ${{ always() }}
run: moodle-plugin-ci phplint
Expand Down
12 changes: 12 additions & 0 deletions amd/build/attempt_form.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions amd/build/attempt_form.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 26 additions & 0 deletions amd/build/chart.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions amd/build/chart.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions amd/build/printing.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions amd/build/printing.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 15 additions & 0 deletions amd/build/sendmessage.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions amd/build/sendmessage.min.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions amd/build/slider.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading