Add com app with first parametric texts

This commit is contained in:
Skia 2016-12-21 02:38:21 +01:00
parent 13785fd520
commit 168622a04d
17 changed files with 351 additions and 125 deletions

0
com/__init__.py Normal file
View File

8
com/admin.py Normal file
View File

@ -0,0 +1,8 @@
from django.contrib import admin
from com.models import *
admin.site.register(Sith)

View File

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Sith',
fields=[
('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
('alert_msg', models.TextField(default='', verbose_name='alert message', blank=True)),
('info_msg', models.TextField(default='', verbose_name='info message', blank=True)),
('index_page', models.TextField(default='', verbose_name='index page', blank=True)),
],
),
]

View File

15
com/models.py Normal file
View File

@ -0,0 +1,15 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.conf import settings
class Sith(models.Model):
alert_msg = models.TextField(_("alert message"), default="", blank=True)
info_msg = models.TextField(_("info message"), default="", blank=True)
index_page = models.TextField(_("index page"), default="", blank=True)
def is_owned_by(self, user):
return user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID)
def __str__(self):
return "⛩ Sith ⛩"

35
com/tests.py Normal file
View File

@ -0,0 +1,35 @@
from django.test import TestCase
from django.conf import settings
from django.core.urlresolvers import reverse
from django.core.management import call_command
from core.models import User, RealGroup
from com.models import Sith
class ComTest(TestCase):
def setUp(self):
call_command("populate")
self.skia = User.objects.filter(username="skia").first()
self.com_group = RealGroup.objects.filter(id=settings.SITH_GROUP_COM_ADMIN_ID).first()
self.skia.groups = [self.com_group]
self.skia.save()
self.client.login(username=self.skia.username, password='plop')
def test_alert_msg(self):
response = self.client.post(reverse("com:alert_edit"), {"alert_msg": """
### ALERTE!
**Caaaataaaapuuuulte!!!!**
"""})
r = self.client.get(reverse("core:index"))
self.assertTrue(r.status_code == 200)
self.assertTrue("""<div id="alert_box">\\n <h3>ALERTE!</h3>\\n<p><strong>Caaaataaaapuuuulte!!!!</strong></p>""" in str(r.content))
def test_info_msg(self):
response = self.client.post(reverse("com:info_edit"), {"info_msg": """
### INFO: **Caaaataaaapuuuulte!!!!**
"""})
r = self.client.get(reverse("core:index"))
self.assertTrue(r.status_code == 200)
self.assertTrue("""<div id="info_box">\\n <h3>INFO: <strong>Caaaataaaapuuuulte!!!!</strong></h3>""" in str(r.content))

10
com/urls.py Normal file
View File

@ -0,0 +1,10 @@
from django.conf.urls import url, include
from com.views import *
urlpatterns = [
url(r'^edit/alert$', AlertMsgEditView.as_view(), name='alert_edit'),
url(r'^edit/info$', InfoMsgEditView.as_view(), name='info_edit'),
url(r'^edit/index$', IndexEditView.as_view(), name='index_edit'),
]

55
com/views.py Normal file
View File

@ -0,0 +1,55 @@
from django.shortcuts import render
from django.views.generic.edit import UpdateView
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse, reverse_lazy
from com.models import Sith
from core.views import CanViewMixin, CanEditMixin, CanEditPropMixin, TabedViewMixin
sith = Sith.objects.first
class ComTabsMixin(TabedViewMixin):
def get_tabs_title(self):
return _("Communication administration")
def get_list_of_tabs(self):
tab_list = []
tab_list.append({
'url': reverse('com:index_edit'),
'slug': 'index',
'name': _("Index page"),
})
tab_list.append({
'url': reverse('com:info_edit'),
'slug': 'info',
'name': _("Info message"),
})
tab_list.append({
'url': reverse('com:alert_edit'),
'slug': 'alert',
'name': _("Alert message"),
})
return tab_list
class ComEditView(ComTabsMixin, CanEditPropMixin, UpdateView):
model = Sith
template_name = 'core/edit.jinja'
def get_object(self, queryset=None):
return Sith.objects.first()
class AlertMsgEditView(ComEditView):
fields = ['alert_msg']
current_tab = "alert"
success_url = reverse_lazy('com:alert_edit')
class InfoMsgEditView(ComEditView):
fields = ['info_msg']
current_tab = "info"
success_url = reverse_lazy('com:info_edit')
class IndexEditView(ComEditView):
fields = ['index_page']
current_tab = "index"
success_url = reverse_lazy('com:index_edit')

View File

@ -14,6 +14,7 @@ from accounting.models import GeneralJournal, BankAccount, ClubAccount, Operatio
from club.models import Club, Membership from club.models import Club, Membership
from subscription.models import Subscription from subscription.models import Subscription
from counter.models import Customer, ProductType, Product, Counter from counter.models import Customer, ProductType, Product, Counter
from com.models import Sith
class Command(BaseCommand): class Command(BaseCommand):
help = "Populate a new instance of the Sith AE" help = "Populate a new instance of the Sith AE"
@ -80,6 +81,8 @@ class Command(BaseCommand):
home_root.save() home_root.save()
club_root.save() club_root.save()
Sith().save()
p = Page(name='Index') p = Page(name='Index')
p.set_lock(root) p.set_lock(root)
p.save() p.save()

