1
0
mirror of https://gitlab.com/animath/si/plateforme-corres2math.git synced 2025-06-21 20:38:22 +02:00

Add phase update page

This commit is contained in:
Yohann D'ANELLO
2020-10-20 13:14:02 +02:00
parent 168bfc83c9
commit 2d467ef3af
6 changed files with 41 additions and 328 deletions

View File

@ -1,10 +1,11 @@
import re
from bootstrap_datepicker_plus import DateTimePickerInput
from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
from .models import Participation, Team, Video
from .models import Participation, Phase, Team, Video
class TeamForm(forms.ModelForm):
@ -72,3 +73,13 @@ class UploadVideoForm(forms.ModelForm):
class Meta:
model = Video
fields = ('link',)
class PhaseForm(forms.ModelForm):
class Meta:
model = Phase
fields = ('start', 'end',)
widgets = {
'start': DateTimePickerInput(),
'end': DateTimePickerInput(),
}

View File

@ -0,0 +1,14 @@
{% extends "base.html" %}
{% load crispy_forms_filters i18n %}
{% block content %}
<form method="post">
<div id="form-content">
{% csrf_token %}
{{ form|crispy }}
</div>
<button class="btn btn-primary" type="submit">{% trans "Update" %}</button>
</form>
{% endblock content %}

View File

@ -1,7 +1,7 @@
from django.urls import path
from .views import CalendarView, CreateTeamView, JoinTeamView, MyParticipationDetailView, MyTeamDetailView, \
ParticipationDetailView,TeamAuthorizationsView, TeamDetailView, TeamUpdateView, UploadVideoView
ParticipationDetailView, PhaseUpdateView, TeamAuthorizationsView, TeamDetailView, TeamUpdateView, UploadVideoView
app_name = "participation"
@ -17,4 +17,5 @@ urlpatterns = [
path("detail/<int:pk>/", ParticipationDetailView.as_view(), name="participation_detail"),
path("detail/upload-video/<int:pk>/", UploadVideoView.as_view(), name="upload_video"),
path("calendar/", CalendarView.as_view(), name="calendar"),
path("calendar/<int:pk>/", PhaseUpdateView.as_view(), name="update_phase"),
]

View File

@ -3,6 +3,7 @@ import os
from zipfile import ZipFile
from corres2math.lists import get_sympa_client
from corres2math.views import AdminMixin
from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import PermissionDenied
from django.core.mail import send_mail
@ -17,7 +18,7 @@ from django_tables2 import SingleTableView
from magic import Magic
from registration.models import AdminRegistration
from .forms import JoinTeamForm, ParticipationForm, RequestValidationForm, TeamForm, UploadVideoForm,\
from .forms import JoinTeamForm, ParticipationForm, PhaseForm, RequestValidationForm, TeamForm, UploadVideoForm,\
ValidateParticipationForm
from .models import Participation, Phase, Team, Video
from .tables import CalendarTable
@ -281,3 +282,8 @@ class UploadVideoView(LoginRequiredMixin, UpdateView):
class CalendarView(SingleTableView):
table_class = CalendarTable
model = Phase
class PhaseUpdateView(AdminMixin, UpdateView):
model = Phase
form_class = PhaseForm