Author display name not populated
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
OpenLP | Status tracked in Trunk | |||||
2.4 |
Fix Released
|
High
|
Raoul Snyman | |||
Trunk |
Fix Committed
|
High
|
Raoul Snyman |
Bug Description
We're seeing a lot of this exception since 2.4.5, so it looks like we've introduced a big. I don't actually know how to repetisie it because all of the users reporting the bug swear blind that they did nothing wrong and don't know how to reproduce it.
--- Exception Traceback ---
Traceback (most recent call last):
File "site-packages\
File "site-packages\
sqlite3.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "openlp\
File "openlp\
File "openlp\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
_emit_insert_
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
File "site-packages\
sqlalchemy.
authors.
VALUES (?, ?, ?)'] [parameters: (None, None, None)]
Related branches
- Tim Bentley: Approve
-
Diff: 410 lines (+247/-25)3 files modifiedopenlp/plugins/songs/forms/editsongform.py (+30/-24)
tests/functional/openlp_plugins/songs/test_editsongform.py (+2/-1)
tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py (+215/-0)
- OpenLP Core: Pending requested
-
Diff: 227238 lines (+168761/-11851) (has conflicts)137 files modified.bzrignore (+4/-0)
openlp/.version (+4/-0)
openlp/core/__init__.py (+9/-4)
openlp/core/common/__init__.py (+6/-0)
openlp/core/common/historycombobox.py.OTHER (+84/-0)
openlp/core/lib/colorbutton.py.OTHER (+82/-0)
openlp/core/lib/dockwidget.py.OTHER (+56/-0)
openlp/core/lib/listwidgetwithdnd.py.OTHER (+107/-0)
openlp/core/lib/projector/constants.py (+64/-0)
openlp/core/lib/projector/pjlink1.py (+67/-1)
openlp/core/lib/spelltextedit.py.OTHER (+204/-0)
openlp/core/lib/toolbar.py.OTHER (+90/-0)
openlp/core/lib/treewidgetwithdnd.py.OTHER (+144/-0)
openlp/core/resources.py (+87665/-11233)
openlp/core/ui/aboutdialog.py (+14/-0)
openlp/core/ui/exceptionform.py (+7/-0)
openlp/core/ui/generaltab.py (+0/-1)
openlp/core/ui/listpreviewwidget.py.OTHER (+176/-0)
openlp/core/ui/mainwindow.py (+20/-9)
openlp/core/ui/media/systemplayer.py (+35/-2)
openlp/core/ui/mediadockmanager.py.OTHER (+71/-0)
openlp/core/ui/projector/manager.py (+65/-2)
openlp/core/ui/projector/sourceselectform.py (+63/-4)
openlp/core/ui/wizard.py.OTHER (+305/-0)
openlp/core/utils/__init__.py.OTHER (+543/-0)
openlp/core/utils/actions.py.OTHER (+388/-0)
openlp/core/utils/db.py.OTHER (+71/-0)
openlp/core/utils/languagemanager.py.OTHER (+146/-0)
openlp/plugins/bibles/forms/bibleupgradeform.py.OTHER (+561/-0)
openlp/plugins/bibles/lib/importers/http.py (+10/-0)
openlp/plugins/bibles/lib/importers/zefania.py (+11/-0)
openlp/plugins/bibles/lib/mediaitem.py (+8/-0)
openlp/plugins/presentations/lib/pdfcontroller.py (+31/-0)
openlp/plugins/remotes/html/index.html (+18/-0)
openlp/plugins/remotes/html/jquery-migrate.js (+752/-0)
openlp/plugins/remotes/html/jquery-migrate.min.js (+2/-0)
openlp/plugins/remotes/html/jquery.js.OTHER (+11008/-0)
openlp/plugins/remotes/html/jquery.min.js.OTHER (+5/-0)
openlp/plugins/remotes/html/jquery.mobile.css (+2332/-0)
openlp/plugins/remotes/html/jquery.mobile.js.OTHER (+9162/-0)
openlp/plugins/remotes/html/jquery.mobile.min.css.OTHER (+2/-0)
openlp/plugins/remotes/html/jquery.mobile.min.js.OTHER (+2/-0)
openlp/plugins/remotes/html/main.css.OTHER (+32/-0)
openlp/plugins/remotes/html/main.js.OTHER (+45/-0)
openlp/plugins/remotes/html/openlp.css.OTHER (+31/-0)
openlp/plugins/remotes/html/openlp.js.OTHER (+386/-0)
openlp/plugins/remotes/html/stage.css.OTHER (+64/-0)
openlp/plugins/remotes/html/stage.js.OTHER (+170/-0)
openlp/plugins/remotes/lib/remotetab.py (+12/-0)
openlp/plugins/songs/forms/editsongform.py (+76/-15)
openlp/plugins/songs/lib/__init__.py (+8/-0)
openlp/plugins/songs/lib/db.py (+2/-2)
openlp/plugins/songs/lib/importers/easyworship.py (+32/-0)
openlp/plugins/songs/lib/importers/mediashout.py (+7/-0)
openlp/plugins/songs/lib/importers/openlp.py (+5/-0)
openlp/plugins/songs/lib/importers/songbeamer.py (+13/-0)
openlp/plugins/songs/lib/importers/videopsalm.py (+6/-0)
openlp/plugins/songs/lib/mediaitem.py (+26/-0)
openlp/plugins/songs/lib/songselect.py (+57/-5)
openlp/plugins/songusage/forms/songusagedetailform.py (+11/-2)
openlp/plugins/songusage/songusageplugin.py (+3/-3)
resources/i18n/af.ts (+2175/-40)
resources/i18n/bg.ts (+2060/-39)
resources/i18n/cs.ts (+1386/-9)
resources/i18n/da.ts (+1396/-9)
resources/i18n/de.ts (+1381/-11)
resources/i18n/el.ts (+2201/-47)
resources/i18n/en.ts (+1385/-9)
resources/i18n/en_GB.ts (+1384/-9)
resources/i18n/en_ZA.ts (+1374/-9)
resources/i18n/es.ts (+1415/-9)
resources/i18n/et.ts (+1402/-9)
resources/i18n/fi.ts (+1407/-12)
resources/i18n/fr.ts (+1387/-9)
resources/i18n/hu.ts (+1963/-15)
resources/i18n/id.ts (+1377/-9)
resources/i18n/ja.ts (+1701/-12)
resources/i18n/ko.ts (+2409/-28)
resources/i18n/lt.ts (+2504/-40)
resources/i18n/nb.ts (+1378/-11)
resources/i18n/nl.ts (+1377/-9)
resources/i18n/pl.ts (+1726/-12)
resources/i18n/pt_BR.ts (+1685/-16)
resources/i18n/ru.ts (+1379/-8)
resources/i18n/sk.ts (+1408/-9)
resources/i18n/sv.ts (+1772/-17)
resources/i18n/ta_LK.ts (+2194/-39)
resources/i18n/th_TH.ts (+2122/-39)
resources/i18n/zh_CN.ts (+2204/-39)
resources/i18n/zh_TW.ts (+1700/-12)
scripts/translation_utils.py (+4/-0)
tests/functional/openlp_core_common/test_projector_utilities.py (+4/-0)
tests/functional/openlp_core_common/test_registryproperties.py (+31/-1)
tests/functional/openlp_core_lib/test_color_button.py.OTHER (+199/-0)
tests/functional/openlp_core_lib/test_htmlbuilder.py (+25/-0)
tests/functional/openlp_core_lib/test_projector_pjlink1.py (+345/-0)
tests/functional/openlp_core_ui/test_aboutform.py (+44/-0)
tests/functional/openlp_core_ui/test_firsttimeform.py (+20/-0)
tests/functional/openlp_core_ui/test_generaltab.py (+54/-0)
tests/functional/openlp_core_ui/test_listpreviewwidget.py.OTHER (+52/-0)
tests/functional/openlp_core_ui/test_mainwindow.py (+13/-0)
tests/functional/openlp_core_ui/test_projector_sourceselectform.py (+83/-0)
tests/functional/openlp_core_ui/test_servicemanager.py (+140/-11)
tests/functional/openlp_core_ui/test_shortcutlistdialog.py (+60/-0)
tests/functional/openlp_core_ui/test_themetab.py (+84/-0)
tests/functional/openlp_core_ui_media/test_systemplayer.py (+499/-0)
tests/functional/openlp_core_utils/__init__.py.OTHER (+21/-0)
tests/functional/openlp_core_utils/test_actions.py.OTHER (+245/-0)
tests/functional/openlp_core_utils/test_db.py.OTHER (+104/-0)
tests/functional/openlp_core_utils/test_first_time.py.OTHER (+57/-0)
tests/functional/openlp_core_utils/test_init.py.OTHER (+129/-0)
tests/functional/openlp_core_utils/test_utils.py.OTHER (+491/-0)
tests/functional/openlp_plugins/bibles/test_manager.py (+69/-0)
tests/functional/openlp_plugins/presentations/test_pdfcontroller.py (+74/-0)
tests/functional/openlp_plugins/remotes/test_router.py (+23/-0)
tests/functional/openlp_plugins/songs/test_editsongform.py (+35/-0)
tests/functional/openlp_plugins/songs/test_lib.py (+27/-0)
tests/functional/openlp_plugins/songs/test_openlpimporter.py (+75/-0)
tests/functional/openlp_plugins/songs/test_songselect.py (+160/-10)
tests/functional/openlp_plugins/songusage/test_songusage.py (+28/-1)
tests/interfaces/openlp_core_common/test_historycombobox.py.OTHER (+65/-0)
tests/interfaces/openlp_core_lib/test_pluginmanager.py (+10/-0)
tests/interfaces/openlp_core_ui/test_listpreviewwidget.py.OTHER (+106/-0)
tests/interfaces/openlp_core_ui/test_projectorsourceform.py (+5/-8)
tests/interfaces/openlp_core_utils/__init__.py.OTHER (+21/-0)
tests/interfaces/openlp_core_utils/test_utils.py.OTHER (+81/-0)
tests/interfaces/openlp_plugins/custom/forms/test_customform.py (+19/-0)
tests/interfaces/openlp_plugins/songs/forms/test_authorsform.py (+215/-0)
tests/interfaces/openlp_plugins/songusage/test_songusagedetailform.py (+99/-0)
tests/resources/easyslidessongs/Export_2017-01-12_BB.json (+44/-0)
tests/resources/easyslidessongs/Export_2017-01-12_BB.xml (+50/-0)
tests/resources/opensongsongs/Amazing Grace with bad CCLI (+56/-0)
tests/resources/opensongsongs/Amazing Grace without CCLI.json (+42/-0)
tests/resources/songshowplussongs/cleanse-me.json (+38/-0)
tests/resources/videopsalmsongs/as-safe-a-stronghold2.json (+35/-0)
tests/resources/videopsalmsongs/videopsalm-as-safe-a-stronghold2.json (+47/-0)
tests/utils/test_bzr_tags.py (+1/-1)
This is caused by the off-by-1 error in the author drop-down selection.
To reproduce it do this:
1. Edit/create a song
2. Go to authors tab.
3. Choose the last author on list.
4. Click "Add to song" (and ignore that an empty author is added)
5. Click save.