Commit graph

173 commits

Author SHA1 Message Date
toyomoyo
7e3c9767db grade edit form, and adding set_locktime for grade_grades and grade_item 2007-07-12 06:42:44 +00:00
nicolasconnault
474bad4698 MDL-9628 Enabling multiple feedback and grades update. Feedbacks now working, but grades don't (at least scales don't) 2007-07-11 16:54:11 +00:00
skodak
a4820aef30 fixed notice in update_raw_grade 2007-07-11 14:53:47 +00:00
skodak
de359e3c2e fixed notice in update_final_grade 2007-07-11 14:33:09 +00:00
skodak
c86caae78a MDL-9137 new grade_grades field overridden; item edit form fixes; other minor fixes and improvements 2007-07-10 18:08:24 +00:00
skodak
d3f14e423d MDL-10364 fixed de/normalization of calculation formulas in item edit form 2007-07-08 19:24:41 +00:00
skodak
5132aa7fd5 fixed default needsupdate property 2007-07-08 18:18:32 +00:00
skodak
15b462da4b MDL-10226 fixed breakage in grade computing 2007-07-08 15:03:46 +00:00
skodak
f8e6e4dbea MDL-10226 improved regrading of final grades - optimised db access, partial regrading when raw grade updated 2007-07-08 14:57:19 +00:00
skodak
aaff71daf4 MDL-10365 Improved handling of history when inserting/updating/deleting in new grade reports;first part 2007-07-06 12:49:28 +00:00
skodak
c3146da7ac complete unit tests for grade_item + minor cleanup in insert and update 2007-07-04 17:52:43 +00:00
nicolasconnault
13b1072464 More language strings, minor edits. 2007-07-03 17:54:56 +00:00
skodak
6639ead31e complete unit tests for grade_category, minor API cleanup, fixed forced regrading in grade_category 2007-07-03 10:06:08 +00:00
skodak
739196ba10 MDL-10224 fixing some more regressions in grade reports; adding proper CSS; more fixes and improvements 2007-07-01 19:45:13 +00:00
skodak
f13002d53e MDL-9629 fixed regressions in grade reports caused by my previous commits, added unfinished forms for category and item edit 2007-06-30 21:12:47 +00:00
skodak
314c433698 MDL-10224 some more improvements in grader report related to total course grade and category grade + other bugfixes 2007-06-28 22:55:46 +00:00
skodak
82bf496e9c MDL-10224 finishing the commit, grrr 2007-06-28 19:18: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
nicolasconnault
97d608ba05 Changed grade_item so that its grademax is count(scale_items) and grademin is 1, to be consistent with use of scales throughout Moodle. 2007-06-26 08:50:22 +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
79f2b1ef1c fixed locking problem in update_raw_grade() 2007-06-25 08:30:03 +00:00
skodak
c4e4068fa2 moving event trigger from update_grade() to grade_item->update_raw_grade(); removing itemnumber generation for now 2007-06-25 07:56:25 +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
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
c2a897b044 MDL-9137 removing obsoleted function, finals now processed only by update_final_grade() 2007-06-18 20:14:16 +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
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
75e1038756 fixing uninitilaized scale problems in last commit 2007-06-06 19:16:37 +00:00
skodak
612607bd47 MDL-9516 new central grading function update_grade(); to be improved/tested more tomorrow 2007-06-05 22:58:37 +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
ec4560cc58 MDL-9137 Removed hidden field from grade_categories and added deleted field to grade_items. Also added 2 images in pix/i 2007-06-01 04:46:24 +00:00
nicolasconnault
5fad506139 MDL-9629 Category edit page now implements delete, show/hide, lock/unlock, moveup/movedown and move actions. The edit icon is also shown but not yet implemented. 2007-06-01 04:02:37 +00:00
nicolasconnault
88e794d6c8 MDL-9628 Move work on the category edit page 2007-05-31 08:57:05 +00:00
nicolasconnault
0fc7f62445 MDL-9506 MDL-9137 MDL-9629
Added a number of small getters and setters to grade_item and grade_category, to hide the structural differences between the two, and provide a common interface for cases when we are not sure whether an $object is of one type or another.
The grade_tree::renumber() method now adds complete objects to the need_update array, because both grade_category and grade_item need to update their parent field when moved to a different parent. Amazingly, these important changes worked straight away (after 1 hour of coding without testing anything), and all the unit tests passed!
2007-05-31 03:15:43 +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
526e1a8a25 MDL-9506 Corrected a number of small errors in unit tests and classes. 2007-05-28 01:26:58 +00:00
nicolasconnault
8ae28b4959 MDL-9506 WOrking on grade_tree edit tree 2007-05-25 07:02:04 +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
nicolasconnault
5e2274737c MDL-9506 Added grademax extrapolation from scale info for grade_item, in insert() and update() methods. Corrected a few other minor bugs. 2007-05-24 03:32:20 +00:00
nicolasconnault
a15428a2f6 MDL-9889 Fixed a couple of bugs that were only detected by PHP5. Nothing major at all. 2007-05-24 02:08:20 +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
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
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
nicolasconnault
dda0c7e666 MDL-9506 Added some unit tests, found some errors, and realised they came from incorrect setup unit test data, which I corrected (grade finals for item 3 were set to 2-digit ints although item 3 was a scale of 1-7. 2007-05-14 08:18:03 +00:00
nicolasconnault
096858ffcf MDL-9506 Finally cracked the category aggregation. However, more thorough unit tests need to be written, with exact expectations instead of ranges, as currently used. All unit tests pass. 2007-05-14 04:14:22 +00:00
nicolasconnault
2df712352d MDL-9506 Almost completed category aggregation, including generation of raw and final grades held by these categories. Only a few small glitches remain, that cause these grades not to be generated properly. This is the last critical element of the gradebook API, so I'm looking forward to finishing it :-) 2007-05-11 08:46:34 +00:00