Esempio n. 1
0
def index(request):

    # See http://stackoverflow.com/questions/2406537/django-formsets-make-first-required/4951032#4951032
    class RequiredFormSet(BaseFormSet):
        def __init__(self, *args, **kwargs):
            super(RequiredFormSet, self).__init__(*args, **kwargs)
            for form in self.forms:
                form.empty_permitted = False

                # si se fija aca le puse extra 3 para que me pinte 3 formularios de tareas al mismo tiempo
                # si se lo quito pues pone solo uno prueben

    TodoArticuloFormSet = formset_factory(TodoArticuloForm, extra=3, max_num=10, formset=RequiredFormSet)

    if request.method == "POST":

        todo_form = TodoForm(request.POST)
        todo_articulo_formset = TodoArticuloFormSet(request.POST, request.FILES)

        if todo_form.is_valid() and todo_articulo_formset.is_valid():
            todo_lista = todo_form.save()
            for form in todo_articulo_formset.forms:
                todo_item = form.save(commit=False)
                todo_item.fktodo = todo_lista
                todo_item.save()

            return HttpResponseRedirect("/")
    else:
        todo_form = TodoForm()
        todo_articulo_formset = TodoArticuloFormSet()

    todo = Todo.objects.all().order_by("id")  # Select * from Todo ;
    return render_to_response("index.html", locals(), RequestContext(request))
Esempio n. 2
0
def todo_edit(request, pk):
    if request.method == 'GET':
        todo = get_object_or_404(Todo, pk=pk)
        url = reverse('todo_edit', args=(todo.id,))
        initial_data = {'id': todo.id,
                        'name': todo.name,
                        'notes': todo.notes,
                        'is_completed': todo.is_completed,
                        'due_date': todo.due_date}
        form = TodoForm(initial=initial_data)
        context = {'form': form, 'submit_url': url}
        return render(request,
                      'todo/todo_new.html',
                      context)
    elif request.method == 'POST':
        form = TodoForm(request.POST)
        todo = get_object_or_404(Todo, pk=pk)
        url = reverse('todo_edit', args=(todo.id,))
        if form.is_valid():
            data = form.cleaned_data
            todo.name = data['name']
            todo.is_completed = data['is_completed']
            todo.notes = data['notes']
            todo.due_date = data['due_date']
            todo.save()
            messages.add_message(request, messages.INFO,
                                 'Successfully updated todo')
            context = {'todo': todo}
            return redirect('todo_detail', todo.id)
        else:
            context = {'form': form,
                       'submit_url': url}
            return render(request,
                          'todo/todo_new.html',
                          context)
Esempio n. 3
0
def todo_new(request):
    url = reverse('todo_new')
    if request.method == 'GET':
        form = TodoForm()
        context = {'form': form, 'url': url}
        return render(request, 'todo/todo_new.html',
                      context)
    elif request.method == 'POST':
        form = TodoForm(request.POST)
        if form.is_valid():
            messages.add_message(request, messages.INFO,
                                 'Successfully created todo')
            data = form.cleaned_data
            if data['due_date']:
                todo = Todo.objects.create(
                    name=data['name'],
                    is_completed=data['is_completed'],
                    due_date=data['due_date'],
                    notes=data['notes'],
                    user=request.user)
            else:
                todo = Todo.objects.create(
                    name=data['name'],
                    is_completed=data['is_completed'],
                    notes=data['notes'],
                    user=request.user)
            context = {'todo': todo}
            return render(request,
                          'todo/todo_detail.html',
                          context)
        else:
            context = {'form': form, 'url': url}
            return render(request,
                          'todo/todo_new.html',
                          context)
Esempio n. 4
0
def add(request):
    form = TodoForm(request.POST or None)
    if form.is_valid():
        form.save()
        return http.HttpResponseRedirect(reverse('todo.list'))
    
    return render_to_response('add.html', {'form':form},
                              context_instance=RequestContext(request))
Esempio n. 5
0
def edit(request, pk):
    instance = get_object_or_404(Todo, pk=pk)
    form = TodoForm(request.POST or None, instance=instance)
    if form.is_valid():
        form.save()
        return http.HttpResponseRedirect(reverse('todo.list'))
    
    return render_to_response('edit.html', {'form':form},
                              context_instance=RequestContext(request))
Esempio n. 6
0
def new_todo(request):
    if not request.method == 'POST':
        return redirect('home')
    todo_form = TodoForm(request.POST)
    if todo_form.is_valid():
        todo_form.save()
        messages.add_message(request, messages.SUCCESS,
                             'Item has been added.')
    else:
        messages.add_message(request, messages.ERROR,
                             'You need to enter a name.')
    return redirect('home')
Esempio n. 7
0
def create_todo(request):
    args = {}
    args.update(csrf(request))
    args['user'] = request.user
    if request.method == 'POST':
        form = TodoForm(request.POST)
        if form.is_valid():
            todo = form.save(commit=False)
            todo.user = request.user
            todo.save()
            return HttpResponseRedirect('/todo/all')
    else:
        form = TodoForm()
    args['form'] = form
    return render_to_response('create_todo.html', args)
Esempio n. 8
0
def addItem(request):
    t = Todo()
    t.text = request.POST.get('todo_text', '')
    t.save()
    
    if request.method == 'POST':
        form = TodoForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/')
        #Item.objects.create(text=request.POST['item_text'])
        #return redirect('/')

    else:
        return render(request, 'todo/create.html', {'form': form})
Esempio n. 9
0
def ManageAddView(request, username=''):

    user = User.objects.get(username=username)
    form = TodoForm(request.POST or None)
    if form.is_valid():
        thisTodo = form.cleaned_data['todo']
        thisPriority = form.cleaned_data['priority']
        thisUser = User.objects.get(username=username)

        todo = Todo(user=thisUser, todo=thisTodo, priority=thisPriority, status=1)
        todo.save()

        return HttpResponseRedirect(URL_TODO_MANAGE(user.username))

    return HttpResponseRedirect(URL_TODO_MANAGE(user.username))
Esempio n. 10
0
def ManageUpdateView(request, username='', todoid=''):
 
    todo = Todo.objects.get(id=todoid)
    user = User.objects.get(username=username)

    form = TodoForm(request.POST or None)


    if form.is_valid():
        todo.todo = form.cleaned_data['todo']
        todo.priority = form.cleaned_data['priority']
        todo.save()
        return HttpResponseRedirect(URL_TODO_MANAGE(user.username))
    else:
        template_name = 'todo/manager_update.html'
        template_value = {'form': form, 'todo': todo, 'user': user}
        return render_to_response(template_name, template_value, context_instance=RequestContext(request))
Esempio n. 11
0
def addTodo(request):
    if request.method == "POST":
        form = TodoForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()

        messages.success(request, ('New Task Added!'))
        return redirect('addTodo')
    else:
        form = TodoForm()
        all_tasks = TodoList.objects.all()
        # define paginator on object all_tasks
        paginator = Paginator(all_tasks, 5)
        page = request.GET.get('pg')
        # Gets page with page no in page and retrieves all contents in that page.
        all_tasks = paginator.get_page(page)

        return render(request, 'todo.html', {
            'all_tasks': all_tasks,
            'form': form,
            'now1': datetime.now()
        })
Esempio n. 12
0
def todo(request, todo_pk):
    todo = get_object_or_404(Todo, pk=todo_pk, user=request.user)
    if request.method == 'GET':
        form = TodoForm(instance=todo)
        return render(request, 'todo/viewtodo.html', {
            'todo': todo,
            'form': form
        })
    else:
        form = TodoForm(request.POST, instance=todo)
        try:
            form.save()
            return redirect('currenttodos')
        except ValueError:
            return render(request, 'todo/viewtodo.html', {
                'todo': todo,
                'form': form,
                'error': 'Bad data passed in'
            })
Esempio n. 13
0
def tododetail(request, todo_pk):
    todo = get_object_or_404(Todo, pk=todo_pk, user=request.user)
    if request.method == 'GET':
        form = TodoForm(instance=todo)
        return render(request, 'todo/tododetail.html', {
            'todo': todo,
            'form': form
        })
    else:
        try:
            form = TodoForm(request.POST, instance=todo)
            form.save()
            return redirect('usertodos')
        except ValueError:
            error = 'Bad data passed in.'
            return render(request, 'todo/tododetail.html', {
                'todo': todo(),
                'form': form,
                'error': error
            })
