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))
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)
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)
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))
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))
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')
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)
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})
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))
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))
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() })
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' })
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 })
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.' })
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)
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})
def post(self, request): form = TodoForm(data=request.POST) if form.is_valid(): form.save() return HttpResponseRedirect(reverse(viewname='add'))
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())
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()
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)
def test_form_invalid(self): todo = TodoForm() self.assertEqual(todo.is_valid(),False)
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)
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)
def test_form_label(self): form = TodoForm() self.assertTrue(form.fields['text'].label == '')
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()
def test_valid_todo_form(self): data = self.todo form = TodoForm(data=data)
def Create(request): form = TodoForm(request.POST) form.save() return HttpResponse()
def test_form(self): todo = TodoForm({"activity":"esto es un texto"}) self.assertEqual(todo.is_valid(), True)
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)