Commit Graph

97 Commits

Author SHA1 Message Date
Tim Hunt 94ac7a87fa MDL-46148 qtype_calculated: fix validation when importing.
In order to do this in a sane way, I cleaned up a lot of old mess,
inclduing:

1. Previously, qtype_calcuated used ->answeres when importing, and
->answer when saving the form. This was crazy, so I fixed it, and
stripped out the code that made the alternative variable name work.

2. Similarly, it could handle ->answer being either an array, such as
you would get form the HTML editor, or a simple string, which is what
you get form the form. I simplified that too.

3. Finally, I made import use a transaction around saving each
question, so we don't get half questions in the database when an error
occurs.
2014-07-09 14:11:38 +01:00
Tim Hunt 6eaf5ec8e3 MDL-46148 qtype_calculated: fix formula validation. 2014-07-07 14:34:02 +01:00
Tim Hunt 63e5416f5b MDL-45618 Fix @since PHPdoc tags. 2014-05-20 15:03:34 +08:00
Eloy Lafuente (stronk7) 538bf99ece MDL-45486 Bump all versions to planned release
This bumps all versions to planned 2.7 release
(2014051200) version and all the dependencies to
current 2.7rc2 (2014050800)
2014-05-09 02:12:28 +02:00
Tim Hunt 8011be189e MDL-33653 fix preview links on calc qtype edit forms.
Also, refactor how we render preview icons, to eliminate duplication.
2014-03-07 19:46:56 +00:00
Tim Hunt ccba5b8805 MDL-43749 normalise quiz database structure.
The sequence of questions that made up a quiz used to be stored as a
comma-separated list in quiz.questions. Now the same information is
stored in the rows in the quiz_slots table. This is not just 'better' in
a database design sense, but it allows for the future changes we will
need as we enhance the quiz in the MDL-40987 epic.

Having changed the database structure, all the rest of the code needs to
be changed to account for it, and that is done here.

Note that there are not many unit tests for the changed bit. That is
because as part of MDL-40987 we will be changing the code further, and
we will add unit tests then.
2014-03-02 10:00:40 +01:00
Tim Hunt 30de48d285 MDL-44118 drop old quiz/question attempt data.
This data should all have been upgraded when moving to Moodle 2.1. It
was only kept as a back-up, and now, after 3 years have past, we can
clean it up.
2014-02-18 11:55:26 +00:00
Eloy Lafuente (stronk7) f39c82ebed MDL-42701 Bump all versions near 2.6 release 2013-11-05 02:36:00 +01:00
Tim Hunt 4e3d829350 MDL-42105 questions: let attempts have a max fraction > 1.
This parallels question_attempt->minfraction, which allows the
fractional mark to go below zere.

This is needed to allow the certainty-base marking behaviours to work
better.
2013-10-04 17:52:19 +01:00
Tim Hunt 38c3492038 MDL-40434 calculatedmulti multiple-response questions not randomised 2013-07-02 08:21:42 +01:00
ppichet 9ddb8a56a3 MDL-31680 Correcting the format of calculated types correct response 2013-06-05 23:44:39 -04:00
Eloy Lafuente (stronk7) cedb0aab5a MDL-39434 Bump all versions near 2.5 release 2013-05-01 18:03:29 +02:00
Eloy Lafuente (stronk7) f57832826b Merge branch 'MDL-38792' of https://github.com/ppichet/moodle 2013-04-09 14:33:31 +02:00
ppichet 3d9645ae6e MDL-38792 Update question/type in-line comments to codechecker standards
Correct bad formated infiles in question/type directories
2013-04-08 19:59:51 -04:00
Damyon Wiese a6c215ab1f Merge branch 'MDL-38741-master' of git://github.com/danpoltawski/moodle 2013-04-08 12:00:52 +08:00
Colin Chambers 11a66e2c5a MDL-36570 Grouped question type answer fields now display errors 2013-04-04 15:29:39 +01:00
Colin Chambers c3f21ec516 MDL-36570 Added missing calculatedmulti fields 2013-04-04 11:17:33 +01:00
Dan Poltawski dfd89b0bb9 MDL-38741 qtype_calculatedmulti: fix missing setType 2013-04-04 11:49:19 +08:00
Colin Chambers c7218aef8d MDL-36570 question editing: group answer/choice fields better. 2013-03-28 17:25:45 +00:00
Tim Hunt 03cefcc91b MDL-37506 question code: incorrect preg_quote uses.
For preg_quote to work reliably, you must pass the delimiter you are
using for your regular expression. In many places we were failing to do
that.
2013-01-18 11:18:54 +00:00
Tim Hunt 5574862063 MDL-36534 question editing: clean up lang strings.
There were a number of lang strings in suboptimal places.
This commit fixes that, and also removed some unused strings.

