Skip to content
Snippets Groups Projects
Commit e8dc47c0 authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#528 - readonly accounts should not be selectable as default account + default...

#528 - readonly accounts should not be selectable as default account + default account should not be able to set to readonly
parent 32027522
No related branches found
No related tags found
No related merge requests found
......@@ -65,8 +65,11 @@ public class AccountController extends BaseController
}
final Account account = accountOptional.get();
if(!account.isDefault())
{
account.setReadOnly(!account.isReadOnly());
accountService.getRepository().save(account);
}
String referer = request.getHeader("Referer");
if(referer.contains("database/import"))
......
......@@ -149,8 +149,6 @@ public class AccountService implements Resetable
public void setAsDefaultAccount(int ID)
{
unsetDefaultForAllAccounts();
Optional<Account> accountToSelectOptional = accountRepository.findById(ID);
if(accountToSelectOptional.isEmpty())
{
......@@ -158,6 +156,13 @@ public class AccountService implements Resetable
}
Account accountToSelect = accountToSelectOptional.get();
if(accountToSelect.isReadOnly())
{
return;
}
unsetDefaultForAllAccounts();
accountToSelect.setDefault(true);
accountRepository.save(accountToSelect);
}
......
......@@ -612,6 +612,12 @@ input[type="radio"]:not(:checked) + span::before, [type="radio"]:not(:checked) +
color: #2E79B9;
}
.placeholder-icon {
display: inline-block;
width: 1.3rem;
margin-right: 15px;
}
.invisible {
opacity: 0;
}
......
......@@ -527,6 +527,12 @@ input[type="radio"]:checked + span::after, [type="radio"].with-gap:checked + spa
color: #2E79B9;
}
.placeholder-icon {
display: inline-block;
width: 1.3rem;
margin-right: 15px;
}
.invisible {
opacity: 0;
}
......
......@@ -24,17 +24,19 @@
<#if (account.getType().name() == "CUSTOM")>
<tr>
<td>
<a href="<@s.url '/accounts/${account.getID()?c}/setAsDefault'/>" class="btn-flat no-padding text-color tooltipped" data-position="left" data-tooltip="${locale.getString("account.tooltip.default")}"><i class="material-icons left"><#if account.isDefault()>star<#else>star_border</#if></i></a>
<#if account.isReadOnly()>
<#assign toolTipText = locale.getString("account.tooltip.readonly.activate")/>
<#assign lockIcon = '<i class="fas fa-lock"></i>'/>
<div class="placeholder-icon"></div>
<#else>
<#assign toolTipText = locale.getString("account.tooltip.readonly.deactivate")/>
<#assign lockIcon = '<i class="fas fa-lock-open"></i>'/>
<a href="<@s.url '/accounts/${account.getID()?c}/setAsDefault'/>" class="btn-flat no-padding text-color tooltipped" data-position="left" data-tooltip="${locale.getString("account.tooltip.default")}"><i class="material-icons left"><#if account.isDefault()>star<#else>star_border</#if></i></a>
</#if>
<a href="<@s.url '/accounts/${account.getID()?c}/toggleReadOnly'/>" class="btn-flat no-padding text-color tooltipped" data-position="left" data-tooltip="${toolTipText}">${lockIcon}</a>
<#if !account.isDefault()>
<a href="<@s.url '/accounts/${account.getID()?c}/toggleReadOnly'/>" class="btn-flat no-padding text-color tooltipped" data-position="right" data-tooltip="${toolTipText}">${lockIcon}</a>
</#if>
</td>
<td>${account.getName()}</td>
<td>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment