|
1 | 1 | import pytz |
2 | 2 | import datetime |
3 | 3 |
|
4 | | -from osf.models import MaintenanceState |
| 4 | +from osf.models import MaintenanceState, MaintenanceMode |
5 | 5 | import website.maintenance as maintenance |
6 | 6 | from admin.maintenance.forms import MaintenanceForm |
7 | 7 |
|
@@ -36,15 +36,17 @@ def get_context_data(self, **kwargs): |
36 | 36 | maintenance = MaintenanceState.objects.first() |
37 | 37 | kwargs['form'] = MaintenanceForm() |
38 | 38 | kwargs['current_alert'] = model_to_dict(maintenance) if maintenance else None |
| 39 | + kwargs['maintenance_mode'] = MaintenanceMode.is_under_maintenance() |
39 | 40 | return super().get_context_data(**kwargs) |
40 | 41 |
|
41 | 42 | def post(self, request, *args, **kwargs): |
42 | 43 | data = request.POST |
43 | | - |
44 | | - start = convert_eastern_to_utc(data['start']).isoformat() if data.get('start') else None |
45 | | - end = convert_eastern_to_utc(data['end']).isoformat() if data.get('end') else None |
46 | | - |
47 | | - maintenance.set_maintenance(data.get('message', ''), data['level'], start, end) |
| 44 | + if maintenance_mode := data.get('maintenance_mode'): |
| 45 | + MaintenanceMode(maintenance_mode=False if maintenance_mode == 'True' else True).save() |
| 46 | + else: |
| 47 | + start = convert_eastern_to_utc(data['start']).isoformat() if data.get('start') else None |
| 48 | + end = convert_eastern_to_utc(data['end']).isoformat() if data.get('end') else None |
| 49 | + maintenance.set_maintenance(data.get('message', ''), data['level'], start, end) |
48 | 50 | return redirect('maintenance:display') |
49 | 51 |
|
50 | 52 |
|
|
0 commit comments