AMOS BEGIN
 MOV [addmorechoiceblanks,qtype_multichoice],[addmorechoiceblanks,question]
 MOV [youmustenteramultiplierhere,qtype_calculated],[youmustenteramultiplierhere,qtype_numerical]
AMOS END
2013-01-14 14:52:49 +00:00
Colin Chambers c4b2600d4b MDL-36534 Quiz: Group question type unit fields 2013-01-14 14:37:37 +00:00
Eloy Lafuente (stronk7) 663dbbc2e6 MDL-36933 Bump everything to 2012112900
(versions, requires and dependencies)
2012-11-30 03:30:09 +01:00
Tim Hunt 8e8a397b16 MDL-35343 JavaScript visible in multichoice choice feedback.
Also, Match correct answer, and calculated multi and multianswer
feedback.
2012-09-10 13:06:47 +01:00
Rajesh Taneja 61cca0b7fc MDL-32940 libraries: Replaced deprecated PARAM_NUMBER with PARAM_FLOAT 2012-07-23 17:21:05 +08:00
Eloy Lafuente (stronk7) c5e783e512 MDL-33794 version.php: Bump all versions, requires and dependencies to 2012061700 2012-06-18 02:37:00 +02:00
ppichet 0cba6a8d5e MDL-32181 question/calculatedmulti validate multianswers
restructuring the validation function of edit_calculatedmulti_form.php
correcting attempt
defining = new stdClass() before using them : Strict standards
2012-04-27 14:30:36 -04:00
Eloy Lafuente (stronk7) d7f84a2962 Merge branch 'MDL-32471-thumbnails' of git://github.com/mudrd8mz/moodle 2012-04-25 15:14:27 +02:00
David Mudrak 7a00d4385d MDL-32471 preview thumbnails support for other component types
This commit affects mostly qtypes. Other standard components either do
not have pluginfile handler or have been already updated to the new API.
2012-04-24 14:29:44 +02:00
Petr Skoda 2338458ac5 MDL-32569 drop all migrated question simpletests 2012-04-21 16:43:34 +02:00
Petr Skoda 603bd00112 MDL-32323 convert question tests
1/ type/match/tests/walkthrough_test.php - tests are failing randomly, looks like some weird randomisation is going on there - see TODOs

2/ type/multianswer/tests/upgradelibnewqe_test.php contains invalid expected value - see TODO
2012-04-10 15:27:11 +02:00
Petr Skoda 072db71c90 MDL-32094 fix question related E_STRICT problems 2012-03-18 18:33:54 +01:00
Eloy Lafuente (stronk7) d8c9ff403b Merge branch 's17_MDL-30973_file_docblock_master' of git://github.com/dongsheng/moodle 2012-03-01 00:25:18 +01:00
Tim Hunt d44480f60f MDL-31729 questions: files for hints are not moved or deleted.
The files that belong to the question hints are neither moved when the
question is moved to another context, nor deleted when the question is
deleted.

