CHANGELOG.md 9.65 KB
Newer Older
klafyvel's avatar
klafyvel committed
1
2
# Re2o 2.9

3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
## Install steps

To install the latest version of Re2o, checkout the [dedicated wiki entry](https://gitlab.federez.net/re2o/re2o/-/wikis/User-Documentation/Quick-Start#update-re2o).

## Post-install steps

### MR 531: FreeRADIUS Python3 backend

On the Radius server, add `buster-backports` to your `/etc/apt/sources.list`:
```bash
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:
```bash
apt update
apt install -t buster-backports freeradius
cat apt_requirements_radius.txt | xargs sudo apt -y install
```

### MR 582: Autocomplete light

On the Re2o server, install the new dependency and run `collectstatic`:
```bash
sudo pip3 install -r pip_requirements.txt
python3 manage.py collectstatic
```

33
### MR 589: Move LDAP to optional app
34

35
Add `ldap_sync` to your optional apps in your local settings (`re2o/settings_local.py`) if you want to keep using the LDAP synchronisation.
36
37
38
39
40
41

### Final steps

As usual, run the following commands after updating:
```bash
python3 manage.py migrate
42
python3 manage.py compilemessages
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
sudo service apache2 reload
```

## New features

Here is a list of noteworthy features brought by this update:

* [!488](https://gitlab.federez.net/re2o/re2o/-/merge_requests/488): Use `+` in searches to combine keywords (e.g. `John+Doe`).
* [!495](https://gitlab.federez.net/re2o/re2o/-/merge_requests/495): Add optional behavior allowing users to override another user's room, if that user is no longer active.
* [!496](https://gitlab.federez.net/re2o/re2o/-/merge_requests/496): Add option to allow users to choose their password during account creation. They will have to separately confirm their email address.
* [!504](https://gitlab.federez.net/re2o/re2o/-/merge_requests/504): Add setting to change the minimum password length.
* [!507](https://gitlab.federez.net/re2o/re2o/-/merge_requests/507): New form for editing lists of rights that should make everyone happier.
* [!512](https://gitlab.federez.net/re2o/re2o/-/merge_requests/512): Add ability to comment on tickets.
* [!513](https://gitlab.federez.net/re2o/re2o/-/merge_requests/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](https://gitlab.federez.net/re2o/re2o/-/merge_requests/516): Detailed events in history views (e.g. show `old_email -> new_email`).
jr-garnier's avatar
jr-garnier committed
58
* [!519](https://gitlab.federez.net/re2o/re2o/-/merge_requests/519): Add ability to filter event logs (e.g. to show all the subscriptions added by an admin).
59
60
61
62
63
* [!569](https://gitlab.federez.net/re2o/re2o/-/merge_requests/569): Refactor navbar to make menu navigation easier.
* [!569](https://gitlab.federez.net/re2o/re2o/-/merge_requests/569): Add ability to install custom themes.
* [!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.
klafyvel's avatar
klafyvel committed
64
* Plenty of bug fixes.
65
66
67
68
69

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).

# Before Re2o 2.9

moamoak's avatar
moamoak committed
70
## MR 160: Datepicker
71
72

Install libjs-jquery libjs-jquery-ui libjs-jquery-timepicker libjs-bootstrap javascript-common
moamoak's avatar
moamoak committed
73
```bash
74
75
76
77
78
79
80
81
apt-get -y install \
    libjs-jquery \
    libjs-jquery-ui \
    libjs-jquery-timepicker \
    libjs-bootstrap \
    javascript-common
```
Enable javascript-common conf
moamoak's avatar
moamoak committed
82
```bash
83
84
a2enconf javascript-common
```
85
86

Delete old jquery files :
moamoak's avatar
moamoak committed
87
```bash
88
89
90
91
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
```
moamoak's avatar
moamoak committed
92

93
94
95
96
97
98
99
100
101
102
103
104
## MR 159: Graph topo & MR 164: branche de création de graph

Add a graph of the network topology
Install *graphviz*:
```
apt-get -y install graphviz
```
Create the *media/images* directory:
```
mkdir -p media/images
```

moamoak's avatar
moamoak committed
105
106
107
## MR 163: Fix install re2o

Refactored install_re2o.sh script.
moamoak's avatar
moamoak committed
108
* There are more tools available with it but some function have changed, report to [the dedicated wiki page](https://gitlab.federez.net/federez/re2o/wikis/User%20Documentation/Setup%20script)for more informations or run:
moamoak's avatar
moamoak committed
109
110
111
```
install_re2o.sh help
```
moamoak's avatar
moamoak committed
112

moamoak's avatar
moamoak committed
113
* The installation templates (LDIF files and `re2o/settings_locale.example.py`) have been changed to use `example.net` instead of `example.org` (more neutral and generic)
114

moamoak's avatar
moamoak committed
115
116
117
118
119
120
121
## MR 176: Add awesome Logo

Add the logo and fix somme issues on the navbar and home page. Only collecting the statics is needed:
```
python3 manage.py collectstatic
```

moamoak's avatar
moamoak committed
122
## MR 172: Refactor API
123

moamoak's avatar
moamoak committed
124
Creates a new (nearly) REST API to expose all models of Re2o. See [the dedicated wiki page](https://gitlab.federez.net/federez/re2o/wikis/API/Raw-Usage) for more details on how to use it.
moamoak's avatar
moamoak committed
125
126
127
128
* For testing purpose, add `volatildap` package:
```
pip3 install volatildap
```
moamoak's avatar
moamoak committed
129
* Activate HTTP Authorization passthrough in by adding the following in `/etc/apache2/site-available/re2o.conf` (example in `install_utils/apache2/re2o.conf`):
130
131
132
```
    WSGIPassAuthorization On
```
moamoak's avatar
moamoak committed
133
134
135
136
137
138
* Activate the API if you want to use it by adding `'api'` to the optional apps in `re2o/settings_local.py`:
```
OPTIONAL_APPS = (
    ...
    'api',
    ...
moamoak's avatar
moamoak committed
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
)
```

## MR 177: Add django-debug-toolbar support

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`:
```python
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"]
```
moamoak's avatar
moamoak committed
160
161
162
163
164
165
166
167

## MR 145: Fix #117 : Use unix_name instead of name for ldap groups

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:
  ```shell
168
  python3 manage.py ldap_rebuild
moamoak's avatar
moamoak committed
169
170
171
172
173
174
  ```

* 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):
  ```bash
  sudo nslcd -i groups
  ```
