#encoding:utf-8 from django.http import HttpResponseRedirect,HttpResponse from django.template import RequestContext, loader, Context from django.shortcuts import get_object_or_404,render,render_to_response, redirect from repositorio.models import * from django.core.urlresolvers import reverse from django.contrib import auth from django.contrib.auth.decorators import login_required from repositorio.forms import * from django.contrib import messages from django.forms import ModelForm from django.db import transaction from django.template.response import TemplateResponse from django.utils.dateformat import DateFormat from django.utils.dateparse import * from django.utils.formats import get_format from django.utils import simplejson import json from django.utils.html import * from django.utils.datastructures import * from django.core import * from decimal import * import os import locale @login_required(login_url='repositorio:acceder') def perfil(request, user_id): return TemplateResponse(request, 'perfil.html' ) #vista para redirigir al index def acceder(request): return render_to_response('index.html',context_instance=RequestContext(request)) #vista para acceder a la aplicacion def login(request): username = request.POST.get('username', '') password = request.POST.get('password', '') user = auth.authenticate(username=username, password=password) if user is not None and user.is_active: # Correct password, and the user is marked "active" auth.login(request, user) # Redirect to a success page. #messages.success(request, 'entra pero falta checar otras cosas') #return render_to_response ('index.html',context_instance=RequestContext(request)) return HttpResponseRedirect(reverse('repositorio:menuinicio')) else: messages.error(request, 'error de acceso verifique su usuario y contraseƱa') return render_to_response ('index.html',context_instance=RequestContext(request)) #vista para salir de la aplicacion @login_required(login_url='repositorio:acceder') def logout(request): auth.logout(request) return HttpResponseRedirect(reverse('repositorio:acceder')) #vista para llamar al menu de inicio @login_required(login_url='repositorio:acceder') def menuinicio(request): form = DocumentoForm() usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = { 'contador_reciente': contador_reciente, 'dato_docu':dato_docu, 'tipo':tipo, 'inicio_menu':'active', 'form':form, } return render_to_response('carpetaform.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='encuesta:acceder') def subirdocumento(request): usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo if request.method=='POST': form = DocumentoForm(request.POST,request.FILES) if form.is_valid(): carpeta = CatCarpetas.objects.get(pk=request.POST['carpeta']) documento = Documento(archivo=request.FILES['archivo'], nombre_archivo=request.POST['nombre_archivo'] , usuario=usuario , direccion=perfil.direccion , departamento=perfil.departamento, carpeta=carpeta) documento.save() messages.success(request, 'Se guardo exitosamente el registro') return HttpResponseRedirect(reverse('repositorio:menuinicio')) else: messages.error(request, 'corrija los siguientes errores') else: form = DocumentoForm() dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario={'form':form, 'contador_reciente':contador_reciente, 'dato_docu':dato_docu, 'inicio_menu':'active', 'tipo':tipo, } return render_to_response('carpetaform.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='encuesta:acceder') def detalledocumento(request,documento_id): detalle = Documento.objects.get(pk=documento_id) carpeta = detalle.carpeta usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) departamento =perfil.departamento direccion = departamento.direccion tipo = perfil.tipo datos = Documento.objects.filter(direccion=direccion,departamento=departamento,carpeta=carpeta) dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = {'detalle':detalle,'contador_reciente':contador_reciente,'dato_docu':dato_docu, 'carpeta':carpeta,'tipo':tipo,'direccion':direccion,'departamento':departamento,'datos' : datos,} return render_to_response('verdocumento.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='encuesta:acceder') def borrardocumento(request,documento_id): documento = Documento.objects.get(pk=documento_id) carpeta = documento.carpeta documento.archivo.delete() documento.delete() usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) departamento =perfil.departamento direccion = departamento.direccion tipo = perfil.tipo datos = Documento.objects.filter(direccion=direccion,departamento=departamento,carpeta=carpeta) messages.warning(request, 'Se elimino la opcion') dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = {'contador_reciente':contador_reciente,'dato_docu':dato_docu, 'carpeta':carpeta,'tipo':tipo,'direccion':direccion,'departamento':departamento,'datos' : datos,} return render_to_response('navegardocumentos.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='encuesta:acceder') def editardocumento(request,documento_id): documento = Documento.objects.get(pk=documento_id) carpeta = documento.carpeta usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) departamento =perfil.departamento direccion = departamento.direccion tipo = perfil.tipo if request.method=='POST': form = ActDocumentoForm(request.POST,instance=documento) if form.is_valid(): carpeta=CatCarpetas.objects.get(pk=request.POST['carpeta']) documento.nombre_archivo=request.POST['nombre_archivo'] documento.carpeta=carpeta documento.save() datos = Documento.objects.filter(direccion=direccion,departamento=departamento,carpeta=carpeta) dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 messages.success(request, 'Se actualizo exitosamente el registro') diccionario = {'contador_reciente':contador_reciente,'dato_docu':dato_docu, 'carpeta':carpeta,'tipo':tipo,'direccion':direccion,'departamento':departamento,'datos' : datos,} return render_to_response('navegardocumentos.html',diccionario,context_instance=RequestContext(request)) else: form = ActDocumentoForm(instance=documento) dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario={'form':form, 'contador_reciente':contador_reciente, 'dato_docu':dato_docu, 'inicio_menu':'active', 'tipo':tipo, } return render_to_response('carpetaform2.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def navegardirecciones(request): datos = CatDireccion.objects.all() usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = { 'contador_reciente':contador_reciente, 'dato_docu':dato_docu, 'tipo':tipo, 'datos':datos, } return render_to_response('navegardirecciones.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def verdepartamentos(request,direccion_id): direccion = CatDireccion.objects.get(pk=direccion_id) datos = CatDepartamentos.objects.filter(direccion=direccion ) usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = { 'contador_reciente':contador_reciente,'dato_docu':dato_docu,'tipo':tipo,'direccion':direccion,'datos' : datos,} return render_to_response('navegardepartamentos.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def navegardepartamentos(request): #print request.user.id usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) direccion = perfil.direccion datos = CatDepartamentos.objects.filter(direccion=perfil.direccion) usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = { 'contador_reciente':contador_reciente, 'dato_docu':dato_docu, 'tipo':tipo, 'direccion':direccion, 'datos':datos, } return render_to_response('navegardepartamentos.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def vercarpetas(request,departamento_id): departamento = CatDepartamentos.objects.get(pk=departamento_id) direccion = departamento.direccion datos = CatCarpetas.objects.all() usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = {'contador_reciente':contador_reciente,'dato_docu':dato_docu,'tipo':tipo,'direccion':direccion,'departamento':departamento,'datos' : datos,} return render_to_response('navegarcarpetas.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def navegarcarpetas(request): datos = CatCarpetas.objects.all() usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) departamento =perfil.departamento direccion = departamento.direccion usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) tipo = perfil.tipo dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 diccionario = { 'contador_reciente':contador_reciente, 'dato_docu':dato_docu, 'tipo':tipo, 'direccion':direccion, 'departamento':departamento, 'datos':datos, } return render_to_response('navegarcarpetas.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def verdocumentos(request,departamento_id,carpeta_id): departamento = CatDepartamentos.objects.get(pk=departamento_id) direccion = departamento.direccion carpeta = CatCarpetas.objects.get(pk=carpeta_id) datos = Documento.objects.filter(direccion=direccion,departamento=departamento,carpeta=carpeta) usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 tipo = perfil.tipo diccionario = { 'contador_reciente':contador_reciente,'dato_docu':dato_docu,'tipo':tipo,'direccion':direccion, 'departamento':departamento,'carpeta':carpeta,'datos' : datos,} return render_to_response('navegardocumentos.html',diccionario,context_instance=RequestContext(request)) @login_required(login_url='repositorio:acceder') def verrecientes(request): usuario = User.objects.get(pk=request.user.id) perfil = Perfiles.objects.get(usuario=usuario) departamento = perfil.departamento direccion = perfil.direccion datos = Documento.objects.filter(direccion=direccion,departamento=departamento) dato_docu = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento) total = Documento.objects.filter(direccion=perfil.direccion , departamento=perfil.departamento).count() contador_reciente = 0 for docu in dato_docu: if docu.reciente(): contador_reciente=contador_reciente+1 tipo = perfil.tipo diccionario = { 'total':total,'contador_reciente':contador_reciente,'dato_docu':dato_docu,'tipo':tipo,'direccion':direccion, 'departamento':departamento,'carpeta':'reciente','datos' : datos,} return render_to_response('navegarrecientes.html',diccionario,context_instance=RequestContext(request))