1
0
Fork 0

Remove export data functionality for frequency violators

Signed-off-by: Alfredos-Panagiotis Damkalis <fredy@fredy.gr>
spacecruft
Alfredos-Panagiotis Damkalis 2022-06-13 15:29:27 +03:00
parent d7df35032d
commit 3b98e66dc8
3 changed files with 35 additions and 4 deletions

View File

@ -376,11 +376,37 @@ class Satellite(models.Model):
:returns: bool
"""
bad_transmitter_count = 0
violation = cache.get("violator_" + self.satellite_identifier.sat_id)
if violation is not None:
return violation['status']
result = False
for transmitter in Transmitter.objects.filter(satellite=self.id).exclude(status='invalid'):
if transmitter.bad_transmitter:
bad_transmitter_count += 1
return bad_transmitter_count > 0
result = True
break
cache.set(
"violator_" + str(self.satellite_entry.norad_cat_id), {
'status': result,
'id': str(self.id)
}, None
)
cache.set(
"violator_" + self.satellite_identifier.sat_id, {
'status': result,
'id': str(self.id)
}, None
)
for merged_satellite in self.associated_with.all():
cache.set(
"violator_" + merged_satellite.satellite_identifier.sat_id, {
'status': result,
'id': str(self.id)
}, None
)
return result
class TransmitterEntry(models.Model):

View File

@ -265,6 +265,11 @@ def transmitter_suggestion_handler(request):
transmitter = get_object_or_404(TransmitterSuggestion, pk=request.POST['pk'])
if request.user.has_perm('base.approve_transmittersuggestion'):
if 'approve' in request.POST:
# Force re-checking of bad transmitters be removing permanent cache
cache.delete("violator_" + str(transmitter.satellite.satellite_entry.norad_cat_id))
cache.delete("violator_" + transmitter.satellite.satellite_identifier.sat_id)
for merged_satellite in transmitter.satellite.associated_with.all():
cache.delete("violator_" + merged_satellite.satellite_identifier.sat_id)
transmitter.approved = True
messages.success(request, ('Transmitter approved.'))
elif 'reject' in request.POST:

View File

@ -528,7 +528,7 @@
{% endfor %}
<!-- Telemetry Frames Section -->
{% if satellite.telemetry_data_count > 0 and request.user.is_authenticated %}
{% if satellite.telemetry_data_count > 0 and request.user.is_authenticated and not satellite.has_bad_transmitter %}
<div class="col-12 col-md-6 my-2">
<div class="card card-info">
<div class="card-header card-satnogs-header" id="telemetry-block" data-satid="{{ satellite.satellite_identifier.sat_id }}">