Adding User edit/create view
This commit is contained in:
@@ -164,7 +164,6 @@ Handler::getCurrentUser()
|
||||
User::pointer
|
||||
Handler::getUser(const Wt::Auth::User& authUser)
|
||||
{
|
||||
|
||||
if (!authUser.isValid()) {
|
||||
LMS_LOG(DB, ERROR) << "Handler::getUser: invalid authUser";
|
||||
return User::pointer();
|
||||
@@ -172,13 +171,21 @@ Handler::getUser(const Wt::Auth::User& authUser)
|
||||
|
||||
Wt::Dbo::ptr<AuthInfo> authInfo = _users->find(authUser);
|
||||
|
||||
User::pointer user = authInfo->user();
|
||||
return authInfo->user();
|
||||
}
|
||||
|
||||
if (!user) {
|
||||
user = _session.add(new User());
|
||||
authInfo.modify()->setUser(user);
|
||||
User::pointer
|
||||
Handler::createUser(const Wt::Auth::User& authUser)
|
||||
{
|
||||
if (!authUser.isValid()) {
|
||||
LMS_LOG(DB, ERROR) << "Handler::getUser: invalid authUser";
|
||||
return User::pointer();
|
||||
}
|
||||
|
||||
User::pointer user = _session.add(new User());
|
||||
Wt::Dbo::ptr<AuthInfo> authInfo = _users->find(authUser);
|
||||
authInfo.modify()->setUser(user);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,8 @@ class Handler
|
||||
Wt::Dbo::Session& getSession() { return _session; }
|
||||
|
||||
Wt::Dbo::ptr<User> getCurrentUser(); // get the current user, may return empty
|
||||
Wt::Dbo::ptr<User> getUser(const Wt::Auth::User& authUser); // Get or create the given user
|
||||
Wt::Dbo::ptr<User> getUser(const Wt::Auth::User& authUser);
|
||||
Wt::Dbo::ptr<User> createUser(const Wt::Auth::User& authUser);
|
||||
|
||||
Wt::Auth::AbstractUserDatabase& getUserDatabase();
|
||||
Wt::Auth::Login& getLogin() { return _login; }
|
||||
|
||||
+7
-11
@@ -32,7 +32,7 @@ User::audioBitrates =
|
||||
};
|
||||
|
||||
User::User()
|
||||
: _maxAudioBitrate(maxAudioBitrate),
|
||||
: _maxAudioBitrate(audioBitrates.back()),
|
||||
_isAdmin(false),
|
||||
_audioBitrate(defaultAudioBitrate),
|
||||
_audioEncoding(AudioEncoding::AUTO),
|
||||
@@ -63,31 +63,27 @@ User::getById(Wt::Dbo::Session& session, id_type id)
|
||||
void
|
||||
User::setAudioBitrate(std::size_t bitrate)
|
||||
{
|
||||
_audioBitrate = std::min(bitrate, std::min(static_cast<std::size_t>(_maxAudioBitrate), audioBitrates.back()));
|
||||
_audioBitrate = std::min(bitrate, static_cast<std::size_t>(_maxAudioBitrate));
|
||||
}
|
||||
|
||||
void
|
||||
User::setMaxAudioBitrate(std::size_t bitrate)
|
||||
{
|
||||
_maxAudioBitrate = std::min(bitrate, static_cast<std::size_t>(_maxAudioBitrate));
|
||||
_maxAudioBitrate = std::min(bitrate, audioBitrates.back());
|
||||
if (_audioBitrate > _maxAudioBitrate)
|
||||
_audioBitrate = _maxAudioBitrate;
|
||||
}
|
||||
|
||||
std::size_t
|
||||
User::getAudioBitrate(void) const
|
||||
{
|
||||
if (!isAdmin())
|
||||
return std::min(static_cast<std::size_t>(_audioBitrate), std::min(static_cast<std::size_t>(_maxAudioBitrate), audioBitrates.back()));
|
||||
else
|
||||
return std::min(static_cast<std::size_t>(_audioBitrate), audioBitrates.back());
|
||||
return _audioBitrate;
|
||||
}
|
||||
|
||||
std::size_t
|
||||
User::getMaxAudioBitrate(void) const
|
||||
{
|
||||
if (!isAdmin())
|
||||
return std::min(static_cast<std::size_t>(_maxAudioBitrate), audioBitrates.back());
|
||||
else
|
||||
return audioBitrates.back();
|
||||
return _maxAudioBitrate;
|
||||
}
|
||||
|
||||
} // namespace Database
|
||||
|
||||
@@ -41,7 +41,7 @@ enum class AudioEncoding
|
||||
WEBMA,
|
||||
};
|
||||
|
||||
class User
|
||||
class User : public Wt::Dbo::Dbo<User>
|
||||
{
|
||||
public:
|
||||
typedef Wt::Dbo::dbo_traits<User>::IdType id_type;
|
||||
@@ -70,9 +70,9 @@ class User
|
||||
void setCurPlayingTrackPos(std::size_t pos) { _curPlayingTrackPos = pos; }
|
||||
|
||||
// read
|
||||
bool isAdmin() const {return _isAdmin;}
|
||||
bool isAdmin() const { return _isAdmin; }
|
||||
std::size_t getAudioBitrate() const;
|
||||
AudioEncoding getAudioEncoding() const { return _audioEncoding;}
|
||||
AudioEncoding getAudioEncoding() const { return _audioEncoding; }
|
||||
std::size_t getMaxAudioBitrate() const;
|
||||
std::size_t getCurPlayingTrackPos() const { return _curPlayingTrackPos; }
|
||||
|
||||
@@ -90,7 +90,6 @@ class User
|
||||
|
||||
private:
|
||||
|
||||
static const std::size_t maxAudioBitrate = 320000;
|
||||
static const std::size_t defaultAudioBitrate = 128000;
|
||||
|
||||
// Admin defined settings
|
||||
|
||||
Reference in New Issue
Block a user