Commit a5ece903 authored by chapeau's avatar chapeau
Browse files

Merge branch 'dev' of https://gitlab.federez.net/re2o/re2o into new_radius_api

parents 06b9f751 d5bdc7fe
Pipeline #3178 failed with stage
in 23 seconds
Gabriel Detraz <chirac@crans.org> <detraz@crans.org>
Gabriel Detraz <chirac@crans.org> <chirac@crans.org>
Gabriel Detraz <chirac@crans.org> <chirac@arachne>
Gabriel Detraz <chirac@crans.org> <chirac@re2o-test.auro.re>
Gabriel Detraz <chirac@crans.org> <chirac@federez.net>
Gabriel Detraz <chirac@crans.org> <chirac@raspberrypi>
Gabriel Detraz <chirac@crans.org> <detraz@re2o-test.crans.org>
Gabriel Detraz <chirac@crans.org> <detraz@re2o.adm.crans.org>
Gabriel Detraz <chirac@crans.org> <chibrac@re2o-server.crans.org>
Gabriel Detraz <chirac@crans.org> <detraz@crans.crans.org>
Gabriel Detraz <chirac@crans.org> <chirac@re2o-server.crans.org>
Gabriel Detraz <chirac@crans.org> <chirac@hydra>
Gabriel Detraz <chirac@crans.org> <chirac@re2o-bcfg2.adm.crans.org>
Gabriel Detraz <chirac@crans.org> <detrazcrans.org>
Gabriel Detraz <chirac@crans.org> <detraz@vo.crans.org>
Maël Kervella <kervella.mael@gmail.com>
Maël Kervella <kervella.mael@gmail.com> <dev@maelkervella.eu>
Maël Kervella <kervella.mael@gmail.com> <mael.kervella@supelec.fr>
Jean-Romain Garnier <jean-romain.garnier@supelec.fr>
Jean-Romain Garnier <jean-romain.garnier@supelec.fr> <git@jean-romain.com>
Hugo Levy-Falk <hugo@klafyvel.me> <hugo.levy--falk@supelec.fr>
Hugo Levy-Falk <hugo@klafyvel.me> <klafyvel@gmail.com>
Hugo Levy-Falk <hugo@klafyvel.me> <klafyvel@klafyvel.me>
Hugo Levy-Falk <hugo@klafyvel.me> <klafyvel@federez.net>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@crans.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@re2o-server.crans.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@re2o-test.crans.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@re2o.adm.crans.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@nazgul.rezometz.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grisel-davy@re2o-test.auro.re>
Arthur Grisel-Davy <grisel-davy@crans.org> <grizzly@crans.org>
Arthur Grisel-Davy <grisel-davy@crans.org> <grizzly@raspberrypi>
Lara Kermarec <lhark@lharktop> <lhark@lharktop>
Lara Kermarec <lhark@lharktop> <lhark@arachne>
Lara Kermarec <lhark@lharktop> <lhark@pwc>
Lara Kermarec <lhark@lharktop> <goulven.kermarec@supelec.fr>
Lara Kermarec <lhark@lharktop> <lhark@federez-test>
Lara Kermarec <lhark@lharktop> <lhark@hydra>
Augustin Lemesle <augustin.lemesle@supelec.fr> <augustin.lemesle@supelec.fr>
Augustin Lemesle <augustin.lemesle@supelec.fr> <Dalahro@arachne>
Corentin Canebier <corentin@canebier.fr>
Corentin Canebier <corentin@canebier.fr> <corentin.canebier@student-cs.fr>
Root `root` Root <root@arachne>
Root `root` Root <root@arachne> <root@hydra.rezometz.org>
Root `root` Root <root@arachne> <root@federez-test.crans.org>
Root `root` Root <root@arachne> <root@gorgoroth>
Root `root` Root <root@arachne> <root@raspberrypi>
Root `root` Root <root@arachne> <root@nevrast>
Root `root` Root <root@arachne> <root@pwc>
Root `root` Root <root@arachne> <root@federez.net>
Root `root` Root <root@arachne> <root@hydra>
Root `root` Root <root@arachne> <root@morgoth.rez>
Root `root` Root <root@arachne> <root@re2o-server.crans.org>
Yoann Piétri <me@nanoy.fr>
Yoann Piétri <me@nanoy.fr> <yoann.pietri@supelec.fr>
Guillaume Goessel <rezo@guimoz.fr>
Guillaume Goessel <rezo@guimoz.fr> <guillaume.goessel@supelec.fr>
Guillaume Goessel <rezo@guimoz.fr> <guillaume.goessel@hotmail.com>
Guillaume Goessel <rezo@guimoz.fr> <me+federez@guimoz.fr>
David Sinquin <david.RezoMetz@sinquin.eu>
David Sinquin <david.RezoMetz@sinquin.eu> <david.rezo@sinquin.eu>
David Sinquin <david.RezoMetz@sinquin.eu> <david.federez.ldap@sinquin.eu>
Matthieu Michelet <matthieu.michelet@supelec.fr>
Matthieu Michelet <matthieu.michelet@supelec.fr> <michelet.matthieu@supelec.fr>
Jean-Marie Mineau <mineau.jean.marie@gmail.com>
~anonymised~ <sellem+re2o@crans.org>
~anonymised~ <sellem+re2o@crans.org> <sellem@crans.org>
Thibault de Boutray <me@thibaultdeboutray.pro>
Thibault de Boutray <me@thibaultdeboutray.pro> <thibaultdeboutray@gmail.com>
Fardale <fardale+git@crans.org>
Fardale <fardale+git@crans.org> <arrighi@crans.org>
Laouen Fernet <laouen.fernet@supelec.fr>
Laouen Fernet <laouen.fernet@supelec.fr> FERNET Laouen <laouen.fernet@supelec.fr>
Bombar Maxime <bombar@crans.org>
Leïla Bekaddour <leila.bekaddour@student-cs.fr>
Leïla Bekaddour <leila.bekaddour@student-cs.fr> <leila@ec-mac-cr-sho.home>
edpibu <edpibu@crans.org>
edpibu <edpibu@crans.org> <edpibu@re2o-test.crans.org>
Éloi Alain <eloi.alain@supelec.fr>
Éloi Alain <eloi.alain@supelec.fr> <eloi.alain@metz.supelec.fr>
Gabriel Le Bouder <lebouder@crans.org>
Gabriel Le Bouder <lebouder@crans.org> <lebouder@re2o-server.crans.org>
Charlie Jacomme <jacomme@crans.org>
Charlie Jacomme <jacomme@crans.org> <jacomme@crans.org>
Benjamin Graillot <graillot@crans.org>
Benjamin Graillot <graillot@crans.org> <graillot@crans.org>
......@@ -30,15 +30,16 @@ sudo pip3 install -r pip_requirements.txt
python3 manage.py collectstatic
```
### MR 589: Move ldap to optional app
### MR 589: Move LDAP to optional app
Add `ldap_sync` to your optional apps in your local settings if you want to keep using the LDAP synchronisation.
Add `ldap_sync` to your optional apps in your local settings (`re2o/settings_local.py`) if you want to keep using the LDAP synchronisation.
### Final steps
As usual, run the following commands after updating:
```bash
python3 manage.py migrate
python3 manage.py compilemessages
sudo service apache2 reload
```
......@@ -60,7 +61,7 @@ Here is a list of noteworthy features brought by this update:
* [!578](https://gitlab.federez.net/re2o/re2o/-/merge_requests/578) : Migrations squashed to ease the installation process.
* [!582](https://gitlab.federez.net/re2o/re2o/-/merge_requests/582): Improve autocomplete fields so they load faster and have a clearer behavior (no more entering a value without clicking and thinking it was taken into account).
* [!589](https://gitlab.federez.net/re2o/re2o/-/merge_requests/589): Move LDAP to a separate optional app.
* Plenty of bux fixes.
* Plenty of bug fixes.
You can view the full list of closed issues [here](https://gitlab.federez.net/re2o/re2o/-/issues?scope=all&state=all&milestone_title=Re2o 2.9).
......
......@@ -50,6 +50,8 @@ from preferences.models import CotisationsOption
from machines.models import regen
from re2o.field_permissions import FieldPermissionModelMixin
from re2o.mixins import AclMixin, RevMixin
import users.signals
import users.models
from cotisations.utils import find_payment_method, send_mail_invoice, send_mail_voucher
from cotisations.validators import check_no_balance
......@@ -356,7 +358,7 @@ def facture_post_save(**kwargs):
if facture.valid:
user = facture.user
user.set_active()
user.ldap_sync(base=False, access_refresh=True, mac_refresh=False)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=True, mac_refresh=False)
@receiver(post_delete, sender=Facture)
......@@ -365,7 +367,7 @@ def facture_post_delete(**kwargs):
Synchronise the LDAP user after an invoice has been deleted.
"""
user = kwargs["instance"].user
user.ldap_sync(base=False, access_refresh=True, mac_refresh=False)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=True, mac_refresh=False)
class CustomInvoice(BaseInvoice):
......@@ -661,7 +663,7 @@ def vente_post_save(**kwargs):
purchase.cotisation.save()
user = purchase.facture.facture.user
user.set_active()
user.ldap_sync(base=True, access_refresh=True, mac_refresh=False)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=True, access_refresh=True, mac_refresh=False)
# TODO : change vente to purchase
......@@ -677,7 +679,7 @@ def vente_post_delete(**kwargs):
return
if purchase.type_cotisation:
user = invoice.user
user.ldap_sync(base=False, access_refresh=True, mac_refresh=False)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=True, access_refresh=True, mac_refresh=False)
class Article(RevMixin, AclMixin, models.Model):
......
......@@ -58,6 +58,7 @@ from netaddr import (
import preferences.models
import users.models
import users.signals
from re2o.field_permissions import FieldPermissionModelMixin
from re2o.mixins import AclMixin, RevMixin
......@@ -2541,7 +2542,7 @@ class OuverturePort(RevMixin, AclMixin, models.Model):
def machine_post_save(**kwargs):
"""Synchronise LDAP and regen firewall/DHCP after a machine is edited."""
user = kwargs["instance"].user
user.ldap_sync(base=False, access_refresh=False, mac_refresh=True)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=False, mac_refresh=True)
regen("dhcp")
regen("mac_ip_list")
......@@ -2551,7 +2552,7 @@ def machine_post_delete(**kwargs):
"""Synchronise LDAP and regen firewall/DHCP after a machine is deleted."""
machine = kwargs["instance"]
user = machine.user
user.ldap_sync(base=False, access_refresh=False, mac_refresh=True)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=False, mac_refresh=True)
regen("dhcp")
regen("mac_ip_list")
......@@ -2564,7 +2565,7 @@ def interface_post_save(**kwargs):
interface = kwargs["instance"]
interface.sync_ipv6()
user = interface.machine.user
user.ldap_sync(base=False, access_refresh=False, mac_refresh=True)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=False, mac_refresh=True)
# Regen services
regen("dhcp")
regen("mac_ip_list")
......@@ -2580,7 +2581,7 @@ def interface_post_delete(**kwargs):
"""
interface = kwargs["instance"]
user = interface.machine.user
user.ldap_sync(base=False, access_refresh=False, mac_refresh=True)
users.signals.synchronise.send(sender=users.models.User, instance=user, base=False, access_refresh=False, mac_refresh=True)
@receiver(post_save, sender=IpType)
......
......@@ -4,40 +4,44 @@ A list of the proud contributors to Re2o
"""
CONTRIBUTORS = [
"Gabriel 'chibrac' Detraz",
"Hugo 'klafyvel' Levy-Falk",
"Maël 'MoaMoaK' Kervella",
"Arthur 'Grizzly' Grisel-Davy",
"Augustin 'Dalahro' Lemesle",
"Laouen 'volgarr' Fernet",
"Lara 'lhark' Kermarec",
"Alexandre 'erdnaxe' Ioss",
"Charlie Jacomme",
"Root 'root' Root",
"Yoann 'nanoy' Pietri",
"Maxime Bombar",
"Matthieu 'lebanni' Michelet",
"Guillaume 'guimoz' Goessel",
"edpibu",
"Jean-Romain 'lerennais' Garnier",
"David '5-1' Sinquin",
"Gabriel Le Bouder",
"Fardale",
"Éloi Alain",
"Simon Brelivet",
"Antoine Vintache",
"Benjamin Graillot",
"Thibault 'tipunchetrhum' Deboutray",
"Joanne Steiner",
"Delphine Salvy",
"Pierre Cadart",
"'Krokmou'",
"Vincent Le Gallic",
"Hugo 'shaka' Hervieux",
"Pierre-Antoine Comby",
"Nymous",
"Mikachu",
"Baptiste 'B' Fournier",
"Gwenael Le Hir",
"Daniel Stan",
]
'Gabriel Detraz',
'Hugo Levy-falk',
'Maël Kervella',
'Jean-romain Garnier',
'Arthur Grisel-davy',
'Laouen Fernet',
'Augustin Lemesle',
'Lara Kermarec',
'Root `root` Root',
'Alexandre Iooss',
'Yoann Piétri',
'Charlie Jacomme',
'Corentin Canebier',
'Bombar Maxime',
'Guillaume Goessel',
'Matthieu Michelet',
'Edpibu',
'Fardale',
'Jean-marie Mineau',
'David Sinquin',
'Gabriel Le Bouder',
'Simon Brélivet',
'~anonymised~',
'Benjamin Graillot',
'Leïla Bekaddour',
'Éloi Alain',
'Pierre Cadart',
'Antoine Vintache',
'Thibault De Boutray',
'Delphine Salvy',
'Joanne Steiner',
'Krokmou',
'B',
'Daniel Stan',
'Gwenael Le Hir',
'Hugo Hervieux',
'Mikachu',
'Nymous',
'Pierre-antoine Comby',
'Vincent Le Gallic',
]
\ No newline at end of file
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