diff --git a/apps/it_manager/tests.py b/apps/it_manager/tests.py index 5e5bb96..f252e92 100644 --- a/apps/it_manager/tests.py +++ b/apps/it_manager/tests.py @@ -152,6 +152,18 @@ class ItManagerEquipmentTests(TestCase): self.assertContains(r, 'role="dialog"') self.assertNotContains(r, 'id="it-equipment-panel-overlay"') + def test_remaining_it_forms_are_popups(self): + r = self.client.get('/it-manager/') + for panel_id in ( + 'it-consumable-panel', + 'it-provider-panel', + 'it-contract-panel', + 'it-servicecall-panel', + ): + self.assertContains(r, f'id="{panel_id}"') + self.assertNotContains(r, f'id="{panel_id}-overlay"') + self.assertNotContains(r, 'translateX(100%)') + def test_models_catalog_is_popup(self): r = self.client.get('/it-manager/') self.assertContains(r, 'id="it-equipment-models-panel"') diff --git a/apps/locations/tests.py b/apps/locations/tests.py index be948c9..5c9f94b 100644 --- a/apps/locations/tests.py +++ b/apps/locations/tests.py @@ -874,6 +874,19 @@ class DislocationVendorsTabTests(TestCase): self.assertContains(r, 'ТестСервис') self.assertNotContains(r, 'Добавить') + def test_vendor_form_is_popup(self): + from django.test import Client + from core.test_utils import login_2fa + + client = Client() + login_2fa(client, self.it_user) + r = client.get('/dislocation/', {'tab': 'vendors'}, HTTP_HX_REQUEST='true') + self.assertEqual(r.status_code, 200) + self.assertContains(r, 'id="dislo-vendor-panel"') + self.assertContains(r, 'role="dialog"') + self.assertNotContains(r, 'id="dislo-vendor-panel-overlay"') + self.assertNotContains(r, 'translateX(100%)') + def test_it_can_create_vendor(self): from django.test import Client from apps.locations.models.base import Location diff --git a/apps/power_assets/tests.py b/apps/power_assets/tests.py index 676c887..1440a2b 100644 --- a/apps/power_assets/tests.py +++ b/apps/power_assets/tests.py @@ -51,6 +51,9 @@ class PowerAssetsTests(TestCase): self.assertEqual(r.context['accounting_active_tab'], 'power') tab_keys = [t[0] for t in r.context['accounting_tabs']] self.assertIn('power', tab_keys) + self.assertContains(r, 'id="power-create-panel"') + self.assertContains(r, 'role="dialog"') + self.assertNotContains(r, 'id="power-create-overlay"') def test_create_inverter_on_location(self): r = self.client.post('/power-assets/create/', { diff --git a/apps/rro/tests.py b/apps/rro/tests.py index 0faa7aa..41946ee 100644 --- a/apps/rro/tests.py +++ b/apps/rro/tests.py @@ -152,6 +152,10 @@ class CashRegisterPortalTests(TestCase): resp = self.client.get('/rro/', HTTP_HX_REQUEST='true') self.assertEqual(resp.status_code, 200) self.assertContains(resp, 'FN-PORTAL-1') + self.assertContains(resp, 'id="rro-form-panel"') + self.assertContains(resp, 'role="dialog"') + self.assertNotContains(resp, 'id="rro-form-overlay"') + self.assertNotContains(resp, 'translateX(100%)') def test_pharmacy_detail_rro_tab(self): self._login() diff --git a/static/assets/js/chat.js b/static/assets/js/chat.js index a4c2ffc..ba14bd5 100644 --- a/static/assets/js/chat.js +++ b/static/assets/js/chat.js @@ -78,17 +78,13 @@ function chatToggleArchived(show) { function chatPanelOpen(id) { var panel = document.getElementById(id); - var overlay = document.getElementById(id + '-overlay'); - if (overlay) overlay.style.display = 'block'; - if (panel) panel.style.transform = 'translateX(0)'; + if (panel) panel.style.display = 'flex'; document.body.style.overflow = 'hidden'; } function chatPanelClose(id) { var panel = document.getElementById(id); - var overlay = document.getElementById(id + '-overlay'); - if (overlay) overlay.style.display = 'none'; - if (panel) panel.style.transform = 'translateX(100%)'; + if (panel) panel.style.display = 'none'; document.body.style.overflow = ''; } diff --git a/static/assets/js/it-manager.js b/static/assets/js/it-manager.js index 203403c..30160da 100644 --- a/static/assets/js/it-manager.js +++ b/static/assets/js/it-manager.js @@ -530,9 +530,9 @@ document.addEventListener('keydown', function (ev) { itModelsDismiss(); return; } - ['it-equipment-panel', 'it-worklog-panel'].forEach(function (id) { - var el = document.getElementById(id); - if (el && el.style.display === 'flex') itPanelClose(id); + document.querySelectorAll('[id^="it-"][role="dialog"]').forEach(function (el) { + if (el.id === 'it-equipment-models-panel' || el.id === 'it-report-preview-modal') return; + if (el.style.display === 'flex') itPanelClose(el.id); }); }); diff --git a/static/assets/js/timetrack.js b/static/assets/js/timetrack.js index be85aea..a5ef239 100644 --- a/static/assets/js/timetrack.js +++ b/static/assets/js/timetrack.js @@ -218,14 +218,14 @@ function ttShowDetail(empId) { '' + ''; - overlay.style.display = 'block'; - panel.style.transform = 'translateX(0)'; + if (overlay) overlay.style.display = 'none'; + panel.style.display = 'flex'; } function ttCloseDetail() { var panel = document.getElementById('tt-detail'); var overlay = document.getElementById('tt-detail-overlay'); - if (panel) panel.style.transform = 'translateX(100%)'; + if (panel) panel.style.display = 'none'; if (overlay) overlay.style.display = 'none'; } diff --git a/templates/pages/chat.html b/templates/pages/chat.html index 21a04a3..f7c8b6d 100644 --- a/templates/pages/chat.html +++ b/templates/pages/chat.html @@ -80,9 +80,11 @@ - -
-