Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.shortcuts import render
- from apps.proyectos.models import *
- from apps.proyectos.forms import *
- from django.shortcuts import render_to_response, get_object_or_404
- from django.http import HttpResponseRedirect, Http404, HttpResponse
- from django.template import RequestContext
- from django.contrib.auth.decorators import login_required
- from datetime import timedelta
- from django.db.models import *
- from django.forms.models import modelformset_factory
- from django.utils.encoding import force_unicode
- from django.utils.translation import ugettext_lazy as _
- # Create your views here.
- @login_required
- def misProyectos(request):
- proyectos=Proyecto.objects.filter(usuario=request.user)
- return render_to_response('proyectos/misproyectos.html', {'proyectos':proyectos,}, context_instance=RequestContext(request))
- @login_required
- def crearProyecto(request):
- if request.method == 'POST':
- form = crearProyectoF(request.POST, request.FILES)
- formC = categoriasF(request.POST)
- p=Proyecto.objects.filter(usuario=request.user)
- if p.count() < 3:
- if form.is_valid() and formC.is_valid():
- formC.save()
- usuario=form.save(commit=False)
- usuario.usuario=User.objects.get(id=request.user.id)
- cates=formC.save(commit=True)
- usuario.Categorias= Categorias.objects.get(id=cates.id)
- usuario.save()
- formC.save()
- form.save()
- return HttpResponseRedirect('/usuarios/proyectocreado/')
- else:
- return HttpResponseRedirect('/usuarios/proyectoerror/')
- else:
- form = crearProyectoF()
- formC = categoriasF()
- return render_to_response('proyectos/agregar.html', {'form':form, 'formC':formC}, context_instance=RequestContext(request))
- @login_required
- def userdetails(request):
- usuario=User.objects.all().filter(username=request.user)
- UserFormSet=modelformset_factory(User, max_num=0, exclude=('username', 'password','is_staff', 'is_active', 'is_superuser','last_login', 'user_permissions', 'groups', 'date_joined'))
- form=UserFormSet(queryset=usuario)
- if request.method=='POST':
- form=UserFormSet(request.POST, request.FILES, queryset=usuario)
- if form.is_valid():
- form.save()
- return render_to_response('perfil/editar.html',{'form':form}, context_instance=RequestContext(request))
- ------ en la funcion editarProyecto tengo una falla y es que en mi plantilla html no me muestra el formulario de multiples opciones que si se muestra en la insercion de nuevos proyectos (funcion anterior)---------------
- @login_required
- def editarProyecto(request, proyecto_id):
- try:
- Proyecto.objects.get(pk=proyecto_id, usuario=request.user)
- proyectoFormset=modelformset_factory(Proyecto, max_num=0, can_delete=True, form=crearProyectoF)
- categoriasFormset=modelformset_factory(Categorias, max_num=0, form=categoriasF)
- if request.method=='POST':
- formP=proyectoFormset(request.POST, request.FILES, queryset=Proyecto.objects.all().filter(pk=proyecto_id))
- form=categoriasFormset(request.POST, queryset=Categorias.objects.all().filter(pk=Proyecto.objects.get(pk=proyecto_id).id))
- if formP.is_valid() and form.is_valid():
- formP.save()
- form.save()
- return HttpResponseRedirect('/usuarios/proyectocreado/')
- else:
- formP=proyectoFormset(queryset=Proyecto.objects.all().filter(pk=proyecto_id))
- form=categoriasFormset(queryset=Categorias.objects.all().filter(pk=Proyecto.objects.get(pk=proyecto_id).id))
- except Proyecto.DoesNotExist:
- return HttpResponseRedirect('/usuarios/misproyectos/')
- return render_to_response('proyectos/editar.html',{'formP':formP,'form':form,}, context_instance=RequestContext(request))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement