Various misc fixes

This commit is contained in:
2020-09-17 09:08:00 +01:00
parent ce5a92dfa8
commit dcc0e53062
23 changed files with 41 additions and 57 deletions

View File

@@ -28,6 +28,8 @@ DEBUG = bool(int(os.environ.get('DEBUG'))) if os.environ.get('DEBUG') else True
STAGING = bool(int(os.environ.get('STAGING'))) if os.environ.get('STAGING') else False
CI = bool(int(os.environ.get('CI'))) if os.environ.get('CI') else False
ALLOWED_HOSTS = ['pyrigs.nottinghamtec.co.uk', 'rigs.nottinghamtec.co.uk', 'pyrigs.herokuapp.com']
if STAGING:
@@ -158,7 +160,7 @@ CACHES = {
}
}
# Tests lock up SQLite otherwise
if DEBUG or STAGING:
if DEBUG or STAGING or CI:
CACHES['default'] = {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
}

View File

@@ -15,7 +15,6 @@ import versioning
from PyRIGS import views
urlpatterns = [
path('', include('users.urls')),
path('', include('versioning.urls')),
path('', include('RIGS.urls')),
path('assets/', include('assets.urls')),
@@ -31,6 +30,8 @@ urlpatterns = [
path('closemodal/', views.CloseModal.as_view(), name='closemodal'),
path('search_help/', views.SearchHelp.as_view(), name='search_help'),
path('', include('users.urls')),
path('admin/', admin.site.urls),
]

View File

@@ -1,6 +1,5 @@
{% load namewithnotes from filters %}
{% comment %}<div class="d-none d-md-block">{% endcomment %}
<div class="table-responsive" style="overflow: hidden;">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
@@ -87,9 +86,3 @@
</tbody>
</table>
</div>
{% comment %}
</div>
<div class="d-xs-block d-sm-block d-md-none">
{% include 'event_table_mobile.html' %}
</div>
{% endcomment %}

View File

@@ -549,49 +549,6 @@ class TestSampleDataGenerator(TestCase):
self.assertRaisesRegex(CommandError, ".*production", call_command, 'deleteSampleData')
class TestVersioningViews(TestCase):
@classmethod
def setUpTestData(cls):
cls.profile = rigsmodels.Profile.objects.create(username="VersionTest", email="version@test.com", is_superuser=True, is_active=True, is_staff=True)
working = models.AssetStatus.objects.create(name="Working", should_show=True)
broken = models.AssetStatus.objects.create(name="Broken", should_show=False)
general = models.AssetCategory.objects.create(name="General")
lighting = models.AssetCategory.objects.create(name="Lighting")
cls.assets = {}
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[1] = models.Asset.objects.create(asset_id="1991", description="Spaceflower", status=broken, category=lighting, date_acquired=datetime.date(1991, 12, 26))
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[2] = models.Asset.objects.create(asset_id="0001", description="Virgil", status=working, category=lighting, date_acquired=datetime.date(2015, 1, 1))
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[1].status = working
cls.assets[1].save()
def setUp(self):
self.profile.set_password('testuser')
self.profile.save()
self.assertTrue(self.client.login(username=self.profile.username, password='testuser'))
def test_history_loads_successfully(self):
request_url = reverse('asset_history', kwargs={'pk': self.assets[1].asset_id})
response = self.client.get(request_url, follow=True)
self.assertEqual(response.status_code, 200)
def test_activity_table_loads_successfully(self):
request_url = reverse('assets_activity_table')
response = self.client.get(request_url, follow=True)
self.assertEqual(response.status_code, 200)
class TestEmbeddedViews(TestCase):
@classmethod
def setUpTestData(cls):

View File

@@ -11,8 +11,6 @@ from PyRIGS.decorators import permission_required_with_403
from users import regbackend, forms, views
urlpatterns = [
path('user/', include('django.contrib.auth.urls')),
path('user/', include('registration.backends.default.urls')),
path('user/register/', RegistrationView.as_view(form_class=forms.ProfileRegistrationFormUniqueEmail),
name="registration_register"),
path('user/login/', LoginView.as_view(authentication_form=forms.CheckApprovedForm), name='login'),
@@ -23,7 +21,9 @@ urlpatterns = [
path('user/reset_api_key', login_required(views.ResetApiKey.as_view(permanent=False)),
name='reset_api_key'),
path('user/', login_required(views.ProfileDetail.as_view()), name='profile_detail'),
path('user/<pk>/',
path('user/<int:pk>/',
permission_required_with_403('RIGS.view_profile')(views.ProfileDetail.as_view()),
name='profile_detail'),
path('user/', include('django.contrib.auth.urls')),
path('user/', include('registration.backends.default.urls')),
]

View File

@@ -221,6 +221,26 @@ class TestVersioningViews(TestCase):
cls.events[1].description = "A test description"
cls.events[1].save()
working = models.AssetStatus.objects.create(name="Working", should_show=True)
broken = models.AssetStatus.objects.create(name="Broken", should_show=False)
general = models.AssetCategory.objects.create(name="General")
lighting = models.AssetCategory.objects.create(name="Lighting")
cls.assets = {}
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[1] = models.Asset.objects.create(asset_id="1991", description="Spaceflower", status=broken, category=lighting, date_acquired=datetime.date(1991, 12, 26))
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[2] = models.Asset.objects.create(asset_id="0001", description="Virgil", status=working, category=lighting, date_acquired=datetime.date(2015, 1, 1))
with reversion.create_revision():
reversion.set_user(cls.profile)
cls.assets[1].status = working
cls.assets[1].save()
def setUp(self):
self.profile.set_password('testuser')
self.profile.save()
@@ -244,6 +264,17 @@ class TestVersioningViews(TestCase):
response = self.client.get(request_url, follow=True)
self.assertEqual(response.status_code, 200)
request_url = reverse('assets_activity_table')
response = self.client.get(request_url, follow=True)
self.assertEqual(response.status_code, 200)
def test_asset_history_loads_successfully(self):
request_url = reverse('asset_history', kwargs={'pk': self.assets[1].asset_id})
response = self.client.get(request_url, follow=True)
self.assertEqual(response.status_code, 200)
# Some edge cases that have caused server errors in the past
def test_deleted_event(self):
request_url = reverse('activity_feed')

View File

@@ -123,7 +123,7 @@ class ModelComparison(object):
old_item_versions = self.version.parent.revision.version_set.exclude(content_type=item_type)
new_item_versions = self.version.revision.version_set.exclude(content_type=item_type)
comparisonParams = {'excluded_keys': ['id', 'event', 'order', 'checklist']}
comparisonParams = {'excluded_keys': ['id', 'event', 'order', 'checklist', 'invoice']}
# Build some dicts of what we have
item_dict = {} # build a list of items, key is the item_pk