Пример #1
0
def add_list(request):
    """
    Allow users to add a new todo list to the group they're in.
    """
    if request.POST:
        form = AddListForm(request.user, request.POST)
        if form.is_valid():
            try:
                form.save()
                messages.success(request, "A new list has been added.")
                return HttpResponseRedirect(request.path)
            except IntegrityError:
                messages.error(
                    request, "There was a problem saving the new list. "
                    "Most likely a list with the same name in the same group already exists."
                )
    else:
        if request.user.groups.all().count() == 1:
            form = AddListForm(request.user,
                               initial={"group": request.user.groups.all()[0]})
        else:
            form = AddListForm(request.user)

    return render_to_response('todo/add_list.html',
                              locals(),
                              context_instance=RequestContext(request))
Пример #2
0
def add_list(request):
    """
    Allow users to add a new todo list to the group they're in.
    """

    if request.POST:
        form = AddListForm(request.user, request.POST)
        if form.is_valid():
            try:
                form.save()
                request.user.message_set.create(
                    message="A new list has been added.")
                return HttpResponseRedirect(request.path)
            except IntegrityError:
                request.user.message_set.create(
                    message=
                    "There was a problem saving the new list. Most likely a list with the same name in the same group already exists."
                )

    else:
        form = AddListForm(request.user)

    return render_to_response('todo/add_list.html',
                              locals(),
                              context_instance=RequestContext(request))
Пример #3
0
def list_lists(request):
    """
    Homepage view - list of lists a user can view, and ability to add a list.
    """

    # Make sure belongs to at least one group.
    group_count = request.user.groups.all().count()
    if group_count == 0:
        request.user.message_set.create(
            message=
            "You do not yet belong to any groups. Ask your administrator to add you to one."
        )

    # Only show lists to the user that belong to groups they are members of.
    # Staff users see all lists
    if request.user.is_staff:
        list_list = List.objects.all().order_by('name')
    else:
        list_list = List.objects.filter(
            group__in=request.user.groups.all).order_by('name')

    # Count everything
    list_count = list_list.count()

    # Note admin users see all lists, so count shouldn't filter by just lists the admin belongs to
    if request.user.is_staff:
        item_count = Item.objects.filter(completed=0).count()
    else:
        item_count = Item.objects.filter(completed=0).filter(
            list__group__in=request.user.groups.all()).count()

    if request.POST:
        form = AddListForm(request.user, request.POST)
        if form.is_valid():
            try:
                form.save()
                request.user.message_set.create(
                    message="A new list has been added.")
                return HttpResponseRedirect(request.path)
            except IntegrityError:
                request.user.message_set.create(
                    message=
                    "There was a problem saving the new list. Most likely a list with the same name in the same group already exists."
                )

    else:
        form = AddListForm(request.user)

    return render_to_response('todo/list_lists.html',
                              locals(),
                              context_instance=RequestContext(request))
Пример #4
0
def dashboard():
    # should be able to select existing list or create new list
    # if a list is visited, all the tasts in that list must be listed
    # the tasks in every list can be deleted, marked as done, or renamed
    currentUser = Users.query.filter_by(
        username=session.get('username')).first()
    # listOfTasks = Lists.query.filter_by(uid=currentUser.Id).first()
    # print(currentUser.username)
    tasks = []
    if currentUser.lists and len(currentUser.lists) == 0:
        tasks = []
    else:
        tasks = currentUser.lists
    addList = AddListForm()
    if addList.validate_on_submit():
        # print(f'Type of currentUser.Id: {type(currentUser.Id)}\naddList.List = {addList.List}')
        currList = Lists(name=addList.List.data, uid=int(currentUser.Id))
        db.session.add(currList)
        db.session.commit()
        flash('A new list was added to your to-do manager!', 'success')
        return redirect(url_for('dashboard'))

    return render_template('dashboard.html',
                           title="Dashboard",
                           dashboard=True,
                           lists=tasks,
                           form=addList,
                           displayList=True,
                           displayTask=False)
Пример #5
0
def add_list(request):
    """
    Allow users to add a new todo list to the group they're in.
    """
    if request.POST:
        form = AddListForm(request.user, request.POST)
        if form.is_valid():
            try:
                form.save()
                messages.success(request, "Нова категорія додана!")
                return HttpResponseRedirect(reverse('todo-lists'))
            except IntegrityError:
                messages.error(
                    request, ":( Проблема. Категорія не збережена!"
                    "Можливо категорія з такою ж назвою вже існує?")
    else:
        if request.user.groups.all().count() == 1:
            form = AddListForm(request.user,
                               initial={"group": request.user.groups.all()[0]})
        else:
            form = AddListForm(request.user)

    return render(request, 'todo/add_list.html', locals())