Neill Magill 733c4978fc MDL-52501 assign: Fix group submissions without submission record
Based on work by Tim Lock <tim.lock@blackboard.com>

While upgrading to Moodle 2.8 or above it is possible for it to fail if
the site has multiple graded attempts for a user without an associated
submission record. This caused the upgrade to violate the databases
unique key rules.

This same issue could apply to a backup that was created of an
assignment that had this issue, when it is restored into Moodle 2.8 or
later.

This change adds the attempt number from the grade table into the query
that is inserting the new submission record (thanks to Tim). It also
moves the insert query before the latest flag is set on submission
records to ensure that only one has it, without this it is possible that
multiple submission records would be marked as the latest after an
upgrade or restore.
2017-07-06 15:23:40 +01:00
..
2017-06-01 14:54:40 +01:00

ACTIVITY MODULES
----------------

These are main modules in Moodle, allowing various activities.


Each of these modules contains a number of expected components:

  mod_form.php: a form to setup/update a module instance

  version.php: defines some meta-info and provides upgrading code

  pix/icon.gif: a 16x16 icon for the module

  db/install.xml: an SQL dump of all the required db tables and data

  index.php: a page to list all instances in a course

  view.php: a page to view a particular instance

  lib.php: any/all functions defined by the module should be in here.
         constants should be defined using MODULENAME_xxxxxx
         functions should be defined using modulename_xxxxxx

         There are a number of standard functions:

         modulename_add_instance()
         modulename_update_instance()
         modulename_delete_instance()

         modulename_user_complete()
         modulename_user_outline()

         modulename_cron()

         modulename_print_recent_activity()


If you are a developer and interested in developing new Modules see:

   Moodle Documentation:  http://moodle.org/doc
   Moodle Community:      http://moodle.org/community