Oops! How come no one noticed that until today.
2012-02-23 12:37:26 +00:00
Dongsheng Cai d2b7803e5a MDL-30973 Files API, check and update DocBlock 2012-02-15 12:48:57 +08:00
Tim Hunt 7d087744cb MDL-30322 qtypes calc* and mulitanswer -> optional_param_array. 2011-11-28 16:57:00 +00:00
Tim Hunt 226b312472 MDL-29808 qtypes: use standard pluginname strings and update version.php
AMOS BEGIN
 MOV [calculated,qtype_calculated],[pluginname,qtype_calculated]
 MOV [calculated_help,qtype_calculated],[pluginname_help,qtype_calculated]
 MOV [calculated_link,qtype_calculated],[pluginname_link,qtype_calculated]
 MOV [addingcalculated,qtype_calculated],[pluginnameadding,qtype_calculated]
 MOV [editingcalculated,qtype_calculated],[pluginnameediting,qtype_calculated]
 MOV [calculatedsummary,qtype_calculated],[pluginnamesummary,qtype_calculated]

 MOV [calculatedmulti,qtype_calculatedmulti],[pluginname,qtype_calculatedmulti]
 MOV [calculatedmulti_help,qtype_calculatedmulti],[pluginname_help,qtype_calculatedmulti]
 MOV [calculatedmulti_link,qtype_calculatedmulti],[pluginname_link,qtype_calculatedmulti]
 MOV [addingcalculatedmulti,qtype_calculatedmulti],[pluginnameadding,qtype_calculatedmulti]
 MOV [editingcalculatedmulti,qtype_calculatedmulti],[pluginnameediting,qtype_calculatedmulti]
 MOV [calculatedmultisummary,qtype_calculatedmulti],[pluginnamesummary,qtype_calculatedmulti]

 MOV [calculatedsimple,qtype_calculatedsimple],[pluginname,qtype_calculatedsimple]
 MOV [calculatedsimple_help,qtype_calculatedsimple],[pluginname_help,qtype_calculatedsimple]
 MOV [calculatedsimple_link,qtype_calculatedsimple],[pluginname_link,qtype_calculatedsimple]
 MOV [addingcalculatedsimple,qtype_calculatedsimple],[pluginnameadding,qtype_calculatedsimple]
 MOV [editingcalculatedsimple,qtype_calculatedsimple],[pluginnameediting,qtype_calculatedsimple]
 MOV [calculatedsimplesummary,qtype_calculatedsimple],[pluginnamesummary,qtype_calculatedsimple]

 MOV [description,qtype_description],[pluginname,qtype_description]
 MOV [description_help,qtype_description],[pluginname_help,qtype_description]
 MOV [addingdescription,qtype_description],[pluginnameadding,qtype_description]
 MOV [editingdescription,qtype_description],[pluginnameediting,qtype_description]
 MOV [descriptionsummary,qtype_description],[pluginnamesummary,qtype_description]

 MOV [essay,qtype_essay],[pluginname,qtype_essay]
 MOV [essay_help,qtype_essay],[pluginname_help,qtype_essay]
 MOV [essay_link,qtype_essay],[pluginname_link,qtype_essay]
 MOV [addingessay,qtype_essay],[pluginnameadding,qtype_essay]
 MOV [editingessay,qtype_essay],[pluginnameediting,qtype_essay]
 MOV [essaysummary,qtype_essay],[pluginnamesummary,qtype_essay]

 MOV [match,qtype_match],[pluginname,qtype_match]
 MOV [match_help,qtype_match],[pluginname_help,qtype_match]
 MOV [match_link,qtype_match],[pluginname_link,qtype_match]
 MOV [addingmatch,qtype_match],[pluginnameadding,qtype_match]
 MOV [editingmatch,qtype_match],[pluginnameediting,qtype_match]
 MOV [matchsummary,qtype_match],[pluginnamesummary,qtype_match]

 MOV [missingtype,qtype_missingtype],[pluginname,qtype_missingtype]
 MOV [addingmissingtype,qtype_missingtype],[pluginnameadding,qtype_missingtype]
 MOV [editingmissingtype,qtype_missingtype],[pluginnameediting,qtype_missingtype]

 MOV [multianswer,qtype_multianswer],[pluginname,qtype_multianswer]
 MOV [multianswer_help,qtype_multianswer],[pluginname_help,qtype_multianswer]
 MOV [multianswer_link,qtype_multianswer],[pluginname_link,qtype_multianswer]
 MOV [addingmultianswer,qtype_multianswer],[pluginnameadding,qtype_multianswer]
 MOV [editingmultianswer,qtype_multianswer],[pluginnameediting,qtype_multianswer]
 MOV [multianswersummary,qtype_multianswer],[pluginnamesummary,qtype_multianswer]

 MOV [multichoice,qtype_multichoice],[pluginname,qtype_multichoice]
 MOV [multichoice_help,qtype_multichoice],[pluginname_help,qtype_multichoice]
 MOV [multichoice_link,qtype_multichoice],[pluginname_link,qtype_multichoice]
 MOV [addingmultichoice,qtype_multichoice],[pluginnameadding,qtype_multichoice]
 MOV [editingmultichoice,qtype_multichoice],[pluginnameediting,qtype_multichoice]
 MOV [multichoicesummary,qtype_multichoice],[pluginnamesummary,qtype_multichoice]

 MOV [numerical,qtype_numerical],[pluginname,qtype_numerical]
 MOV [numerical_help,qtype_numerical],[pluginname_help,qtype_numerical]
 MOV [numerical_link,qtype_numerical],[pluginname_link,qtype_numerical]
 MOV [addingnumerical,qtype_numerical],[pluginnameadding,qtype_numerical]
 MOV [editingnumerical,qtype_numerical],[pluginnameediting,qtype_numerical]
 MOV [numericalsummary,qtype_numerical],[pluginnamesummary,qtype_numerical]

 MOV [random,qtype_random],[pluginname,qtype_random]
 MOV [random_help,qtype_random],[pluginname_help,qtype_random]
 MOV [editingrandom,qtype_random],[pluginnameediting,qtype_random]

 MOV [shortanswer,qtype_shortanswer],[pluginname,qtype_shortanswer]
 MOV [shortanswer_help,qtype_shortanswer],[pluginname_help,qtype_shortanswer]
 MOV [shortanswer_link,qtype_shortanswer],[pluginname_link,qtype_shortanswer]
 MOV [addingshortanswer,qtype_shortanswer],[pluginnameadding,qtype_shortanswer]
 MOV [editingshortanswer,qtype_shortanswer],[pluginnameediting,qtype_shortanswer]
 MOV [shortanswersummary,qtype_shortanswer],[pluginnamesummary,qtype_shortanswer]

 MOV [truefalse,qtype_truefalse],[pluginname,qtype_truefalse]
 MOV [truefalse_help,qtype_truefalse],[pluginname_help,qtype_truefalse]
 MOV [truefalse_link,qtype_truefalse],[pluginname_link,qtype_truefalse]
 MOV [addingtruefalse,qtype_truefalse],[pluginnameadding,qtype_truefalse]
 MOV [editingtruefalse,qtype_truefalse],[pluginnameediting,qtype_truefalse]
 MOV [truefalsesummary,qtype_truefalse],[pluginnamesummary,qtype_truefalse]
