This repository has been archived by the owner on Apr 18, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(#17) Crear área personal para alumnos
Se ha creado un área personal para los alumnos donde pueden ver su información, especialmente sus preferencias, que también podrán modificar a traves de esta nueva area. Este commit únicamente hace las conexiones apropiadas como para que existan las páginas, que sean accesibles por alumnos y que se muestren las preferencias de forma correcta, falta implementar la funcionalidad.
- Loading branch information
Showing
19 changed files
with
312 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,36 @@ | ||
{% extends "gespai/base.html" %} {% block content %} | ||
<div class="container"> | ||
{% if cambio %} {% if messages %} {% for message in messages %} | ||
<div{% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | ||
{% endfor %} {% endif %} | ||
<div class="content-section"> | ||
<h1 class="page-header">Datos del Cambio</h1> | ||
<p><strong>Nombre del becario: </strong>{{ cambio.becario }}</p> | ||
<p><strong>Estado actual del becario: </strong>{{ cambio.becario.get_estado_display }}</p> | ||
<p><strong>Permisos: </strong>{% if cambio.becario.permisos %}Sí{% else %}No{% endif %}</p> | ||
<p><strong>Estado del cambio: </strong>{{ cambio.get_estado_cambio_display }}</p> | ||
<p><strong>Plaza actual del becario: </strong>{% if cambio.becario.plaza_asignada %}{{ cambio.becario.plaza_asignada }}{% else %}Sin plaza{% endif %}</p> | ||
{% if cambio.plaza %} | ||
<p><strong>Plaza del cambio: </strong>{{ cambio.plaza }}</p>{% endif %} | ||
<p><strong>Fecha del cambio: </strong>{{ cambio.fecha_cambio }}</p> | ||
<p><strong>Observaciones: </strong>{{ cambio.observaciones }}</p> | ||
{% if is_osl %} | ||
<form action="" method="POST"> | ||
{% csrf_token %} | ||
<input type="submit" class="btn btn-primary" value="Aceptar cambio" name="aceptar"> | ||
<a href="{% url 'cambios:modificar' cambio.id %}" class="btn btn-primary">Modificar cambio</a> | ||
</form> | ||
{% if cambio %} | ||
{% if messages %} | ||
{% for message in messages %} | ||
<div{% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | ||
{% endfor %} | ||
{% endif %} | ||
<div class="content-section"> | ||
<h1 class="page-header">Datos del Cambio</h1> | ||
<p><strong>Nombre del becario: </strong>{{ cambio.becario }}</p> | ||
<p><strong>Estado actual del becario: </strong>{{ cambio.becario.get_estado_display }}</p> | ||
<p><strong>Permisos: </strong>{% if cambio.becario.permisos %}Sí{% else %}No{% endif %}</p> | ||
<p><strong>Estado del cambio: </strong>{{ cambio.get_estado_cambio_display }}</p> | ||
<p><strong>Plaza actual del becario: </strong>{% if cambio.becario.plaza_asignada %}{{ cambio.becario.plaza_asignada }}{% else %}Sin plaza{% endif %}</p> | ||
{% if cambio.plaza %} | ||
<p><strong>Plaza del cambio: </strong>{{ cambio.plaza }}</p> | ||
{% endif %} | ||
<p><strong>Fecha del cambio: </strong>{{ cambio.fecha_cambio }}</p> | ||
<p><strong>Observaciones: </strong>{{ cambio.observaciones }}</p> | ||
{% if is_osl %} | ||
<form action="" method="POST"> | ||
{% csrf_token %} | ||
<input type="submit" class="btn btn-primary" value="Aceptar cambio" name="aceptar"> | ||
<a href="{% url 'cambios:modificar' cambio.id %}" class="btn btn-primary">Modificar cambio</a> | ||
</form> | ||
{% endif %} | ||
</div> | ||
{% else %} | ||
<div class="content-section"> | ||
<h1 class="page-header">Error</h1> | ||
<div class="alert alert-danger">No se encuentra un cambio con la ID especificada.</div> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% else %} | ||
<div class="content-section"> | ||
<h1 class="page-header">Error</h1> | ||
<div class="alert alert-danger">No se encuentra un cambio con la ID especificada.</div> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from django.contrib import admin | ||
|
||
# Register your models here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
from django.apps import AppConfig | ||
|
||
|
||
class PersonalConfig(AppConfig): | ||
name = 'personal' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
from django import forms | ||
import datetime | ||
|
||
from gestion import models | ||
|
||
class ObservacionesBecarioForm(forms.Form): | ||
|
||
def __init__(self, *args, **kwargs): | ||
self.becario = kwargs.pop('becario') | ||
super(ObservacionesBecarioForm, self).__init__(*args, **kwargs) | ||
if self.becario: | ||
self.fields['observaciones'].initial = self.becario.observaciones | ||
|
||
observaciones = forms.CharField(label="Observaciones", | ||
widget=forms.Textarea(attrs={'cols':50, 'rows':5, 'class': 'form-control'})) | ||
|
||
class CambioBecarioForm(forms.ModelForm): | ||
class Meta: | ||
model = models.CambiosPendientes | ||
exclude = ('becario',) | ||
|
||
def __init__(self, *args, **kwargs): | ||
self.becario = kwargs.pop('becario') | ||
super(CambioBecarioForm, self).__init__(*args, **kwargs) | ||
if self.becario and self.becario.plaza_asignada: | ||
self.fields['plaza'].initial = self.becario.plaza_asignada | ||
|
||
ESTADOS = ( | ||
('A', 'Asignado'), | ||
('R', 'Renuncia'), | ||
('T', 'Traslado'), | ||
) | ||
|
||
plaza = forms.ModelChoiceField( | ||
label="Plaza de cambio", queryset=models.Plaza.objects.all(), required=False, widget=forms.Select(attrs={'class': 'form-control'})) | ||
estado_cambio = forms.ChoiceField(label="Estado de cambio", choices=ESTADOS, widget=forms.Select(attrs={'class': 'form-control'})) | ||
fecha_cambio = forms.DateField(label="Fecha de cambio", widget=forms.SelectDateWidget(attrs={'class': 'form-control'}), | ||
initial=datetime.date.today, required=False) | ||
observaciones = forms.CharField(label="Observaciones del cambio", widget=forms.Textarea(attrs={'cols':50, 'rows':5, 'class': 'form-control'}), | ||
required=False) | ||
|
||
def clean(self): | ||
cleaned_data = super(CambioBecarioForm, self).clean() | ||
estado = cleaned_data.get('estado_cambio') | ||
plaza = cleaned_data.get('plaza') | ||
fecha = cleaned_data.get('fecha_cambio') | ||
|
||
if estado == 'T' and not plaza: | ||
self.add_error('plaza', 'Debe seleccionar una plaza si el cambio es un traslado.') | ||
if estado == 'T' and plaza == self.becario.plaza_asignada: | ||
self.add_error('plaza', 'Un becario no puede ser trasladado a su misma plaza.') | ||
if estado == 'A' and self.becario.estado == 'A': | ||
self.add_error('estado_cambio', 'Si desea asignar al becario a otra plaza, seleccione Traslado como estado de cambio.') | ||
if fecha < datetime.date.today(): | ||
self.add_error('fecha_cambio', 'Seleccione una fecha en el futuro.') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from django.db import models | ||
|
||
# Create your models here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{% extends "gespai/base.html" %} {% block content %} | ||
<div class="container"> | ||
<div class="content-section"> | ||
<h1 class="page-header">Datos del Cambio</h1> | ||
{% if %} | ||
{% if messages %} | ||
{% for message in messages %} | ||
<div{% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | ||
{% endfor %} | ||
{% endif %} | ||
<p><strong>Nombre del becario: </strong>{{ cambio.becario }}</p> | ||
<p><strong>Estado actual del becario: </strong>{{ cambio.becario.get_estado_display }}</p> | ||
<p><strong>Permisos: </strong>{% if cambio.becario.permisos %}Sí{% else %}No{% endif %}</p> | ||
<p><strong>Estado del cambio: </strong>{{ cambio.get_estado_cambio_display }}</p> | ||
<p><strong>Plaza actual del becario: </strong>{% if cambio.becario.plaza_asignada %}{{ cambio.becario.plaza_asignada }}{% else %}Sin plaza{% endif %}</p> | ||
{% if cambio.plaza %} | ||
<p><strong>Plaza del cambio: </strong>{{ cambio.plaza }}</p> | ||
{% endif %} | ||
<p><strong>Fecha del cambio: </strong>{{ cambio.fecha_cambio }}</p> | ||
<p><strong>Observaciones: </strong>{{ cambio.observaciones }}</p> | ||
{% if is_osl %} | ||
<form action="" method="POST"> | ||
{% csrf_token %} | ||
<input type="submit" class="btn btn-primary" value="Aceptar cambio" name="aceptar"> | ||
<a href="{% url 'cambios:modificar' cambio.id %}" class="btn btn-primary">Modificar cambio</a> | ||
</form> | ||
{% endif %} | ||
{% else %} | ||
<div class="alert alert-danger">No se encuentra un cambio con la ID especificada.</div> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
{% extends "gespai/base.html" %} {% block content %} | ||
<div class="container-fluid"> | ||
<h1 class="page-header">Área Personal</h1> | ||
<div class="row"> | ||
<div class="col-lg-10 col-lg-push-1 portal-panels"> | ||
<div class="row"> | ||
<div class="col-xs-12 col-sm-6"> | ||
<div class="panel panel-default"> | ||
<div class="panel-body"> | ||
<div class="row"> | ||
<div class="col-md-2 align-center"> | ||
<i class="fa fa-user fa-5x"></i> | ||
</div> | ||
<div class="col-md-10"> | ||
<h4>Página personal</h4> | ||
<p>Verifique aqui su información personal.</p> | ||
<a class="btn btn-primary btn-sm" href="{% url 'personal:info' %}"><i class="fa fa-angle-double-right"></i> Acceder</a> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
<div class="col-xs-12 col-sm-6"> | ||
<div class="panel panel-default"> | ||
<div class="panel-body"> | ||
<div class="row"> | ||
<div class="col-md-2 align-center"> | ||
<i class="fa fa-pencil-square-o fa-5x"></i> | ||
</div> | ||
<div class="col-md-10"> | ||
<h4>Preferencias</h4> | ||
<p>Consulte o modifique sus preferencias aquí.</p> | ||
<a class="btn btn-primary btn-sm" href="{% url 'personal:preferencias' %}"><i class="fa fa-angle-double-right"></i> Acceder</a> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
{% extends "gespai/base.html" %} {% block content %} | ||
<div class="container"> | ||
<div class="content-section"> | ||
<h1 class="page-header">Datos del Cambio</h1> | ||
{% if %} | ||
{% if messages %} | ||
{% for message in messages %} | ||
<div{% if message.tags %} class="{{ message.tags }}" {% endif %}>{{ message }}</div> | ||
{% endfor %} | ||
{% endif %} | ||
<p><strong>Nombre del becario: </strong>{{ cambio.becario }}</p> | ||
<p><strong>Estado actual del becario: </strong>{{ cambio.becario.get_estado_display }}</p> | ||
<p><strong>Permisos: </strong>{% if cambio.becario.permisos %}Sí{% else %}No{% endif %}</p> | ||
<p><strong>Estado del cambio: </strong>{{ cambio.get_estado_cambio_display }}</p> | ||
<p><strong>Plaza actual del becario: </strong>{% if cambio.becario.plaza_asignada %}{{ cambio.becario.plaza_asignada }}{% else %}Sin plaza{% endif %}</p> | ||
{% if cambio.plaza %} | ||
<p><strong>Plaza del cambio: </strong>{{ cambio.plaza }}</p> | ||
{% endif %} | ||
<p><strong>Fecha del cambio: </strong>{{ cambio.fecha_cambio }}</p> | ||
<p><strong>Observaciones: </strong>{{ cambio.observaciones }}</p> | ||
{% if is_osl %} | ||
<form action="" method="POST"> | ||
{% csrf_token %} | ||
<input type="submit" class="btn btn-primary" value="Aceptar cambio" name="aceptar"> | ||
<a href="{% url 'cambios:modificar' cambio.id %}" class="btn btn-primary">Modificar cambio</a> | ||
</form> | ||
{% endif %} | ||
{% else %} | ||
<div class="alert alert-danger">No se encuentra un cambio con la ID especificada.</div> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
{% extends "gespai/base.html" %} {% block content %} | ||
<div class="container-fluid"> | ||
<div class="content-section"> | ||
<h1 class="page-header">Preferencias</h1> | ||
{% if becario_list %} | ||
<div class="table-responsive"> | ||
<table class="table table-striped table-hover sortable"> | ||
<tr> | ||
<th>Orden</th> | ||
<th>Nombre</th> | ||
</tr> | ||
{% for preferencia in object_list %} | ||
<tr> | ||
<td>{{ preferencia.orden }}</td> | ||
<td>{{ preferencia.nombre }}</td> | ||
</tr> | ||
{% endfor %} | ||
</table> | ||
</div> | ||
</div> | ||
{% else %} | ||
<div class="content-section"> | ||
<h1 class="page-header">Error</h1> | ||
<div class="alert alert-danger">No tienes preferencias guardadas.</div> | ||
</div> | ||
{% endif %} | ||
</div> | ||
{% endblock content %} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
from django.test import TestCase | ||
|
||
# Create your tests here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
from django.conf.urls import url | ||
|
||
from . import views | ||
|
||
app_name = 'personal' | ||
|
||
urlpatterns = [ | ||
url(r'^$', views.IndexView.as_view(), name='index'), | ||
url(r'^info/$', views.InfoView.as_view(), name='info'), | ||
url(r'^preferencias/$', views.ListPreferenciasView.as_view(), name='preferencias'), | ||
] |
Oops, something went wrong.