summaryrefslogtreecommitdiff
path: root/taskapp/views
diff options
context:
space:
mode:
Diffstat (limited to 'taskapp/views')
-rw-r--r--taskapp/views/tasks.py52
-rw-r--r--taskapp/views/users.py40
2 files changed, 92 insertions, 0 deletions
diff --git a/taskapp/views/tasks.py b/taskapp/views/tasks.py
index e69de29..a8fec95 100644
--- a/taskapp/views/tasks.py
+++ b/taskapp/views/tasks.py
@@ -0,0 +1,52 @@
+from datetime import datetime
+
+from django.http import HttpResponse
+from django.shortcuts import render_to_response, redirect
+from pytask.taskapp.models import Task, Comment
+
+def browse_tasks(request):
+ """ display all the tasks """
+
+ user = request.user
+ task_list = Task.objects.order_by('id').reverse()
+
+ context = {'user':user,
+ 'task_list':task_list,
+ }
+ return render_to_response('task/browse.html', context)
+
+def view_task(request, tid):
+ """ get the task depending on its tid and display accordingly if it is a get.
+ check for authentication and add a comment if it is a post request.
+ """
+
+ task_url = "/task/view/tid=%s"%tid
+
+ user = request.user
+ task = Task.objects.get(id=tid)
+ comments = Comment.objects.filter(task=task)
+ errors = []
+
+ is_guest = True if not user.is_authenticated() else False
+ is_mentor = True if user in task.mentors.all() else False
+
+ context = {'user':user,
+ 'task':task,
+ 'comments':comments,
+ 'is_guest':is_guest,
+ 'is_mentor':is_mentor,
+ 'errors':errors,
+ }
+
+ if request.method == 'POST':
+ if not is_guest:
+ data = request.POST["data"]
+ task = Task.objects.get(id=tid)
+ new_comment = Comment(task=task, data=data, created_by=user, creation_datetime=datetime.now())
+ new_comment.save()
+ return redirect(task_url)
+ else:
+ errors.append("You must be logged in to post a comment")
+ return render_to_response('task/view.html', context)
+ else:
+ return render_to_response('task/view.html', context)
diff --git a/taskapp/views/users.py b/taskapp/views/users.py
index 8b13789..d99adfb 100644
--- a/taskapp/views/users.py
+++ b/taskapp/views/users.py
@@ -1 +1,41 @@
+from django.http import HttpResponse
+from django.shortcuts import redirect, render_to_response
+from pytask.taskapp.models import Task
+
+def redirect_to_homepage(request):
+ """ simply redirect to homepage """
+
+ return redirect('/')
+
+def homepage(request):
+ """ check for authentication and display accordingly. """
+
+ user = request.user
+ is_guest = False
+ is_mentor = False
+ can_create_task = False
+ task_list = []
+
+ if not user.is_authenticated():
+ is_guest = True
+ disp_num = 10
+ tasks_count = Task.objects.count()
+ if tasks_count <= disp_num:
+ task_list = Task.objects.order_by('id').reverse()
+ else:
+ task_list = Task.objects.order_by('id').reverse()[:10]
+ else:
+ user_profile = user.get_profile()
+ is_mentor = True if user.task_mentors.all() else False
+ can_create_task = False if user_profile.rights == u"CT" else True
+
+ context = {'user':user,
+ 'is_guest':is_guest,
+ 'is_mentor':is_mentor,
+ 'task_list':task_list,
+ 'can_create_task':can_create_task,
+ }
+
+ return render_to_response('index.html', context)
+