Пример #1
0
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})
Пример #2
0
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})
Пример #3
0
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})
Пример #4
0
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})