Fixed regression on db object comparison, fixes #178
This commit is contained in:
@@ -105,6 +105,8 @@ namespace Database
|
||||
const T* operator->() const { return _obj.get(); }
|
||||
operator bool() const { return _obj.get(); }
|
||||
bool operator!() const { return !_obj.get(); }
|
||||
bool operator==(const ObjectPtr& other) const { return other._obj == _obj; }
|
||||
bool operator!=(const ObjectPtr& other) const { return other._obj != _obj; }
|
||||
|
||||
auto modify() { return _obj.modify(); }
|
||||
void remove() { _obj.remove(); }
|
||||
|
||||
@@ -45,6 +45,20 @@ TEST_F(DatabaseFixture, SingleTrack)
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(DatabaseFixture, MultipleTracks)
|
||||
{
|
||||
ScopedTrack track1 {session, "MyTrackFile1"};
|
||||
ScopedTrack track2 {session, "MyTrackFile2"};
|
||||
|
||||
{
|
||||
auto transaction {session.createSharedTransaction()};
|
||||
|
||||
EXPECT_TRUE(track1.getId() != track2.getId());
|
||||
EXPECT_TRUE(track1.get() != track2.get());
|
||||
EXPECT_FALSE(track1.get() == track2.get());
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(DatabaseFixture, MultipleTracksSearchByFilter)
|
||||
{
|
||||
ScopedTrack track1 {session, ""};
|
||||
|
||||
@@ -69,8 +69,8 @@ UsersView::refreshView()
|
||||
|
||||
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
||||
|
||||
auto users = Database::User::getAll(LmsApp->getDbSession());
|
||||
for (const auto& user : users)
|
||||
const Database::User::pointer currentUser {LmsApp->getUser()};
|
||||
for (const Database::User::pointer& user : Database::User::getAll(LmsApp->getDbSession()))
|
||||
{
|
||||
const Database::UserId userId {user->getId()};
|
||||
|
||||
@@ -86,7 +86,7 @@ UsersView::refreshView()
|
||||
}
|
||||
|
||||
// Don't edit ourself this way
|
||||
if (LmsApp->getUser() == user)
|
||||
if (currentUser == user)
|
||||
continue;
|
||||
|
||||
entry->setCondition("if-edit", true);
|
||||
|
||||
Reference in New Issue
Block a user