forked from openlp/openlp
Merge branch 'fix-ccli-notification' into 'master'
changed CCLI no access notification to be in message area See merge request openlp/openlp!305
This commit is contained in:
commit
a9c3372dfa
@ -127,9 +127,10 @@ class Ui_SongSelectDialog(object):
|
|||||||
self.close_button.setIcon(UiIcons().close)
|
self.close_button.setIcon(UiIcons().close)
|
||||||
self.close_button.setObjectName('close_button')
|
self.close_button.setObjectName('close_button')
|
||||||
self.bottom_button_layout.addWidget(self.close_button, 0, 0, 1, 1)
|
self.bottom_button_layout.addWidget(self.close_button, 0, 0, 1, 1)
|
||||||
self.spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding,
|
self.message_area = QtWidgets.QLabel()
|
||||||
QtWidgets.QSizePolicy.Minimum)
|
self.message_area.setWordWrap(True)
|
||||||
self.bottom_button_layout.addItem(self.spacer, 0, 1, 1, 7)
|
self.message_area.setObjectName('message_area')
|
||||||
|
self.bottom_button_layout.addWidget(self.message_area, 0, 1, 1, 7)
|
||||||
self.view_button = QtWidgets.QPushButton(songselect_dialog)
|
self.view_button = QtWidgets.QPushButton(songselect_dialog)
|
||||||
self.view_button.setIcon(UiIcons().search)
|
self.view_button.setIcon(UiIcons().search)
|
||||||
self.view_button.setObjectName('view_button')
|
self.view_button.setObjectName('view_button')
|
||||||
|
@ -89,6 +89,7 @@ class SongSelectForm(QtWidgets.QDialog, Ui_SongSelectDialog, RegistryProperties)
|
|||||||
self.import_button.setEnabled(False)
|
self.import_button.setEnabled(False)
|
||||||
self.view_button.setEnabled(False)
|
self.view_button.setEnabled(False)
|
||||||
self.back_button.setEnabled(False)
|
self.back_button.setEnabled(False)
|
||||||
|
self.message_area.setText('')
|
||||||
|
|
||||||
def page_loaded(self, successful):
|
def page_loaded(self, successful):
|
||||||
self.song = None
|
self.song = None
|
||||||
@ -103,11 +104,9 @@ class SongSelectForm(QtWidgets.QDialog, Ui_SongSelectDialog, RegistryProperties)
|
|||||||
self.import_button.setEnabled(True)
|
self.import_button.setEnabled(True)
|
||||||
self.view_button.setEnabled(True)
|
self.view_button.setEnabled(True)
|
||||||
else:
|
else:
|
||||||
QtWidgets.QMessageBox.critical(
|
message = translate('SongsPlugin.SongSelectForm', 'This song cannot be read. Perhaps your CCLI account '
|
||||||
self, translate('SongsPlugin.SongSelectForm', 'No access to song'),
|
'does not give you access to this song.')
|
||||||
translate('SongsPlugin.SongSelectForm', 'This song cannot be read. Perhaps your CCLI account '
|
self.message_area.setText(message)
|
||||||
'does not give you access to this song.'),
|
|
||||||
QtWidgets.QMessageBox.StandardButtons(QtWidgets.QMessageBox.Ok), QtWidgets.QMessageBox.Ok)
|
|
||||||
self.back_button.setEnabled(True)
|
self.back_button.setEnabled(True)
|
||||||
if page_type == Pages.Other:
|
if page_type == Pages.Other:
|
||||||
self.back_button.setEnabled(True)
|
self.back_button.setEnabled(True)
|
||||||
|
@ -649,6 +649,7 @@ class TestSongSelectForm(TestCase, TestMixin):
|
|||||||
ssform.view_button = MagicMock()
|
ssform.view_button = MagicMock()
|
||||||
ssform.back_button = MagicMock()
|
ssform.back_button = MagicMock()
|
||||||
ssform.url_bar = MagicMock()
|
ssform.url_bar = MagicMock()
|
||||||
|
ssform.message_area = MagicMock()
|
||||||
|
|
||||||
# WHEN: The method is run
|
# WHEN: The method is run
|
||||||
ssform.page_load_started()
|
ssform.page_load_started()
|
||||||
@ -659,6 +660,7 @@ class TestSongSelectForm(TestCase, TestMixin):
|
|||||||
ssform.import_button.setEnabled.assert_called_with(False)
|
ssform.import_button.setEnabled.assert_called_with(False)
|
||||||
ssform.view_button.setEnabled.assert_called_with(False)
|
ssform.view_button.setEnabled.assert_called_with(False)
|
||||||
ssform.back_button.setEnabled.assert_called_with(False)
|
ssform.back_button.setEnabled.assert_called_with(False)
|
||||||
|
ssform.message_area.setText.assert_called_with('')
|
||||||
|
|
||||||
def test_page_loaded_login(self):
|
def test_page_loaded_login(self):
|
||||||
"""
|
"""
|
||||||
@ -695,6 +697,28 @@ class TestSongSelectForm(TestCase, TestMixin):
|
|||||||
ssform.song_progress_bar.setMaximum.assert_called_with(3)
|
ssform.song_progress_bar.setMaximum.assert_called_with(3)
|
||||||
ssform.song_progress_bar.setVisible.call_count == 2
|
ssform.song_progress_bar.setVisible.call_count == 2
|
||||||
|
|
||||||
|
@patch('openlp.plugins.songs.forms.songselectform.translate')
|
||||||
|
def test_page_loaded_song_no_access(self, mocked_translate):
|
||||||
|
"""
|
||||||
|
Test the page_loaded method for a "Song" page to which the CCLI account has no access
|
||||||
|
"""
|
||||||
|
# GIVEN: The SongSelectForm and mocked song page and translate function
|
||||||
|
ssform = SongSelectForm(None, MagicMock(), MagicMock())
|
||||||
|
ssform.song_select_importer = MagicMock()
|
||||||
|
ssform.song_select_importer.get_page_type.return_value = Pages.Song
|
||||||
|
ssform.song_select_importer.get_song.return_value = None
|
||||||
|
ssform.song_progress_bar = MagicMock()
|
||||||
|
ssform.url_bar = MagicMock()
|
||||||
|
ssform.message_area = MagicMock()
|
||||||
|
mocked_translate.return_value = 'some message'
|
||||||
|
|
||||||
|
# WHEN: The method is run
|
||||||
|
ssform.page_loaded(True)
|
||||||
|
|
||||||
|
# THEN: The no access message should be shown and the progress bar should be less than 3
|
||||||
|
ssform.message_area.setText.assert_called_with('some message')
|
||||||
|
ssform.song_progress_bar.setValue.call_count < 4
|
||||||
|
|
||||||
def test_page_loaded_other(self):
|
def test_page_loaded_other(self):
|
||||||
"""
|
"""
|
||||||
Test the page_loaded method for an "Other" page
|
Test the page_loaded method for an "Other" page
|
||||||
|
Loading…
Reference in New Issue
Block a user