Skip to content

Commit

Permalink
MID-2094 implementation. It is now possible to add/edit/delete multip…
Browse files Browse the repository at this point in the history
…le mail server configurations from UI.
  • Loading branch information
erik committed Dec 23, 2014
1 parent 5b07fc1 commit e92100a
Show file tree
Hide file tree
Showing 6 changed files with 375 additions and 138 deletions.
Expand Up @@ -286,7 +286,6 @@ private ProfilingConfigurationType createProfilingConfiguration(LoggingDto dto){
return config;
}

//TODO - save the rest of systemConfig
private void savePerformed(AjaxRequestTarget target) {
OperationResult result = new OperationResult(TASK_UPDATE_SYSTEM_CONFIG);
String oid = SystemObjectsType.SYSTEM_CONFIGURATION.value();
Expand Down Expand Up @@ -406,10 +405,6 @@ private void saveObjectPolicies(SystemConfigurationType systemConfig){
systemConfig.getDefaultObjectPolicyConfiguration().addAll(confList);
}

/*
* TODO - currently, we are saving changes to MailServerConfigType on index 0 in ArrayList. This will
* change when GUI is update to define multiple mailServer or even SMS notifications
* */
private SystemConfigurationType saveNotificationConfiguration(SystemConfigurationType config){
NotificationConfigurationDto dto;
NotificationConfigurationType notificationConfig;
Expand All @@ -435,31 +430,21 @@ private SystemConfigurationType saveNotificationConfiguration(SystemConfiguratio
mailConfig.setDefaultFrom(dto.getDefaultFrom());
mailConfig.setRedirectToFile(dto.getRedirectToFile());

if(!mailConfig.getServer().isEmpty() && mailConfig.getServer().get(0) != null){
mailServerConfig = mailConfig.getServer().get(0);
} else {
mailServerConfig = new MailServerConfigurationType();
}

mailServerConfig.setHost(dto.getHost());
mailServerConfig.setPort(dto.getPort());
mailServerConfig.setUsername(dto.getUsername());
mailServerConfig.setTransportSecurity(dto.getMailTransportSecurityType());

if(dto.getPassword() != null && StringUtils.isNotEmpty(dto.getPassword())){
ProtectedStringType pass = new ProtectedStringType();
pass.setClearValue(dto.getPassword());
mailServerConfig.setPassword(pass);
}
mailConfig.getServer().clear();
for(MailServerConfigurationTypeDto serverDto: dto.getServers()){
MailServerConfigurationType newConfig = new MailServerConfigurationType();
newConfig.setHost(serverDto.getHost());
newConfig.setPort(serverDto.getPort());
newConfig.setUsername(serverDto.getUsername());
newConfig.setTransportSecurity(serverDto.getMailTransportSecurityType());

if(serverDto.getPassword() != null && StringUtils.isNotEmpty(serverDto.getPassword())){
ProtectedStringType pass = new ProtectedStringType();
pass.setClearValue(serverDto.getPassword());
newConfig.setPassword(pass);
}

if(mailConfig.getServer().isEmpty()){
if(dto.isConfigured())
mailConfig.getServer().add(0, mailServerConfig);
} else {
if(dto.isConfigured())
mailConfig.getServer().set(0, mailServerConfig);
else
mailConfig.getServer().remove(0);
mailConfig.getServer().add(newConfig);
}

notificationConfig.setMail(mailConfig);
Expand Down
Expand Up @@ -87,9 +87,9 @@ <h3 style="margin-left: 20px">
</div>

<!-- TODO - move this into webapps/js and change selector to attribute rather than to class -->
<script>
$('.btn-xs').tooltip();
</script>
<!--<script>-->
<!--$('.btn-xs').tooltip();-->
<!--// </script>-->

<div class="col-md-6">
<h3>
Expand Down Expand Up @@ -121,47 +121,69 @@ <h3>
</div>

<hr style="margin-right: 20px;"/>

<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.host"/>
<wicket:message key="SystemConfigPanel.mail.server"/>
<i wicket:id="serverConfigTooltip" wicket:message="title:SystemConfigPanel.mail.server.tooltip"/>
</label>

<div class="col-lg-4">
<input type="text" class="form-control input-sm" wicket:id="host"
wicket:message="placeholder:SystemConfigPanel.mail.host">
<select class="form-control input-sm" wicket:id="mailServer">
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.port"/>
</label>

<div class="col-lg-2">
<input type="text" class="form-control input-sm" wicket:id="port"
wicket:message="placeholder:SystemConfigPanel.mail.port">
<span class="btn-group">
<a class="btn btn-danger btn-sm" wicket:id="removeConfigButton"><i class="glyphicon glyphicon-minus"/></a>
<a class="btn btn-success btn-sm" wicket:id="addNewConfigButton"><i class="glyphicon glyphicon-plus"/></a>
</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.username"/>
</label>

<div class="col-lg-4">
<input type="text" class="form-control input-sm" wicket:id="username" autocomplete="off"
wicket:message="placeholder:SystemConfigPanel.mail.username">
<div wicket:id="mailServerConfigContainer">
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.host"/>
</label>

<div class="col-lg-4">
<input type="text" class="form-control input-sm" wicket:id="host"
wicket:message="placeholder:SystemConfigPanel.mail.host">
</div>
</div>
</div>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.password"/>
</label>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.port"/>
</label>

<div class="col-lg-2">
<input type="text" class="form-control input-sm" wicket:id="port"
wicket:message="placeholder:SystemConfigPanel.mail.port">
</div>
</div>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.username"/>
</label>

<div class="col-lg-4">
<input type="text" class="form-control input-sm" wicket:id="username" autocomplete="off"
wicket:message="placeholder:SystemConfigPanel.mail.username">
</div>
</div>
<div class="form-group">
<label class="col-lg-4 control-label">
<wicket:message key="SystemConfigPanel.mail.password"/>
</label>

<div class="col-lg-4">
<input type="password" class="form-control input-sm" wicket:id="password" autocomplete="off">
<div class="col-lg-4">
<input type="password" class="form-control input-sm" wicket:id="password" autocomplete="off">
</div>
</div>
</div>

<div class="form-group" wicket:id="transportSecurity" />
<div class="form-group" wicket:id="transportSecurity" />
</div>

<hr style="margin-right: 20px;"/>

Expand Down

0 comments on commit e92100a

Please sign in to comment.