Commit Graph

42 Commits

Author SHA1 Message Date
Tim Hunt 1f17e41e9a MDL-50893 questions: cannot create a question with name 0 2015-07-28 18:18:17 +01:00
Tim Hunt cda62a3829 MDL-47791 question editing: remove permission info from above the form
This information is not really meaningful for users, and takes up prime
real-estate, so we are removing it.
2014-10-21 15:03:20 +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
Damyon Wiese ca4f7f6105 MDL-45763 Question types: Allow saving '0' as question text. 2014-06-11 17:28:52 +08:00
Eloy Lafuente (stronk7) 96eead3f6c MDL-24408 Whitespace fix. 2014-04-02 03:14:36 +02:00
Oleg Sychev 92e83e2d0e MDL-24408 extra_question_fields: separate answer data creation code
Now any question using extra_question_fields can overload make_answer
(just as make_hint), instead of overloading whole initialise_question_answers.
2014-03-28 00:27:05 +03:00
Oleg Sychev f0c6c18189 MDL-24408 extra_answer_fields: save_question_answers function
question_type::save_question_answers function added, supporting
saving answers and extra answer fields. It can be called from
save_question_options function for the questions, using
question_answers table. Special functions created for overloading
so that every question could tune it to it's own form.

Shortanswer qtype save_question_options() converted as a proof of
concept and for testing purposes.
2014-03-28 00:27:03 +03:00
Oleg Sychev 6276672854 MDL-24408 extra_answer_fields : get answers even if they miss extra data
Extra answer data may be optional, saving DB space - i.e. not every row in
question_answers will have respective row in extra answers table. Current
implementation of question_type::get_question_options() won't return such
answers at all. This commit fix that, changing join type for db query.

Also fixed coding style violation in the variable name in get_question_options.
2014-03-28 00:26:59 +03:00
James Pratt 3d6f2466d9 MDL-43479 quiz response analysis : suppress break down by variants
where there are very many variants
2014-02-14 15:40:52 +07:00
M Kassaei 435d32798b MDL-33839d, Remove the move icon from the question bank 2014-01-24 14:40:16 +00:00
Tim Hunt 562684e3a0 MDL-42309 typo: fix reponse -> response throughout Moodle. 2013-10-15 13:47:27 +11:00
Jean-Michel Vedrine f383a58a90 MDL-40499 Edit question from 1.9 backup breaks if images in subdirs 2013-07-04 14:09:13 +02:00
Oleg Sychev 0b287dd2e8 MDL-40013 Easier to override saving question hints
This adds 3 new methods, called from question_type::save_hints,
to make it easier for different question types to overload this
functionality without duplicating code.

Question types that will benefit from this change include
oumultiresponse, ddmarker, preg and correctwriting.
2013-06-06 19:58:42 +03: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
Tim Hunt a8e577debb MDL-37374 questions: fix property_exists calls. 2013-01-16 11:13:53 +00:00
Tim Hunt 8d54191d7a MDL-37374 questions: use property_exists rather than isset
$a->field = null; isset($a->field) returns false, which is typical PHP.
I also improve the error handling a bit.
2013-01-11 13:15:51 +00:00
Dan Poltawski 0e35ba6ffc MDL-36357 cleanup - remove double semicolons 2012-11-15 09:51:26 +08:00
Ankit Agarwal 5fbe2118bc MDL-34549 libraries: Changing strictness of context::instance_by_id() when required 2012-08-24 11:30:35 +08:00
Ankit Agarwal d197ea4300 MDL-34549 libraries: Replace get_context_instance_by_id() by context::instance_by_id() 2012-08-24 11:30:10 +08:00
Frederic Massart 21c08c63ca MDL-34458 Librairies: Replaced deprecated get_context_instance() 2012-07-24 16:58:17 +08:00
Tim Hunt ba6425ab3d MDL-33779 question: code clean-up 2012-06-15 14:02:15 +01:00
Tim Hunt a031b0f334 MDL-32347 questions: API improvement for the benefit of strict syntax. 2012-04-05 17:26:44 +01:00
Tim Hunt 04fcd1f5a8 MDL-32201 question export: use qformat_xml::write_answer in base class
Without this, images in answers were not being written to the export
file for questions using extra_answer_fields.
2012-03-29 14:12:58 +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
Tim Hunt 0b94d6bff3 MDL-30120 questions: remove support for legacy qtype string names. 2012-01-20 19:42:42 +00:00
Sam Hemelryk c3f90a5722 Merge branch 'MDL-37049' of git://github.com/jamiepratt/moodle 2011-12-19 15:06:01 +13:00
Jamie Pratt a24e35701f MDL-30749 fixing typo referring to question instead of answer object 2011-12-15 15:06:45 +07:00
Valeriy Streltsov 56565037dd MDL-30562 qtypes: extra_answer_fields & questionid_column_name public
Will let us make more of qtype backup and restore work automatically.
2011-12-09 18:38:38 +00:00
Oleg Sychev 1067775131 MDL-29095: initialise_question_instance should use extra_question_fields
Shortanswer question type converted to use extra question fields.

