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_create(request): if request.method == "POST": form = TodoForm(request.POST) if form.is_valid(): form.save() return redirect('todo_list') form = TodoForm() return render(request, 'todo/edit.html', {'form': form})
def createtodo(request): if request.method == "GET": return render(request, 'todo/createtodo.html', {'form': TodoForm()}) else: form = TodoForm(request.POST) newtodo = form.save(commit=False) newtodo.user = request.user newtodo.save() return redirect('currenttodos')
def create_todo(request): if request.method == 'GET': form = TodoForm(user=request.user) elif request.method == 'POST': form = TodoForm(request.POST, user=request.user) if form.is_valid(): form.save() return HttpResponseRedirect('/') return render(request, "todo_form.html", {'form': form})
def todo_edit(request, pk): todo = List.objects.get(user=request.user, pk=pk) if request.method == "POST": form = TodoForm(request.POST, instance=todo) if form.is_valid(): form.save() return redirect('todo_view', todo.pk) else: form = TodoForm(instance=todo) return render(request, 'todo/edit.html', {'menu': 'list', 'form': form, 'pk': pk})
def todo_create(request): if request.method == "POST": form = TodoForm(request.POST) if form.is_valid(): todo = form.save(commit=False) todo.user = request.user todo.save() return redirect('todo_view', todo.pk) else: form = TodoForm() return render(request, 'todo/edit.html', {'menu': 'list', 'form': form})
def todo_edit(request, pk): task = Todo.objects.get(pk=pk) if request.method == "POST": form = TodoForm(request.POST) if form.is_valid(): task.description = request.POST.get('description') task.status = request.POST.get('status') task.save() return redirect('todo_list') form = TodoForm(instance=task) return render(request, 'todo/edit.html', {'form': form})
def todo_add(request): if request.method == 'POST': form = TodoForm(request.POST, request.FILES) if form.is_valid(): todo = form.save() return redirect('todo_detail', pk=todo.pk) form = TodoForm() context = { 'form': form, } return render(request, 'todo/todo_create.html', context)
def todoView(request): if request.method == "POST": form = TodoForm(request.POST) if form.is_valid(): item = form.save(commit=False) item.createUser = request.user.username item.save() items = Todo.objects.filter(createUser=request.user.username).reverse() form = TodoForm() return render(request, 'todo.html', {'items': items, 'form': form})
def viewtodo(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: try: form = TodoForm(request.POST, instance=todo) form.save() return redirect('currenttodos') except ValueError: return render(request,'todo/viewtodo.html',{'todo':todo, 'form':form, 'error':'Too many data input. Please try again.'})
def createtodo(request): if request.method == 'GET': return render(request,'todo/createtodo.html',{'form':TodoForm()}) else: try: form = TodoForm(request.POST) newtodo = form.save(commit=False) newtodo.user = request.user newtodo.save() return redirect('currenttodos') except ValueError: return render(request,'todo/createtodo.html',{'form':TodoForm(), 'error':'Too many data input. Please try again.'})
def edit_todo(req, pk): todo = TodoList.objects.get(pk=pk) if req.method == 'GET': form = TodoForm(initial=todo.__dict__) return home(req, form, 'edit todo', pk=pk) else: form = TodoForm(req.POST) if form.is_valid(): todo.name = form.cleaned_data['name'] todo.description = form.cleaned_data['description'] todo.save() return home(req, form)
def viewtodo(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) form.save() return redirect('currenttodos')
def view_todo(request, todo_id): todo = get_object_or_404(Todo, pk=todo_id, user=request.user) context = {"todo": todo} if request.method == "POST": try: form = TodoForm(request.POST, instance=todo) form.save() return redirect('currenttodos') except Exception: context["error"] = "Something bad happen. Please try again" context["form"] = TodoForm(instance=todo) return render(request, "todo/view-todo.html", context=context)
def AddTodo(request): if not request.user.is_authenticated(): return redirect('accounts:login') if request.method == "POST": form = TodoForm(request.POST) if form.is_valid(): todo = form.save(commit=False) todo.user = request.user todo.save() return IndexView(request) else: form = TodoForm() return render(request, 'addtodo.html', {'form': form})
def create_todo(request): context = {} if request.method == "POST": try: todo = TodoForm(request.POST) new_todo = todo.save(commit=False) new_todo.user = request.user new_todo.save() return redirect('currenttodos') except Exception: context["error"] = "Something bad happen. Please try again" context["form"] = TodoForm() return render(request, "todo/create-todo.html", context=context)
def createtodos(request): if request.method == 'GET': return render(request, 'todo/createtodo.html', {'form': TodoForm()}) else: try: form = TodoForm(request.POST) new_todo = form.save(commit=False) new_todo.user = request.user new_todo.save() return redirect('currenttodos') except ValueError: return render(request, 'todo/createtodo.html', { 'form': TodoForm(), 'error': 'Bad data passed in' })
def edit_todo(request: HttpRequest, todo_id: int = 0): context = {'todo_lists': TodoList.objects.filter(user=request.user).all()} todo = get_object_or_404(Todo, pk=todo_id) if todo.todo_list.user != request.user: raise Http404 if request.method == 'POST': form = TodoForm(request.POST, instance=todo) if not form.is_valid(): context['form'] = form return render(request, 'edit_todo.html', context) todo = form.save() return redirect('view_list', todo.todo_list.id) form = TodoForm(instance=todo) context['form'] = form return render(request, 'edit_todo.html', context)
def create_todo(request: HttpRequest, list_id: int = 0): context = {'todo_lists': TodoList.objects.filter(user=request.user).all()} todo_list = get_object_or_404(TodoList, pk=list_id) if request.method == 'POST': form = TodoForm(request.POST) if not form.is_valid(): context['form'] = form return render(request, 'create_todo.html', context) todo = form.save(commit=False) todo.todo_list = todo_list todo.save() return redirect('view_list', todo_list.id) form = TodoForm() context['form'] = form return render(request, 'create_todo.html', context)
def todoedit(request, pk): todo = get_object_or_404(Todo, pk=pk) todoform = TodoForm(request.POST or None, instance=todo) if todoform.is_valid(): todoform.save() return redirect('todolist') return render(request, 'todoadd.html', {'form': todoform})
def edit_task(request, task_id): if request.method == "POST": task = TodoList.objects.get(pk=task_id) form = TodoForm(request.POST or None, instance=task) if form.is_valid(): form.save() messages.success(request, ("Task Edited!")) return redirect('addTodo') else: form = TodoForm() # for checking status of task task_obj = TodoList.objects.get(pk=task_id) return render(request, 'edit.html', { 'task_obj': task_obj, 'form': form })
def addTodo_page(): form = TodoForm() id = current_user.id #request.args.get("user") if request.args.get("action") == 'add': if form.validate_on_submit(): print('form executed') todo_to_create = Todo(name=form.name.data, category=form.category.data, owner=id) db.session.add(todo_to_create) db.session.commit() print('db executed') return redirect(url_for('dashboard_page', page_num=1)) if form.errors != {}: for err_msg in form.errors.values(): flash(err_msg) if request.args.get("action") == "edit": idTodo = request.args.get("todo") todo = Todo.query.filter_by(id=idTodo).first() if form.validate_on_submit(): todo.name = form.name.data todo.category = form.category.data db.session.commit() return redirect(url_for('dashboard_page')) return render_template('addTodo.html', form=form, todo=todo, action='edit') return render_template('addTodo.html', form=form)
def add_or_update_task(request, pk=None): task = get_object_or_404(Todo, pk=pk) if pk else None form = TodoForm(request.user, request.POST or None, instance=task) if form.is_valid(): form.save() return redirect(reverse('todo:home')) return render(request, 'todo/task_form.html', {'form': form})
def addTodo(request): form = TodoForm(request.POST) if form.is_valid(): new_todo = Todo(text=request.POST['text']) new_todo.save() return redirect('index')
def posttodo(request): if request.method == 'GET': return render(request, 'todo/posttodo.html', {'form': TodoForm()}) else: try: form = TodoForm(request.POST) newTodo = form.save(commit=False) newTodo.user = request.user newTodo.save() return redirect('usertodos') except ValueError: print('fffffffffffffffffffffffffffffff') error = 'Bad data passed in.' return render(request, 'todo/posttodo.html', { 'form': TodoForm(), 'error': error })
def test_valid(self): """バリデーションOK""" params = { 'title': 'title-1', 'expiration_date': self.today, } form = TodoForm(params) self.assertTrue(form.is_valid())
def test_form_is_valid(self): obj = Todo.objects.create(text='Do this', owner=self.user) data = {'text': obj.text} form = TodoForm(data=data) self.assertTrue(form.is_valid()) self.assertEqual(form.cleaned_data.get('text'), obj.text) self.assertNotEqual(form.cleaned_data.get('text'), 'Sleep')
def get_context_data(self, **kwargs): context = super(IndexView, self).get_context_data(**kwargs) active_tab = 'todo' if self.request.GET.get('tab') == 'done': active_tab = 'done' context['active_tab'] = active_tab context['todo_form'] = TodoForm() return 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 todoadd(request): todoform=TodoForm(request.POST or None) if todoform.is_valid(): todo = todoform.save() todo.user = request.user todo.save() return redirect('todolist') return render(request,'todoadd.html',{'form':todoform})