** Changed in: openlp
       Status: Fix Committed => Fix Released

** Changed in: openlp
    Milestone: None => 1.9.4

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/661867

Title:
  Invalid author added in song dialog

Status in OpenLP - Worship Presentation Software:
  Fix Released

Bug description:
  Hi, I just faced a error. 
What I did: I created a new song. I typed a new author name in the QComboBox 
and applied with the return key. The dialog tried to close.
Now I had a new author in the list called 'None'. In the database maintaining 
dialog I found neither the authors name nor the name 'None'. After deleting the 
author from the list of the song I tried to add it again. I typed the full 
name, but 'None' appeared in the list. Now every song database access results 
in the second traceback. 

Traceback (most recent call last):
  File 
"/home/meinert/Qt/OpenLP/trunk/openlp/plugins/songs/forms/editsongform.py", 
line 625, in accept
    if self.saveSong():
  File 
"/home/meinert/Qt/OpenLP/trunk/openlp/plugins/songs/forms/editsongform.py", 
line 664, in saveSong
    self.songmanager.save_object(self.song)
  File "/home/meinert/Qt/OpenLP/trunk/openlp/core/lib/db.py", line 152, in 
save_object
    self.session.commit()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/scoping.py", line 129, 
in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 653, 
in commit
    self.transaction.commit()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 364, 
in commit
    self._prepare_impl()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 348, 
in _prepare_impl
    self.session.flush()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 1346, 
in flush
    self._flush(objects)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 1427, 
in _flush
    flush_context.execute()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/unitofwork.py", line 
299, in execute
    rec.execute(self)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/unitofwork.py", line 
443, in execute
    uow
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/mapper.py", line 1833, 
in _save_obj
    execute(statement, params)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/base.py", line 1157, 
in execute
    params)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/base.py", line 1237, 
in _execute_clauseelement
    return self.__execute_context(context)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/base.py", line 1268, 
in __execute_context
    context.parameters[0], context=context)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/base.py", line 1367, 
in _cursor_execute
    context)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/base.py", line 1360, 
in _cursor_execute
    context)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/engine/default.py", line 
288, in do_execute
    cursor.execute(statement, parameters)
IntegrityError: (IntegrityError) authors.display_name may not be NULL u'INSERT 
INTO authors (first_name, last_name, display_name) VALUES (?, ?, ?)' (None, 
None, None)

Traceback (most recent call last):
  File 
"/home/meinert/Qt/OpenLP/trunk/openlp/plugins/songs/forms/editsongform.py", 
line 588, in onMaintenanceButtonClicked
    self.parent.song_maintenance_form.exec_()
  File 
"/home/meinert/Qt/OpenLP/trunk/openlp/plugins/songs/forms/songmaintenanceform.py",
 line 70, in exec_
    self.resetAuthors()
  File 
"/home/meinert/Qt/OpenLP/trunk/openlp/plugins/songs/forms/songmaintenanceform.py",
 line 106, in resetAuthors
    order_by_ref=Author.display_name)
  File "/home/meinert/Qt/OpenLP/trunk/openlp/core/lib/db.py", line 205, in 
get_all_objects
    return query.order_by(order_by_ref).all()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/query.py", line 1453, 
in all
    return list(self)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/query.py", line 1565, 
in __iter__
    return self._execute_and_instances(context)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/query.py", line 1570, 
in _execute_and_instances
    mapper=self._mapper_zero_or_none())
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 734, 
in execute
    return self._connection_for_bind(engine, close_with_result=True).execute(
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 699, 
in _connection_for_bind
    return self.transaction._connection_for_bind(engine)
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 298, 
in _connection_for_bind
    self._assert_is_active()
  File "/usr/lib/python2.6/dist-packages/sqlalchemy/orm/session.py", line 233, 
in _assert_is_active
    "The transaction is inactive due to a rollback in a "
InvalidRequestError: The transaction is inactive due to a rollback in a 
subtransaction.  Issue rollback() to cancel the transaction.



_______________________________________________
Mailing list: https://launchpad.net/~openlp-core
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openlp-core
More help   : https://help.launchpad.net/ListHelp

Reply via email to