Signed-off-by: Oleg Sychev <oasychev@gmail.com>
2011-11-15 11:10:14 +00:00
Eloy Lafuente (stronk7) d59df6582b Merge branch 'MDL-29808' of git://github.com/timhunt/moodle
Conflicts:
	question/type/upgrade.txt

There were already one just added upgrade.txt file so this ended
conflicting. Reviewed the contents, I've deleted the less detailed
note about pluginname, leaving the longer description added by Tim.

Ciao :-)
2011-11-10 21:54:36 +01: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
Tim Hunt bbc8c32174 MDL-28426 qtype base export_to_xml does not write format.
Fix based on Roger Moore's patch.
2011-11-03 11:24:29 +00:00
Tim Hunt d68f4d8b9f MDL-29983 fix question_type::local_name 2011-10-28 13:38:33 +01:00
Tim Hunt 44a7f3840d MDL-29474 fix qtype and qbehaviour plugins to use proper pluginname strings.
But maintain backwards-compatibility for now.
2011-10-20 11:13:27 +01:00
Tim Hunt 46e40567fa MDL-28614 qtypes: get_editing_head_contributions not used any more. Remove from base class. 2011-10-17 11:42:41 +01:00
Tim Hunt 1b343d5241 MDL-28564 question type importing, improve Jamie's fix. 2011-08-27 08:16:47 +01:00
Jamie Pratt 05cef658dd MDL-28564 "implement support for extra answer fields in question export and
import" implemented support for extra answer fields in questiontype base
export and import functions.
2011-08-27 08:16:47 +01:00
Tim Hunt a23bda41e4 MDL-28618 question combined feedback: inconsistency in file areas.
The (partially|in)?correct feedback fields acutally store their files in a file area with component 'question'. Some code, however, was written as if they were stored in the qtype_whatever area.
2011-08-05 16:45:17 +01:00
Jamie Pratt da8cd9f4b3 MDL-28268 Missing ORDER BY when using extra answer table.
From OU bug #921 "Order of answer fields in Variable numeric keeps changing" Cannot
reproduce this bug on my system but hopefully this will fix the problem. I added
an ORDER BY clause to the sql for fetching answers with extra answer fields.
2011-07-09 07:26:08 +01:00
Jamie Pratt e5060e2209 MDL-28129 two issues with loading and saving questions
1. Missing order by could randomise the order of the hints.

2. the extraanswerfields big had some SQL errros.
2011-06-30 17:21:37 +01:00
Tim Hunt 35c9b65274 MDL-24594 Fix some issues with the display of HTML choices.
The most significant issue is that the HTML editor alwasy wraps <p> tags round the input, but that is not appropriate for the choices. It is especially not appropriate because we want to display the choices in a <lable> for accessibility and usability reasons. In valid HTML label can only contain inline elemnts. Therefore, I introduced a make_html_inline method, with a minimal implementation. (It could be improved in future.)

Long term, I think the best option would be a new form field type, editorinline, or something like that. That would be a smaller version of TinyMCE that only lets you enter inline elements.
2011-06-17 18:41:15 +01:00
Tim Hunt afe24f850b MDL-20636 Rename questiontype.php to questiontypebase.php. Also some conde-checker issues. 2011-05-17 16:46:57 +01:00