Ask before deleting user
This commit is contained in:
@@ -38,6 +38,8 @@
|
|||||||
<message id="Lms.Admin.Users.add">New user</message>
|
<message id="Lms.Admin.Users.add">New user</message>
|
||||||
<message id="Lms.Admin.Users.admin">Admin</message>
|
<message id="Lms.Admin.Users.admin">Admin</message>
|
||||||
<message id="Lms.Admin.Users.del">Delete</message>
|
<message id="Lms.Admin.Users.del">Delete</message>
|
||||||
|
<message id="Lms.Admin.Users.del-user">Delete user</message>
|
||||||
|
<message id="Lms.Admin.Users.del-user-name">Delete user?</message>
|
||||||
<message id="Lms.Admin.Users.demo">Demo</message>
|
<message id="Lms.Admin.Users.demo">Demo</message>
|
||||||
<message id="Lms.Admin.Users.edit">Edit</message>
|
<message id="Lms.Admin.Users.edit">Edit</message>
|
||||||
<message id="Lms.Admin.Users.users">Users</message>
|
<message id="Lms.Admin.Users.users">Users</message>
|
||||||
|
|||||||
+26
-10
@@ -19,8 +19,9 @@
|
|||||||
|
|
||||||
#include "UsersView.hpp"
|
#include "UsersView.hpp"
|
||||||
|
|
||||||
#include <Wt/WTemplate.h>
|
|
||||||
#include <Wt/WPushButton.h>
|
#include <Wt/WPushButton.h>
|
||||||
|
#include <Wt/WMessageBox.h>
|
||||||
|
#include <Wt/WTemplate.h>
|
||||||
|
|
||||||
#include "database/User.hpp"
|
#include "database/User.hpp"
|
||||||
#include "utils/Logger.hpp"
|
#include "utils/Logger.hpp"
|
||||||
@@ -72,7 +73,8 @@ UsersView::refreshView()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
entry->bindString("name", authUser.identity(Wt::Auth::Identity::LoginName), Wt::TextFormat::Plain);
|
auto login = authUser.identity(Wt::Auth::Identity::LoginName);
|
||||||
|
entry->bindString("name", login, Wt::TextFormat::Plain);
|
||||||
|
|
||||||
// Create tag
|
// Create tag
|
||||||
if (user->isAdmin() || user->isDemo())
|
if (user->isAdmin() || user->isDemo())
|
||||||
@@ -93,16 +95,30 @@ UsersView::refreshView()
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
Wt::WPushButton* delBtn = entry->bindNew<Wt::WPushButton>("del-btn", Wt::WString::tr("Lms.Admin.Users.del"));
|
Wt::WPushButton* delBtn = entry->bindNew<Wt::WPushButton>("del-btn", Wt::WString::tr("Lms.Admin.Users.del"));
|
||||||
delBtn->clicked().connect(std::bind([=]
|
delBtn->clicked().connect([=]
|
||||||
{
|
{
|
||||||
Wt::Dbo::Transaction transaction(LmsApp->getDboSession());
|
auto msgBox = delBtn->addChild(std::make_unique<Wt::WMessageBox>(Wt::WString::tr("Lms.Admin.Users.del-user"),
|
||||||
|
Wt::WString::tr("Lms.Admin.Users.del-user-name"),
|
||||||
|
Wt::Icon::Warning, Wt::StandardButton::Yes | Wt::StandardButton::No));
|
||||||
|
|
||||||
auto authUser = LmsApp->getDb().getUserDatabase().findWithId(userId);
|
msgBox->setModal(true);
|
||||||
auto user = LmsApp->getDb().getUser(authUser);
|
msgBox->buttonClicked().connect([=] (Wt::StandardButton btn)
|
||||||
LmsApp->getDb().getUserDatabase().deleteUser( authUser );
|
{
|
||||||
user.remove();
|
if (btn == Wt::StandardButton::Yes)
|
||||||
_container->removeWidget(entry);
|
{
|
||||||
}));
|
Wt::Dbo::Transaction transaction(LmsApp->getDboSession());
|
||||||
|
|
||||||
|
auto authUser = LmsApp->getDb().getUserDatabase().findWithId(userId);
|
||||||
|
auto user = LmsApp->getDb().getUser(authUser);
|
||||||
|
LmsApp->getDb().getUserDatabase().deleteUser( authUser );
|
||||||
|
user.remove();
|
||||||
|
_container->removeWidget(entry);
|
||||||
|
}
|
||||||
|
delBtn->removeChild(msgBox);
|
||||||
|
});
|
||||||
|
|
||||||
|
msgBox->show();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user