Commit graph

412 commits

Author SHA1 Message Date
jamiesensei
7856a8c384 removing file that mistakenly was committed to HEAD 2007-06-30 04:22:51 +00:00
jamiesensei
c28245d7e5 test for questionlib on MOODLE_19_QUESTIONS branch 2007-06-30 03:50:52 +00:00
skodak
b3ac6c3ef0 MDL-10224 total course grade implemented + lots of other changes and improvements; there are still some regressions and bugs - going to fix them ASAP; some unit tests still missing too 2007-06-28 13:20:30 +00:00
skodak
22e23c78a0 MDL-10251 finished hiding implementation for grades, items and categories + unit tests 2007-06-25 15:29:31 +00:00
skodak
93def7683e removing itemnumber generation for now 2007-06-25 08:01:04 +00:00
skodak
f92dcad81a MDL-10233 improved static factory methods of grade obejcts fetch() and fetch_all(); implemented default values of grade objects, fixed null values for some properties that are not required - unit tests included, tested with PHP4 and PHP5 2007-06-24 22:26:33 +00:00
skodak
772ddfbfce trailing whitespace cleanup in new grade libraries 2007-06-23 16:51:09 +00:00
skodak
61c33818d5 MDL-10231 merge grade_calculations and grade_items table + calculation improvements
MDL-10233 fixed grade_*::fetch() - does not modify $this anymore, we can now use it from normal methods to fetch other objects of the same class.
2007-06-23 16:33:17 +00:00
skodak
2e53372c37 MDL-10226 regrading of final grades improved, calculation cleanup before MDL-10231 2007-06-22 18:33:32 +00:00
skodak
2cc4b0f90d MDL-10223 Implement locking of grades and grade items - cron support still not implemented;
this patch also contains improvements in handling of needsupdate, though it is not yet fully working for calculated grades
2007-06-22 08:57:39 +00:00
skodak
ac9b080524 MDL-10202 merge raw and final grade tables 2007-06-20 23:06:29 +00:00
skodak
df3cb76fc4 MDL-9137 calculated grades should work now, some other minor cleanup 2007-06-18 22:52:55 +00:00
skodak
b8ff92b66b MDL-9137 various grading improvements
1/ initial support for migration of old grade_items and categories (not tested)
2/ rewritten grade update and calculation logic
3/ initial support for calculation formulas
4/ minor API refactoring and cleanup
5/ various small bugfixes
6/ fixed use of grademax with scales
7/ fixed some unit tests

