mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-22 14:13:21 +00:00
Improve launderette plannings and admin part
This commit is contained in:
parent
fc170cfc49
commit
ba48adab6d
@ -16,12 +16,17 @@
|
|||||||
{% if user.is_in_group(settings.SITH_MAIN_BOARD_GROUP) or user.is_in_group(settings.SITH_GROUPS['root']['name']) %}
|
{% if user.is_in_group(settings.SITH_MAIN_BOARD_GROUP) or user.is_in_group(settings.SITH_GROUPS['root']['name']) %}
|
||||||
<li><a href="{{ url('subscription:subscription') }}">{% trans %}Subscriptions{% endtrans %}</a></li>
|
<li><a href="{{ url('subscription:subscription') }}">{% trans %}Subscriptions{% endtrans %}</a></li>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<h5>{% trans %}Launderette{% endtrans %}</h5>
|
||||||
|
{% if user.is_in_group(settings.SITH_GROUPS['launderette-admin']['name']) %}
|
||||||
|
<li><a href="{{ url('launderette:launderette_list') }}">{% trans %}Launderette{% endtrans %}</a></li>
|
||||||
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<h4>{% trans %}Counters{% endtrans %}</h4>
|
<h4>{% trans %}Counters{% endtrans %}</h4>
|
||||||
<ul>
|
<ul>
|
||||||
{% if user.is_in_group(settings.SITH_GROUPS['counter-admin']['name']) or user.is_in_group(settings.SITH_GROUPS['root']['name']) %}
|
{% if user.is_in_group(settings.SITH_GROUPS['counter-admin']['name']) or user.is_in_group(settings.SITH_GROUPS['root']['name']) %}
|
||||||
|
<h5>{% trans %}General management{% endtrans %}</h5>
|
||||||
<li><a href="{{ url('counter:admin_list') }}">{% trans %}General counters management{% endtrans %}</a></li>
|
<li><a href="{{ url('counter:admin_list') }}">{% trans %}General counters management{% endtrans %}</a></li>
|
||||||
<li><a href="{{ url('counter:product_list') }}">{% trans %}Products management{% endtrans %}</a></li>
|
<li><a href="{{ url('counter:product_list') }}">{% trans %}Products management{% endtrans %}</a></li>
|
||||||
<li><a href="{{ url('counter:producttype_list') }}">{% trans %}Products type management{% endtrans %}</a></li>
|
<li><a href="{{ url('counter:producttype_list') }}">{% trans %}Products type management{% endtrans %}</a></li>
|
||||||
|
20
launderette/migrations/0003_machine_type.py
Normal file
20
launderette/migrations/0003_machine_type.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('launderette', '0002_auto_20160729_0138'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='machine',
|
||||||
|
name='type',
|
||||||
|
field=models.CharField(choices=[('WASHING', 'Washing'), ('DRYING', 'Drying')], max_length=10, default='WASHING', verbose_name='type'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
22
launderette/migrations/0004_token_start_date.py
Normal file
22
launderette/migrations/0004_token_start_date.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
from django.utils.timezone import utc
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('launderette', '0003_machine_type'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='token',
|
||||||
|
name='start_date',
|
||||||
|
field=models.DateTimeField(default=datetime.datetime(2016, 7, 29, 10, 46, 13, 675691, tzinfo=utc), verbose_name='start date'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
@ -35,6 +35,7 @@ class Launderette(models.Model):
|
|||||||
class Machine(models.Model):
|
class Machine(models.Model):
|
||||||
name = models.CharField(_('name'), max_length=30)
|
name = models.CharField(_('name'), max_length=30)
|
||||||
launderette = models.ForeignKey(Launderette, related_name='machines', verbose_name=_('launderette'))
|
launderette = models.ForeignKey(Launderette, related_name='machines', verbose_name=_('launderette'))
|
||||||
|
type = models.CharField(_('type'), max_length=10, choices=[('WASHING', _('Washing')), ('DRYING', _('Drying'))])
|
||||||
is_working = models.BooleanField(_('is working'), default=True)
|
is_working = models.BooleanField(_('is working'), default=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -49,12 +50,16 @@ class Machine(models.Model):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s - Launderette: %s - Working: %s" % (self.name, self.launderette, self.is_working)
|
return "%s %s" % (self._meta.verbose_name, self.name)
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return reverse('launderette:launderette_details', kwargs={"launderette_id": self.launderette.id})
|
||||||
|
|
||||||
class Token(models.Model):
|
class Token(models.Model):
|
||||||
name = models.IntegerField(_('name'))
|
name = models.IntegerField(_('name'))
|
||||||
launderette = models.ForeignKey(Launderette, related_name='tokens', verbose_name=_('launderette'))
|
launderette = models.ForeignKey(Launderette, related_name='tokens', verbose_name=_('launderette'))
|
||||||
type = models.CharField(_('type'), max_length=10, choices=[('WASHING', _('Washing')), ('DRYING', _('Drying'))])
|
type = models.CharField(_('type'), max_length=10, choices=[('WASHING', _('Washing')), ('DRYING', _('Drying'))])
|
||||||
|
start_date = models.DateTimeField(_('start date'))
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _('Token')
|
verbose_name = _('Token')
|
||||||
@ -81,6 +86,7 @@ class Slot(models.Model):
|
|||||||
return super(Slot, self).full_clean()
|
return super(Slot, self).full_clean()
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.user) + " - " + str(self.start_date)
|
return "User: %s - Date: %s - Type: %s - Machine: %s - Token: %s" % (self.user, self.start_date, self.get_type_display(),
|
||||||
|
self.machine.name, self.token)
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,13 +7,29 @@
|
|||||||
{% macro choose(date) %}
|
{% macro choose(date) %}
|
||||||
<form method="post" action="{{ url('launderette:book_slot', launderette_id=launderette.id) }}" class="inline" style="display:inline">
|
<form method="post" action="{{ url('launderette:book_slot', launderette_id=launderette.id) }}" class="inline" style="display:inline">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<button type="submit" name="slot" value="{{ localtime(date).isoformat() }}"> {% trans %}Choose{% endtrans %} </button>
|
<input type="hidden" name="slot_type" value="{{ slot_type }}">
|
||||||
|
<button type="submit" name="slot" value="{{ date.isoformat() }}">{% trans %}Choose{% endtrans %}</button>
|
||||||
</form>
|
</form>
|
||||||
{% endmacro %}
|
{% endmacro %}
|
||||||
|
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
{% if request.user.is_in_group(settings.SITH_MAIN_MEMBERS_GROUP) %}
|
<h3>{{ launderette }}</h3>
|
||||||
|
<p>
|
||||||
|
<form method="post" action="{{ url('launderette:book_slot', launderette_id=launderette.id) }}"
|
||||||
|
class="inline" style="display:inline">
|
||||||
|
{% csrf_token %}
|
||||||
|
<button type="submit" name="slot_type" value="BOTH" {% if slot_type == "BOTH" -%}style="background: #FF0"{% endif %}>{% trans %}Washing and drying{% endtrans %}</button>
|
||||||
|
</form>
|
||||||
|
<form method="post" action="{{ url('launderette:book_slot', launderette_id=launderette.id) }}" class="inline" style="display:inline">
|
||||||
|
{% csrf_token %}
|
||||||
|
<button type="submit" name="slot_type" value="WASHING" {% if slot_type == "WASHING" -%}style="background: #FF0"{% endif %}>{% trans %}Washing{% endtrans %}</button>
|
||||||
|
</form>
|
||||||
|
<form method="post" action="{{ url('launderette:book_slot', launderette_id=launderette.id) }}" class="inline" style="display:inline">
|
||||||
|
{% csrf_token %}
|
||||||
|
<button type="submit" name="slot_type" value="DRYING" {% if slot_type == "DRYING" -%}style="background: #FF0"{% endif %}>{% trans %}Drying{% endtrans %}</button>
|
||||||
|
</form>
|
||||||
|
</p>
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@ -28,7 +44,7 @@
|
|||||||
{% for hours in planning.values() %}
|
{% for hours in planning.values() %}
|
||||||
<td>
|
<td>
|
||||||
{% if hours[i] %}
|
{% if hours[i] %}
|
||||||
{{ hours[i]|localtime|time(TIME_FORMAT) }} {{ choose(hours[i]) }}
|
{{ hours[i]|time(TIME_FORMAT) }} {{ choose(hours[i]) }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
@ -36,7 +52,6 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
{% endif %}
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,7 +5,14 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
Admin
|
<h3>{% trans %}Machines{% endtrans %}</h3>
|
||||||
|
<p><a href="{{ url('launderette:machine_new') }}?launderette={{ launderette.id }}">{% trans %}New machine{% endtrans %}</a></p>
|
||||||
|
<ul>
|
||||||
|
{% for m in launderette.machines.all() %}
|
||||||
|
<li><a href="{{ url('launderette:machine_edit', machine_id=m.id) }}">{{ m }}</a> -
|
||||||
|
<a href="{{ url('launderette:machine_delete', machine_id=m.id) }}">{% trans %}Delete{% endtrans %}</a></li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
||||||
|
@ -11,6 +11,9 @@ urlpatterns = [
|
|||||||
url(r'^admin/(?P<launderette_id>[0-9]+)$', LaunderetteDetailView.as_view(), name='launderette_details'),
|
url(r'^admin/(?P<launderette_id>[0-9]+)$', LaunderetteDetailView.as_view(), name='launderette_details'),
|
||||||
url(r'^admin/(?P<launderette_id>[0-9]+)/edit$', LaunderetteEditView.as_view(), name='launderette_edit'),
|
url(r'^admin/(?P<launderette_id>[0-9]+)/edit$', LaunderetteEditView.as_view(), name='launderette_edit'),
|
||||||
url(r'^admin/new$', LaunderetteCreateView.as_view(), name='launderette_new'),
|
url(r'^admin/new$', LaunderetteCreateView.as_view(), name='launderette_new'),
|
||||||
|
url(r'^admin/machine/new$', MachineCreateView.as_view(), name='machine_new'),
|
||||||
|
url(r'^admin/machine/(?P<machine_id>[0-9]+)/edit$', MachineEditView.as_view(), name='machine_edit'),
|
||||||
|
url(r'^admin/machine/(?P<machine_id>[0-9]+)/delete$', MachineDeleteView.as_view(), name='machine_delete'),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
import pytz
|
||||||
|
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.views.generic import ListView, DetailView, RedirectView, TemplateView
|
from django.views.generic import ListView, DetailView, RedirectView, TemplateView
|
||||||
@ -7,9 +8,10 @@ from django.views.generic.edit import UpdateView, CreateView, DeleteView, Proces
|
|||||||
from django.forms.models import modelform_factory
|
from django.forms.models import modelform_factory
|
||||||
from django.forms import CheckboxSelectMultiple
|
from django.forms import CheckboxSelectMultiple
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.utils.timezone import make_aware
|
|
||||||
from django.utils import dateparse
|
from django.utils import dateparse
|
||||||
|
from django.core.urlresolvers import reverse_lazy
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
from django.db import transaction
|
||||||
|
|
||||||
from core.models import Page
|
from core.models import Page
|
||||||
from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin, CanCreateMixin
|
from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin, CanCreateMixin
|
||||||
@ -33,27 +35,50 @@ class LaunderetteBookMainView(CanViewMixin, ListView):
|
|||||||
model = Launderette
|
model = Launderette
|
||||||
template_name = 'launderette/launderette_book_choose.jinja'
|
template_name = 'launderette/launderette_book_choose.jinja'
|
||||||
|
|
||||||
class LaunderetteBookView(DetailView):
|
class LaunderetteBookView(CanViewMixin, DetailView):
|
||||||
"""Display the launderette schedule"""
|
"""Display the launderette schedule"""
|
||||||
model = Launderette
|
model = Launderette
|
||||||
pk_url_kwarg = "launderette_id"
|
pk_url_kwarg = "launderette_id"
|
||||||
template_name = 'launderette/launderette_book.jinja'
|
template_name = 'launderette/launderette_book.jinja'
|
||||||
|
|
||||||
def post(self, request, *args, **kwargs):
|
def get(self, request, *args, **kwargs):
|
||||||
self.object = self.get_object()
|
self.slot_type = "BOTH"
|
||||||
if 'slot' in request.POST.keys() and request.user.is_authenticated():
|
self.machines = {}
|
||||||
subscriber = get_subscriber(request.user)
|
|
||||||
if subscriber.is_subscribed():
|
|
||||||
date = dateparse.parse_datetime(request.POST['slot'])
|
|
||||||
for m in self.object.machines.filter(is_working=True).all():
|
|
||||||
slot = Slot.objects.filter(start_date=date, machine=m).first()
|
|
||||||
print(slot)
|
|
||||||
if slot is None:
|
|
||||||
Slot(user=subscriber, start_date=date, machine=m, type="WASHING").save()
|
|
||||||
print("Saved")
|
|
||||||
break
|
|
||||||
return super(LaunderetteBookView, self).get(request, *args, **kwargs)
|
return super(LaunderetteBookView, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def post(self, request, *args, **kwargs):
|
||||||
|
self.slot_type = "BOTH"
|
||||||
|
self.machines = {}
|
||||||
|
with transaction.atomic():
|
||||||
|
self.object = self.get_object()
|
||||||
|
if 'slot_type' in request.POST.keys():
|
||||||
|
self.slot_type = request.POST['slot_type']
|
||||||
|
if 'slot' in request.POST.keys() and request.user.is_authenticated():
|
||||||
|
self.subscriber = get_subscriber(request.user)
|
||||||
|
if self.subscriber.is_subscribed():
|
||||||
|
self.date = dateparse.parse_datetime(request.POST['slot']).replace(tzinfo=pytz.UTC)
|
||||||
|
if self.slot_type == "WASHING":
|
||||||
|
if self.check_slot(self.slot_type):
|
||||||
|
Slot(user=self.subscriber, start_date=self.date, machine=self.machines[self.slot_type], type=self.slot_type).save()
|
||||||
|
elif self.slot_type == "DRYING":
|
||||||
|
if self.check_slot(self.slot_type):
|
||||||
|
Slot(user=self.subscriber, start_date=self.date, machine=self.machines[self.slot_type], type=self.slot_type).save()
|
||||||
|
else:
|
||||||
|
if self.check_slot("WASHING") and self.check_slot("DRYING", self.date + timedelta(hours=1)):
|
||||||
|
Slot(user=self.subscriber, start_date=self.date, machine=self.machines["WASHING"], type="WASHING").save()
|
||||||
|
Slot(user=self.subscriber, start_date=self.date + timedelta(hours=1),
|
||||||
|
machine=self.machines["DRYING"], type="DRYING").save()
|
||||||
|
return super(LaunderetteBookView, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
def check_slot(self, type, date=None):
|
||||||
|
if date is None: date = self.date
|
||||||
|
for m in self.object.machines.filter(is_working=True, type=type).all():
|
||||||
|
slot = Slot.objects.filter(start_date=date, machine=m).first()
|
||||||
|
if slot is None:
|
||||||
|
self.machines[type] = m
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def date_iterator(startDate, endDate, delta=timedelta(days=1)):
|
def date_iterator(startDate, endDate, delta=timedelta(days=1)):
|
||||||
currentDate = startDate
|
currentDate = startDate
|
||||||
@ -65,16 +90,20 @@ class LaunderetteBookView(DetailView):
|
|||||||
""" Add page to the context """
|
""" Add page to the context """
|
||||||
kwargs = super(LaunderetteBookView, self).get_context_data(**kwargs)
|
kwargs = super(LaunderetteBookView, self).get_context_data(**kwargs)
|
||||||
kwargs['planning'] = OrderedDict()
|
kwargs['planning'] = OrderedDict()
|
||||||
start_date = make_aware(datetime.now().replace(hour=0, minute=0, second=0, microsecond=0))
|
kwargs['slot_type'] = self.slot_type
|
||||||
|
start_date = datetime.now().replace(hour=0, minute=0, second=0, microsecond=0, tzinfo=pytz.UTC)
|
||||||
for date in LaunderetteBookView.date_iterator(start_date, start_date+timedelta(days=6), timedelta(days=1)):
|
for date in LaunderetteBookView.date_iterator(start_date, start_date+timedelta(days=6), timedelta(days=1)):
|
||||||
kwargs['planning'][date] = []
|
kwargs['planning'][date] = []
|
||||||
for h in LaunderetteBookView.date_iterator(date, date+timedelta(days=1), timedelta(hours=1)):
|
for h in LaunderetteBookView.date_iterator(date, date+timedelta(days=1), timedelta(hours=1)):
|
||||||
free = False
|
free = False
|
||||||
for m in self.object.machines.filter(is_working=True).all():
|
if self.slot_type == "BOTH" and self.check_slot("WASHING", h) and self.check_slot("DRYING", h + timedelta(hours=1)):
|
||||||
s = Slot.objects.filter(start_date=h, machine=m).first()
|
print("GUY")
|
||||||
if s is None:
|
|
||||||
free = True
|
free = True
|
||||||
if free and make_aware(datetime.now()) < h:
|
elif self.slot_type == "WASHING" and self.check_slot("WASHING", h):
|
||||||
|
free = True
|
||||||
|
elif self.slot_type == "DRYING" and self.check_slot("DRYING", h):
|
||||||
|
free = True
|
||||||
|
if free and datetime.now().replace(tzinfo=pytz.UTC) < h:
|
||||||
kwargs['planning'][date].append(h)
|
kwargs['planning'][date].append(h)
|
||||||
else:
|
else:
|
||||||
kwargs['planning'][date].append(None)
|
kwargs['planning'][date].append(None)
|
||||||
@ -105,5 +134,37 @@ class LaunderetteEditView(CanViewMixin, UpdateView):
|
|||||||
class LaunderetteCreateView(CanCreateMixin, CreateView):
|
class LaunderetteCreateView(CanCreateMixin, CreateView):
|
||||||
"""Create a new launderette"""
|
"""Create a new launderette"""
|
||||||
model = Launderette
|
model = Launderette
|
||||||
fields = ['name', 'sellers']
|
fields = ['name']
|
||||||
template_name = 'core/create.jinja'
|
template_name = 'core/create.jinja'
|
||||||
|
|
||||||
|
|
||||||
|
class MachineEditView(CanEditPropMixin, UpdateView):
|
||||||
|
"""Edit a machine"""
|
||||||
|
model = Machine
|
||||||
|
pk_url_kwarg = "machine_id"
|
||||||
|
fields = ['name', 'launderette', 'type', 'is_working']
|
||||||
|
template_name = 'core/edit.jinja'
|
||||||
|
|
||||||
|
class MachineDeleteView(CanEditPropMixin, DeleteView):
|
||||||
|
"""Edit a machine"""
|
||||||
|
model = Machine
|
||||||
|
pk_url_kwarg = "machine_id"
|
||||||
|
template_name = 'core/delete_confirm.jinja'
|
||||||
|
success_url = reverse_lazy('launderette:launderette_list')
|
||||||
|
|
||||||
|
class MachineCreateView(CanCreateMixin, CreateView):
|
||||||
|
"""Create a new machine"""
|
||||||
|
model = Machine
|
||||||
|
fields = ['name', 'launderette', 'type']
|
||||||
|
template_name = 'core/create.jinja'
|
||||||
|
|
||||||
|
def get_initial(self):
|
||||||
|
ret = super(MachineCreateView, self).get_initial()
|
||||||
|
if 'launderette' in self.request.GET.keys():
|
||||||
|
obj = Launderette.objects.filter(id=int(self.request.GET['launderette'])).first()
|
||||||
|
if obj is not None:
|
||||||
|
ret['launderette'] = obj.id
|
||||||
|
return ret
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Binary file not shown.
@ -6,7 +6,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2016-07-28 20:02+0200\n"
|
"POT-Creation-Date: 2016-07-29 12:46+0200\n"
|
||||||
"PO-Revision-Date: 2016-07-18\n"
|
"PO-Revision-Date: 2016-07-18\n"
|
||||||
"Last-Translator: Skia <skia@libskia.so>\n"
|
"Last-Translator: Skia <skia@libskia.so>\n"
|
||||||
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
"Language-Team: AE info <ae.info@utbm.fr>\n"
|
||||||
@ -19,7 +19,7 @@ msgstr ""
|
|||||||
#: accounting/models.py:32 accounting/models.py:55 accounting/models.py:94
|
#: accounting/models.py:32 accounting/models.py:55 accounting/models.py:94
|
||||||
#: club/models.py:18 counter/models.py:38 counter/models.py:63
|
#: club/models.py:18 counter/models.py:38 counter/models.py:63
|
||||||
#: counter/models.py:91 launderette/models.py:12 launderette/models.py:36
|
#: counter/models.py:91 launderette/models.py:12 launderette/models.py:36
|
||||||
#: launderette/models.py:52
|
#: launderette/models.py:59
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr "nom"
|
msgstr "nom"
|
||||||
|
|
||||||
@ -32,7 +32,7 @@ msgid "account number"
|
|||||||
msgstr "numero de compte"
|
msgstr "numero de compte"
|
||||||
|
|
||||||
#: accounting/models.py:92 club/models.py:109 counter/models.py:237
|
#: accounting/models.py:92 club/models.py:109 counter/models.py:237
|
||||||
#: launderette/models.py:68
|
#: launderette/models.py:62 launderette/models.py:76
|
||||||
msgid "start date"
|
msgid "start date"
|
||||||
msgstr "date de début"
|
msgstr "date de début"
|
||||||
|
|
||||||
@ -116,12 +116,12 @@ msgstr "Il n'y a pas de types comptable dans ce site web."
|
|||||||
#: accounting/templates/accounting/bank_account_details.jinja:5
|
#: accounting/templates/accounting/bank_account_details.jinja:5
|
||||||
#: accounting/templates/accounting/club_account_details.jinja:5
|
#: accounting/templates/accounting/club_account_details.jinja:5
|
||||||
#: accounting/templates/accounting/journal_details.jinja:5
|
#: accounting/templates/accounting/journal_details.jinja:5
|
||||||
#: core/templates/core/user_tools.jinja:38
|
#: core/templates/core/user_tools.jinja:43
|
||||||
msgid "Accounting"
|
msgid "Accounting"
|
||||||
msgstr "Comptabilité"
|
msgstr "Comptabilité"
|
||||||
|
|
||||||
#: accounting/templates/accounting/bank_account_details.jinja:8
|
#: accounting/templates/accounting/bank_account_details.jinja:8
|
||||||
#: core/templates/core/user_tools.jinja:45
|
#: core/templates/core/user_tools.jinja:50
|
||||||
msgid "Bank account: "
|
msgid "Bank account: "
|
||||||
msgstr "Compte en banque : "
|
msgstr "Compte en banque : "
|
||||||
|
|
||||||
@ -148,7 +148,7 @@ msgstr "Nouveau compte club"
|
|||||||
#: accounting/templates/accounting/journal_details.jinja:51
|
#: accounting/templates/accounting/journal_details.jinja:51
|
||||||
#: club/templates/club/club_detail.jinja:7 core/templates/core/page.jinja:31
|
#: club/templates/club/club_detail.jinja:7 core/templates/core/page.jinja:31
|
||||||
#: core/templates/core/user_base.jinja:8
|
#: core/templates/core/user_base.jinja:8
|
||||||
#: core/templates/core/user_tools.jinja:32
|
#: core/templates/core/user_tools.jinja:37
|
||||||
#: counter/templates/counter/counter_list.jinja:15
|
#: counter/templates/counter/counter_list.jinja:15
|
||||||
#: counter/templates/counter/counter_list.jinja:18
|
#: counter/templates/counter/counter_list.jinja:18
|
||||||
#: launderette/templates/launderette/launderette_list.jinja:14
|
#: launderette/templates/launderette/launderette_list.jinja:14
|
||||||
@ -158,6 +158,7 @@ msgstr "Éditer"
|
|||||||
#: accounting/templates/accounting/bank_account_details.jinja:19
|
#: accounting/templates/accounting/bank_account_details.jinja:19
|
||||||
#: accounting/templates/accounting/bank_account_list.jinja:16
|
#: accounting/templates/accounting/bank_account_list.jinja:16
|
||||||
#: core/templates/core/group_list.jinja:13
|
#: core/templates/core/group_list.jinja:13
|
||||||
|
#: launderette/templates/launderette/launderette_detail.jinja:13
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
@ -206,8 +207,6 @@ msgstr "Fin"
|
|||||||
#: accounting/templates/accounting/journal_details.jinja:23
|
#: accounting/templates/accounting/journal_details.jinja:23
|
||||||
#: counter/templates/counter/user_account.jinja:17
|
#: counter/templates/counter/user_account.jinja:17
|
||||||
#: counter/templates/counter/user_account.jinja:63
|
#: counter/templates/counter/user_account.jinja:63
|
||||||
#: launderette/templates/launderette/user_account.jinja:17
|
|
||||||
#: launderette/templates/launderette/user_account.jinja:63
|
|
||||||
msgid "Amount"
|
msgid "Amount"
|
||||||
msgstr "Montant"
|
msgstr "Montant"
|
||||||
|
|
||||||
@ -241,7 +240,6 @@ msgstr "Voir"
|
|||||||
|
|
||||||
#: accounting/templates/accounting/journal_details.jinja:10
|
#: accounting/templates/accounting/journal_details.jinja:10
|
||||||
#: counter/templates/counter/user_account.jinja:9
|
#: counter/templates/counter/user_account.jinja:9
|
||||||
#: launderette/templates/launderette/user_account.jinja:9
|
|
||||||
msgid "Amount: "
|
msgid "Amount: "
|
||||||
msgstr "Montant: "
|
msgstr "Montant: "
|
||||||
|
|
||||||
@ -265,9 +263,6 @@ msgstr "No"
|
|||||||
#: counter/templates/counter/user_account.jinja:15
|
#: counter/templates/counter/user_account.jinja:15
|
||||||
#: counter/templates/counter/user_account.jinja:36
|
#: counter/templates/counter/user_account.jinja:36
|
||||||
#: counter/templates/counter/user_account.jinja:61
|
#: counter/templates/counter/user_account.jinja:61
|
||||||
#: launderette/templates/launderette/user_account.jinja:15
|
|
||||||
#: launderette/templates/launderette/user_account.jinja:36
|
|
||||||
#: launderette/templates/launderette/user_account.jinja:61
|
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr "Date"
|
msgstr "Date"
|
||||||
|
|
||||||
@ -320,7 +315,7 @@ msgid "You can not make loops in clubs"
|
|||||||
msgstr "Vous ne pouvez pas faire de boucles dans les clubs"
|
msgstr "Vous ne pouvez pas faire de boucles dans les clubs"
|
||||||
|
|
||||||
#: club/models.py:107 eboutic/models.py:12 eboutic/models.py:45
|
#: club/models.py:107 eboutic/models.py:12 eboutic/models.py:45
|
||||||
#: launderette/models.py:72
|
#: launderette/models.py:80
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr "nom d'utilisateur"
|
msgstr "nom d'utilisateur"
|
||||||
|
|
||||||
@ -376,7 +371,6 @@ msgstr "Éditer le club"
|
|||||||
#: core/templates/core/page_prop.jinja:8
|
#: core/templates/core/page_prop.jinja:8
|
||||||
#: core/templates/core/pagerev_edit.jinja:24
|
#: core/templates/core/pagerev_edit.jinja:24
|
||||||
#: counter/templates/counter/counter_edit.jinja:8
|
#: counter/templates/counter/counter_edit.jinja:8
|
||||||
#: launderette/templates/launderette/counter_edit.jinja:8
|
|
||||||
#: subscription/templates/subscription/subscription.jinja:12
|
#: subscription/templates/subscription/subscription.jinja:12
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Sauver"
|
msgstr "Sauver"
|
||||||
@ -406,7 +400,7 @@ msgid "Add"
|
|||||||
msgstr "Ajouter"
|
msgstr "Ajouter"
|
||||||
|
|
||||||
#: club/templates/club/club_tools.jinja:4
|
#: club/templates/club/club_tools.jinja:4
|
||||||
#: core/templates/core/user_tools.jinja:56
|
#: core/templates/core/user_tools.jinja:61
|
||||||
msgid "Club tools"
|
msgid "Club tools"
|
||||||
msgstr "Outils club"
|
msgstr "Outils club"
|
||||||
|
|
||||||
@ -605,7 +599,6 @@ msgstr "Confirmation"
|
|||||||
|
|
||||||
#: core/templates/core/delete_confirm.jinja:8
|
#: core/templates/core/delete_confirm.jinja:8
|
||||||
#: counter/templates/counter/counter_click.jinja:67
|
#: counter/templates/counter/counter_click.jinja:67
|
||||||
#: launderette/templates/launderette/counter_click.jinja:67
|
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuler"
|
msgstr "Annuler"
|
||||||
|
|
||||||
@ -656,7 +649,6 @@ msgstr "Merci de vous identifier pour voir cette page."
|
|||||||
|
|
||||||
#: core/templates/core/login.jinja:22
|
#: core/templates/core/login.jinja:22
|
||||||
#: counter/templates/counter/counter_main.jinja:48
|
#: counter/templates/counter/counter_main.jinja:48
|
||||||
#: launderette/templates/launderette/counter_main.jinja:48
|
|
||||||
msgid "login"
|
msgid "login"
|
||||||
msgstr "login"
|
msgstr "login"
|
||||||
|
|
||||||
@ -890,27 +882,39 @@ msgstr "Gestion de Sith"
|
|||||||
msgid "Subscriptions"
|
msgid "Subscriptions"
|
||||||
msgstr "Cotisations"
|
msgstr "Cotisations"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:22
|
#: core/templates/core/user_tools.jinja:19
|
||||||
|
#: core/templates/core/user_tools.jinja:21 launderette/models.py:16
|
||||||
|
#: launderette/templates/launderette/launderette_book.jinja:4
|
||||||
|
#: launderette/templates/launderette/launderette_book_choose.jinja:4
|
||||||
|
#: launderette/templates/launderette/launderette_main.jinja:4
|
||||||
|
msgid "Launderette"
|
||||||
|
msgstr "Laverie"
|
||||||
|
|
||||||
|
#: core/templates/core/user_tools.jinja:26
|
||||||
msgid "Counters"
|
msgid "Counters"
|
||||||
msgstr "Comptoirs"
|
msgstr "Comptoirs"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:25
|
#: core/templates/core/user_tools.jinja:29
|
||||||
|
msgid "General management"
|
||||||
|
msgstr "Gestion générale"
|
||||||
|
|
||||||
|
#: core/templates/core/user_tools.jinja:30
|
||||||
msgid "General counters management"
|
msgid "General counters management"
|
||||||
msgstr "Gestion générale des comptoirs"
|
msgstr "Gestion générale des comptoirs"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:26
|
#: core/templates/core/user_tools.jinja:31
|
||||||
msgid "Products management"
|
msgid "Products management"
|
||||||
msgstr "Gestion des produits"
|
msgstr "Gestion des produits"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:27
|
#: core/templates/core/user_tools.jinja:32
|
||||||
msgid "Products type management"
|
msgid "Products type management"
|
||||||
msgstr "Gestion des types de produit"
|
msgstr "Gestion des types de produit"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:41
|
#: core/templates/core/user_tools.jinja:46
|
||||||
msgid "General accounting"
|
msgid "General accounting"
|
||||||
msgstr "Comptabilité générale"
|
msgstr "Comptabilité générale"
|
||||||
|
|
||||||
#: core/templates/core/user_tools.jinja:49
|
#: core/templates/core/user_tools.jinja:54
|
||||||
msgid "Club account: "
|
msgid "Club account: "
|
||||||
msgstr "Compte club : "
|
msgstr "Compte club : "
|
||||||
|
|
||||||
@ -993,70 +997,56 @@ msgid "permanency"
|
|||||||
msgstr "permanence"
|
msgstr "permanence"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:20
|
#: counter/templates/counter/counter_click.jinja:20
|
||||||
#: launderette/templates/launderette/counter_click.jinja:20
|
|
||||||
msgid "Counter"
|
msgid "Counter"
|
||||||
msgstr "Comptoir"
|
msgstr "Comptoir"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:22
|
#: counter/templates/counter/counter_click.jinja:22
|
||||||
#: launderette/templates/launderette/counter_click.jinja:22
|
|
||||||
msgid "Club: "
|
msgid "Club: "
|
||||||
msgstr "Club : "
|
msgstr "Club : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:25
|
#: counter/templates/counter/counter_click.jinja:25
|
||||||
#: launderette/templates/launderette/counter_click.jinja:25
|
|
||||||
msgid "Customer"
|
msgid "Customer"
|
||||||
msgstr "Client"
|
msgstr "Client"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:30
|
#: counter/templates/counter/counter_click.jinja:30
|
||||||
#: launderette/templates/launderette/counter_click.jinja:30
|
|
||||||
msgid "Refilling"
|
msgid "Refilling"
|
||||||
msgstr "Rechargement"
|
msgstr "Rechargement"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:35
|
#: counter/templates/counter/counter_click.jinja:35
|
||||||
#: counter/templates/counter/counter_click.jinja:48
|
#: counter/templates/counter/counter_click.jinja:48
|
||||||
#: launderette/templates/launderette/counter_click.jinja:35
|
|
||||||
#: launderette/templates/launderette/counter_click.jinja:48
|
|
||||||
msgid "Go"
|
msgid "Go"
|
||||||
msgstr "Valider"
|
msgstr "Valider"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:40
|
#: counter/templates/counter/counter_click.jinja:40
|
||||||
#: launderette/templates/launderette/counter_click.jinja:40
|
|
||||||
msgid "Selling"
|
msgid "Selling"
|
||||||
msgstr "Vente"
|
msgstr "Vente"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:42
|
#: counter/templates/counter/counter_click.jinja:42
|
||||||
#: launderette/templates/launderette/counter_click.jinja:42
|
|
||||||
msgid "Not enough money"
|
msgid "Not enough money"
|
||||||
msgstr "Solde insuffisant"
|
msgstr "Solde insuffisant"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:50
|
#: counter/templates/counter/counter_click.jinja:50
|
||||||
#: eboutic/templates/eboutic/eboutic_main.jinja:23
|
#: eboutic/templates/eboutic/eboutic_main.jinja:23
|
||||||
#: eboutic/templates/eboutic/eboutic_makecommand.jinja:7
|
#: eboutic/templates/eboutic/eboutic_makecommand.jinja:7
|
||||||
#: launderette/templates/launderette/counter_click.jinja:50
|
|
||||||
msgid "Basket: "
|
msgid "Basket: "
|
||||||
msgstr "Panier : "
|
msgstr "Panier : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:58
|
#: counter/templates/counter/counter_click.jinja:58
|
||||||
#: counter/templates/counter/counter_main.jinja:24
|
#: counter/templates/counter/counter_main.jinja:24
|
||||||
#: eboutic/templates/eboutic/eboutic_main.jinja:30
|
#: eboutic/templates/eboutic/eboutic_main.jinja:30
|
||||||
#: launderette/templates/launderette/counter_click.jinja:58
|
|
||||||
#: launderette/templates/launderette/counter_main.jinja:24
|
|
||||||
msgid "Total: "
|
msgid "Total: "
|
||||||
msgstr "Total : "
|
msgstr "Total : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:62
|
#: counter/templates/counter/counter_click.jinja:62
|
||||||
#: launderette/templates/launderette/counter_click.jinja:62
|
|
||||||
msgid "Finish"
|
msgid "Finish"
|
||||||
msgstr "Terminer"
|
msgstr "Terminer"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_click.jinja:69
|
#: counter/templates/counter/counter_click.jinja:69
|
||||||
#: eboutic/templates/eboutic/eboutic_main.jinja:37
|
#: eboutic/templates/eboutic/eboutic_main.jinja:37
|
||||||
#: launderette/templates/launderette/counter_click.jinja:69
|
|
||||||
msgid "Products: "
|
msgid "Products: "
|
||||||
msgstr "Produits : "
|
msgstr "Produits : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_edit.jinja:4
|
#: counter/templates/counter/counter_edit.jinja:4
|
||||||
#: launderette/templates/launderette/counter_edit.jinja:4
|
|
||||||
msgid "Edit counter"
|
msgid "Edit counter"
|
||||||
msgstr "Éditer le comptoir"
|
msgstr "Éditer le comptoir"
|
||||||
|
|
||||||
@ -1074,135 +1064,107 @@ msgid "There is no counters in this website."
|
|||||||
msgstr "Il n'y a pas de comptoirs dans ce site web."
|
msgstr "Il n'y a pas de comptoirs dans ce site web."
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:12
|
#: counter/templates/counter/counter_main.jinja:12
|
||||||
#: launderette/templates/launderette/counter_main.jinja:12
|
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(counter_name)s counter"
|
msgid "%(counter_name)s counter"
|
||||||
msgstr "Comptoir %(counter_name)s"
|
msgstr "Comptoir %(counter_name)s"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:15
|
#: counter/templates/counter/counter_main.jinja:15
|
||||||
#: launderette/templates/launderette/counter_main.jinja:15
|
|
||||||
msgid "Sellings"
|
msgid "Sellings"
|
||||||
msgstr "Ventes"
|
msgstr "Ventes"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:17
|
#: counter/templates/counter/counter_main.jinja:17
|
||||||
#: launderette/templates/launderette/counter_main.jinja:17
|
|
||||||
msgid "Last selling: "
|
msgid "Last selling: "
|
||||||
msgstr "Dernière vente : "
|
msgstr "Dernière vente : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:18
|
#: counter/templates/counter/counter_main.jinja:18
|
||||||
#: launderette/templates/launderette/counter_main.jinja:18
|
|
||||||
msgid "Client: "
|
msgid "Client: "
|
||||||
msgstr "Client : "
|
msgstr "Client : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:18
|
#: counter/templates/counter/counter_main.jinja:18
|
||||||
#: launderette/templates/launderette/counter_main.jinja:18
|
|
||||||
msgid "New amount: "
|
msgid "New amount: "
|
||||||
msgstr "Nouveau montant : "
|
msgstr "Nouveau montant : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:27
|
#: counter/templates/counter/counter_main.jinja:27
|
||||||
#: launderette/templates/launderette/counter_main.jinja:27
|
|
||||||
msgid "Enter client code:"
|
msgid "Enter client code:"
|
||||||
msgstr "Entrez un code client : "
|
msgstr "Entrez un code client : "
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:31
|
#: counter/templates/counter/counter_main.jinja:31
|
||||||
#: launderette/templates/launderette/counter_main.jinja:31
|
|
||||||
msgid "validate"
|
msgid "validate"
|
||||||
msgstr "valider"
|
msgstr "valider"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:34
|
#: counter/templates/counter/counter_main.jinja:34
|
||||||
#: launderette/templates/launderette/counter_main.jinja:34
|
|
||||||
msgid "Please, login"
|
msgid "Please, login"
|
||||||
msgstr "Merci de vous identifier"
|
msgstr "Merci de vous identifier"
|
||||||
|
|
||||||
#: counter/templates/counter/counter_main.jinja:39
|
#: counter/templates/counter/counter_main.jinja:39
|
||||||
#: launderette/templates/launderette/counter_main.jinja:39
|
|
||||||
msgid "Barman: "
|
msgid "Barman: "
|
||||||
msgstr "Barman : "
|
msgstr "Barman : "
|
||||||
|
|
||||||
#: counter/templates/counter/product_list.jinja:4
|
#: counter/templates/counter/product_list.jinja:4
|
||||||
#: counter/templates/counter/product_list.jinja:10
|
#: counter/templates/counter/product_list.jinja:10
|
||||||
#: launderette/templates/launderette/product_list.jinja:4
|
|
||||||
#: launderette/templates/launderette/product_list.jinja:10
|
|
||||||
msgid "Product list"
|
msgid "Product list"
|
||||||
msgstr "Liste des produits"
|
msgstr "Liste des produits"
|
||||||
|
|
||||||
#: counter/templates/counter/product_list.jinja:8
|
#: counter/templates/counter/product_list.jinja:8
|
||||||
#: launderette/templates/launderette/product_list.jinja:8
|
|
||||||
msgid "New product"
|
msgid "New product"
|
||||||
msgstr "Nouveau produit"
|
msgstr "Nouveau produit"
|
||||||
|
|
||||||
#: counter/templates/counter/product_list.jinja:17
|
#: counter/templates/counter/product_list.jinja:17
|
||||||
#: launderette/templates/launderette/product_list.jinja:17
|
|
||||||
msgid "There is no products in this website."
|
msgid "There is no products in this website."
|
||||||
msgstr "Il n'y a pas de produits dans ce site web."
|
msgstr "Il n'y a pas de produits dans ce site web."
|
||||||
|
|
||||||
#: counter/templates/counter/producttype_list.jinja:4
|
#: counter/templates/counter/producttype_list.jinja:4
|
||||||
#: counter/templates/counter/producttype_list.jinja:10
|
#: counter/templates/counter/producttype_list.jinja:10
|
||||||
#: launderette/templates/launderette/producttype_list.jinja:4
|
|
||||||
#: launderette/templates/launderette/producttype_list.jinja:10
|
|
||||||
msgid "Product type list"
|
msgid "Product type list"
|
||||||
msgstr "Liste des types de produit"
|
msgstr "Liste des types de produit"
|
||||||
|
|
||||||
#: counter/templates/counter/producttype_list.jinja:8
|
#: counter/templates/counter/producttype_list.jinja:8
|
||||||
#: launderette/templates/launderette/producttype_list.jinja:8
|
|
||||||
msgid "New product type"
|
msgid "New product type"
|
||||||
msgstr "Nouveau type de produit"
|
msgstr "Nouveau type de produit"
|
||||||
|
|
||||||
#: counter/templates/counter/producttype_list.jinja:17
|
#: counter/templates/counter/producttype_list.jinja:17
|
||||||
#: launderette/templates/launderette/producttype_list.jinja:17
|
|
||||||
msgid "There is no product types in this website."
|
msgid "There is no product types in this website."
|
||||||
msgstr "Il n'y a pas de types de produit dans ce site web."
|
msgstr "Il n'y a pas de types de produit dans ce site web."
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:4
|
#: counter/templates/counter/user_account.jinja:4
|
||||||
#: launderette/templates/launderette/user_account.jinja:4
|
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "%(user_name)s's account"
|
msgid "%(user_name)s's account"
|
||||||
msgstr "Compte de %(user_name)s"
|
msgstr "Compte de %(user_name)s"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:8
|
#: counter/templates/counter/user_account.jinja:8
|
||||||
#: launderette/templates/launderette/user_account.jinja:8
|
|
||||||
msgid "User account"
|
msgid "User account"
|
||||||
msgstr "Compte utilisateur"
|
msgstr "Compte utilisateur"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:11
|
#: counter/templates/counter/user_account.jinja:11
|
||||||
#: launderette/templates/launderette/user_account.jinja:11
|
|
||||||
msgid "Refillings"
|
msgid "Refillings"
|
||||||
msgstr "Rechargements"
|
msgstr "Rechargements"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:16
|
#: counter/templates/counter/user_account.jinja:16
|
||||||
#: counter/templates/counter/user_account.jinja:37
|
#: counter/templates/counter/user_account.jinja:37
|
||||||
#: launderette/templates/launderette/user_account.jinja:16
|
|
||||||
#: launderette/templates/launderette/user_account.jinja:37
|
|
||||||
msgid "Barman"
|
msgid "Barman"
|
||||||
msgstr "Barman"
|
msgstr "Barman"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:32
|
#: counter/templates/counter/user_account.jinja:32
|
||||||
#: launderette/templates/launderette/user_account.jinja:32
|
|
||||||
msgid "Buyings"
|
msgid "Buyings"
|
||||||
msgstr "Achats"
|
msgstr "Achats"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:38
|
#: counter/templates/counter/user_account.jinja:38
|
||||||
#: launderette/templates/launderette/user_account.jinja:38
|
|
||||||
msgid "Product"
|
msgid "Product"
|
||||||
msgstr "Produit"
|
msgstr "Produit"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:39
|
#: counter/templates/counter/user_account.jinja:39
|
||||||
#: launderette/templates/launderette/user_account.jinja:39
|
|
||||||
msgid "Quantity"
|
msgid "Quantity"
|
||||||
msgstr "Quantité"
|
msgstr "Quantité"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:40
|
#: counter/templates/counter/user_account.jinja:40
|
||||||
#: launderette/templates/launderette/user_account.jinja:40
|
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
msgstr "Total"
|
msgstr "Total"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:57
|
#: counter/templates/counter/user_account.jinja:57
|
||||||
#: launderette/templates/launderette/user_account.jinja:57
|
|
||||||
msgid "Invoices"
|
msgid "Invoices"
|
||||||
msgstr "Factures"
|
msgstr "Factures"
|
||||||
|
|
||||||
#: counter/templates/counter/user_account.jinja:62
|
#: counter/templates/counter/user_account.jinja:62
|
||||||
#: launderette/templates/launderette/user_account.jinja:62
|
|
||||||
msgid "Items"
|
msgid "Items"
|
||||||
msgstr "Articles"
|
msgstr "Articles"
|
||||||
|
|
||||||
@ -1293,52 +1255,68 @@ msgstr "Vous n'avez pas assez d'argent pour acheter le panier"
|
|||||||
msgid "sellers"
|
msgid "sellers"
|
||||||
msgstr "vendeurs"
|
msgstr "vendeurs"
|
||||||
|
|
||||||
#: launderette/models.py:16
|
#: launderette/models.py:37 launderette/models.py:60
|
||||||
#: launderette/templates/launderette/launderette_book.jinja:4
|
|
||||||
#: launderette/templates/launderette/launderette_main.jinja:4
|
|
||||||
msgid "Launderette"
|
|
||||||
msgstr "Laverie"
|
|
||||||
|
|
||||||
#: launderette/models.py:37 launderette/models.py:53
|
|
||||||
msgid "launderette"
|
msgid "launderette"
|
||||||
msgstr "laverie"
|
msgstr "laverie"
|
||||||
|
|
||||||
#: launderette/models.py:38
|
#: launderette/models.py:38 launderette/models.py:61 launderette/models.py:77
|
||||||
msgid "is working"
|
|
||||||
msgstr "est HS"
|
|
||||||
|
|
||||||
#: launderette/models.py:41
|
|
||||||
msgid "Machine"
|
|
||||||
msgstr "Machine"
|
|
||||||
|
|
||||||
#: launderette/models.py:54 launderette/models.py:69
|
|
||||||
msgid "type"
|
msgid "type"
|
||||||
msgstr "type"
|
msgstr "type"
|
||||||
|
|
||||||
#: launderette/models.py:54 launderette/models.py:69
|
#: launderette/models.py:38 launderette/models.py:61 launderette/models.py:77
|
||||||
|
#: launderette/templates/launderette/launderette_book.jinja:26
|
||||||
msgid "Washing"
|
msgid "Washing"
|
||||||
msgstr "Lavage"
|
msgstr "Lavage"
|
||||||
|
|
||||||
#: launderette/models.py:54 launderette/models.py:69
|
#: launderette/models.py:38 launderette/models.py:61 launderette/models.py:77
|
||||||
|
#: launderette/templates/launderette/launderette_book.jinja:30
|
||||||
msgid "Drying"
|
msgid "Drying"
|
||||||
msgstr "Séchage"
|
msgstr "Séchage"
|
||||||
|
|
||||||
#: launderette/models.py:57
|
#: launderette/models.py:39
|
||||||
|
msgid "is working"
|
||||||
|
msgstr "fonctionne"
|
||||||
|
|
||||||
|
#: launderette/models.py:42
|
||||||
|
msgid "Machine"
|
||||||
|
msgstr "Machine"
|
||||||
|
|
||||||
|
#: launderette/models.py:65
|
||||||
msgid "Token"
|
msgid "Token"
|
||||||
msgstr "Jeton"
|
msgstr "Jeton"
|
||||||
|
|
||||||
#: launderette/models.py:70
|
#: launderette/models.py:78
|
||||||
msgid "machine"
|
msgid "machine"
|
||||||
msgstr "machine"
|
msgstr "machine"
|
||||||
|
|
||||||
#: launderette/models.py:71
|
#: launderette/models.py:79
|
||||||
msgid "token"
|
msgid "token"
|
||||||
msgstr "jeton"
|
msgstr "jeton"
|
||||||
|
|
||||||
|
#: launderette/models.py:83
|
||||||
|
msgid "Slot"
|
||||||
|
msgstr "Créneau"
|
||||||
|
|
||||||
|
#: launderette/templates/launderette/launderette_book.jinja:11
|
||||||
|
msgid "Choose"
|
||||||
|
msgstr "Choisir"
|
||||||
|
|
||||||
|
#: launderette/templates/launderette/launderette_book.jinja:22
|
||||||
|
msgid "Washing and drying"
|
||||||
|
msgstr "Lavage et séchage"
|
||||||
|
|
||||||
#: launderette/templates/launderette/launderette_detail.jinja:4
|
#: launderette/templates/launderette/launderette_detail.jinja:4
|
||||||
msgid "Launderette admin"
|
msgid "Launderette admin"
|
||||||
msgstr "Gestion de la laverie"
|
msgstr "Gestion de la laverie"
|
||||||
|
|
||||||
|
#: launderette/templates/launderette/launderette_detail.jinja:8
|
||||||
|
msgid "Machines"
|
||||||
|
msgstr "Machines"
|
||||||
|
|
||||||
|
#: launderette/templates/launderette/launderette_detail.jinja:9
|
||||||
|
msgid "New machine"
|
||||||
|
msgstr "Nouvelle machine"
|
||||||
|
|
||||||
#: launderette/templates/launderette/launderette_list.jinja:4
|
#: launderette/templates/launderette/launderette_list.jinja:4
|
||||||
#: launderette/templates/launderette/launderette_list.jinja:10
|
#: launderette/templates/launderette/launderette_list.jinja:10
|
||||||
msgid "Launderette admin list"
|
msgid "Launderette admin list"
|
||||||
|
Loading…
Reference in New Issue
Block a user