def month(request): perm = {} perm['add_event'] = request.user.has_perm('cal.add_event') perm['add_task'] = request.user.has_perm('cal.add_task') user = request.user now = datetime.now() year = request.GET.get('y') month = request.GET.get('m') if year is None or month is None: year = now.year month = now.month events = Event.objects.order_by('start').all() tasks = Task.objects.order_by('start').all() foci = Event.FOCUS_CHOICES fociDict = {uni(focus[0]):uni(focus[1]) for focus in foci} foci = [uni(focus[0]) for focus in foci] return render_to_response('cal/cal.html', {"perm":perm,'events': events,'tasks': tasks,'foci':foci,'fociDict':fociDict,'year': year,'month':month,"user":user})
def gantt(request,slug): perm = {} perm['add_event'] = request.user.has_perm('cal.add_event') perm['add_task'] = request.user.has_perm('cal.add_task') perm['add_cross_cutting_area'] = request.user.has_perm('cal.add_cross_cutting_area') perm['add_theme'] = request.user.has_perm('cal.add_theme') is_cross_cutting = False is_theme = False authUser = request.user metaEvent = get_object_or_404(Event,slug=slug) tasks = Task.objects.filter( event=metaEvent ).order_by('order') assignees = Assignee.objects.all() assigneeDict = {"pk_"+str(assignee.id):{"id":"pk_"+str(assignee.id),"resourceId":"pk_"+str(assignee.resource.id),"roleId":"pk_"+str(assignee.role.id),"effort":assignee.effort} for assignee in assignees} roles = Role.objects.all() roleDict = [{"name":uni(role.name),"id":"pk_"+str(role.id)} for role in roles] users = User.objects.all() resources = [{"name":uni(user.first_name+" "+user.last_name),"id":"pk_"+str(user.id)} for user in users] return render_to_response('cal/gantt.html',{"perm":perm,'is_cross_cutting':is_cross_cutting,'is_theme':is_theme,'event':metaEvent,'tasks':serializers.serialize('json',tasks),'assignees':json.dumps(assigneeDict),'roles':json.dumps(roleDict),'resources':json.dumps(resources),"user":authUser})
def theme_gantt(request,slug): perm = {} perm['add_event'] = request.user.has_perm('cal.add_event') perm['add_task'] = request.user.has_perm('cal.add_task') perm['add_cross_cutting_area'] = request.user.has_perm('cal.add_cross_cutting_area') perm['add_theme'] = request.user.has_perm('cal.add_theme') is_cross_cutting = False is_theme = True authUser = request.user theme = get_object_or_404(Theme,slug=slug) metaTasks = theme.events.order_by('start').all() assignees = User.objects.all() assigneeDict = {"pk_"+str(assignee.id):{"id":"pk_"+str(assignee.id),"resourceId":"pk_"+str(assignee.id),"roleId":"pk_1","effort":0} for assignee in assignees} roleDict = [{"name":"Attendee","id":"pk_1"}] users = User.objects.all() resources = [{"name":uni(user.first_name+" "+user.last_name),"id":"pk_"+str(user.id)} for user in users] return render_to_response('cal/gantt.html',{"perm":perm,'is_cross_cutting':is_cross_cutting,'is_theme':is_theme,'event':theme,'tasks':serializers.serialize('json',metaTasks),'assignees':json.dumps(assigneeDict),'roles':json.dumps(roleDict),'resources':json.dumps(resources),"user":authUser})
def cross_cutting_gantt(request,slug): perm = {} perm['add_event'] = request.user.has_perm('cal.add_event') perm['add_task'] = request.user.has_perm('cal.add_task') perm['add_cross_cutting_area'] = request.user.has_perm('cal.add_cross_cutting_area') perm['add_theme'] = request.user.has_perm('cal.add_theme') is_cross_cutting = True is_theme = False authUser = request.user cross_cutting_area = get_object_or_404(CrossCuttingArea,slug=slug) metaTasks = cross_cutting_area.events.order_by('start').all() # for event in process.events.all(): # tasks = event.tasks.order_by('order') # metaTasks.append(tasks) # metaTasks = [item for sublist in metaTasks for item in sublist] assignees = User.objects.all() assigneeDict = {"pk_"+str(assignee.id):{"id":"pk_"+str(assignee.id),"resourceId":"pk_"+str(assignee.id),"roleId":"pk_1","effort":0} for assignee in assignees} roleDict = [{"name":"Attendee","id":"pk_1"}] users = User.objects.all() resources = [{"name":uni(user.first_name+" "+user.last_name),"id":"pk_"+str(user.id)} for user in users] return render_to_response('cal/gantt.html',{"perm":perm,'is_cross_cutting':is_cross_cutting,'is_theme':is_theme,'event':cross_cutting_area,'tasks':serializers.serialize('json',metaTasks),'assignees':json.dumps(assigneeDict),'roles':json.dumps(roleDict),'resources':json.dumps(resources),"user":authUser})