Esempio n. 14
0
def viewtodo(request, todo_pk):
    if request.user.is_superuser:
        todo_object = get_object_or_404(Todo, pk=todo_pk)
    else:
        todo_object = get_object_or_404(Todo, pk=todo_pk, user=request.user)
    if request.method == 'GET':
        form = TodoForm(instance=todo_object)
        return render(request, 'todo/viewtodo.html', {
            'todo': todo_object,
            'form': form
        })
    elif request.method == 'POST':
        try:
            form = TodoForm(request.POST, instance=todo_object)
            form.save()
            return redirect('currenttodos')
        except ValueError:
            return render(request, 'todo/viewtodo.html', {
                'todo': todo_object,
                'form': form,
                'error': 'Bad info.'
            })
Esempio n. 15
0
def todo_change(request, pk):
    try:
        todo = Todo.objects.get(pk=pk)
    except Todo.DoesNotExist:
        return HttpResponse('Todo #{} does not exist'.format(pk))
    if request.method == 'POST':
        form = TodoForm(request.POST, request.FILES)
        if form.is_valid():
            new_todo = form.save(commit=False)
            todo.swap_content(new_todo)
            return redirect('todo_detail', pk=todo.pk)
    initial = {
        'title': todo.title,
        'content': todo.content,
        'expiration': todo.expiration,
        'priority': Todo.CHOICES[todo.priority-1],
    }
    form = TodoForm(initial=initial)
    context = {
        'form': form,
    }
    return render(request, 'todo/todo_change.html', context)
Esempio n. 16
0
def todoadd(request):
    todoform = TodoForm(request.POST or None)
    if todoform.is_valid():
        todoform.save()
        return redirect('todolist')
    return render(request, 'todoadd.html', {'form': todoform})
Esempio n. 17
0
    def post(self, request):
        form = TodoForm(data=request.POST)
        if form.is_valid():
            form.save()

        return HttpResponseRedirect(reverse(viewname='add'))
Esempio n. 18
0
 def test_todo_form_requires_user(self):
     """Todo forms require a user to be assigned."""
     data = {'description': 'A Description'}
     form = TodoForm(data=data)
     self.assertRaises(IntegrityError, lambda: form.save())
Esempio n. 19
0
 def _post(self, request):
     form = TodoForm(request.POST, instance=Todo())
     if form.is_valid():
         # get data from form
         # form.cleaned_data.get('title')
         form.save()
Esempio n. 20
0
def index(request):
    """Return a list of current todo tasks with a form for adding a new todo"""
    todo_list = Todo.objects.filter(done=False)
    form = TodoForm()
    context = {'form': form, 'todo_list': todo_list}
    return render(request, 'todo/todo_list.html', context)
Esempio n. 21
0
 def test_form_invalid(self):
     todo = TodoForm()
     self.assertEqual(todo.is_valid(),False)
Esempio n. 22
0
def dailyChallenge(request):
    #    user = User.ForeignKey(User,  on_delete=models.CASCADE)
    todo_list = Todo.objects.order_by('lastdate')
    form = TodoForm()
    context = {'todo_list': todo_list, 'form': form}
    return render(request, 'cd_daily.html', context)
Esempio n. 23
0
    def test_form_without_text_is_not_valid(self):
        form = TodoForm(data={})

        self.assertFalse(form.is_valid())
        self.assertTrue(form.errors)
        self.assertEqual(len(form.errors), 1)
Esempio n. 24
0
 def test_form_label(self):
     form = TodoForm()
     self.assertTrue(form.fields['text'].label == '')
Esempio n. 25
0
 def _update(self, data):
     todo = Todo.get_todos(data.get('id'))
     data.update({'completed': json.loads(data.get('completed'))})
     form = TodoForm(data, instance=todo)
     if form.is_valid():
         form.save()
Esempio n. 26
0
 def test_valid_todo_form(self):
     data = self.todo
     form = TodoForm(data=data)
Esempio n. 27
0
def Create(request):
    form = TodoForm(request.POST)
    form.save()
    return HttpResponse()
Esempio n. 28
0
 def test_form(self):
     todo = TodoForm({"activity":"esto es un texto"})
     self.assertEqual(todo.is_valid(), True)
Esempio n. 29
0
def index(request):
    todo_list = Todo.objects.order_by('id')
    form = TodoForm()
    context = {'todo_list': todo_list, 'form': form}
    return render(request, 'todo/index.html', context)