Have users have upload permissions. Make sure upload tab only shows up then.
This commit is contained in:
@@ -46,7 +46,6 @@ WebInterface::WebInterface(const Wt::WEnvironment& env) : Wt::WApplication(env)
|
|||||||
root()->addWidget(priv_int->loginUI);
|
root()->addWidget(priv_int->loginUI);
|
||||||
priv_int->loginUI->animateShow(Wt::WAnimation(Wt::WAnimation::AnimationEffect::SlideInFromTop));
|
priv_int->loginUI->animateShow(Wt::WAnimation(Wt::WAnimation::AnimationEffect::SlideInFromTop));
|
||||||
priv_int->loginUI->checkSessionValidity();
|
priv_int->loginUI->checkSessionValidity();
|
||||||
if(currentUser.isAdmin) priv_int->playerUI->mainDisplay->addTab(priv_int->playerUI->adminPane, "Admin", Wt::WTabWidget::LazyLoading);
|
|
||||||
notificationSlot.setJavaScript(getNotificationJs(""));
|
notificationSlot.setJavaScript(getNotificationJs(""));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,6 +69,8 @@ void WebInterface::loginCompleted()
|
|||||||
priv_int->playerUI->updateDetailsFromServer(GroovePlayerMgr::getInstance()->currentTrack);
|
priv_int->playerUI->updateDetailsFromServer(GroovePlayerMgr::getInstance()->currentTrack);
|
||||||
priv_int->playerUI->updateVoteableTracksFromServer(GroovePlayerMgr::getInstance()->currentVoteBatch);
|
priv_int->playerUI->updateVoteableTracksFromServer(GroovePlayerMgr::getInstance()->currentVoteBatch);
|
||||||
priv_int->playerUI->updateVoteTrackState();
|
priv_int->playerUI->updateVoteTrackState();
|
||||||
|
if(currentUser.canUpload) priv_int->playerUI->mainDisplay->addTab(priv_int->playerUI->uploadPane, "Upload Track", Wt::WTabWidget::LazyLoading);
|
||||||
|
if(currentUser.isAdmin) priv_int->playerUI->mainDisplay->addTab(priv_int->playerUI->adminPane, "Admin", Wt::WTabWidget::LazyLoading);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebInterface::playPauseActionFromServer(User userPausing, bool pause)
|
void WebInterface::playPauseActionFromServer(User userPausing, bool pause)
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public:
|
|||||||
std::string passwordSalt;
|
std::string passwordSalt;
|
||||||
bool isDisabled;
|
bool isDisabled;
|
||||||
bool isAdmin;
|
bool isAdmin;
|
||||||
|
bool canUpload;
|
||||||
std::string loginCookieToken;
|
std::string loginCookieToken;
|
||||||
|
|
||||||
template<class Action>
|
template<class Action>
|
||||||
@@ -41,6 +42,7 @@ public:
|
|||||||
Wt::Dbo::field(a, passwordSalt, "salt");
|
Wt::Dbo::field(a, passwordSalt, "salt");
|
||||||
Wt::Dbo::field(a, isDisabled, "disabled");
|
Wt::Dbo::field(a, isDisabled, "disabled");
|
||||||
Wt::Dbo::field(a, isAdmin, "admin");
|
Wt::Dbo::field(a, isAdmin, "admin");
|
||||||
|
Wt::Dbo::field(a, canUpload, "canupload");
|
||||||
Wt::Dbo::field(a, loginCookieToken, "cookie");
|
Wt::Dbo::field(a, loginCookieToken, "cookie");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ void LoginInterface::createUser(Wt::Dbo::Session* session, std::string username,
|
|||||||
user->isAdmin = isAdmin;
|
user->isAdmin = isAdmin;
|
||||||
user->username = username;
|
user->username = username;
|
||||||
user->isDisabled = false;
|
user->isDisabled = false;
|
||||||
|
user->canUpload = true;
|
||||||
user->passwordSalt = Wt::WRandom::generateId();
|
user->passwordSalt = Wt::WRandom::generateId();
|
||||||
user->passwordHash = hasher.compute(rawPassword, user->passwordSalt);
|
user->passwordHash = hasher.compute(rawPassword, user->passwordSalt);
|
||||||
user->loginCookieToken = Wt::WRandom::generateId();
|
user->loginCookieToken = Wt::WRandom::generateId();
|
||||||
|
|||||||
@@ -125,7 +125,6 @@ PlayerInterface::PlayerInterface(WebInterface* app)
|
|||||||
interfaceLayout->addWidget(mainDisplay);
|
interfaceLayout->addWidget(mainDisplay);
|
||||||
mainDisplay->addTab(voteMetaContainer,"Up Next",Wt::WTabWidget::PreLoading);
|
mainDisplay->addTab(voteMetaContainer,"Up Next",Wt::WTabWidget::PreLoading);
|
||||||
mainDisplay->addTab(requestPane, "Make Request", Wt::WTabWidget::LazyLoading);
|
mainDisplay->addTab(requestPane, "Make Request", Wt::WTabWidget::LazyLoading);
|
||||||
mainDisplay->addTab(uploadPane, "Upload Track", Wt::WTabWidget::LazyLoading);
|
|
||||||
playControlWidget->addStyleClass("panel");
|
playControlWidget->addStyleClass("panel");
|
||||||
playControlWidget->addStyleClass("panel-default");
|
playControlWidget->addStyleClass("panel-default");
|
||||||
playControlWidget->decorationStyle().setBackgroundColor(Wt::WColor("gainsboro"));
|
playControlWidget->decorationStyle().setBackgroundColor(Wt::WColor("gainsboro"));
|
||||||
|
|||||||
Reference in New Issue
Block a user