mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-23 07:23:46 +00:00
Merge branch 'dev' of https://gitlab.federez.net/re2o/re2o into new_radius_api
This commit is contained in:
commit
a5ece90335
5 changed files with 142 additions and 48 deletions
86
.mailmap
Normal file
86
.mailmap
Normal file
|
@ -0,0 +1,86 @@
|
|||
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',
|
||||
]
|
Loading…
Reference in a new issue