AMOS END
2011-11-10 19:12:30 +00:00
Henning Bostelmann 409199d660 MDL-28444 synchronized datasets: fix typo in get_variants_selection_seed() 2011-08-20 11:49:26 +01:00
Tim Hunt 01533e9cce MDL-28138 fix calculated-specific format float function
Sadly this has to be done in question.php and in two places in the ugprade code :-(.
2011-07-01 09:14:56 +01:00
Eloy Lafuente (stronk7) 88933f08cb Merge branch 'MDL-27418' of git://github.com/timhunt/moodle 2011-06-29 23:51:33 +02:00
Tim Hunt 3aa159706c MDL-27418 fix typo
I really should refactor to eliminate this duplicated code.
2011-06-28 17:34:24 +01:00
Tim Hunt 0366ef262a MDL-28035 problems with upgrade/restore of ataptive quizzes from 2.0
There were two main problems:

1. The unit tests for upgrading adaptive quiz attempts had slighly the
wrong $expectedqa, and so matching that the upgrade was doing the wrong
thing in certain situations. The main issue was that it was setting
-_try = 1 on the first step, which broke the penalty calculation when
the quiz was regraded. There were also some other subtleties with
incrementing -_try that were not right before.

2. It was possible in 2.0 and earlier for two question_states to get the
same seq_number, and restoring 2.0 backups was rashly assuming that that
was unique.
2011-06-27 17:10:02 +01:00
Tim Hunt 5cf69d7ff5 MDL-27868 Hints (and some other things) lost when re-editing calculated* questions. 2011-06-17 15:42:03 +01:00
Tim Hunt e6d7658337 MDL-27865 fix editing of calculated* questions. 2011-06-15 12:20:26 +01:00
Tim Hunt 98a3898efc MDL-27849 fix qtype_multianswer attempt data restore (2.1 -> 2.1).
Also, refactor calculatedmulti restore to avoid duplication.
2011-06-14 15:17:50 +01:00
Tim Hunt 5b64e32645 MDL-27585 implement restore of qtype_calculatedmulti 2.1 attempt data 2011-06-14 12:11:23 +01:00
Tim Hunt 18ab06bac5 MDL-27639 restore of attempt data from 2.0 - first attempt.
This is now at the stage where it mostly appears to work, at lease on
one backup file.
2011-06-14 12:11:19 +01:00
Tim Hunt 92111e8d2c MDL-27747 questions remove all references to the recently deprecated get_grade_options() 2011-06-07 14:00:07 +01:00
Eloy Lafuente (stronk7) 1db15c2718 MDL-20636 changes to core & questions upgrade code
Changes include:

    - fixing versions and requires to current weekly (2011060313)
    - fix essay wrong upgrade step. Review & test!
    - fix numerical missing savepoint.
2011-06-06 17:16:11 +01:00
Tim Hunt 4c5743343f MDL-20636 make qe upgrade tests independent of html2text details.
Based on Eloy's change, but refactored to be slightly nicer.
2011-06-06 17:05:54 +01:00