Browse Source

Formulario de creación de evento

politica
Celestino Rey 1 year ago
parent
commit
9809f82e31
6 changed files with 50 additions and 3 deletions
  1. BIN
      JugarAlPadel/gestion_reservas/db.sqlite3
  2. +11
    -0
      JugarAlPadel/gestion_reservas/eventos/forms.py
  3. +1
    -0
      JugarAlPadel/gestion_reservas/eventos/urls.py
  4. +21
    -0
      JugarAlPadel/gestion_reservas/eventos/views.py
  5. +16
    -0
      JugarAlPadel/gestion_reservas/templates/base.html
  6. +1
    -3
      JugarAlPadel/gestion_reservas/templates/eventos/crear_evento.html

BIN
JugarAlPadel/gestion_reservas/db.sqlite3 View File


+ 11
- 0
JugarAlPadel/gestion_reservas/eventos/forms.py View File

@ -0,0 +1,11 @@
from django import forms
from .models import Evento
class EventoForm(forms.ModelForm):
class Meta:
model = Evento
fields = ['nombre', 'descripcion', 'fecha', 'plazas_disponibles']
fecha = forms.DateField(widget=forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}))

+ 1
- 0
JugarAlPadel/gestion_reservas/eventos/urls.py View File

@ -7,6 +7,7 @@ urlpatterns = [
path('eventos/', views.lista_eventos, name='lista_eventos'), path('eventos/', views.lista_eventos, name='lista_eventos'),
path('eventos/<int:evento_id>/', views.detalle_evento, name='detalle_evento'), path('eventos/<int:evento_id>/', views.detalle_evento, name='detalle_evento'),
path('eventos/ayuda/', views.ayuda, name='ayuda'), path('eventos/ayuda/', views.ayuda, name='ayuda'),
path('eventos/crear/', views.crear_evento, name='crear_evento'), # URL para crear un evento
path('reservar/<int:evento_id>/', path('reservar/<int:evento_id>/',
views.reservar_evento, name='reservar_evento'), views.reservar_evento, name='reservar_evento'),


+ 21
- 0
JugarAlPadel/gestion_reservas/eventos/views.py View File

@ -1,8 +1,10 @@
from django.shortcuts import render, get_object_or_404, redirect from django.shortcuts import render, get_object_or_404, redirect
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.contrib import messages from django.contrib import messages
from django.contrib.auth.decorators import user_passes_test
from .models import Evento, Reserva from .models import Evento, Reserva
from .forms import EventoForm
@login_required @login_required
@ -54,3 +56,22 @@ def detalle_evento(request, evento_id):
print("Reserva: ", i.usuario.nombre) print("Reserva: ", i.usuario.nombre)
return render(request, 'eventos/detalle_evento.html', {'evento': evento, 'reservas': reservas}) return render(request, 'eventos/detalle_evento.html', {'evento': evento, 'reservas': reservas})
# Verificar si el usuario es administrador
def es_admin(user):
return user.is_staff
@user_passes_test(es_admin)
def crear_evento(request):
if request.method == 'POST':
form = EventoForm(request.POST)
if form.is_valid():
form.save()
messages.success(request, 'Evento creado exitosamente.')
return redirect('eventos:lista_eventos') # Redirige a la lista de eventos
else:
form = EventoForm()
return render(request, 'eventos/crear_evento.html', {'form': form})

+ 16
- 0
JugarAlPadel/gestion_reservas/templates/base.html View File

@ -84,6 +84,22 @@
<span class="nav-link-text">Principal</span> <span class="nav-link-text">Principal</span>
</a><!--//nav-link--> </a><!--//nav-link-->
</li><!--//nav-item--> </li><!--//nav-item-->
{% if user.is_staff %}
<li class="nav-item"></li>
<!--//Bootstrap Icons: https://icons.getbootstrap.com/ -->
<a class="nav-link" href="{% url 'eventos:crear_evento' %}">
<span class="nav-icon">
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-columns-gap" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M6 1H1v3h5V1zM1 0a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1H1zm14 12h-5v3h5v-3zm-5-1a1 1 0 0 0-1 1v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-5zM6 8H1v7h5V8zM1 7a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1H1zm14-6h-5v7h5V1zm-5-1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1h-5z"/>
</svg>
</span>
<span class="nav-link-text">Crear un nuevo evento</span>
</a><!--//nav-link-->
</li><!--//nav-item-->
{% endif %}
<li class="nav-item"> <li class="nav-item">
<!--//Bootstrap Icons: https://icons.getbootstrap.com/ --> <!--//Bootstrap Icons: https://icons.getbootstrap.com/ -->
<a class="nav-link" href="{% url 'eventos:ayuda' %}"> <a class="nav-link" href="{% url 'eventos:ayuda' %}">


JugarAlPadel/gestion_reservas/templates/eventos/form_autor.html → JugarAlPadel/gestion_reservas/templates/eventos/crear_evento.html View File

@ -2,14 +2,12 @@
{% block menuapp %} {% block menuapp %}
{% include 'libros/_menu-libros.html' %}
{% endblock menuapp %} {% endblock menuapp %}
{% block content %} {% block content %}
<div class="column is-4 is-offset-4"> <div class="column is-4 is-offset-4">
<h3>{% if form.instance.pk %}Editar Autor{% else %}Nuevo Autor{% endif %}</h3>
<h3>{% if form.instance.pk %}Editar evento{% else %}Nuevo evento{% endif %}</h3>
<div class="box"> <div class="box">
<form method="POST" enctype="multipart/form-data"> <form method="POST" enctype="multipart/form-data">
{% csrf_token %} {% csrf_token %}

Loading…
Cancel
Save