11 Commits

Author SHA1 Message Date
  Alban Gruin 2386b8d41d templates: bonne année 2019 3 months ago
  Alban Gruin 63925dcadb Merge branch 'ag/tests' into futur 4 months ago
  Alban Gruin 1d0901c8e2 Merge branch 'master' into futur 4 months ago
  Alban Gruin fe83f55800 Version 0.14.4 4 months ago
  Alban Gruin 2340c98a30 doc: mise à jour de la documentation 4 months ago
  Alban Gruin 0edb9451a3 Merge branch 'ag/nique-toi-google' 4 months ago
  Alban Gruin 870e6429b9 templates: ajout d’un message déconseillant l’utilisation de GCalendar 4 months ago
  Alban Gruin 44e17c23fc tests: test du tag format_rooms 8 months ago
  Alban Gruin 49856b7398 Merge branch 'ag/tests' into futur 4 months ago
  Alban Gruin f94afeb958 Merge branch 'ag/nique-toi-google' into futur 4 months ago
  Alban Gruin ef5bcdfb1f templates: ajout d’un message déconseillant l’utilisation de GCalendar 4 months ago
6 changed files with 34 additions and 11 deletions
  1. 1
    1
      Documentation/conf.py
  2. 5
    0
      Documentation/usage/versions.rst
  3. 1
    1
      __init__.py
  4. 1
    1
      templates/calendars.html
  5. 1
    1
      templates/index.html
  6. 25
    7
      tests.py

+ 1
- 1
Documentation/conf.py View File

@@ -15,7 +15,7 @@ copyright = u'%d, Alban Gruin' % year
15 15
 author = u'Alban Gruin'
16 16
 
17 17
 version = u'0.14'
18
-release = u'0.14.3'
18
+release = u'0.14.4'
19 19
 
20 20
 language = 'fr'
21 21
 

+ 5
- 0
Documentation/usage/versions.rst View File

@@ -113,3 +113,8 @@ Version 0.14.3
113 113
    d’une vérification lors de la récupération des pages ; si une page
114 114
    est invalide, elle est re-demandée tant qu’elle est incomplète, et
115 115
    ce trois fois au maximum.
116
+
117
+Version 0.14.4
118
+--------------
119
+ - Ajout d’une liste de logiciels lisant les calendriers au format ICS
120
+   et déconseillant l’usage de Google Calendar.

+ 1
- 1
__init__.py View File

@@ -13,7 +13,7 @@
13 13
 #    You should have received a copy of the GNU Affero General Public License
14 14
 #    along with celcatsanitizer.  If not, see <http://www.gnu.org/licenses/>.
15 15
 
16
-VERSION = "0.14.3"
16
+VERSION = "0.14.4"
17 17
 __version__ = VERSION
18 18
 
19 19
 default_app_config = "edt.apps.EdtConfig"

+ 1
- 1
templates/calendars.html View File

@@ -31,7 +31,7 @@
31 31
         jour entre le changement d’une information sur celcatsanitizer
32 32
         et sa prise en compte sans aucun recours possible.
33 33
         <!-- Le lecteur attentif pourra se demander si il n’y a pas de
34
-conflit d’intérêt entre l’écosystème Android de base, dans lequel
34
+conflit d’intérêt entre l’écosystème Android, dans lequel
35 35
 l’application de base (Agenda) ne peut se synchroniser qu’à Google
36 36
 Calendar à moins d’installer une application tierce (telles que
37 37
 DAVDroid ou ICSDroid, malheureusement payantes sur le Play Store mais

+ 1
- 1
templates/index.html View File

@@ -25,7 +25,7 @@
25 25
       {% endblock %}
26 26
     </div>
27 27
     <footer>
28
-      <p>(c) 2018 &ndash; Alban Gruin &ndash; <a href="{% url "django.contrib.flatpages.views.flatpage" url="contact/" %}">contacter</a> &ndash; celcatsanitizer {{ celcatsanitizer_version }} &ndash; <a href="{% url "django.contrib.flatpages.views.flatpage" url="a-propos/" %}">à propos</a><br />
28
+      <p>(c) 2019 &ndash; Alban Gruin &ndash; <a href="{% url "django.contrib.flatpages.views.flatpage" url="contact/" %}">contacter</a> &ndash; celcatsanitizer {{ celcatsanitizer_version }} &ndash; <a href="{% url "django.contrib.flatpages.views.flatpage" url="a-propos/" %}">à propos</a><br />
29 29
       Design inspiré par <a href="https://bestmotherfucking.website/">https://bestmotherfucking.website/</a></p>
30 30
     </footer>
31 31
   </body>

+ 25
- 7
tests.py View File

@@ -21,6 +21,7 @@ from django.utils import timezone
21 21
 from .management.parsers.abstractparser import ParserError
22 22
 from .management.parsers.ups2018 import Parser as UPS2018Parser
23 23
 from .models import Course, Group, Room, Source, Timetable, Year
24
+from .templatetags.rooms import format_rooms
24 25
 from .utils import tz_now
25 26
 
26 27
 import datetime
@@ -332,13 +333,13 @@ class RoomTestCase(TestCase):
332 333
         group = Group.objects.create(celcat_name="L1 info s2 CMA",
333 334
                                      source=self.source)
334 335
 
335
-        self.rooms = [Room.objects.create(name="0"),
336
-                      Room.objects.create(name="1"),
337
-                      Room.objects.create(name="2"),
338
-                      Room.objects.create(name="3"),
339
-                      Room.objects.create(name="4"),
340
-                      Room.objects.create(name="5"),
341
-                      Room.objects.create(name="6")]
336
+        self.rooms = [
337
+            Room.objects.create(name=str(i))
338
+            for i in range(5)
339
+        ] + [
340
+            Room.objects.create(name="Amphi {}".format(i))
341
+            for i in range(5, 7)
342
+        ]
342 343
 
343 344
         hours = [({"begin": datetime.time(hour=14, minute=0)},),
344 345
                  ({"begin": datetime.time(hour=16, minute=0)},),
@@ -362,6 +363,23 @@ class RoomTestCase(TestCase):
362 363
                 course.groups.add(group)
363 364
                 course.rooms.add(room)
364 365
 
366
+    def test_format(self):
367
+        amphis = self.rooms[-2:]
368
+
369
+        self.assertEqual(format_rooms([]), "")
370
+        self.assertEqual(format_rooms(self.rooms[:1]), "Salle 0")
371
+        self.assertEqual(format_rooms(self.rooms[:2]), "Salles 0, 1")
372
+        self.assertEqual(format_rooms([amphis[0]]), "Amphi 5")
373
+        self.assertEqual(format_rooms(amphis), "Amphi 5, Amphi 6")
374
+        self.assertEqual(format_rooms([amphis[0]] + self.rooms[:1]),
375
+                         "Amphi 5, salle 0")
376
+        self.assertEqual(format_rooms([amphis[0]] + self.rooms[:2]),
377
+                         "Amphi 5, salles 0, 1")
378
+        self.assertEqual(format_rooms(amphis + self.rooms[:1]),
379
+                         "Amphi 5, Amphi 6, salle 0")
380
+        self.assertEqual(format_rooms(amphis + self.rooms[:2]),
381
+                         "Amphi 5, Amphi 6, salles 0, 1")
382
+
365 383
     def test_qsjps(self):
366 384
         begin = timezone.make_aware(datetime.datetime.combine(
367 385
             self.day, datetime.time(hour=15, minute=0)))