skodak
eacd3700f4
aggregation improvements; fixed aggregation of course category when changing type; old gradebook upgrade wip (untested)
2007-07-21 10:09:57 +00:00
skodak
c186c7b2cb
MDL-10524 minor simplification of median aggregation + fixed aggregation names in lang
2007-07-20 13:54:58 +00:00
nicolasconnault
d5f0aa0196
MDL-9628 Fixed typos and added language strings. Corrected a bug that prevented a decimalpoints of 0 from being used (empty($decimalpoints)) -> is_null
2007-07-20 07:31:13 +00:00
skodak
3ee5c20149
MDL-10525 renaming class grade_grades and grade_grades_text - singulars for all grade class names
2007-07-19 08:15:19 +00:00
skodak
ba74762bda
regular whitespace cleanup in grade code
2007-07-18 19:56:07 +00:00
skodak
9580a21f1c
MDL-9137 added new aggregation needed for upgrade - weighted + extra credit
...
minor item edit form cleanup
fixed minor bug in grader/lib.php
2007-07-18 19:29:32 +00:00
skodak
2a8c101f69
MDL-10065 move lib/simpletest/grade/simpletest elsewhere
...
+ fixed categroy locking unittest and minor problem with return value
2007-07-17 14:25:20 +00:00
skodak
b121b54432
one more category locking fix
2007-07-13 09:12:23 +00:00
skodak
7a7a53d32a
updated category locking to work the same as hiding - locking of category now locks all children too
2007-07-13 09:05:36 +00:00
skodak
938e00b6cb
grade_tree minor cleanup - grades not included anymore; fixed categroy item position in grader report
2007-07-13 08:59:46 +00:00
skodak
79eabc2ab2
major grade editing fixes and improvements - grader form now knows if grade is editable; fixed broken quickgrading; feedback format is handled the same way as in the rest of moodle - automatically converted to FORMAT_HTML when editor enabled; fixed calculation of grades that was breaking locking
2007-07-12 22:31:20 +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
d5fab31f08
grade category edit form improved, fixed aggregation
2007-07-08 21:37:55 +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
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
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
a9f16da37d
fixed grade tree sortorder generation
2007-06-28 20:04:19 +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
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
95affb8a35
MDL-9137 readding GRADE_AGGREGATE_MODE
2007-06-18 15:29:20 +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
4a490db004
MDL-9506 MDL-9629 Added code to grade_category::delete so that its children have their categoryid/parent field updated. However, the query used sets the fields to an empty string instead of a null value. The unit test for grade_categories fails.
2007-06-16 21:20:57 +00:00
skodak
9b7e5a3772
MDL-10103 grade_object:insert() now fetches the fresh data from db and updates itself; update_from_db() now uses the same process as new grade_object() for consistency
2007-06-12 20:16:49 +00:00
skodak
9f9afbdbab
MDL-10078 unit tests for grade category failing on set_as_parent()
2007-06-10 21:17:42 +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
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
ffa6e8d3c0
MDL-9629 Category edit page now supports creation of a new category for selected items or categories.
2007-06-05 00:39:01 +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
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
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
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
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
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
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