Commit 65220517 authored by Laouen Fernet's avatar Laouen Fernet Committed by chirac

Mark strings for translation in tickets

parent fe4de10f
......@@ -25,30 +25,30 @@ class Ticket(AclMixin, models.Model):
null=True,
)
title = models.CharField(
max_length=255, help_text=_("Title of the ticket"), blank=False, null=False
max_length=255, help_text=_("Title of the ticket."), blank=False, null=False
)
description = models.TextField(
max_length=3000,
help_text=_("Description of the ticket"),
help_text=_("Description of the ticket."),
blank=False,
null=False,
)
date = models.DateTimeField(auto_now_add=True)
email = models.EmailField(
help_text=_("An email address to get back to you"), max_length=100, null=True
help_text=_("An email address to get back to you."), max_length=100, null=True
)
solved = models.BooleanField(default=False)
class Meta:
permissions = (("view_tickets", _("Can view a ticket object")),)
verbose_name = _("Ticket")
verbose_name_plural = _("Tickets")
verbose_name = _("ticket")
verbose_name_plural = _("tickets")
def __str__(self):
if self.user:
return "Ticket from {}. Date: {}".format(self.user.surname, self.date)
return _("Ticket from %(name)s. Date: %(date)s.").format(name=self.user.surname, date=self.date)
else:
return "Anonymous Ticket. Date: {}".format(self.date)
return _("Anonymous ticket. Date: %s.") % (self.date)
def publish_mail(self):
site_url = GeneralOption.objects.first().main_site_url
......@@ -57,7 +57,7 @@ class Ticket(AclMixin, models.Model):
lang = Preferences.objects.first().mail_language
if lang == 0:
obj = "Nouvelle ouverture de ticket"
obj = "Nouveau ticket ouvert"
template = loader.get_template("tickets/publication_mail_fr")
else:
obj = "New ticket opened"
......
......@@ -7,15 +7,15 @@ class Preferences(models.Model):
publish_address = models.EmailField(
help_text=_(
"Email address to publish the new tickets (leave empty for no publications)"
"Email address to publish the new tickets (leave empty for no publication)."
),
max_length=1000,
null=True,
)
LANG_FR = 0
LANG_EN = 1
LANGUES = ((0, _("Français")), (1, _("English")))
LANGUES = ((0, _("French")), (1, _("English")))
mail_language = models.IntegerField(choices=LANGUES, default=LANG_FR)
class Meta:
verbose_name = _("Ticket's settings")
verbose_name = _("tickets preferences")
......@@ -31,11 +31,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block content %}
<h2> Ticket #{{ticket.id}}
<h2>{% blocktrans with id=ticket.id %}Ticket #{{id}}{% endblocktrans %}
{% if ticket.solved %}
<span class="badge badge-success">{% trans "Solved" %}</span>
{% else %}
<span class="badge badge-danger">{% trans "Not Solved" %}</span>
<span class="badge badge-danger">{% trans "Not solved" %}</span>
{% endif %}
</h2>
......@@ -47,7 +47,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{{ ticket.user.get_full_name }}
</a>
{% else %}
{% trans "Anonymous User" %}
{% trans "Anonymous user" %}
{% endif %}
{{ ticket.date | naturalday}}.
{% if not ticket.user %}
......@@ -57,7 +57,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<div class="panel-body">
<p><b>{% trans "Title:" %}</b> {{ticket.title}}</p>
<p><b>{% trans "Description" %}</b> {{ ticket.description }}</p>
<p><b>{% trans "Description:" %}</b> {{ ticket.description }}</p>
<div class="text-right">
<form class="form" method="post">
......@@ -65,9 +65,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% bootstrap_form changestatusform %}
{% if not ticket.solved %}
{% bootstrap_button "Mark as Solved" button_type="submit" button_class='btn-info' %}
{% trans "Mark as solved" as tr_mark_solved %}
{% bootstrap_button tr_mark_solved button_type="submit" button_class='btn-info' %}
{% else %}
{% bootstrap_button "Mark as not Solved" button_type="submit" button_class='btn-warning' %}
{% trans "Mark as not solved" as tr_mark_not_solved %}
{% bootstrap_button tr_mark_not_solved button_type="submit" button_class='btn-warning' %}
{% endif %}
</form>
</div>
......@@ -76,7 +78,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<div class="text-right">
<a type="button" href="{% url 'tickets:aff-tickets' %}" class="btn btn-primary"><p>{% trans "Tous les tickets" %}</p></a>
<a type="button" href="{% url 'tickets:aff-tickets' %}" class="btn btn-primary"><p>{% trans "All tickets" %}</p></a>
</div>
{% endblock %}
......@@ -32,13 +32,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<hr class="col-sm-12">
<div class="row justify-content-start">
<div class="col-sm-4">
<span class="badge badge-light">{{ nbr_tickets }}</span> {% trans "Tickets" %}
<span class="badge badge-light">{{ nbr_tickets }}</span> {% blocktrans count nb=nbr_tickets %}Ticket{% plural %}Tickets{% endblocktrans %}
</div>
<div class="col-sm-4">
<span class="badge badge-light"> {{ nbr_tickets_unsolved }}</span>{% trans "Not Solved Tickets" %}
<span class="badge badge-light"> {{ nbr_tickets_unsolved }}</span> {% blocktrans count nb=nbr_tickets_unsolved %}Ticket not solved{% plural %}Tickets not solved{% endblocktrans %}
</div>
<div class="col-sm-4">
<span>{% trans "Last Ticket:" %} {{ last_ticket_date }}</span>
<span>{% trans "Last ticket:" %} {{ last_ticket_date }}</span>
</div>
</div>
<hr class="col-sm-12">
......@@ -52,10 +52,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
<thead>
<tr>
<th scope="col"></th>
<th scope="col">User</th>
<th scope="col">Titre</th>
<th scope="col">Date</th>
<th scope="col">Résolu</th>
<th scope="col">{% trans "User" %}</th>
<th scope="col">{% trans "Title" %}</th>
<th scope="col">{% trans "Date" %}</th>
<th scope="col">{% trans "Solved" %}</th>
</tr>
{% for ticket in tickets_list %}
<tr>
......@@ -67,7 +67,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% if ticket.user %}
<td><a href="{% url 'users:profil' ticket.user.id%}" role="button">{{ ticket.user.get_short_name }}</a></td>
{% else %}
<td> Anonyme </td>
<td>{% trans "Anonymous" %}</td>
{% endif %}
<td>{{ ticket.title }}</td>
<td>{{ ticket.date }}</td>
......
{% load i18n %}
<div class="panel panel-info">
<div class="panel-heading"><h4>Tickets</h4></div>
<div class="panel-heading"><h4>{% trans "Tickets" %}</h4></div>
<div class="panel-body">
<div class="row">
<div class="col-sm-9">
{% blocktrans %}If you are experiencing issues with the services offered by {{asso_name}}, you can open a ticket that will be taken care of. If you want to contact us on any other topic, please choose one address below.{% endblocktrans %}
</div>
<div class="col-sm-3"><a class="btn btn-primary" href="{% url 'tickets:new-ticket' %}"><i class="fa fa-ticket"></i> {% trans "Ouvrir un ticket" %}</a></div>
<div class="col-sm-3"><a class="btn btn-primary" href="{% url 'tickets:new-ticket' %}"><i class="fa fa-ticket"></i> {% trans "Open a ticket" %}</a></div>
</div>
</div>
</div>
......@@ -30,7 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block title %}{% trans "Ticket" %}{% endblock %}
{% block content %}
<h2> {% trans "Tickets settings modification" %}</h2>
<h2> {% trans "Editing of tickets preferences" %}</h2>
{% for message in messages %}
<div class="{{ message| bootstrap_message_classes }} alert-dismissable">
......@@ -43,6 +43,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% csrf_token %}
{% bootstrap_field preferencesform.publish_address %}
{% bootstrap_field preferencesform.mail_language %}
{% bootstrap_button "Editer" button_type="submit" icon='ok' button_class='btn-success' %}
{% trans "Edit" as tr_edit %}
{% bootstrap_button tr_edit button_type="submit" icon='ok' button_class='btn-success' %}
</form>
{% endblock %}
{% extends 'machines/sidebar.html' %}
{% extends 'users/sidebar.html' %}
{% comment %}
Re2o est un logiciel d'administration développé initiallement au rezometz. Il
se veut agnostique au réseau considéré, de manière à être installable en
......@@ -31,28 +31,29 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block title %}{% trans "Ticket" %}{% endblock %}
{% block content %}
<h2> Ouverture d'un Ticket </h2>
<h2>{% trans "Ticket opening" %}</h2>
<form class="form" method="post">
{% csrf_token %}
{% if not user.is_authenticated %}
<p>{% trans "Vous n'êtes pas authentifié. Veuillez fournir une adresse mail afin que nous puissions vous recontacter." %}</p>
<p>{% trans "You are not authenticated. Please log in or provide an email address so we can get back to you." %}</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>
<p>{% trans "Description of your problem. Please give as much information as possible to help us searching for a solution. Here is some information we might need:" %}</p>
<ul class="list">
<li>
<p> {% trans "Le type de votre problème (adhesion, connexion, paiement ou autre)." %}</p>
<p> {% trans "The type of your problem (membership, connection, payment etc.)." %}</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>
<p> {% trans "The conditions in which you encounter the problem (Wi-Fi/wired connection, on every machines or only one, on a new machine etc.)." %}</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>
<p> {% trans "The locations where you encounter the problem (in your room, in a common space, in a specific building etc.)." %}</p>
</ul>
{% bootstrap_field ticketform.description %}
{% bootstrap_button "Ouvrir le Ticket" button_type="submit" icon='ok' button_class='btn-success' %}
{% trans "Open the ticket" as tr_open %}
{% bootstrap_button tr_open button_type="submit" icon='ok' button_class='btn-success' %}
</form>
{% endblock %}
......@@ -29,6 +29,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
{% block title%}{% trans "Tickets" %}{% endblock %}
{% block content %}
<h2>{% trans "Tickets" %}</h2>
<h2>{% trans "List of tickets" %}</h2>
{% include 'tickets/aff_tickets.html' with tickets_list=tickets_list %}
{% endblock %}
{% load i18n %}
<li><a href="{% url 'tickets:aff-tickets' %}"><i class="fa fa-ticket"></i> {% trans "Tickets" %}</a></li>
<li><a href="{% url 'tickets:aff-tickets' %}"><i class="fa fa-ticket"></i> {% trans "Manage the tickets" %}</a></li>
{% load i18n %}
<li>
<a href="{% url 'tickets:new-ticket' %}">
<i class="fa fa-ticket"></i> {% trans "Ouvrir un ticket" %}
<i class="fa fa-ticket"></i> {% trans "Open a ticket" %}
</a>
</li>
......@@ -18,11 +18,11 @@
<div class="table-responsive">
<table class="table">
<tr>
<th><p>{% trans "Publication email address"%}</p></th>
<th><p>{% trans "Publication email address" %}</p></th>
{% if preferences.publish_address %}
<td><p>{{ preferences.publish_address }}</p></td>
{% else %}
<td><p>{% trans "Pas d'adresse, les tickets ne sont pas annoncés" %}</p></td>
<td><p>{% trans "No email address, the tickets will not be published." %}</p></td>
{% endif %}
</tr>
<tr>
......
......@@ -3,13 +3,13 @@
<div class="panel panel-default">
<div class="panel-heading clearfix profil" data-parent="#accordion" data-toggle="collapse" data-target="#ticket">
<h3 class="panel-title pull-left">
<i class="fa fa-ticket"></i>{% trans " Tickets" %}
<i class="fa fa-ticket"></i> {% trans "Tickets" %}
</h3>
</div>
<div id="ticket" class="panel-collapse collapse">
<div class="panel-body">
<a class="btn btn-primary btn-sm" role="button" href="{% url 'tickets:new-ticket' %}">
<i class="fa fa-ticket"></i>{% trans " Open a Ticket" %}
<i class="fa fa-ticket"></i> {% trans "Open a ticket" %}
</a>
</div>
<div class="panel-body">
......
......@@ -66,7 +66,7 @@ def new_ticket(request):
messages.success(
request,
_(
"Your ticket has been succesfully open. We will take care of it as soon as possible."
"Your ticket has been succesfully opened. We will take care of it as soon as possible."
),
)
return redirect(
......@@ -77,7 +77,7 @@ def new_ticket(request):
messages.success(
request,
_(
"Your ticket has been succesfully open. We will take care of it as soon as possible."
"Your ticket has been succesfully opened. We will take care of it as soon as possible."
),
)
return redirect(reverse("index"))
......@@ -85,7 +85,7 @@ def new_ticket(request):
messages.error(
request,
_(
"You are not authenticated. Please login or provide an email address so we can get back to you."
"You are not authenticated. Please log in or provide an email address so we can get back to you."
),
)
return form(
......@@ -149,10 +149,10 @@ def edit_preferences(request):
if preferencesform.is_valid():
if preferencesform.changed_data:
preferencesform.save()
messages.success(request, "Préférences des Tickets mises à jour")
messages.success(request, _("The tickets preferences were edited."))
return redirect(reverse("preferences:display-options"))
else:
messages.error(request, "Formulaire Invalide")
messages.error(request, _("Invalid form."))
return form(
{"preferencesform": preferencesform},
"tickets/form_preferences.html",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment