MIS Updates: 'Announced Course' Registration Implementation


**Functionalities implemented:**

**1) Schema Files updated**

   - STs.csv
   
     - New GSystemType added with following specifications
     
       - name: Announced Course
       - attribute_type_set: nussd_course_type, start_time, end_time
       - relation_type_set: announced_for
       
     - collection_set field updated for "Steering Committee Member" (Used for implementation as Admin-view)
     
       - Now includes "Course" and under that "NUSSD Course" & "Announced Course"

   - ATs.csv
   
     - 'Announced Course' (ObjectId) appended to subject_type field of following AttributeTypes:
     
       - nussd_course_type
       - start_time
       - end_time
       
   - RTs.csv
   
     - New RelationType created with following specifications:
     
       - subject_type: ["Announced Course" (ObjectId)]
       - name: announced_for
       - altnames: Announced Course;Course
       - inverse_name: announced_as
       - object_type: ["NUSSD Course" (ObjectId)]
       - object_cardinality: 1 # Used while setting multiple property for select html element
       
     - object_type field updated for following RelationTypes:
     
       - selected_course (Student): From "NUSSD Course" to "Announced Course"
       - trainer_of_course (Voulntary Teacher): From "NUSSD Course" to "Announced Course"
       
**2) Templates & Views created/updated**

   - Following new templates created (Very basic view implemented... more work needs to be done): 
   
     1) templates/ndf/announced_course_create_edit.html
        
     2) templates/ndf/nussd_course_create_edit.html

     3) templates/ndf/course_details.html [Under construction]

     4) templates/ndf/course_list.html [Under construction]

   - Following views updated:
   
     1) views/course.py
     
        - New function defined course_create_edit()
        
          - Code added only for displaying widgets; and for saving part not implemented yet!
          
     2) views/mis.py
     
        - import added for including course-view details
          
**3) factory_types updated**

   - File modified:
   
     1) factory_types.py
     
        - start_time & end_time: data_type value changed from 'DATA_TYPE_CHOICES[9]' to 'datetime.datetime'          

**4) Script (management/commands/create_schema.py) updated**

   - Skip overriding start_time and end_time attribute-type's subject_type field as it already has value set by filldb.py.
   
   - If new values found, append those values.