klafyvel's avatar
klafyvel committed
175
176
177
178
179
180
181
182
183
184

## MR 174 : Fix online payment + allow users to pay their subscription

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.

klafyvel's avatar
typos    
klafyvel committed
185
To have a closer look on how the payments works, please go to the wiki.
klafyvel's avatar
klafyvel committed
186

187
## MR 182: Add role models
klafyvel's avatar
klafyvel committed
188
189
190
191
192
193

Adds the Role model.
You need to ensure that your database character set is utf-8.
```sql
ALTER DATABASE re2o CHARACTER SET utf8;
```
194
195
196
197
198
199
200
201

## MR 247: Fix des comptes mails

Fix several issues with email accounts, you need to collect the static files.

```bash
./manage.py collectstatic
```
202
203
204
205
206
207
208
209
210
211
212
213
214
215

## MR 203 Add custom invoices

The custom invoices are now stored in database. You need to migrate your database :

```bash
python3 manage.py migrate
```

On some database engines (postgreSQL) you also need to update the id sequences:

```bash
python3 manage.py sqlsequencereset cotisations | python3 manage.py dbshell
```
Alexandre IOOSS's avatar
Alexandre IOOSS committed
216
217
218
219
220
221
222
223
224
225
226
227
228
229

## MR 296: Frontend changes

Install fonts-font-awesome

```bash
apt-get -y install fonts-font-awesome
```

Collec new statics

```bash
python3 manage.py collectstatic
```
klafyvel's avatar
klafyvel committed
230
231
232
233
234
235
236
237
238
239
240
241
242
243

## MR 391: Document templates and subscription vouchers

Re2o can now use templates for generated invoices. To load default templates run

```bash
./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.
klafyvel's avatar
klafyvel committed
244
245
246
247
248
249
250
251
252

## MR 427: Tickets
Manually edit `settings_local.py` to provide the new `OPTIONNAL_APPS` lists:
```python
OPTIONNAL_APPS_RE2O = ('tickets',)
OPTIONNAL_APPS = OPTIONNAL_APPS_RE2O + (...,...,)
```

Don't forget to run migrations afterwards.
klafyvel's avatar
klafyvel committed
253
254
255

## MR 433 : upgrade django-ldapdb to 1.3.0

klafyvel's avatar
klafyvel committed
256
257
258
259
260
261
262
263
Uninstall the existing django-ldapdb installation

    pip3 uninstall django-ldapdb
    
Install debian(buster) supported version 

    apt install python3-django-ldapdb

klafyvel's avatar
klafyvel committed
264
265
266
267
268
If you use MySQL, please run 

```
SET GLOBAL SQL_MODE=ANSI_QUOTES;
```
chirac's avatar
chirac committed
269
270
271
272
273
274
275
276
277
278
279
280

## MR 531

To use the freeradius python3 backend, please add buster-backports sources to
your apt lists.

Then, install and update freeradius :
```bash
apt install -t buster-backports freeradius
apt install python3-dev
```

klafyvel's avatar
klafyvel committed
281
Make sure that all depending packages (python3-django etc) provided in the new
chirac's avatar
chirac committed
282
apt_requirements_radius.txt are installed.
chirac's avatar
chirac committed
283
284
285
286
287
288
289
290
291
292
293
294
295

## MR 535 : Routers

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 :

```python
LOCAL_ROUTERS = ["re2o.local_routers.DbRouter"]
```