TODO:
* implement proper locking of grades - needs discussion
* force recalculation of all formulas after adding/removing/changing of grade items
* better delete flag support
* support for NULLs n backup - Eloy already proposed a solution
* support for NULLs in set_field()
* speedup
* more unit tests nd functional tests
2007-06-18 13:43:40 +00:00
skodak
f70152b7bb MDL-10104 grade_create_item() in gradelib.php was obsoleted by grade_update() function which does the creation and update of grade_items 2007-06-12 20:19:38 +00:00
skodak
9f9afbdbab MDL-10078 unit tests for grade category failing on set_as_parent() 2007-06-10 21:17:42 +00:00
skodak
34e67f76a8 MDL-10076 finalize grade_is_locked() and implement grade item locking in assignment 2007-06-10 20:34:07 +00:00
skodak
4c24cae1a1 MDL-10069 unit test for grade_item itemnumber generation broken 2007-06-09 17:24:44 +00:00
skodak
2904365752 MDL-10067 skip testing of bad inserts for mysql family - these are known to not work anyway 2007-06-09 17:10:32 +00:00
skodak
19be539627 MDL-10066 move testmodforumlib.php into mod/forum/simpletest/ 2007-06-09 16:55:31 +00:00
skodak
cdbbd26f80 MDL-10064 global $CFG in unit test files is non standard, it is recommended to use MOODLE_INTERNAL test in all library files 2007-06-09 16:32:36 +00:00
skodak
52f81103d3 MDL-10063 simpletestlib.php included from majority of unit tests - let's include it once from the test runner itself 2007-06-09 16:17:33 +00:00
skodak
02e6a9731f MDL-9866 reverting previous incorrect fix for include() in simpletest library; patching grade unit tests instead 2007-06-09 15:03:05 +00:00
skodak
2bb0dbf71d MDL-10062 - unit test of raw grade load_text() improved 2007-06-09 14:29:07 +00:00
skodak
4cf1b9be9d MDL-10062 - changes in raw grade handling of feedback and information
improved grade_update() function
2007-06-09 14:16:20 +00:00
nicolasconnault
1c307f2186 grade_item idnumber now self generated if needed.
deleted flag implemented in grade_item::update method
added GRADE_TYPE_NONE to gradelib and updated grade_item object
Implemented multiple items (generation of itemnumber when not explicitly given)
2007-06-07 12:45:24 +00:00
skodak
13127313d3 fixed unit grade tests - missing grade types 2007-06-06 22:15:40 +00:00
nicolasconnault
210611f6ee MDL-9629 Changed grade_item.gradetype default to 1, added GRADE_TYPE_NONE constant = 0, incrementing existing constants by 1. Set up auto-generation of idnumber for grade_item if itemmodule and iteminstance are set, only a temporary stub if they are not set (must be replaced by correct generation code). New category form now has server-side validation (not using formslib) 2007-06-05 08:50:24 +00:00
nicolasconnault
bbac4ae7c5 MDL-9972 Removed the __destruct() method, which was not needed. Also fixed a few bugs that caused notices in PHP5. 2007-06-05 01:19:09 +00:00
nicolasconnault
c3096060de MDL-9506 Added ksort() of each level of categories and items for the gradebook. Unsorted arrays caused erratic behaviour when moving elements of the tree around. 2007-05-30 05:47:26 +00:00
nicolasconnault
a3d5594248 MDL-9506 Refactored grade_tree::get_tree by doing the following:
- Extracted the $fillers array into a class variable
- Extracted the addition of elements to grade_tree::fillers into a new add_fillers($array) method
- Extracted the inclusion of fillers into the tree_array to a new include_fillers($tree, $object=NULL) method
- Removed the building of the tree_filled, which was already performed by build_tree_filled()
- Removed the generation of next_sortorder and previous_sortorder attributes, which was already performed by renumber()
Result is a much leaner and scalable set of methods, and a tighter definition of responsibilities for the varying classes. I think I have also noticed a significant inprovement in speed.
2007-05-30 03:09:38 +00:00
nicolasconnault
646323549e MDL-9506 Resolved recursion issues in grade_tree:renumber and grade_tree::get_neighbour_element. Unit tests all pass now. 2007-05-29 04:07:04 +00:00
nicolasconnault
de420c11c5 MDL-9317 Applying Petr's second patch 2007-05-29 00:56:44 +00:00
nicolasconnault
c91ed4be0d MDL-9506 Category and Item now set their own courseid if not set explicitly, and if they have enough information from
other sources. category::set_as_parent has a new constraint: cannot set over children from different courses.
Applied recursion to grade_tree::renumber(), but still some fine-tuning to do, since only grade_items are getting updated in DB.
2007-05-28 08:00:19 +00:00
nicolasconnault
d990776605 MDL-9137 Applied parts of Petr's patch on the gradebook objects. Unit tests unaffected. 2007-05-28 02:05:21 +00:00
nicolasconnault
526e1a8a25 MDL-9506 Corrected a number of small errors in unit tests and classes. 2007-05-28 01:26:58 +00:00
skodak
7458bee224 MDL-9643 some more polishing 2007-05-26 12:59:13 +00:00
skodak
a9cca58ea2 MDL-9643 minor maths unit test cleanup 2007-05-25 07:07:05 +00:00
nicolasconnault
8ae28b4959 MDL-9506 WOrking on grade_tree edit tree 2007-05-25 07:02:04 +00:00
skodak
ffaa6c4abd MDL-9643 mathslib.php library, unit tests, removed e and pi constants 2007-05-25 06:50:09 +00:00
nicolasconnault
2186f72cb1 MDL-9629 Beginning the edit category page. Also added dmllib::sql_max($field) and fixed a few bugs. Grade_item should now extrapolate its sortorder upon insertion if not set, by looking up the last sortorder in the table, and incrementing by 1. 2007-05-24 08:50:01 +00:00
skodak
d46306de6a MDL-9848 eventslib improvements and cleanup 2007-05-22 10:26:29 +00:00
nicolasconnault
9c585e573c MDL-9506 Changed grade_tree fullobjects param (not fully implemented) to $include_grades param, default to false, fully implemented. Full objects are always loaded when building the tree, but grades are only loaded conditionally. 2007-05-22 09:03:33 +00:00
nicolasconnault
92a66edf7a MDL-9506 Implemented grade_tree->update_db, fixed bugs in grade_category etc... 2007-05-22 04:38:20 +00:00
nicolasconnault
adc2f286e6 MDL-9506 Extracted the code that applies droplow and keephigh rules to aggregated values, into its own little method. Unit testing this method revealed a coding error which I have rectified. 2007-05-21 08:56:44 +00:00
nicolasconnault
c227624882 MDL-9506 New grade_tree->build_tree_filled method called at the end of renumber(). Prepares object for display_grades(). 2007-05-21 07:47:41 +00:00
nicolasconnault
ab53054fd1 MDL-9506 Removed the debugging message for the fetch() methods. Added droplow and keephigh rules to grade_category::aggregate_grades(). The only question now is what to do when the droplow or keephigh field is larger than the number of grades for a given user/item combination. At the moment it just gives that value 0. 2007-05-21 05:54:12 +00:00
nicolasconnault
750b0550d9 MDL-9506 Resolved a small bug in grade_category that failed the set_as_parent method. 2007-05-21 02:22:12 +00:00
nicolasconnault
03f01edded MDL-9506 New grade_category::set_as_parent($children) method (non-static). Crucial method for adding categories over children. 4 constraints have been set up, and successfully tested in unit tests. However, the method fails when it comes to updating the children's parent fields. The test data may be missing some required fields. 2007-05-18 08:05:53 +00:00
nicolasconnault
d7f1cc4c3b MDL-9506 Fixed up the grade_tree and its unit tests. The main change to notice is in grade_category, where the array returned by get_children() is indexed by sortorder. The associated unit tests have been updated to reflect this important change. 2007-05-18 05:34:30 +00:00
nicolasconnault
a39cac258d MDL-9506 Elements of the array returned by grade_category::get_children are now indexed by sortorder, to work more easily with grade_tree methods.
New get_sortorder method for grade_category and grade_item. This is used when the type of an object is unknown, and could be either one. Because categories have a "virtual" sortorder (through their grade_item), they can transparently return one as well.
Unit tests fail for grade_tree at present because of faulty implementation which is being fixed. The $depth attribute has been completely removed, as well as a number of switch statements, in favour of an $index variable which is exploded and used to build strings of array keys for eval statements (unset and array_splice). Can't wait to get all this working :-)
2007-05-17 09:04:52 +00:00