+/**
+
+Proposed patch by Patrick.pollet@insa-lyon.fr for moodle 1.95 as per MDL-8307
+
+-added a drop down of current categories with the config default category selected
+
+-added a  field for course idnumber
+
+this required adding to mdl_course_request table :
+
+category  	int(11)   	Non   	0    	Pp categorie ou inserer le cours  
+idnumber 	varchar(64) 	Oui  	NULL  	PP code ECTS
+




Index: request_form.php
===================================================================
--- request_form.php    (révision 185)
+++ request_form.php    (copie de travail)
@@ -38,7 +38,7 @@
  */
 class course_request_form extends moodleform {
     function definition() {
-        global $USER;
+        global $USER,$CFG;

         $mform =& $this->_form;

@@ -53,7 +53,17 @@
         }

         $mform->addElement('header','coursedetails', get_string('courserequestdetails'));
+//PP ajout liste déroulante catégories
+        $displaylist = array();
+        $parentlist = array();
+        make_categories_list($displaylist, $parentlist, 'moodle/course:create');
+        $mform->addElement('select', 'category', get_string('category'), $displaylist);
+        $mform->setHelpButton('category', array('coursecategory', get_string('category')));
+        $mform->setDefault('category', $CFG->defaultrequestcategory);
+        $mform->setType('category', PARAM_INT);
+//end PP

+
         $mform->addElement('text', 'fullname', get_string('fullname'), 'maxlength="254" size="50"');
         $mform->setHelpButton('fullname', array('coursefullname', get_string('fullname')), true);
         $mform->addRule('fullname', get_string('missingfullname'), 'required', null, 'client');
@@ -63,6 +73,12 @@
         $mform->setHelpButton('shortname', array('courseshortname', get_string('shortname')), true);
         $mform->addRule('shortname', get_string('missingshortname'), 'required', null, 'client');
         $mform->setType('shortname', PARAM_MULTILANG);
+//PP N° INSA
+          $mform->addElement('text','idnumber', get_string('idnumbercourse'),'maxlength="100"  size="10"');
+        $mform->setHelpButton('idnumber', array('courseidnumber', get_string('idnumbercourse')), true);
+         $mform->addRule('idnumber', get_string('missingidnumber'), 'required', null, 'client');
+        $mform->setType('idnumber', PARAM_RAW);
+//end PP

         $mform->addElement('htmleditor', 'summary', get_string('summary'), array('rows'=>'15', 'cols'=>'50'));
         $mform->setHelpButton('summary', array('text', get_string('helptext')), true);
Index: pending.php
===================================================================
--- pending.php (révision 185)
+++ pending.php (copie de travail)
@@ -64,7 +64,27 @@
         }

     /// Build up a course record based on the request.
-        $course->category = $CFG->defaultrequestcategory;
+    // PP recup de la catégorie choisie
+        // $course->category =$CFG->defaultrequestcategory;
+        if (empty($course->category) or !record_exists('course_categories', 'id', $course->category)) {
+        /// default to first top level directory, hacky but means things don't break
+            $course->category =$CFG->defaultrequestcategory;
+        }
+
+        // ajout defaut de la conf globale
+        $courseconfig = get_config('moodlecourse');
+        $course->format=$courseconfig->format;
+        $course->numsections=$courseconfig->numsections;
+        $course->hiddensections=$courseconfig->hiddensections;
+        $course->newsitems=$courseconfig->newsitems;
+        $course->showgrades= $courseconfig->showgrades;
+
+        $course->showreports=$courseconfig->showreports;
+
+        $course->maxbytes=$courseconfig->maxbytes;
+
+    // end PP
+
         $course->sortorder = get_field_sql("SELECT min(sortorder)-1 FROM {$CFG->prefix}course WHERE category=$course->category");
         if (empty($course->sortorder)) {
             $course->sortorder = 1000;
@@ -126,7 +146,7 @@
     /// Standard form processing if statement.
         if ($rejectform->is_cancelled()){
             redirect($baseurl);
-
+
         } else if ($data = $rejectform->get_data()) {
         /// Send an email to the requester.
             $user = get_record('user', 'id', $course->requester);

