gnowledge/gstudio — pull request #920 by AvadootNachankar (2014-11-20 14:49:03+00:00)
Title: Task API added in Course Announcement & Group dashboard implementation (Initial phase)

**Task API added in Course Announcement & other improvements**
**Group dashboard implementation (Initial phase)**

1. management/commands/filldb.py
- Code added to set email_id field of Author class from django User's instance

2. views/home.py
- Code added to assign email-id to email field of Author node

3. management/commands/mis_college_group.py
- **link-login-ac** option added: Links Author GSystem node with Respecive Person's Sub-type GSystem node via ```has_login``` relationship

4. management/commands/sync_existing_documents.py
- Code added to update object_value of GAttribute(s) of "Assignee" AttributeType whose data-type is not list/Array

5. views/person.py
- Code added to link GSystem Node and Author node via "has_login" relationship
- Performing json.loads() on given value only when json parsed value is found, check implemented.

6. views/methods.py
- **create_task()** function added that could be used in other modules for task creation.
- This function accepts two parameters of which second is optional
- First parameter: 'task_dict'
- As name suggests it's a dictionary that should have following key value pairs: name, group_set, created_by, modified_by, contributors, content_org, created_by_name, Status, Priority, start_time, end_time, Assignee
- Second parameter: 'task_type_creation'
- It should be assigned one of the following values: "single" (Default), "multiple", "group"
- single: Single task Single Assignee
- multiple: Single task Multiple Assignee
- group: Task each for Multiple Assignee(s)

7. views/course.py
- Task API implemented to create task for Course announcement in respective college(s)
- Few places datetime string-format modified
- Explicit dictionary for finding Program Officer removed; instead making use of **officer_incharge_of** relationship for fetching Program Officer's

8. views/task.py
- Passing None as value for attributes instead of " -- "
- If condition modified: Now considers datetime object for comparison instead of string value

9. templates/ndf/task_list_view.html
- Task's list view updated: Filters added to display Assignees, start_time, nd end_time

10. urls/user.py
- ```group_dashboard``` url added for displaying group dashboard

11. views/userDashboard.py
- ```group_dashboard()``` added that will hold code for displaying necessities required for a group's dashboard.
- TODO: More functionality needs to be added

12. templates/ndf/base.html
- Url modified to ```group_dashboard``` of groups listed in left-top corner dropdown on App-bar
- Leftmost ```DASHBOARD``` text replaced with **group's name** in which user is currently inn