To install the latest version of Re2o, checkout the dedicated wiki entry.
On the Radius server, add buster-backports
to your /etc/apt/sources.list
:
echo "deb http://deb.debian.org/debian buster-backports main contrib" >> /etc/apt/sources.list
Note: If you are running Debian Bullseye, the package should already be available without going through backports.
Then install the new required packages:
apt update
apt install -t buster-backports freeradius
cat apt_requirements_radius.txt | xargs sudo apt -y install
On the Re2o server, install the new dependency and run collectstatic
:
sudo pip3 install -r pip_requirements.txt
python3 manage.py collectstatic
Add ldap_sync
to your optional apps in your local settings (re2o/settings_local.py
) if you want to keep using the LDAP synchronisation.
As usual, run the following commands after updating:
python3 manage.py migrate
python3 manage.py compilemessages
sudo service apache2 reload
Here is a list of noteworthy features brought by this update:
- !488: Use
+
in searches to combine keywords (e.g.John+Doe
). - !495: Add optional behavior allowing users to override another user's room, if that user is no longer active.
- !496: Add option to allow users to choose their password during account creation. They will have to separately confirm their email address.
- !504: Add setting to change the minimum password length.
- !507: New form for editing lists of rights that should make everyone happier.
- !512: Add ability to comment on tickets.
- !513: IP and MAC address history (
Statistics > Machine history
tab) which also works for deleted interfaces. Uses already existing history so events before the upgrade are taken into account. - !516: Detailed events in history views (e.g. show
old_email -> new_email
). - !519: Add ability to filter event logs (e.g. to show all the subscriptions added by an admin).
- !569: Refactor navbar to make menu navigation easier.
- !569: Add ability to install custom themes (checkout this repository for a list of Re2o themes).
- !578 : Migrations squashed to ease the installation process.
- !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: Move LDAP to a separate optional app.
- Plenty of bug fixes.
You can view the full list of closed issues here.
Install libjs-jquery libjs-jquery-ui libjs-jquery-timepicker libjs-bootstrap javascript-common
apt-get -y install \
libjs-jquery \
libjs-jquery-ui \
libjs-jquery-timepicker \
libjs-bootstrap \
javascript-common
Enable javascript-common conf
a2enconf javascript-common
Delete old jquery files :
rm -r static_files/js/jquery-ui-*
rm static_files/js/jquery-2.2.4.min.js
rm static/css/jquery-ui-timepicker-addon.css
Add a graph of the network topology Install graphviz:
apt-get -y install graphviz
Create the media/images directory:
mkdir -p media/images
Refactored install_re2o.sh script.
- There are more tools available with it but some function have changed, report to the dedicated wiki pagefor more informations or run:
install_re2o.sh help
- The installation templates (LDIF files and
re2o/settings_locale.example.py
) have been changed to useexample.net
instead ofexample.org
(more neutral and generic)
Add the logo and fix somme issues on the navbar and home page. Only collecting the statics is needed:
python3 manage.py collectstatic
Creates a new (nearly) REST API to expose all models of Re2o. See the dedicated wiki page for more details on how to use it.
- For testing purpose, add
volatildap
package:
pip3 install volatildap
- Activate HTTP Authorization passthrough in by adding the following in
/etc/apache2/site-available/re2o.conf
(example ininstall_utils/apache2/re2o.conf
):
WSGIPassAuthorization On
- Activate the API if you want to use it by adding
'api'
to the optional apps inre2o/settings_local.py
:
OPTIONAL_APPS = (
...
'api',
...
)
Add the possibility to enable django-debug-toolbar
in debug mode. First install the APT package:
apt install pyhton3-django-debug-toolbar
And then activate it for Re2o by adding the app to the OPTIONAL_APPS
in re2o/settings_local.py
:
OPTIONAL_APPS = (
# ...
'debug_toolbar',
# ...
)
If you to restrict the IP which can see the debug, use the INTERNAL_IPS
options in re2o/settings_local.py
:
INTERNAL_IPS = ["10.0.0.1", "10.0.0.2"]
Fix a mixing between unix_name and name for groups After this modification you need to:
-
Double-check your defined groups' unix-name only contain small letters
-
Run the following commands to rebuild your ldap's groups:
python3 manage.py ldap_rebuild
-
You may need to force your nslcd cache to be reloaded on some servers (else you will have to wait for the cache to be refreshed):
sudo nslcd -i groups
Add the possibility to use custom payment methods. There is also a boolean field on the
Payments allowing every user to use some kinds of payment. You have to add the rights cotisations.use_every_payment
and cotisations.buy_every_article
to the staff members so they can use every type of payment to buy anything.
Don't forget to run migrations, several settings previously in the preferences
app ar now
in their own Payment models.
To have a closer look on how the payments works, please go to the wiki.
Adds the Role model. You need to ensure that your database character set is utf-8.
ALTER DATABASE re2o CHARACTER SET utf8;
Fix several issues with email accounts, you need to collect the static files.
./manage.py collectstatic
The custom invoices are now stored in database. You need to migrate your database :
python3 manage.py migrate
On some database engines (postgreSQL) you also need to update the id sequences:
python3 manage.py sqlsequencereset cotisations | python3 manage.py dbshell
Install fonts-font-awesome
apt-get -y install fonts-font-awesome
Collec new statics
python3 manage.py collectstatic
Re2o can now use templates for generated invoices. To load default templates run
./install update
Be carefull, you need the proper rights to edit a DocumentTemplate.
Re2o now sends subscription voucher when an invoice is controlled. It uses one of the templates. You also need to set the name of the president of your association to be set in your settings.
Manually edit settings_local.py
to provide the new OPTIONNAL_APPS
lists:
OPTIONNAL_APPS_RE2O = ('tickets',)
OPTIONNAL_APPS = OPTIONNAL_APPS_RE2O + (...,...,)
Don't forget to run migrations afterwards.
Uninstall the existing django-ldapdb installation
pip3 uninstall django-ldapdb
Install debian(buster) supported version
apt install python3-django-ldapdb
If you use MySQL, please run
SET GLOBAL SQL_MODE=ANSI_QUOTES;
To use the freeradius python3 backend, please add buster-backports sources to your apt lists.
Then, install and update freeradius :
apt install -t buster-backports freeradius
apt install python3-dev
Make sure that all depending packages (python3-django etc) provided in the new apt_requirements_radius.txt are installed.
It is now possible to use a custom router file, if you want to have mutli database support, with for example one as master database and one as replica database. If you want to add a database routers, please fill in in settings_local.py and add your databse. Then, add a file "local_routers.py" in folder app re2o, and add your router path in the settings_local.py file :
LOCAL_ROUTERS = ["re2o.local_routers.DbRouter"]