View File

@ -4,13 +4,13 @@ html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, small, strike, sub, sup, tt, var,
b, u, i, center, b, u, i, center,
dl, dt, dd, ol, ul, li, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, menu, nav, output, ruby, section, summary,
time, mark, audio, video { time, mark, audio, video {
margin: 0; margin: 0;
@ -21,7 +21,7 @@ time, mark, audio, video {
vertical-align: baseline; vertical-align: baseline;
} }
/* HTML5 display-role reset for older browsers */ /* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { footer, header, hgroup, menu, nav, section {
display: block; display: block;
} }

View File

@ -14,6 +14,7 @@ a:active { color: #007BE6; }
/*--------------------------------HEADER-------------------------------*/ /*--------------------------------HEADER-------------------------------*/
#logo { #logo {
margin-left: 5%; margin-left: 5%;
display: inline-block;
} }
header { header {
display: block; display: block;
@ -75,6 +76,29 @@ header form {
background: #bcc; background: #bcc;
} }
#alert_box p, #info_box p {
margin: 0px;
padding: 0px;
}
#alert_box, #info_box {
font-size: smaller;
display: inline-block;
border: solid 1px grey;
vertical-align: top;
padding: 2px;
margin: 4px;
margin-top: 60px;
min-width: 10%;
max-width: 30%;
min-height: 20px;
}
#info_box {
background: cornsilk
}
#alert_box {
background: gold;
}
/*---------------------------------NAV---------------------------------*/ /*---------------------------------NAV---------------------------------*/
nav { nav {
display: block; display: block;

View File

@ -17,6 +17,17 @@
{% if not popup %} {% if not popup %}
<div id="logo"><a href="{{ url('core:index') }}"><img src="{{ static('core/img/logo.png') }}" <div id="logo"><a href="{{ url('core:index') }}"><img src="{{ static('core/img/logo.png') }}"
alt="{% trans %}Logo{% endtrans %}" /></a></div> alt="{% trans %}Logo{% endtrans %}" /></a></div>
{% set sith = get_sith() %}
{% if sith.alert_msg %}
<div id="alert_box">
{{ sith.alert_msg|markdown }}
</div>
{% endif %}
{% if sith.info_msg %}
<div id="info_box">
{{ sith.info_msg|markdown }}
</div>
{% endif %}
<header> <header>
{% if not user.is_authenticated() %} {% if not user.is_authenticated() %}
<a href="{{ url('core:login') }}">{% trans %}Login{% endtrans %}</a> <a href="{{ url('core:login') }}">{% trans %}Login{% endtrans %}</a>

View File

@ -3,9 +3,7 @@
{% block title %} {% block title %}
{% trans %}Welcome!{% endtrans %} {% trans %}Welcome!{% endtrans %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p>{% trans %}Welcome to the new AE's website!{% endtrans %}</p> {{ get_sith().index_page|markdown }}
<p>Ce site supporte pour l'instant toute la gestion de l'argent, c'est à dire les comptes AE, les comptoirs,
l'Eboutic, et la comptabilité</p>
<p>Pour le reste, merci de retourner voir sur l'<a href="https://ae.utbm.fr">ancien site</a></p>
{% endblock %} {% endblock %}

View File

@ -65,7 +65,10 @@
<hr> <hr>
<h4>{% trans %}Communication{% endtrans %}</h4> <h4>{% trans %}Communication{% endtrans %}</h4>
<ul> <ul>
{% if user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) %} {% if user.is_in_group(settings.SITH_GROUP_COM_ADMIN_ID) or user.is_root %}
<li><a href="{{ url('com:index_edit') }}">{% trans %}Edit index page{% endtrans %}</a></li>
<li><a href="{{ url('com:alert_edit') }}">{% trans %}Edit alert message{% endtrans %}</a></li>
<li><a href="{{ url('com:info_edit') }}">{% trans %}Edit information message{% endtrans %}</a></li>
<li><a href="{{ url('core:file_moderation') }}">{% trans %}Moderate files{% endtrans %}</a></li> <li><a href="{{ url('core:file_moderation') }}">{% trans %}Moderate files{% endtrans %}</a></li>
{% endif %} {% endif %}
{% if user.is_in_group(settings.SITH_GROUP_SAS_ADMIN_ID) %} {% if user.is_in_group(settings.SITH_GROUP_SAS_ADMIN_ID) %}

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-12-20 12:24+0100\n" "POT-Creation-Date: 2016-12-21 02:37+0100\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"
@ -85,12 +85,12 @@ msgstr "Compte club"
msgid "%(club_account)s on %(bank_account)s" msgid "%(club_account)s on %(bank_account)s"
msgstr "%(club_account)s sur %(bank_account)s" msgstr "%(club_account)s sur %(bank_account)s"
#: accounting/models.py:142 club/models.py:146 counter/models.py:398 #: accounting/models.py:142 club/models.py:146 counter/models.py:399
#: launderette/models.py:120 #: launderette/models.py:120
msgid "start date" msgid "start date"
msgstr "date de début" msgstr "date de début"
#: accounting/models.py:143 club/models.py:147 counter/models.py:399 #: accounting/models.py:143 club/models.py:147 counter/models.py:400
msgid "end date" msgid "end date"
msgstr "date de fin" msgstr "date de fin"
@ -123,13 +123,13 @@ msgstr "numéro"
msgid "journal" msgid "journal"
msgstr "classeur" msgstr "classeur"
#: accounting/models.py:194 core/models.py:530 core/models.py:876 #: accounting/models.py:194 core/models.py:530 core/models.py:875
#: core/models.py:916 counter/models.py:242 counter/models.py:290 #: core/models.py:915 counter/models.py:242 counter/models.py:290
#: counter/models.py:415 eboutic/models.py:15 eboutic/models.py:48 #: counter/models.py:416 eboutic/models.py:15 eboutic/models.py:48
msgid "date" msgid "date"
msgstr "date" msgstr "date"
#: accounting/models.py:195 counter/models.py:416 #: accounting/models.py:195 counter/models.py:417
msgid "comment" msgid "comment"
msgstr "commentaire" msgstr "commentaire"
@ -190,7 +190,7 @@ msgstr "Compte"
msgid "Company" msgid "Company"
msgstr "Entreprise" msgstr "Entreprise"
#: accounting/models.py:207 sith/settings.py:286 #: accounting/models.py:207 sith/settings.py:296
msgid "Other" msgid "Other"
msgstr "Autre" msgstr "Autre"
@ -678,7 +678,7 @@ msgstr "Vous ne pouvez pas faire de boucles dans les clubs"
msgid "A club with that unix_name already exists" msgid "A club with that unix_name already exists"
msgstr "Un club avec ce nom UNIX existe déjà." msgstr "Un club avec ce nom UNIX existe déjà."
#: club/models.py:144 counter/models.py:396 counter/models.py:413 #: club/models.py:144 counter/models.py:397 counter/models.py:414
#: eboutic/models.py:14 eboutic/models.py:47 launderette/models.py:87 #: eboutic/models.py:14 eboutic/models.py:47 launderette/models.py:87
#: launderette/models.py:124 sas/models.py:131 #: launderette/models.py:124 sas/models.py:131
msgid "user" msgid "user"
@ -844,7 +844,7 @@ msgid "Payment method"
msgstr "Méthode de paiement" msgstr "Méthode de paiement"
#: club/templates/club/club_tools.jinja:4 #: club/templates/club/club_tools.jinja:4
#: core/templates/core/user_tools.jinja:78 #: core/templates/core/user_tools.jinja:81
msgid "Club tools" msgid "Club tools"
msgstr "Outils club" msgstr "Outils club"
@ -868,7 +868,7 @@ msgstr "Membres"
msgid "Old members" msgid "Old members"
msgstr "Anciens membres" msgstr "Anciens membres"
#: club/views.py:49 core/templates/core/base.jinja:53 core/views/user.py:146 #: club/views.py:49 core/templates/core/base.jinja:64 core/views/user.py:146
#: sas/templates/sas/picture.jinja:87 #: sas/templates/sas/picture.jinja:87
msgid "Tools" msgid "Tools"
msgstr "Outils" msgstr "Outils"
@ -900,6 +900,34 @@ msgstr "Date de fin"
msgid "Product" msgid "Product"
msgstr "Produit" msgstr "Produit"
#: com/models.py:6
msgid "alert message"
msgstr "message d'alerte"
#: com/models.py:7
msgid "info message"
msgstr "message d'info"
#: com/models.py:8
msgid "index page"
msgstr "page d'accueil"
#: com/views.py:14
msgid "Communication administration"
msgstr "Administration de la communication"
#: com/views.py:21
msgid "Index page"
msgstr "Page d'accueil"
#: com/views.py:26
msgid "Info message"
msgstr "Message d'info"
#: com/views.py:31
msgid "Alert message"
msgstr "Message d'alerte"
#: core/models.py:29 #: core/models.py:29
msgid "meta group status" msgid "meta group status"
msgstr "status du meta-groupe" msgstr "status du meta-groupe"
@ -1202,7 +1230,7 @@ msgstr "Montrez vos statistiques de compte aux autres"
msgid "file name" msgid "file name"
msgstr "nom du fichier" msgstr "nom du fichier"
#: core/models.py:520 core/models.py:721 #: core/models.py:520 core/models.py:720
msgid "parent" msgid "parent"
msgstr "parent" msgstr "parent"
@ -1222,11 +1250,11 @@ msgstr "miniature"
msgid "owner" msgid "owner"
msgstr "propriétaire" msgstr "propriétaire"
#: core/models.py:525 core/models.py:727 #: core/models.py:525 core/models.py:726
msgid "edit group" msgid "edit group"
msgstr "groupe d'édition" msgstr "groupe d'édition"
#: core/models.py:526 core/models.py:728 #: core/models.py:526 core/models.py:727
msgid "view group" msgid "view group"
msgstr "groupe de vue" msgstr "groupe de vue"
@ -1276,64 +1304,64 @@ msgstr "Un fichier de ce nom existe déjà"
msgid "You must provide a file" msgid "You must provide a file"
msgstr "Vous devez fournir un fichier" msgstr "Vous devez fournir un fichier"
#: core/models.py:670 #: core/models.py:669
msgid "Folder: " msgid "Folder: "
msgstr "Dossier : " msgstr "Dossier : "
#: core/models.py:672 #: core/models.py:671
msgid "File: " msgid "File: "
msgstr "Fichier : " msgstr "Fichier : "
#: core/models.py:720 core/models.py:724 #: core/models.py:719 core/models.py:723
msgid "page name" msgid "page name"
msgstr "nom de la page" msgstr "nom de la page"
#: core/models.py:725 #: core/models.py:724
msgid "owner group" msgid "owner group"
msgstr "groupe propriétaire" msgstr "groupe propriétaire"
#: core/models.py:729 #: core/models.py:728
msgid "lock user" msgid "lock user"
msgstr "utilisateur bloquant" msgstr "utilisateur bloquant"
#: core/models.py:730 #: core/models.py:729
msgid "lock_timeout" msgid "lock_timeout"
msgstr "décompte du déblocage" msgstr "décompte du déblocage"
#: core/models.py:757 #: core/models.py:756
msgid "Duplicate page" msgid "Duplicate page"
msgstr "Une page de ce nom existe déjà" msgstr "Une page de ce nom existe déjà"
#: core/models.py:763 #: core/models.py:762
msgid "Loop in page tree" msgid "Loop in page tree"
msgstr "Boucle dans l'arborescence des pages" msgstr "Boucle dans l'arborescence des pages"
#: core/models.py:873 #: core/models.py:872
msgid "revision" msgid "revision"
msgstr "révision" msgstr "révision"
#: core/models.py:874 #: core/models.py:873
msgid "page title" msgid "page title"
msgstr "titre de la page" msgstr "titre de la page"
#: core/models.py:875 #: core/models.py:874
msgid "page content" msgid "page content"
msgstr "contenu de la page" msgstr "contenu de la page"
#: core/models.py:913 #: core/models.py:912
msgid "url" msgid "url"
msgstr "url" msgstr "url"
#: core/models.py:914 #: core/models.py:913
msgid "param" msgid "param"
msgstr "param" msgstr "param"
#: core/models.py:915 launderette/models.py:60 launderette/models.py:85 #: core/models.py:914 launderette/models.py:60 launderette/models.py:85
#: launderette/models.py:121 #: launderette/models.py:121
msgid "type" msgid "type"
msgstr "type" msgstr "type"
#: core/models.py:917 #: core/models.py:916
msgid "viewed" msgid "viewed"
msgstr "vue" msgstr "vue"
@ -1353,91 +1381,91 @@ msgstr "Bienvenue!"
msgid "Logo" msgid "Logo"
msgstr "Logo" msgstr "Logo"
#: core/templates/core/base.jinja:22 core/templates/core/login.jinja:4 #: core/templates/core/base.jinja:33 core/templates/core/login.jinja:4
#: core/templates/core/password_reset_complete.jinja:5 #: core/templates/core/password_reset_complete.jinja:5
msgid "Login" msgid "Login"
msgstr "Connexion" msgstr "Connexion"
#: core/templates/core/base.jinja:23 core/templates/core/register.jinja:18 #: core/templates/core/base.jinja:34 core/templates/core/register.jinja:18
msgid "Register" msgid "Register"
msgstr "S'enregister" msgstr "S'enregister"
#: core/templates/core/base.jinja:50 #: core/templates/core/base.jinja:61
msgid "View more" msgid "View more"
msgstr "Voir plus" msgstr "Voir plus"
#: core/templates/core/base.jinja:51 #: core/templates/core/base.jinja:62
msgid "Mark all as read" msgid "Mark all as read"
msgstr "Marquer tout commme lu" msgstr "Marquer tout commme lu"
#: core/templates/core/base.jinja:54 #: core/templates/core/base.jinja:65
msgid "Logout" msgid "Logout"
msgstr "Déconnexion" msgstr "Déconnexion"
#: core/templates/core/base.jinja:56 core/templates/core/base.jinja.py:57 #: core/templates/core/base.jinja:67 core/templates/core/base.jinja.py:68
msgid "Search" msgid "Search"
msgstr "Recherche" msgstr "Recherche"
#: core/templates/core/base.jinja:79 #: core/templates/core/base.jinja:90
msgid "Main" msgid "Main"
msgstr "Accueil" msgstr "Accueil"
#: core/templates/core/base.jinja:80 #: core/templates/core/base.jinja:91
msgid "Matmatronch" msgid "Matmatronch"
msgstr "Matmatronch" msgstr "Matmatronch"
#: core/templates/core/base.jinja:81 #: core/templates/core/base.jinja:92
msgid "Wiki" msgid "Wiki"
msgstr "Wiki" msgstr "Wiki"
#: core/templates/core/base.jinja:82 sas/templates/sas/album.jinja:4 #: core/templates/core/base.jinja:93 sas/templates/sas/album.jinja:4
#: sas/templates/sas/main.jinja:4 sas/templates/sas/main.jinja.py:8 #: sas/templates/sas/main.jinja:4 sas/templates/sas/main.jinja.py:8
#: sas/templates/sas/picture.jinja:26 #: sas/templates/sas/picture.jinja:26
msgid "SAS" msgid "SAS"
msgstr "SAS" msgstr "SAS"
#: core/templates/core/base.jinja:83 #: core/templates/core/base.jinja:94
msgid "Forum" msgid "Forum"
msgstr "Forum" msgstr "Forum"
#: core/templates/core/base.jinja:84 #: core/templates/core/base.jinja:95
msgid "Services" msgid "Services"
msgstr "Services" msgstr "Services"
#: core/templates/core/base.jinja:85 core/templates/core/file.jinja:20 #: core/templates/core/base.jinja:96 core/templates/core/file.jinja:20
#: core/views/files.py:50 #: core/views/files.py:50
msgid "Files" msgid "Files"
msgstr "Fichiers" msgstr "Fichiers"
#: core/templates/core/base.jinja:86 #: core/templates/core/base.jinja:97
msgid "Sponsors" msgid "Sponsors"
msgstr "Partenaires" msgstr "Partenaires"
#: core/templates/core/base.jinja:87 #: core/templates/core/base.jinja:98
msgid "Help" msgid "Help"
msgstr "Aide" msgstr "Aide"
#: core/templates/core/base.jinja:120 #: core/templates/core/base.jinja:131
msgid "Contacts" msgid "Contacts"
msgstr "Contacts" msgstr "Contacts"
#: core/templates/core/base.jinja:121 #: core/templates/core/base.jinja:132
msgid "Legal notices" msgid "Legal notices"
msgstr "Mentions légales" msgstr "Mentions légales"
#: core/templates/core/base.jinja:122 #: core/templates/core/base.jinja:133
msgid "Intellectual property" msgid "Intellectual property"
msgstr "Propriété intellectuelle" msgstr "Propriété intellectuelle"
#: core/templates/core/base.jinja:123 #: core/templates/core/base.jinja:134
msgid "Help & Documentation" msgid "Help & Documentation"
msgstr "Aide & Documentation" msgstr "Aide & Documentation"
#: core/templates/core/base.jinja:124 #: core/templates/core/base.jinja:135
msgid "R&D" msgid "R&D"
msgstr "R&D" msgstr "R&D"
#: core/templates/core/base.jinja:126 #: core/templates/core/base.jinja:137
msgid "Site made by good people" msgid "Site made by good people"
msgstr "Site réalisé par des gens bons" msgstr "Site réalisé par des gens bons"
@ -1516,10 +1544,8 @@ msgid "Paste"
msgstr "Coller" msgstr "Coller"
#: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:32 #: core/templates/core/file_detail.jinja:31 sas/templates/sas/album.jinja:32
#, fuzzy
#| msgid "Clear clipboard"
msgid "Clipboard: " msgid "Clipboard: "
msgstr "Vider le presse-papier" msgstr "Presse-papier : "
#: core/templates/core/file_detail.jinja:53 #: core/templates/core/file_detail.jinja:53
msgid "Real name: " msgid "Real name: "
@ -1589,10 +1615,6 @@ msgstr "Liste des groupes"
msgid "New group" msgid "New group"
msgstr "Nouveau groupe" msgstr "Nouveau groupe"
#: core/templates/core/index.jinja:7
msgid "Welcome to the new AE's website!"
msgstr "Bienvenue sur le nouveau site de l'AE ! "
#: core/templates/core/login.jinja:10 #: core/templates/core/login.jinja:10
msgid "Your username and password didn't match. Please try again." msgid "Your username and password didn't match. Please try again."
msgstr "" msgstr ""
@ -2122,10 +2144,22 @@ msgid "Communication"
msgstr "Communication" msgstr "Communication"
#: core/templates/core/user_tools.jinja:69 #: core/templates/core/user_tools.jinja:69
msgid "Edit index page"
msgstr "Éditer la page d'accueil"
#: core/templates/core/user_tools.jinja:70
msgid "Edit alert message"
msgstr "Éditer le message d'alerte"
#: core/templates/core/user_tools.jinja:71
msgid "Edit information message"
msgstr "Éditer le message d'informations"
#: core/templates/core/user_tools.jinja:72
msgid "Moderate files" msgid "Moderate files"
msgstr "Modérer les fichiers" msgstr "Modérer les fichiers"
#: core/templates/core/user_tools.jinja:72 #: core/templates/core/user_tools.jinja:75
msgid "Moderate pictures" msgid "Moderate pictures"
msgstr "Modérer les photos" msgstr "Modérer les photos"
@ -2249,7 +2283,7 @@ msgstr "groupe d'achat"
msgid "archived" msgid "archived"
msgstr "archivé" msgstr "archivé"
#: counter/models.py:113 counter/models.py:496 #: counter/models.py:113 counter/models.py:497
msgid "product" msgid "product"
msgstr "produit" msgstr "produit"
@ -2274,7 +2308,7 @@ msgstr "Bureau"
#: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_main.jinja:24
#: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8
#: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4
#: sith/settings.py:285 sith/settings.py:293 #: sith/settings.py:295 sith/settings.py:303
msgid "Eboutic" msgid "Eboutic"
msgstr "Eboutic" msgstr "Eboutic"
@ -2286,7 +2320,7 @@ msgstr "vendeurs"
msgid "token" msgid "token"
msgstr "jeton" msgstr "jeton"
#: counter/models.py:142 counter/models.py:397 counter/models.py:414 #: counter/models.py:142 counter/models.py:398 counter/models.py:415
#: launderette/models.py:14 #: launderette/models.py:14
msgid "counter" msgid "counter"
msgstr "comptoir" msgstr "comptoir"
@ -2307,7 +2341,7 @@ msgstr "rechargement"
msgid "unit price" msgid "unit price"
msgstr "prix unitaire" msgstr "prix unitaire"
#: counter/models.py:287 counter/models.py:486 eboutic/models.py:104 #: counter/models.py:287 counter/models.py:487 eboutic/models.py:104
msgid "quantity" msgid "quantity"
msgstr "quantité" msgstr "quantité"
@ -2315,8 +2349,8 @@ msgstr "quantité"
msgid "Sith account" msgid "Sith account"
msgstr "Compte utilisateur" msgstr "Compte utilisateur"
#: counter/models.py:292 sith/settings.py:278 sith/settings.py:283 #: counter/models.py:292 sith/settings.py:288 sith/settings.py:293
#: sith/settings.py:305 #: sith/settings.py:315
msgid "Credit card" msgid "Credit card"
msgstr "Carte bancaire" msgstr "Carte bancaire"
@ -2342,51 +2376,51 @@ msgstr ""
"Vous avez acheté un Eticket pour l'événement %(event)s.\n" "Vous avez acheté un Eticket pour l'événement %(event)s.\n"
"Vous pouvez le télécharger sur cette page: %(url)s" "Vous pouvez le télécharger sur cette page: %(url)s"
#: counter/models.py:400 #: counter/models.py:401
msgid "last activity date" msgid "last activity date"
msgstr "dernière activité" msgstr "dernière activité"
#: counter/models.py:403 #: counter/models.py:404
msgid "permanency" msgid "permanency"
msgstr "permanence" msgstr "permanence"
#: counter/models.py:417 #: counter/models.py:418
msgid "emptied" msgid "emptied"
msgstr "coffre vidée" msgstr "coffre vidée"
#: counter/models.py:420 #: counter/models.py:421
msgid "cash register summary" msgid "cash register summary"
msgstr "relevé de caisse" msgstr "relevé de caisse"
#: counter/models.py:484 #: counter/models.py:485
msgid "cash summary" msgid "cash summary"
msgstr "relevé" msgstr "relevé"
#: counter/models.py:485 #: counter/models.py:486
msgid "value" msgid "value"
msgstr "valeur" msgstr "valeur"
#: counter/models.py:487 #: counter/models.py:488
msgid "check" msgid "check"
msgstr "chèque" msgstr "chèque"
#: counter/models.py:490 #: counter/models.py:491
msgid "cash register summary item" msgid "cash register summary item"
msgstr "élément de relevé de caisse" msgstr "élément de relevé de caisse"
#: counter/models.py:497 #: counter/models.py:498
msgid "banner" msgid "banner"
msgstr "bannière" msgstr "bannière"
#: counter/models.py:498 #: counter/models.py:499
msgid "event date" msgid "event date"
msgstr "date de l'événement" msgstr "date de l'événement"
#: counter/models.py:499 #: counter/models.py:500
msgid "event title" msgid "event title"
msgstr "titre de l'événement" msgstr "titre de l'événement"
#: counter/models.py:500 #: counter/models.py:501
msgid "secret" msgid "secret"
msgstr "secret" msgstr "secret"
@ -2799,7 +2833,7 @@ msgstr "Le paiement a été effectué"
msgid "Return to eboutic" msgid "Return to eboutic"
msgstr "Retourner à l'eboutic" msgstr "Retourner à l'eboutic"
#: eboutic/views.py:141 #: eboutic/views.py:143
msgid "You do not have enough money to buy the basket" msgid "You do not have enough money to buy the basket"
msgstr "Vous n'avez pas assez d'argent pour acheter le panier" msgstr "Vous n'avez pas assez d'argent pour acheter le panier"
@ -2868,12 +2902,12 @@ msgid "Washing and drying"
msgstr "Lavage et séchage" msgstr "Lavage et séchage"
#: launderette/templates/launderette/launderette_book.jinja:27 #: launderette/templates/launderette/launderette_book.jinja:27
#: sith/settings.py:425 #: sith/settings.py:436
msgid "Washing" msgid "Washing"
msgstr "Lavage" msgstr "Lavage"
#: launderette/templates/launderette/launderette_book.jinja:31 #: launderette/templates/launderette/launderette_book.jinja:31
#: sith/settings.py:425 #: sith/settings.py:436
msgid "Drying" msgid "Drying"
msgstr "Séchage" msgstr "Séchage"
@ -2963,9 +2997,6 @@ msgid "SAS moderation"
msgstr "Modération du SAS" msgstr "Modération du SAS"
#: sas/templates/sas/moderation.jinja:10 #: sas/templates/sas/moderation.jinja:10
msgid "Album"
msgstr "Album"
msgid "Albums" msgid "Albums"
msgstr "Albums" msgstr "Albums"
@ -3018,141 +3049,141 @@ msgstr "Ajouter une personne"
msgid "Apply rights recursively" msgid "Apply rights recursively"
msgstr "Appliquer les droits récursivement" msgstr "Appliquer les droits récursivement"
#: sith/settings.py:165 #: sith/settings.py:175
msgid "English" msgid "English"
msgstr "Anglais" msgstr "Anglais"
#: sith/settings.py:166 #: sith/settings.py:176
msgid "French" msgid "French"
msgstr "Français" msgstr "Français"
#: sith/settings.py:275 sith/settings.py:282 sith/settings.py:303 #: sith/settings.py:285 sith/settings.py:292 sith/settings.py:313
msgid "Check" msgid "Check"
msgstr "Chèque" msgstr "Chèque"
#: sith/settings.py:276 sith/settings.py:284 sith/settings.py:304 #: sith/settings.py:286 sith/settings.py:294 sith/settings.py:314
msgid "Cash" msgid "Cash"
msgstr "Espèces" msgstr "Espèces"
#: sith/settings.py:277 #: sith/settings.py:287
msgid "Transfert" msgid "Transfert"
msgstr "Virement" msgstr "Virement"
#: sith/settings.py:290 #: sith/settings.py:300
msgid "Belfort" msgid "Belfort"
msgstr "Belfort" msgstr "Belfort"
#: sith/settings.py:291 #: sith/settings.py:301
msgid "Sevenans" msgid "Sevenans"
msgstr "Sevenans" msgstr "Sevenans"
#: sith/settings.py:292 #: sith/settings.py:302
msgid "Montbéliard" msgid "Montbéliard"
msgstr "Montbéliard" msgstr "Montbéliard"
#: sith/settings.py:332 #: sith/settings.py:343
msgid "One semester" msgid "One semester"
msgstr "Un semestre, 15 €" msgstr "Un semestre, 15 €"
#: sith/settings.py:337 #: sith/settings.py:348
msgid "Two semesters" msgid "Two semesters"
msgstr "Deux semestres, 28 €" msgstr "Deux semestres, 28 €"
#: sith/settings.py:342 #: sith/settings.py:353
msgid "Common core cursus" msgid "Common core cursus"
msgstr "Cursus tronc commun, 45 €" msgstr "Cursus tronc commun, 45 €"
#: sith/settings.py:347 #: sith/settings.py:358
msgid "Branch cursus" msgid "Branch cursus"
msgstr "Cursus branche, 45 €" msgstr "Cursus branche, 45 €"
#: sith/settings.py:352 #: sith/settings.py:363
msgid "Alternating cursus" msgid "Alternating cursus"
msgstr "Cursus alternant, 30 €" msgstr "Cursus alternant, 30 €"
#: sith/settings.py:357 #: sith/settings.py:368
msgid "Honorary member" msgid "Honorary member"
msgstr "Membre honoraire, 0 €" msgstr "Membre honoraire, 0 €"
#: sith/settings.py:362 #: sith/settings.py:373
msgid "Assidu member" msgid "Assidu member"
msgstr "Membre d'Assidu, 0 €" msgstr "Membre d'Assidu, 0 €"
#: sith/settings.py:367 #: sith/settings.py:378
msgid "Amicale/DOCEO member" msgid "Amicale/DOCEO member"
msgstr "Membre de l'Amicale/DOCEO, 0 €" msgstr "Membre de l'Amicale/DOCEO, 0 €"
#: sith/settings.py:372 #: sith/settings.py:383
msgid "UT network member" msgid "UT network member"
msgstr "Cotisant du réseau UT, 0 €" msgstr "Cotisant du réseau UT, 0 €"
#: sith/settings.py:377 #: sith/settings.py:388
msgid "CROUS member" msgid "CROUS member"
msgstr "Membres du CROUS, 0 €" msgstr "Membres du CROUS, 0 €"
#: sith/settings.py:382 #: sith/settings.py:393
msgid "Sbarro/ESTA member" msgid "Sbarro/ESTA member"
msgstr "Membre de Sbarro ou de l'ESTA, 15 €" msgstr "Membre de Sbarro ou de l'ESTA, 15 €"
#: sith/settings.py:390 #: sith/settings.py:401
msgid "President" msgid "President"
msgstr "Président" msgstr "Président"
#: sith/settings.py:391 #: sith/settings.py:402
msgid "Vice-President" msgid "Vice-President"
msgstr "Vice-Président" msgstr "Vice-Président"
#: sith/settings.py:392 #: sith/settings.py:403
msgid "Treasurer" msgid "Treasurer"
msgstr "Trésorier" msgstr "Trésorier"
#: sith/settings.py:393 #: sith/settings.py:404
msgid "Communication supervisor" msgid "Communication supervisor"
msgstr "Responsable com" msgstr "Responsable com"
#: sith/settings.py:394 #: sith/settings.py:405
msgid "Secretary" msgid "Secretary"
msgstr "Secrétaire" msgstr "Secrétaire"
#: sith/settings.py:395 #: sith/settings.py:406
msgid "IT supervisor" msgid "IT supervisor"
msgstr "Responsable info" msgstr "Responsable info"
#: sith/settings.py:396 #: sith/settings.py:407
msgid "Board member" msgid "Board member"
msgstr "Membre du bureau" msgstr "Membre du bureau"
#: sith/settings.py:397 #: sith/settings.py:408
msgid "Active member" msgid "Active member"
msgstr "Membre actif" msgstr "Membre actif"
#: sith/settings.py:398 #: sith/settings.py:409
msgid "Curious" msgid "Curious"
msgstr "Curieux" msgstr "Curieux"
#: sith/settings.py:432 #: sith/settings.py:443
msgid "New files to be moderated" msgid "New files to be moderated"
msgstr "Nouveaux fichiers à modérer" msgstr "Nouveaux fichiers à modérer"
#: sith/settings.py:433 #: sith/settings.py:444
msgid "New pictures/album to be moderated in the SAS" msgid "New pictures/album to be moderated in the SAS"
msgstr "Nouvelles photos/albums à modérer dans le SAS" msgstr "Nouvelles photos/albums à modérer dans le SAS"
#: sith/settings.py:434 #: sith/settings.py:445
msgid "You've been identified on some pictures" msgid "You've been identified on some pictures"
msgstr "Vous avez été identifié sur des photos" msgstr "Vous avez été identifié sur des photos"
#: sith/settings.py:435 #: sith/settings.py:446
#, python-format #, python-format
msgid "You just refilled of %s €" msgid "You just refilled of %s €"
msgstr "Vous avez rechargé votre compte de %s €" msgstr "Vous avez rechargé votre compte de %s €"
#: sith/settings.py:436 #: sith/settings.py:447
#, python-format #, python-format
msgid "You just bought %s" msgid "You just bought %s"
msgstr "Vous avez acheté %s" msgstr "Vous avez acheté %s"
#: sith/settings.py:437 #: sith/settings.py:448
msgid "You have a notification" msgid "You have a notification"
msgstr "Vous avez une notification" msgstr "Vous avez une notification"
@ -3191,3 +3222,11 @@ msgstr "Erreur de cotisation"
#: subscription/views.py:50 #: subscription/views.py:50
msgid "A user with that email address already exists" msgid "A user with that email address already exists"
msgstr "Un utilisateur avec cette adresse email existe déjà" msgstr "Un utilisateur avec cette adresse email existe déjà"
#: subscription/views.py:66
msgid "You must either choose an existing user or create a new one properly"
msgstr ""
"Vous devez soit choisir un utilisateur existant, soit en créer un proprement"
#~ msgid "Welcome to the new AE's website!"
#~ msgstr "Bienvenue sur le nouveau site de l'AE ! "

View File

@ -57,6 +57,7 @@ INSTALLED_APPS = (
'api', 'api',
'rootplace', 'rootplace',
'sas', 'sas',
'com',
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
@ -117,6 +118,7 @@ TEMPLATES = [
"Counter": "counter.models.Counter", "Counter": "counter.models.Counter",
"ProductType": "counter.models.ProductType", "ProductType": "counter.models.ProductType",
"timezone": "django.utils.timezone", "timezone": "django.utils.timezone",
"get_sith": "com.views.sith",
}, },
"bytecode_cache": { "bytecode_cache": {
"name": "default", "name": "default",

View File

@ -31,6 +31,7 @@ urlpatterns = [
url(r'^', include('core.urls', namespace="core", app_name="core")), url(r'^', include('core.urls', namespace="core", app_name="core")),
url(r'^rootplace/', include('rootplace.urls', namespace="rootplace", app_name="rootplace")), url(r'^rootplace/', include('rootplace.urls', namespace="rootplace", app_name="rootplace")),
url(r'^subscription/', include('subscription.urls', namespace="subscription", app_name="subscription")), url(r'^subscription/', include('subscription.urls', namespace="subscription", app_name="subscription")),
url(r'^com/', include('com.urls', namespace="com", app_name="com")),
url(r'^club/', include('club.urls', namespace="club", app_name="club")), url(r'^club/', include('club.urls', namespace="club", app_name="club")),
url(r'^counter/', include('counter.urls', namespace="counter", app_name="counter")), url(r'^counter/', include('counter.urls', namespace="counter", app_name="counter")),
url(r'^accounting/', include('accounting.urls', namespace="accounting", app_name="accounting")), url(r'^accounting/', include('accounting.urls', namespace="accounting", app_name="accounting")),