mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 11:23:10 +00:00
Ouverture de ticket pour les utilisaterus non authentifies
This commit is contained in:
parent
13afc5aaeb
commit
2650065787
4 changed files with 45 additions and 10 deletions
|
@ -25,9 +25,12 @@ class EditTicketForm(FormRevMixin, ModelForm):
|
|||
|
||||
class NewTicketForm(ModelForm):
|
||||
""" Creation d'une machine"""
|
||||
|
||||
email = forms.EmailField(required=False)
|
||||
|
||||
class Meta:
|
||||
model = Ticket
|
||||
fields = ['title', 'description']
|
||||
fields = ['title', 'description', 'email']
|
||||
|
||||
#def __init(self,*args, **kwargs):
|
||||
#prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
||||
|
|
|
@ -9,7 +9,9 @@ class Ticket(models.Model):
|
|||
user = models.ForeignKey(
|
||||
'users.User',
|
||||
on_delete=models.CASCADE,
|
||||
related_name="tickets")
|
||||
related_name="tickets",
|
||||
blank=True,
|
||||
null=True)
|
||||
title = models.CharField(
|
||||
max_length=255,
|
||||
help_text=_("Nom du ticket"),
|
||||
|
@ -21,6 +23,10 @@ class Ticket(models.Model):
|
|||
blank=False,
|
||||
null=False)
|
||||
date = models.DateTimeField(auto_now_add=True)
|
||||
email = models.EmailField(
|
||||
help_text = _("Une adresse mail pour vous recontacter"),
|
||||
max_length=100,
|
||||
null=True)
|
||||
assigned_staff = models.ForeignKey(
|
||||
'users.User',
|
||||
on_delete=models.PROTECT,
|
||||
|
|
|
@ -40,9 +40,26 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<form method="post">
|
||||
<form class="form" method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form ticketform %}
|
||||
{% if not user.is_authenticated %}
|
||||
<p>{% trans "Vous n'êtes pas authentifié. Veuillez fournir une adresse mail afin que nous puissions vous recontacter." %}</p>
|
||||
{% bootstrap_field ticketform.email %}
|
||||
{% endif %}
|
||||
{% bootstrap_field ticketform.title %}
|
||||
<br>
|
||||
<p>{% trans "Description de votre problème. Veuillez fournir le plus d'informations possible afin de faciliter la recherche de solution. Voici quelques informations dont nous pourions avoir besoin:" %}</p>
|
||||
<ul class="list">
|
||||
<li>
|
||||
<p> {% trans "Le type de votre problème (adhesion, connexion, paiement ou autre)." %}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p> {% trans "Les conditions dans lesquelles vous rencontrez le problème (Wifi/filaire, sur tout les apareils ou sur un seul. Est-ce une nouvelle machine ?" %}</p>
|
||||
</li>
|
||||
<li>
|
||||
<p> {% trans "Les endroits dans lequels le problème survient (chez vous, dans une partie commune, dans un batiment en particulier)." %}</p>
|
||||
</ul>
|
||||
{% bootstrap_field ticketform.description %}
|
||||
{% bootstrap_button "Ouvrir le Ticket" button_type="submit" icon='ok' button_class='btn-success' %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -20,13 +20,22 @@ def new_ticket(request):
|
|||
ticketform = NewTicketForm(request.POST)
|
||||
|
||||
if ticketform.is_valid():
|
||||
email = ticketform.cleaned_data.get('email')
|
||||
ticket = ticketform.save(commit=False)
|
||||
ticket.user = request.user
|
||||
ticket.save()
|
||||
messages.success(request,'Votre ticket à été ouvert. Nous vous répondront le plus rapidement possible.')
|
||||
return redirect(reverse('users:profil',kwargs={'userid':str(request.user.id)}))
|
||||
else:
|
||||
messages.error(request, 'Formulaire invalide')
|
||||
#raise ValueError("email: {} type: {}".format(email,type(email)))
|
||||
if request.user.is_authenticated:
|
||||
ticket.user = request.user
|
||||
ticket.save()
|
||||
messages.success(request,'Votre ticket à été ouvert. Nous vous répondront le plus rapidement possible.')
|
||||
return redirect(reverse('users:profil',kwargs={'userid':str(request.user.id)}))
|
||||
if not request.user.is_authenticated and email != "":
|
||||
ticket.save()
|
||||
messages.success(request,'Votre ticket à été ouvert. Nous vous répondront le plus rapidement possible.')
|
||||
return redirect(reverse('index'))
|
||||
else:
|
||||
messages.error(request,"Vous n'êtes pas authentifié, veuillez vous authentifier ou fournir une adresse mail pour que nous puissions vous recontacter")
|
||||
return form({'ticketform':ticketform,},'tickets/form_ticket.html',request)
|
||||
|
||||
else:
|
||||
ticketform = NewTicketForm
|
||||
return form({'ticketform':ticketform,},'tickets/form_ticket.html',request)
|
||||
|
|
Loading…
Reference in a new issue