[Bug #1090] Fixed hidden warnings if user is disabled.
FEA: ItEr74S04BugFixing
This commit is contained in:
parent
37994c73b7
commit
64c12cf941
5 changed files with 22 additions and 64 deletions
|
|
@ -36,7 +36,6 @@ import org.navalplanner.business.common.IAdHocTransactionService;
|
|||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.common.Registry;
|
||||
import org.navalplanner.business.common.daos.IConfigurationDAO;
|
||||
import org.navalplanner.business.common.entities.Configuration;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.TaskSource;
|
||||
|
|
@ -458,7 +457,8 @@ public class TemplateModel implements ITemplateModel {
|
|||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public boolean hasChangedDefaultPassword(MandatoryUser user) {
|
||||
return user.hasChangedDefaultPassword(configurationDAO.getConfiguration());
|
||||
return user.hasChangedDefaultPasswordOrDisabled(configurationDAO
|
||||
.getConfiguration());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ import org.navalplanner.web.common.MessagesForUser;
|
|||
import org.navalplanner.web.common.OnlyOneVisible;
|
||||
import org.navalplanner.web.common.Util;
|
||||
import org.navalplanner.web.common.components.Autocomplete;
|
||||
import org.navalplanner.web.common.entrypoints.IURLHandlerRegistry;
|
||||
import org.navalplanner.web.common.entrypoints.EntryPointsHandler;
|
||||
import org.navalplanner.web.common.entrypoints.IURLHandlerRegistry;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.WrongValueException;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ import org.springframework.beans.factory.config.BeanDefinition;
|
|||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.zkoss.zk.ui.util.Clients;
|
||||
|
||||
/**
|
||||
* Model for UI operations related to {@link User}
|
||||
|
|
@ -147,44 +146,6 @@ public class UserModel implements IUserModel {
|
|||
// save the field changedDefaultAdminPassword in configuration.
|
||||
Registry.getConfigurationDAO().saveChangedDefaultPassword(
|
||||
user.getLoginName(), changedPasswd);
|
||||
|
||||
String displayA = null;
|
||||
String displayO = null;
|
||||
String displayU = null;
|
||||
String login = null;
|
||||
|
||||
// show or hide the warning
|
||||
displayO = isWarningDefaultPasswdOthersVisible();
|
||||
if (user.equals(MandatoryUser.ADMIN)) {
|
||||
displayA = isWarningDefaultPasswdAdminVisible(user,changedPasswd);
|
||||
}else{
|
||||
displayU = isWarningDefaultPasswordOtherUser(changedPasswd,
|
||||
displayO);
|
||||
login = user.getLoginName();
|
||||
}
|
||||
Clients.evalJavaScript("showOrHideWarnings('" + displayA + "', '"
|
||||
+ displayO + "', '" + login + "', '" + displayU + "');");
|
||||
}
|
||||
|
||||
private String isWarningDefaultPasswordOtherUser(boolean changedPasswd,
|
||||
String displayO) {
|
||||
if (displayO.equals("inline")) {
|
||||
return changedPasswd ? "none" : "inline";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String isWarningDefaultPasswdAdminVisible(MandatoryUser user, boolean changedPasswd){
|
||||
if (user.equals(MandatoryUser.ADMIN)) {
|
||||
return changedPasswd ? "none" : "inline";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String isWarningDefaultPasswdOthersVisible() {
|
||||
return MandatoryUser
|
||||
.adminChangedAndSomeOtherNotChanged(configurationDAO
|
||||
.getConfiguration()) ? "inline" : "none";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -28,7 +28,9 @@ import java.util.EnumSet;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.navalplanner.business.common.Registry;
|
||||
import org.navalplanner.business.common.entities.Configuration;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.users.entities.UserRole;
|
||||
|
||||
/**
|
||||
|
|
@ -69,7 +71,7 @@ public enum MandatoryUser {
|
|||
|
||||
public static boolean adminChangedAndSomeOtherNotChanged(
|
||||
Configuration configuration) {
|
||||
return ADMIN.hasChangedDefaultPassword(configuration)
|
||||
return ADMIN.hasChangedDefaultPasswordOrDisabled(configuration)
|
||||
&& someKeepsDefaultPassword(configuration,
|
||||
allExcept(ADMIN));
|
||||
}
|
||||
|
|
@ -78,7 +80,7 @@ public enum MandatoryUser {
|
|||
Configuration configuration,
|
||||
Collection<MandatoryUser> mandatoryUsers) {
|
||||
for (MandatoryUser each : mandatoryUsers) {
|
||||
if (!each.hasChangedDefaultPassword(configuration)) {
|
||||
if (!each.hasChangedDefaultPasswordOrDisabled(configuration)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -91,7 +93,12 @@ public enum MandatoryUser {
|
|||
this.initialRoles = new HashSet<UserRole>(initialUserRoles);
|
||||
}
|
||||
|
||||
public abstract boolean hasChangedDefaultPassword(
|
||||
public boolean hasChangedDefaultPasswordOrDisabled(
|
||||
Configuration configuration) {
|
||||
return isDisabled() || hasChangedDefaultPassword(configuration);
|
||||
}
|
||||
|
||||
protected abstract boolean hasChangedDefaultPassword(
|
||||
Configuration configuration);
|
||||
|
||||
public String getLoginName() {
|
||||
|
|
@ -110,4 +117,13 @@ public enum MandatoryUser {
|
|||
return EnumSet.complementOf(EnumSet.of(mandatoryUser));
|
||||
}
|
||||
|
||||
public boolean isDisabled() {
|
||||
try {
|
||||
return Registry.getUserDAO().findByLoginName(getLoginName())
|
||||
.isDisabled();
|
||||
} catch (InstanceNotFoundException e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,25 +29,6 @@
|
|||
<?component name="list" inline="true" macroURI="_listUsers.zul"?>
|
||||
<?component name="edition" inline="true" macroURI="_editUser.zul"?>
|
||||
<zk>
|
||||
<script type="text/JavaScript">
|
||||
<![CDATA[
|
||||
function showOrHideWarnings(displayA, displayO, user, displayU) {
|
||||
if(displayA != "null"){
|
||||
var warningAdmin = document.getElementById ("warningDefaultPasswdadmin");
|
||||
warningAdmin.style["display"] = displayA;
|
||||
}
|
||||
|
||||
var warningOthers = document.getElementById ("warningDefaultPasswdOthers");
|
||||
warningOthers.style["display"] = displayO;
|
||||
|
||||
if(displayU != "null" && user != "null"){
|
||||
var warningUser = document.getElementById ("warningDefaultPasswd"+user);
|
||||
warningUser.style["display"] = displayU;
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</script>
|
||||
|
||||
<window self="@{define(content)}"
|
||||
apply="org.navalplanner.web.users.UserCRUDController">
|
||||
<vbox id="messagesContainer"></vbox>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue