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(); }
|
const T* operator->() const { return _obj.get(); }
|
||||||
operator bool() const { return _obj.get(); }
|
operator bool() const { return _obj.get(); }
|
||||||
bool operator!() 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(); }
|
auto modify() { return _obj.modify(); }
|
||||||
void remove() { _obj.remove(); }
|
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)
|
TEST_F(DatabaseFixture, MultipleTracksSearchByFilter)
|
||||||
{
|
{
|
||||||
ScopedTrack track1 {session, ""};
|
ScopedTrack track1 {session, ""};
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ UsersView::refreshView()
|
|||||||
|
|
||||||
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
auto transaction {LmsApp->getDbSession().createSharedTransaction()};
|
||||||
|
|
||||||
auto users = Database::User::getAll(LmsApp->getDbSession());
|
const Database::User::pointer currentUser {LmsApp->getUser()};
|
||||||
for (const auto& user : users)
|
for (const Database::User::pointer& user : Database::User::getAll(LmsApp->getDbSession()))
|
||||||
{
|
{
|
||||||
const Database::UserId userId {user->getId()};
|
const Database::UserId userId {user->getId()};
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ UsersView::refreshView()
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Don't edit ourself this way
|
// Don't edit ourself this way
|
||||||
if (LmsApp->getUser() == user)
|
if (currentUser == user)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
entry->setCondition("if-edit", true);
|
entry->setCondition("if-edit", true);
|
||||||
|
|||||||
Reference in New Issue
Block a user