Fix library UI errors

This commit is contained in:
IRBorisov 2023-09-01 23:44:02 +03:00
parent 8459b49032
commit 81931d06d6
4 changed files with 10 additions and 4 deletions

View File

@ -213,10 +213,14 @@ class TestLibraryViewset(APITestCase):
self.assertEqual(response.status_code, 200)
self.assertFalse(_response_contains(response, self.unowned))
user2 = User.objects.create(username='UserTest2')
Subscription.subscribe(user=self.user, item=self.unowned)
Subscription.subscribe(user=user2, item=self.unowned)
Subscription.subscribe(user=user2, item=self.owned)
response = self.client.get('/api/library/active')
self.assertEqual(response.status_code, 200)
self.assertTrue(_response_contains(response, self.unowned))
self.assertEqual(len(response.data), 3)
def test_subscriptions(self):
response = self.client.delete(f'/api/library/{self.unowned.id}/unsubscribe')

View File

@ -25,7 +25,9 @@ class LibraryActiveView(generics.ListAPIView):
user = self.request.user
if not user.is_anonymous:
# pylint: disable=unsupported-binary-operation
return m.LibraryItem.objects.filter(Q(is_common=True) | Q(owner=user) | Q(subscription__user=user))
return m.LibraryItem.objects.filter(
Q(is_common=True) | Q(owner=user) | Q(subscription__user=user)
).distinct()
else:
return m.LibraryItem.objects.filter(is_common=True)

View File

@ -28,7 +28,7 @@ function UserDropdown({ hideDropdown }: UserDropdownProps) {
const navigateMyWork = () => {
hideDropdown();
navigate(`/library?filter=${LibraryFilterStrategy.PERSONAL}`);
navigate(`/library`);
};
return (

View File

@ -12,7 +12,7 @@ import { useRSForm } from '../../context/RSFormContext';
import { useConceptTheme } from '../../context/ThemeContext';
import useModificationPrompt from '../../hooks/useModificationPrompt';
import { prefixes, TIMEOUT_UI_REFRESH } from '../../utils/constants';
import { ICstCreateData, ICstRenameData, LibraryFilterStrategy, SyntaxTree } from '../../utils/models';
import { ICstCreateData, ICstRenameData, SyntaxTree } from '../../utils/models';
import { createAliasFor } from '../../utils/staticUI';
import DlgCloneRSForm from './DlgCloneRSForm';
import DlgCreateCst from './DlgCreateCst';
@ -207,7 +207,7 @@ function RSTabs() {
}
destroySchema(schema.id, () => {
toast.success('Схема удалена');
navigate(`/library?filter=${LibraryFilterStrategy.PERSONAL}`);
navigate('/library');
});
}, [schema, destroySchema, navigate]);