I am sending patch here, I think, I don't have permissions to add label, so i am sending patch.txt file through attachment. Please promote this patch. If possible I will be giving github pull url.
HOW TO TEST.
0) your moodle version must be moodle2.2+
1) merge this patch in your moodle
2) upgrade your moodle
3) create a course and provide a assignment(any type) by setting up timedue and preventlate.
4) login as teacher or admin.
5) click on assignment to view it, that will display assignment. If you are logged in as teacher, then will get a link below and right of assignment dates. click on that, main extensions window will be displayed, containing all student in the course who are have permission to submit assignment.
5) give extension to the student, on using various options like "Quickextend" or "extend". You can give multiple extension at a time by selecting "Quickextend" option. Also provided comment text box helps to give feedback to the student who has given extension, when they view assignment.
6) Option like final are really helpful for not to give extension to student many times.
7) After providing extension, login as a student, view the assignment, you will get all extension details like how much extension given and time due of assignment including extension. The upload link will be available until the extension date of that student.
8) login as another student who haven't given extension, view assignment, will display original assignment dates and link will be available as per timedue of assignment.
1) When teacher opens the grading window, the student who had given extension will be displayed in faint red color along with the extension time and submission time. This will be helpful for teacher while grading student.
2) Another hack is that when teacher is in single user grading window, there also he/she can view extension time, and submission time.
1) filters are provided like extended, require extension, per page extensions to show etc.
2) save, saveandnext, next, cancel buttons are provided.
3) for open assignment means not set preventlate and time, no require extension facility is provided.
1) handling groups in the course.
2) giving extension to the group.
PLEASE PROMOTE THIS PATCH, THIS WILL BE MINIMAL VERSION OF EXTENSION TO COURSE ACTIVITY, WE WILL BE PLANING TO DO OTHER TASKS LIKE EXTENSION TO QUIZ AND LESSON MODULE.