Commit graph

99 commits

Author SHA1 Message Date
Tim Hunt
66de66fe6a 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 13:35:09 +01:00
Sam Hemelryk
95d294368f Merge branch 'MDL-46212' of git://github.com/timhunt/moodle
Conflicts:
	question/type/calculated/question.php
2014-07-08 11:43:09 +12:00
Tim Hunt
88ec9f308d MDL-46148 qtype_calculated: validate formulas everywhere. 2014-07-07 14:33:34 +01:00
Tim Hunt
f4fe3968a2 MDL-46212 questions: add {} whenver vars are put into "" strings
Having had one subtle bug cased be this, I decided to do a search and
fix all of these.
2014-07-03 14:02:39 +01:00
Tim Hunt
5bcfd504df MDL-45618 Fix @since PHPdoc tags. 2014-05-19 17:03:04 +01: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