mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-16 00:13:12 +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):
|
class NewTicketForm(ModelForm):
|
||||||
""" Creation d'une machine"""
|
""" Creation d'une machine"""
|
||||||
|
|
||||||
|
email = forms.EmailField(required=False)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Ticket
|
model = Ticket
|
||||||
fields = ['title', 'description']
|
fields = ['title', 'description', 'email']
|
||||||
|
|
||||||
#def __init(self,*args, **kwargs):
|
#def __init(self,*args, **kwargs):
|
||||||
#prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
#prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
||||||
|
|
|
@ -9,7 +9,9 @@ class Ticket(models.Model):
|
||||||
user = models.ForeignKey(
|
user = models.ForeignKey(
|
||||||
'users.User',
|
'users.User',
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
related_name="tickets")
|
related_name="tickets",
|
||||||
|
blank=True,
|
||||||
|
null=True)
|
||||||
title = models.CharField(
|
title = models.CharField(
|
||||||
max_length=255,
|
max_length=255,
|
||||||
help_text=_("Nom du ticket"),
|
help_text=_("Nom du ticket"),
|
||||||
|
@ -21,6 +23,10 @@ class Ticket(models.Model):
|
||||||
blank=False,
|
blank=False,
|
||||||
null=False)
|
null=False)
|
||||||
date = models.DateTimeField(auto_now_add=True)
|
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(
|
assigned_staff = models.ForeignKey(
|
||||||
'users.User',
|
'users.User',
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
|
|
|
@ -40,9 +40,26 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
<form method="post">
|
<form class="form" method="post">
|
||||||
{% csrf_token %}
|
{% 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' %}
|
{% bootstrap_button "Ouvrir le Ticket" button_type="submit" icon='ok' button_class='btn-success' %}
|
||||||
</form>
|
</form>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -20,13 +20,22 @@ def new_ticket(request):
|
||||||
ticketform = NewTicketForm(request.POST)
|
ticketform = NewTicketForm(request.POST)
|
||||||
|
|
||||||
if ticketform.is_valid():
|
if ticketform.is_valid():
|
||||||
|
email = ticketform.cleaned_data.get('email')
|
||||||
ticket = ticketform.save(commit=False)
|
ticket = ticketform.save(commit=False)
|
||||||
ticket.user = request.user
|
#raise ValueError("email: {} type: {}".format(email,type(email)))
|
||||||
ticket.save()
|
if request.user.is_authenticated:
|
||||||
messages.success(request,'Votre ticket à été ouvert. Nous vous répondront le plus rapidement possible.')
|
ticket.user = request.user
|
||||||
return redirect(reverse('users:profil',kwargs={'userid':str(request.user.id)}))
|
ticket.save()
|
||||||
else:
|
messages.success(request,'Votre ticket à été ouvert. Nous vous répondront le plus rapidement possible.')
|
||||||
messages.error(request, 'Formulaire invalide')
|
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:
|
else:
|
||||||
ticketform = NewTicketForm
|
ticketform = NewTicketForm
|
||||||
return form({'ticketform':ticketform,},'tickets/form_ticket.html',request)
|
return form({'ticketform':ticketform,},'tickets/form_ticket.html',request)
|
||||||
|
|
Loading…
Reference in a new issue