mirror of
https://github.com/eduardogsilva/routerfleet.git
synced 2025-07-25 05:14:54 +02:00
update manager, welcome and status page.
This commit is contained in:
parent
6a53c8bc97
commit
7332bca96e
17 changed files with 313 additions and 7 deletions
42
routerfleet_tools/views.py
Normal file
42
routerfleet_tools/views.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
from django.shortcuts import render, Http404
|
||||
from .models import WebadminSettings
|
||||
from django.http import JsonResponse
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
import requests
|
||||
|
||||
|
||||
def cron_check_updates(request):
|
||||
webadmin_settings, webadmin_settings_created = WebadminSettings.objects.get_or_create(name='webadmin_settings')
|
||||
|
||||
if webadmin_settings.last_checked is None or timezone.now() - webadmin_settings.last_checked > timezone.timedelta(
|
||||
hours=1):
|
||||
try:
|
||||
version = settings.ROUTERFLEET_VERSION / 10000
|
||||
url = f'https://updates.eth0.com.br/api/check_updates/?app=routerfleet&version={version}'
|
||||
response = requests.get(url)
|
||||
response.raise_for_status()
|
||||
data = response.json()
|
||||
|
||||
if 'update_available' in data:
|
||||
webadmin_settings.update_available = data['update_available']
|
||||
|
||||
if data['update_available']:
|
||||
webadmin_settings.latest_version = float(data['current_version']) * 10000
|
||||
|
||||
webadmin_settings.last_checked = timezone.now()
|
||||
webadmin_settings.save()
|
||||
|
||||
response_data = {
|
||||
'update_available': webadmin_settings.update_available,
|
||||
'latest_version': webadmin_settings.latest_version,
|
||||
'current_version': settings.ROUTERFLEET_VERSION,
|
||||
}
|
||||
return JsonResponse(response_data)
|
||||
|
||||
except Exception as e:
|
||||
webadmin_settings.update_available = False
|
||||
webadmin_settings.save()
|
||||
return JsonResponse({'update_available': False})
|
||||
|
||||
return JsonResponse({'update_available': webadmin_settings.update_available})
|
Loading…
Add table
Add a link
Reference in a new issue