- Fecha y hora:
- 02/06/2017 15:56:16 (hace 7 años)
- Branches:
- master, desarrollo
- Children:
- 55778ac
- Parents:
- c016092
- Ubicación:
- sepai
- Ficheros:
-
- 11 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
sepai/proyectos/admin.py
r91ece48 ra590488 15 15 admin.site.register(Indicador) 16 16 admin.site.register(ObjetivosNacional) 17 admin.site.register(TipoProyecto) -
sepai/proyectos/migrations/0001_initial.py
r4d1e7d5 ra590488 1 1 # -*- coding: utf-8 -*- 2 # Generated by Django 1.10 on 2017-0 5-25 12:482 # Generated by Django 1.10 on 2017-06-02 17:32 3 3 from __future__ import unicode_literals 4 4 5 from django.conf import settings 5 6 import django.core.validators 6 7 from django.db import migrations, models … … 14 15 dependencies = [ 15 16 ('utils', '0001_initial'), 17 migrations.swappable_dependency(settings.AUTH_USER_MODEL), 16 18 ] 17 19 … … 113 115 ), 114 116 migrations.CreateModel( 117 name='Localizacion', 118 fields=[ 119 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 120 ('estado', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='utils.Estado')), 121 ], 122 options={ 123 'verbose_name': 'Localizacion', 124 'verbose_name_plural': 'Localizaciones', 125 'ordering': ('estado', 'municipio', 'parroquia'), 126 }, 127 ), 128 migrations.CreateModel( 129 name='ObjetivosEspecificosProy', 130 fields=[ 131 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 132 ('objetivos_especificos', models.CharField(max_length=255)), 133 ], 134 options={ 135 'verbose_name': 'Objetivo Especifico', 136 'verbose_name_plural': 'Objetivos Especificos', 137 'ordering': ('objetivos_especificos',), 138 }, 139 ), 140 migrations.CreateModel( 115 141 name='ObjetivosEstrategico', 116 142 fields=[ … … 148 174 ('codigo', models.CharField(max_length=15, unique=True)), 149 175 ('nombre', models.CharField(max_length=128)), 176 ('descripcion', models.TextField(blank=True)), 177 ('objetivo_general', models.CharField(max_length=128)), 150 178 ('justificacion', models.TextField(blank=True)), 151 ('objetivo_general', models.CharField(max_length=128)),152 ('objetivos_especificos', models.CharField(max_length=255)),153 ('monto_proyecto', models.DecimalField(decimal_places=2, max_digits=50)),154 179 ('fecha_inicio', models.DateField()), 155 180 ('fecha_culminacion', models.DateField()), 156 ('activo', models.BooleanField(default=True)), 157 ('fk_alcance', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Alcance', verbose_name='Alcance')), 158 ], 181 ('plurianual', models.BooleanField(default=True)), 182 ('monto_anho_anterior', models.DecimalField(decimal_places=2, max_digits=50, null=True)), 183 ('monto_anho_proximo', models.DecimalField(decimal_places=2, max_digits=50, null=True)), 184 ('monto_total', models.DecimalField(decimal_places=2, max_digits=50, null=True)), 185 ('poan', models.BooleanField(default=True)), 186 ('localidad', models.CharField(choices=[(1, 'Estado'), (2, 'Municipio'), (3, 'Parroquia')], max_length=1)), 187 ('activo', models.BooleanField(default=True)), 188 ], 189 options={ 190 'verbose_name': 'Proyecto', 191 'verbose_name_plural': 'Proyectos', 192 'ordering': ('nombre',), 193 }, 194 ), 195 migrations.CreateModel( 196 name='ResponsableGerente', 197 fields=[ 198 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 199 ('cedula', models.CharField(max_length=12, unique=True, verbose_name='Documento de identidad')), 200 ('nombres', models.CharField(max_length=128)), 201 ('apellidos', models.CharField(max_length=128)), 202 ('correo', models.EmailField(max_length=75)), 203 ('numero_telefono', models.CharField(max_length=11)), 204 ('fk_documento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='utils.TipoDocumento')), 205 ('fk_proyecto', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Proyecto')), 206 ], 207 options={ 208 'verbose_name': 'Responsable Gerente', 209 'verbose_name_plural': 'Responsables Gerentes', 210 'ordering': ('cedula',), 211 }, 212 ), 213 migrations.CreateModel( 214 name='ResponsableTecnico', 215 fields=[ 216 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 217 ('cedula', models.CharField(max_length=12, unique=True, verbose_name='Documento de identidad')), 218 ('nombres', models.CharField(max_length=128)), 219 ('apellidos', models.CharField(max_length=128)), 220 ('correo', models.EmailField(max_length=75)), 221 ('numero_telefono', models.CharField(max_length=11)), 222 ('fk_documento', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='utils.TipoDocumento')), 223 ('fk_proyecto', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Proyecto')), 224 ], 225 options={ 226 'verbose_name': 'Responsable Tecnico', 227 'verbose_name_plural': 'Responsables Tecnicos', 228 'ordering': ('cedula',), 229 }, 159 230 ), 160 231 migrations.CreateModel( … … 185 256 ), 186 257 migrations.CreateModel( 258 name='TipoProyecto', 259 fields=[ 260 ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 261 ('tipo_proyecto', models.CharField(max_length=97)), 262 ('descripcion', models.TextField()), 263 ], 264 options={ 265 'verbose_name': 'Tipo de Proyecto', 266 'verbose_name_plural': 'Tipos de Proyectos', 267 'ordering': ('tipo_proyecto',), 268 }, 269 ), 270 migrations.CreateModel( 187 271 name='VinculacionPndes', 188 272 fields=[ … … 194 278 migrations.AddField( 195 279 model_name='proyecto', 196 name='fk_sector', 197 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Sector', verbose_name='Sector'), 280 name='fk_tipo', 281 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.TipoProyecto', verbose_name='Tipo de Proyecto'), 282 ), 283 migrations.AddField( 284 model_name='proyecto', 285 name='fk_user', 286 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), 198 287 ), 199 288 migrations.AddField( … … 203 292 ), 204 293 migrations.AddField( 294 model_name='objetivosespecificosproy', 295 name='fk_proyecto', 296 field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Proyecto'), 297 ), 298 migrations.AddField( 299 model_name='localizacion', 300 name='fk_proyecto', 301 field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='proyectos.Proyecto'), 302 ), 303 migrations.AddField( 304 model_name='localizacion', 305 name='municipio', 306 field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='utils.Municipio'), 307 ), 308 migrations.AddField( 309 model_name='localizacion', 310 name='parroquia', 311 field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='utils.Parroquia'), 312 ), 313 migrations.AddField( 205 314 model_name='avancesproyecto', 206 315 name='fk_proyecto', -
sepai/proyectos/models.py
r2e5b1d0 ra590488 2 2 from django.core.validators import MaxValueValidator 3 3 from adaptor.model import CsvDbModel, CsvModel 4 from django.contrib.auth.models import User 4 5 from adaptor.fields import * 5 from utils.models import Parroquia 6 7 from utils.models import ( 8 Estado, Municipio, Parroquia, 9 TipoDocumento 10 ) 11 from .constantes import CHOICE_LOCALIDAD 6 12 7 13 … … 161 167 return self.nivel + '-' + self.objetivo 162 168 163 def __ unicode__(self):169 def __str__(self): 164 170 return self.nivel 165 171 166 172 173 class TipoProyecto(models.Model): 174 """! 175 Clase que contiene los datos para el tipo de proyecto 176 177 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 178 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 179 @date 02-06-2017 180 @version 1.0.0 181 """ 182 tipo_proyecto = models.CharField(max_length=97) 183 descripcion = models.TextField() 184 185 class Meta: 186 """! 187 Clase que construye los meta datos del modelo 188 189 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 190 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 191 @date 02-06-2017 192 @version 1.0.0 193 """ 194 ordering = ('tipo_proyecto',) 195 verbose_name = 'Tipo de Proyecto' 196 verbose_name_plural = 'Tipos de Proyectos' 197 198 def __str__(self): 199 return self.tipo_proyecto 200 201 167 202 class Proyecto(models.Model): 168 203 """! … … 174 209 @version 1.0.0 175 210 """ 176 fk_ alcance = models.ForeignKey(Alcance, verbose_name="Alcance")177 fk_ sector = models.ForeignKey(Sector, verbose_name="Sector")211 fk_tipo = models.ForeignKey(TipoProyecto, verbose_name="Tipo de Proyecto") 212 fk_user = models.ForeignKey(User) 178 213 codigo = models.CharField(max_length=15, unique=True) 179 214 nombre = models.CharField(max_length=128) 215 descripcion = models.TextField(blank=True) 216 objetivo_general = models.CharField(max_length=128) 180 217 justificacion = models.TextField(blank=True) 181 objetivo_general = models.CharField(max_length=128)182 objetivos_especificos = models.CharField(max_length=255)183 monto_proyecto = models.DecimalField(max_digits=50, decimal_places=2)184 218 fecha_inicio = models.DateField(auto_now=False) 185 219 fecha_culminacion = models.DateField(auto_now=False) 186 activo = models.BooleanField(default=True) 220 plurianual = models.BooleanField(default=True) 221 monto_anho_anterior = models.DecimalField(max_digits=50, decimal_places=2, null=True) 222 monto_anho_proximo = models.DecimalField(max_digits=50, decimal_places=2, null=True) 223 monto_total = models.DecimalField(max_digits=50, decimal_places=2, null=True) 224 poan = models.BooleanField(default=True) 225 localidad = models.CharField(max_length=1, choices=CHOICE_LOCALIDAD) 226 activo = models.BooleanField(default=True) 227 228 class Meta: 229 """! 230 Clase que construye los meta datos del modelo 231 232 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 233 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 234 @date 02-06-2017 235 @version 1.0.0 236 """ 237 ordering = ('nombre',) 238 verbose_name = 'Proyecto' 239 verbose_name_plural = 'Proyectos' 187 240 188 241 def __str__(self): … … 196 249 """ 197 250 return self.codigo 251 252 253 class ObjetivosEspecificosProy(models.Model): 254 """! 255 Clase que contiene el modelo de datos de los objetivos especificos del proyecto 256 257 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 258 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 259 @date 02-06-2017 260 @version 1.0.0 261 """ 262 fk_proyecto = models.ForeignKey(Proyecto) 263 objetivos_especificos = models.CharField(max_length=255) 264 265 class Meta: 266 """! 267 Clase que construye los meta datos del modelo 268 269 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 270 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 271 @date 02-06-2017 272 @version 1.0.0 273 """ 274 ordering = ('objetivos_especificos',) 275 verbose_name = 'Objetivo Especifico' 276 verbose_name_plural = 'Objetivos Especificos' 277 278 def __str__(self): 279 280 return str(self.fk_proyecto) 281 282 283 class Localizacion(models.Model): 284 """! 285 Clase que contiene el modelo de datos para la localizacion del proyecto 286 287 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 288 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 289 @date 02-06-2017 290 @version 1.0.0 291 """ 292 fk_proyecto = models.OneToOneField(Proyecto) 293 estado = models.ForeignKey(Estado, null=True) 294 municipio = models.ForeignKey(Municipio, null=True) 295 parroquia = models.ForeignKey(Parroquia, null=True) 296 297 class Meta: 298 """! 299 Clase que construye los meta datos del modelo 300 301 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 302 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 303 @date 02-06-2017 304 @version 1.0.0 305 """ 306 ordering = ('estado', 'municipio', 'parroquia') 307 verbose_name = 'Localizacion' 308 verbose_name_plural = 'Localizaciones' 309 310 def __str__(self): 311 312 return str(self.fk_proyecto) 313 314 315 class Responsable(models.Model): 316 """! 317 Clase que contiene el modelo de datos para el Responsable 318 319 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 320 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 321 @date 02-06-2017 322 @version 1.0.0 323 """ 324 fk_documento = models.ForeignKey(TipoDocumento) 325 cedula = models.CharField(unique=True, max_length=12, 326 verbose_name='Documento de identidad') 327 nombres = models.CharField(max_length=128) 328 apellidos = models.CharField(max_length=128) 329 correo = models.EmailField(max_length=75) 330 numero_telefono = models.CharField(max_length=11) 331 332 class Meta: 333 """! 334 Clase que construye los meta datos del modelo 335 336 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 337 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 338 @date 02-06-2017 339 @version 1.0.0 340 """ 341 ordering = ('cedula',) 342 verbose_name = 'Responsable' 343 verbose_name_plural = 'Responsables' 344 abstract = True 345 346 def __str__(self): 347 348 return self.cedula 349 350 351 class ResponsableTecnico(Responsable): 352 """! 353 Clase que contiene el modelo de datos para el Responsable Tecnico 354 355 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 356 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 357 @date 02-06-2017 358 @version 1.0.0 359 """ 360 fk_proyecto = models.ForeignKey(Proyecto) 361 362 class Meta: 363 """! 364 Clase que construye los meta datos del modelo 365 366 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 367 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 368 @date 02-06-2017 369 @version 1.0.0 370 """ 371 ordering = ('cedula',) 372 verbose_name = 'Responsable Tecnico' 373 verbose_name_plural = 'Responsables Tecnicos' 374 375 def __str__(self): 376 377 return self.cedula 378 379 380 class ResponsableGerente(Responsable): 381 """! 382 Clase que contiene el modelo de datos para el Responsable Tecnico 383 384 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 385 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 386 @date 02-06-2017 387 @version 1.0.0 388 """ 389 fk_proyecto = models.ForeignKey(Proyecto) 390 391 class Meta: 392 """! 393 Clase que construye los meta datos del modelo 394 395 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 396 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 397 @date 02-06-2017 398 @version 1.0.0 399 """ 400 ordering = ('cedula',) 401 verbose_name = 'Responsable Gerente' 402 verbose_name_plural = 'Responsables Gerentes' 403 404 def __str__(self): 405 406 return self.cedula 407 198 408 199 409 class VinculacionPndes(models.Model): -
sepai/proyectos/urls.py
r943282e ra590488 14 14 url(r'^listar-proyectos/$', ProjectsList.as_view(), 15 15 name="consultar_proyectos"), 16 url(r'^crear-proyectos/$', Proyecto Creation.as_view(),16 url(r'^crear-proyectos/$', ProyectorRegiserView.as_view(), 17 17 name="crear_proyectos"), 18 18 url(r'^actualizar-proyectos/(?P<pk>\d+)/$', ProyectoUpdate.as_view(), -
sepai/proyectos/views.py
rc016092 ra590488 28 28 ) 29 29 from dal import autocomplete 30 from multi_form_view import MultiModelFormView 30 31 31 32 from .utils import ( … … 34 35 ) 35 36 36 from .models import ( 37 Proyecto, SubProyecto, Actividad, 38 Alcance, 39 CargaMasivaObjetivosHistoricos, CargaMasivaObjetivosNacional, 40 CargaMasivaObjetivosEstrategico, CargaMasivaObjetivosGeneral 41 ) 37 from .models import * 38 from .forms import * 42 39 43 40 from utils.forms import ( … … 172 169 except: 173 170 perfil = None 174 pass 175 print(perfil) 171 try: 172 proyectos = Proyecto.objects.all() 173 except: 174 proyectos = None 176 175 context = super(OptionsMangProjectsView, self).get_context_data(**kwargs) 177 176 context['userprofile'] = perfil 177 context['proyectos'] = proyectos 178 178 return context 179 179 … … 196 196 197 197 198 class Proyecto Creation(LoginRequiredMixin, CreateView):198 class ProyectorRegiserView(LoginRequeridoPerAuth, MultiModelFormView): 199 199 """! 200 200 Clase para crear los proyectos 201 202 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 203 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 204 @date 09-01-2017 205 @version 1.0.0 206 """ 207 template_name = 'proyectos/proyecto_form.html' 208 model = Proyecto 209 form_classes = { 210 'proyecto' : FormularioRegProyecto, 211 } 212 success_url = reverse_lazy('projects:consultar_proyectos') 213 record_id=None 214 group_required = [u"Administradores", u"Usuarios Supervisores", u"Usuarios Enlace" ] 215 216 def get_context_data(self, **kwargs): 217 """Use this to add extra context.""" 218 try: 219 perfil = UserProfile.objects.select_related().get(fk_user=self.request.user.id) 220 except: 221 perfil = None 222 try: 223 proyectos = Proyecto.objects.all() 224 except: 225 proyectos = None 226 context = super(ProyectorRegiserView, self).get_context_data(**kwargs) 227 context['userprofile'] = perfil 228 context['proyectos'] = proyectos 229 return context 230 231 232 class ProyectoUpdate(UpdateView): 233 """! 234 Clase para editar o actualizar un proyecto 201 235 202 236 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) … … 215 249 216 250 217 class ProyectoUpdate(UpdateView):218 """!219 Clase para editar o actualizar un proyecto220 221 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve)222 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>223 @date 09-01-2017224 @version 1.0.0225 """226 model = Proyecto227 success_url = reverse_lazy('projects:consultar_proyectos')228 fields = [229 'fk_alcance', 'fk_sector', 'codigo', 'nombre',230 'justificacion', 'objetivo_general',231 'objetivos_especificos', 'monto_proyecto', 'fecha_inicio',232 'fecha_culminacion'233 ]234 235 236 251 class SubProjectsList(ListView): 237 252 """! -
sepai/static/css/css_custom.css
r943282e ra590488 257 257 } 258 258 259 .navbar-default .navbar-brand{ 260 color: #F4F4F4; 261 } -
sepai/templates/proyectos/gestion_proyectos.html
r943282e ra590488 1 1 {% extends 'home.html' %} 2 {% block titulo %}_-=SEPAI- Consultar Usuarios=-_{% endblock titulo %}2 {% block titulo %}_-=SEPAI-Gestión de Proyectos=-_{% endblock titulo %} 3 3 {% block extra_constantes %} 4 4 {% load staticfiles %} … … 9 9 {% block extrajs %} 10 10 <link rel="stylesheet" href="{% static 'css/checked_img.css' %}"> 11 <script src="{% static 'DataTables/media/js/jquery.dataTables.min.js' %}"></script>12 <script src="{% static 'users/user_listDataTable.js' %}" type="text/javascript"></script>13 <script src="{% static 'start/modals.js' %}"></script>14 11 {% endblock extrajs %} 15 12 <div class="col-xs-12"> … … 27 24 <div class="box-header"> 28 25 <i class="fa fa-cogs"></i> 29 <h3 class="box-title"> Opciones para la gesti on de proyectos:</h3>26 <h3 class="box-title"> Opciones para la gestión de proyectos:</h3> 30 27 </div> 31 28 <div class="box-body pad table-responsive"> 32 29 <div class="col-md-8 col-md-offset-3"> 33 30 <div class="col-md-3"> 34 <a href=""> 35 <img width="120" height="110" class="img-thumbnail" src="{% static 'iconos/gestion_proyectos/icono-1.png' %}"><p>Registar Proyectos</p></a> 31 <a href="{% url 'projects:crear_proyectos' %}"> 32 <img width="120" height="110" class="img-thumbnail" src="{% static 'iconos/gestion_proyectos/icono-1.png' %}"> 33 <p align="center">Registrar Proyectos</p> 34 </a> 36 35 </div> 36 {% if proyectos %} 37 <div class="col-md-3"> 38 <a href=""> 39 <img width="120" height="110" class="img-thumbnail" src="{% static 'iconos/gestion_proyectos/icono-2.png' %}"><p align="center">Registrar Sub-Proyectos</p></a> 40 </div> 41 {% endif %} 37 42 <div class="col-md-3"> 38 43 <a href=""> 39 <img width="120" height="110" class="img-thumbnail" src="{% static 'iconos/gestion_proyectos/icono-2.png' %}"><p>Registrar Sub-Proyectos</p></a> 40 </div> 41 <div class="col-md-3"> 42 <a href=""> 43 <img width="120" height="110" class="img-thumbnail"src="{% static 'iconos/gestion_proyectos/icono-3.png' %}"><p>Mis Proyectos</p></a> 44 <img width="120" height="110" class="img-thumbnail"src="{% static 'iconos/gestion_proyectos/icono-3.png' %}"><p align="center">Mis Proyectos</p></a> 44 45 </div> 45 46 </div> -
sepai/templates/proyectos/proyecto_form.html
r2e5b1d0 ra590488 1 {% extends ' starter.html' %}2 {% block titulo %}_-=SEPAI- Registrar Proyecto=-_{% endblock titulo %}3 {% block extra s_css %}1 {% extends 'home.html' %} 2 {% block titulo %}_-=SEPAI-Proyectos=-_{% endblock titulo %} 3 {% block extra_constantes %} 4 4 {% load staticfiles %} 5 <link rel="stylesheet" href="{% static 'plugins/daterangepicker/daterangepicker.css' %}"> 6 <!-- bootstrap datepicker --> 7 <link rel="stylesheet" href="{% static 'plugins/datepicker/datepicker3.css' %}"> 8 <!-- iCheck for checkboxes and radio inputs --> 9 <link rel="stylesheet" href="{% static 'plugins/iCheck/all.css' %}"> 10 <!-- Bootstrap Color Picker --> 11 <link rel="stylesheet" href="{% static 'plugins/colorpicker/bootstrap-colorpicker.min.css' %}"> 12 <!-- Bootstrap time Picker --> 13 <link rel="stylesheet" href="{% static 'plugins/timepicker/bootstrap-timepicker.min.css' %}"> 14 <!-- Select2 --> 15 <link rel="stylesheet" href="{% static 'plugins/select2/select2.min.css' %}"> 16 <!-- Theme style --> 17 <link rel="stylesheet" href="{% static 'dist/css/AdminLTE.min.css' %}"> 18 <!-- AdminLTE Skins. Choose a skin from the css/skins 19 folder instead of downloading all of them to reduce the load. --> 20 <link rel="stylesheet" href="{% static 'dist/css/skins/_all-skins.min.css' %}"> 21 {% endblock extras_css %} 22 {% block content_header %} 23 <section class="content-header"> 24 <h1> 25 Registrar proyecto 26 <small>Por favor llenar el formulario</small> 27 </h1> 28 <ol class="breadcrumb"> 29 <li><a href="#"><i class="fa fa-dashboard"></i> {% block breadcrumbs %} Level {% endblock breadcrumbs %}</a></li> 30 <li class="active">Here</li> 31 </ol> 32 </section> 33 {% endblock content_header %} 34 {% block activeproyecto %} class="treeview active" {% endblock activeproyecto %} 35 {% block content_main %} 36 <!-- SELECT2 EXAMPLE --> 37 <div class="box box-default"> 38 <div class="box-header with-border"> 39 <h3 class="box-title">Select2</h3> 5 {% endblock extra_constantes %} 6 {% block extracss %} 7 {% endblock extracss %} 8 {% block extrajs %} 9 <link rel="stylesheet" href="{% static 'css/checked_img.css' %}"> 10 {% endblock extrajs %} 11 {% block contenido-principal %} 12 <div class="row"> 13 <div class="col-md-3"> 14 {% block modals %} 15 <!-- Modal --> 16 <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 17 <div class="modal-dialog" role="document"> 18 <div class="modal-content"> 19 <div class="modal-header"> 20 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> 21 <h4 class="modal-title" id="myModalLabel">Actualizar Perfil del Usuario</h4> 22 </div> 23 <div class="modal-body" id="modal-body"> 24 </div> 25 </div> 26 </div> 27 </div> 28 <!-- End Modal --> 29 {% endblock modals %} 30 <div class="panel-lateral-izq"> 31 {% block menu-lateral %} 32 <ul class="nav"> 33 <li> 34 <h4 class="text-center">Bienvenido: {{ request.user.first_name }} {{ request.user.last_name }}<h4> 35 <h5 class="text-center">{{ userprofile.fk_tipo_documento }} - {{ userprofile.id_perfil }}</h5> 36 </li> 37 <hr /> 38 <li> 39 <a class="btn" href="{% url 'projects:crear_proyectos' %}" id="datos"> 40 Datos Basicos 41 <span class="glyphicon glyphicon-accion glyphicon-info-sign pull-left" aria-hidden="true"></span> 42 </a> 43 </li> 44 <hr /> 45 <li> 46 <a class="btn" href="#" id="caract"> 47 Caracterisiticas 48 <span class="glyphicon glyphicon-accion glyphicon-sort-by-attributes-alt pull-left" aria-hidden="true"></span> 49 </a> 50 </li> 51 <hr /> 52 <li> 53 <a class="btn" href="#" id="indicador"> 54 Indicadores del Proyecto 55 <span class="glyphicon glyphicon-accion glyphicon-indent-right pull-left" aria-hidden="true"></span> 56 </a> 57 </li> 58 <hr /> 59 </ul> 60 {% endblock menu-lateral %} 61 </div> 62 </div> 63 <div class="col-md-9"> 64 <div class="panel-sepai"> 65 {% block area-contenido %} 66 <div id="gestion_proyectos"> 67 <section class="content-header"> 68 <h1> 69 Registrar proyecto 70 <small>Por favor llenar el formulario</small> 71 </h1> 72 </section> 73 <div class="box box-default"> 74 <div class="box-header with-border"> 75 <h3 class="box-title">Formulario de Registro de Proyecto</h3> 40 76 41 <div class="box-tools pull-right"> 42 <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button> 43 <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-remove"></i></button> 77 <div class="box-tools pull-right"> 78 <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button> 79 <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-remove"></i></button> 80 </div> 81 </div> 82 <div class="box-body"> 83 <ul class="nav nav-tabs" role="tablist"> 84 <li role="presentation" class="active" id="idents"> 85 <a href="#identificacion" aria-controls="identificacion" role="tab" data-toggle="tab">Identificacion del Proyecto</a> 86 </li> 87 <li role="presentation" id="respons"> 88 <a href="#responsable" aria-controls="responsable" role="tab" data-toggle="tab">Responsable del Proyecto</a> 89 </li> 90 </ul> 91 <!-- Inicio Tab panes --> 92 <form id="form_project" method="post"> 93 {% csrf_token %} 94 <div class="tab-content"> 95 96 <div role="tabpanel" class="tab-pane active" id="identificacion"> 97 <h3>Identificacion del Proyecto</h3> 98 <div class="row"> 99 <div class="col-md-6"> 100 <div class="form-group"> 101 {{ forms.proyecto.as_p }} 102 </div> 103 <!-- /.form-group --> 104 </div> 105 <!-- /.col --> 106 </div> 107 </div> 108 <div role="tabpanel" class="tab-pane" id="responsable"> 109 <h3>Responsable del Proyecto</h3> 110 111 </div> 112 <br> 113 <button id="submit" type="submit" class="btn btn-primary btn-block btn-flat">Registrar</button> 114 </div> 115 </form> 116 <!-- Fin Tab panel --> 117 </div> 118 <!-- /.box-body --> 119 <div class="box-footer"> 120 44 121 </div> 45 122 </div> 46 <!-- /.box-header --> 47 <div class="box-body"> 48 <div class="row"> 49 <div class="col-md-6"> 50 <div class="form-group"> 51 <form method="post"> 52 {% csrf_token %} 53 {{ form.as_p }} 54 <input type="submit" value="Registrar" /> 55 </form> 56 </div> 57 <!-- /.form-group --> 58 </div> 59 <!-- /.col --> 60 </div> 61 <!-- /.row --> 123 <!-- /.box --> 62 124 </div> 63 <!-- /.box-body --> 64 <div class="box-footer"> 65 66 </div> 67 </div> 68 <!-- /.box --> 69 70 {% endblock content_main %} 125 {% endblock area-contenido %} 126 </div> 127 </div> 128 </div> 129 {% endblock contenido-principal %} -
sepai/templates/users/register.html
r943282e ra590488 73 73 <div class="form-group has-feedback"> 74 74 {{ forms.user.password2 }} 75 <span class="glyphicon glyphicon-lo g-inform-control-feedback"></span>75 <span class="glyphicon glyphicon-lock form-control-feedback"></span> 76 76 </div> 77 77 <div class="row"> … … 118 118 </div> 119 119 <div class="form-group has-feedback"> 120 {{ forms.user_perfil.fk_tipo_documento.label }} 120 121 {{ forms.user_perfil.fk_tipo_documento }} 121 <span class="glyphicon glyphicon-list form-control-feedback"></span>122 122 </div> 123 123 <div class="form-group has-feedback"> … … 126 126 </div> 127 127 <div class="form-group has-feedback"> 128 {{ forms.user_perfil.fk_institucion.label }} 128 129 {{ forms.user_perfil.fk_institucion }} 129 <span class="glyphicon glyphicon-list form-control-feedback"></span>130 130 </div> 131 131 <div class="form-group has-feedback"> 132 {{ forms.user_perfil.fk_cargo.label }} 132 133 {{ forms.user_perfil.fk_cargo }} 133 <span class="glyphicon glyphicon-list form-control-feedback"></span>134 134 </div> 135 135 </div> -
sepai/users/views.py
rb1c4c62 ra590488 221 221 except: 222 222 perfil = None 223 pass224 print(perfil)225 223 context = super(StartView, self).get_context_data(**kwargs) 226 224 context['userprofile'] = perfil
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.