Bug fixes and Other improvements


* **Bug fix for date-widget**

* **Bug fix for upload profile-pic in User's dashboard**

* **Run following commands in following order:**
  ```
  python manage.py sync_existing_documents
  python manage.py filldb -nc
  ```

1. **Bug fixes for Date widget**
  1. templates/ndf/announced_course_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'
    - For student's enroll duration
      - Minimum date set as current date
      - Maximum date set as two months after current date
    - For Course announcement duration
      - Minimum date set as current month & current year
      - Maximum date set as current month & five years after current year

  2. templates/ndf/event_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'

  3. templates/ndf/person_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'
    - For Date of birth
      - Minimum date set as 80 years before current year
      - Maximum date set as 14 years before current year
    - For Registration date & Passing year
      - Minimum date set as 80 years before current year
      - Maximum date set as current date

  4. templates/ndf/student_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'
    - For Date of birth
      - Minimum date set as 80 years before current year
      - Maximum date set as 14 years before current year
    - For Registration date & Passing year
      - Minimum date set as 80 years before current year
      - Maximum date set as current date

  5. templates/ndf/task_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'
    - For start time & end time duration
      - Minimum date set as current date
      - Maximum date set as 2 months after current month
    - User cannot edit start time while updating a given task, if he/she has set it during creation of the task.

  6. templates/ndf/task_list_view.html
    - Template filter added to start time & end time for displaying dates in DD/MM/YYYY

  7. templates/ndf/trainer_create_edit.html
    - Date format changed from 'MM/DD/YYY' to 'DD/MM/YYYY'
    - For Date of birth
      - Minimum date set as 80 years before current year
      - Maximum date set as 14 years before current year
    - For Registration date & Passing year
      - Minimum date set as 80 years before current year
      - Maximum date set as current date

2. **Other improvements**
  1. templates/ndf/discussion.html
    - discussion_delete_reply url updated - quotes swpaped from single to double & vice-versa

  2. templates/ndf/scheduler_calender.html
    - Parameters passing for following url modified: ```get_data_for_event_task```
      - Previously passing 'groupid' using replace() function; which is now replaced by removing replace() function and keeping 'groupid' as it is

  3. templates/ndf/uDashboard.html
    - Bug fixed of upload profile picture
      - Url modified which redirects after successfull creation/updation of image; previously accepting parameter as user group's ObjectId, now replaced with user's corresponding django User table's primary key
    - Few UI enhancements
    - Check implemented that restricts user from uploading files other than images

  4. views/file.py
    - ```uDashboard``` modified which accepts User's primary key instead of it's group's ObjectId

  5. views/ajax_views.py
    - deletion_instances() modified
      - Query modified which previously direclty accessing name from the document fetched; now accessing name only if that document exists

  6. views/methods.py
    - parse_template_data() modified
      - Parsing code added for attribute whose data-type is found as list

  7. views/mis.py
    - Passing new context variable ```node_keys``` required for list-view

  8. views/person.py
    - Passing new context variable ```node_keys``` required for list-view
    - date format-string replaced from ```%m/%d/%Y``` to ```%d/%m/%Y```

  9. templates/ndf/mis_list.html
    - Based on ```node_keys``` context variable, node's dictionary is iterated and respective values are populated in table's columns
    - tiny class added to confirm & delete buttons

  9. views/task.py
    - Using parse_template_data() function, parsing start_time & end_time fields' data coming via POST request

  11. management/commands/sync_existing_documents.py
    - Code added to replace object_type of 'has_course' relationship from 'NUSSD Course' to 'Announced Course'

  10. management/commands/filldb.py
    - Code added to rectify start_time & end_time of task nodes where in theses values are basestring & not datatime type

  11. factory_type.py
    - 'has_course' removed as we have maintained this in CSV file required for MIS setup.