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

Fixed #522 - default categories are not sorted correctly in german

parent 01210d80
No related branches found
No related tags found
No related merge requests found
...@@ -20,12 +20,12 @@ import java.util.stream.Collectors; ...@@ -20,12 +20,12 @@ import java.util.stream.Collectors;
@Controller @Controller
public class CategoryController extends BaseController public class CategoryController extends BaseController
{ {
private static final String WHITE = "#FFFFFF";
private final CategoryService categoryService; private final CategoryService categoryService;
private final HelpersService helpers; private final HelpersService helpers;
private final SettingsService settingsService; private final SettingsService settingsService;
private final String WHITE = "#FFFFFF";
@Autowired @Autowired
public CategoryController(CategoryService categoryService, HelpersService helpers, SettingsService settingsService) public CategoryController(CategoryService categoryService, HelpersService helpers, SettingsService settingsService)
{ {
...@@ -37,7 +37,7 @@ public class CategoryController extends BaseController ...@@ -37,7 +37,7 @@ public class CategoryController extends BaseController
@GetMapping("/categories") @GetMapping("/categories")
public String categories(Model model) public String categories(Model model)
{ {
model.addAttribute("categories", categoryService.getRepository().findAllByOrderByNameAsc()); model.addAttribute("categories", categoryService.getAllCategories());
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
return "categories/categories"; return "categories/categories";
} }
...@@ -50,7 +50,7 @@ public class CategoryController extends BaseController ...@@ -50,7 +50,7 @@ public class CategoryController extends BaseController
return "redirect:/categories"; return "redirect:/categories";
} }
List<Category> allCategories = categoryService.getRepository().findAllByOrderByNameAsc(); List<Category> allCategories = categoryService.getAllCategories();
List<Category> availableCategories = allCategories.stream().filter(category -> !category.getID().equals(ID)).collect(Collectors.toList()); List<Category> availableCategories = allCategories.stream().filter(category -> !category.getID().equals(ID)).collect(Collectors.toList());
model.addAttribute("categories", allCategories); model.addAttribute("categories", allCategories);
......
package de.deadlocker8.budgetmaster.categories; package de.deadlocker8.budgetmaster.categories;
import de.deadlocker8.budgetmaster.services.Resetable; import de.deadlocker8.budgetmaster.services.Resetable;
import de.deadlocker8.budgetmaster.settings.SettingsService;
import de.deadlocker8.budgetmaster.transactions.Transaction; import de.deadlocker8.budgetmaster.transactions.Transaction;
import de.deadlocker8.budgetmaster.utils.Strings; import de.deadlocker8.budgetmaster.utils.Strings;
import de.thecodelabs.utils.util.Localization; import de.thecodelabs.utils.util.Localization;
...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -10,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Optional; import java.util.Optional;
@Service @Service
...@@ -85,4 +87,23 @@ public class CategoryService implements Resetable ...@@ -85,4 +87,23 @@ public class CategoryService implements Resetable
LOGGER.debug("Created default category REST"); LOGGER.debug("Created default category REST");
} }
} }
public List<Category> getAllCategories()
{
localizeDefaultCategories();
return categoryRepository.findAllByOrderByNameAsc();
}
public void localizeDefaultCategories()
{
LOGGER.debug("Updating localization for default categories");
final Category categoryNone = categoryRepository.findByType(CategoryType.NONE);
categoryNone.setName(Localization.getString(Strings.CATEGORY_NONE));
categoryRepository.save(categoryNone);
final Category categoryRest = categoryRepository.findByType(CategoryType.REST);
categoryRest.setName(Localization.getString(Strings.CATEGORY_REST));
categoryRepository.save(categoryRest);
}
} }
...@@ -60,7 +60,7 @@ public class FilterHelpersService ...@@ -60,7 +60,7 @@ public class FilterHelpersService
public List<FilterObject> getFilterCategories() public List<FilterObject> getFilterCategories()
{ {
List<Category> categories = categoryService.getRepository().findAllByOrderByNameAsc(); List<Category> categories = categoryService.getAllCategories();
List<FilterObject> filterCategories = new ArrayList<>(); List<FilterObject> filterCategories = new ArrayList<>();
for(Category category : categories) for(Category category : categories)
{ {
......
...@@ -147,6 +147,7 @@ public class SettingsController extends BaseController ...@@ -147,6 +147,7 @@ public class SettingsController extends BaseController
settingsService.updateSettings(settings); settingsService.updateSettings(settings);
Localization.load(); Localization.load();
categoryService.localizeDefaultCategories();
return "redirect:/settings"; return "redirect:/settings";
} }
......
...@@ -92,7 +92,7 @@ public class TemplateService implements Resetable ...@@ -92,7 +92,7 @@ public class TemplateService implements Resetable
public void prepareModelNewOrEdit(Model model, boolean isEdit, TransactionBase item, boolean isPayment, List<Account> accounts) public void prepareModelNewOrEdit(Model model, boolean isEdit, TransactionBase item, boolean isPayment, List<Account> accounts)
{ {
model.addAttribute("isEdit", isEdit); model.addAttribute("isEdit", isEdit);
model.addAttribute("categories", categoryService.getRepository().findAllByOrderByNameAsc()); model.addAttribute("categories", categoryService.getAllCategories());
model.addAttribute("accounts", accounts); model.addAttribute("accounts", accounts);
model.addAttribute("template", item); model.addAttribute("template", item);
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
......
...@@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder; ...@@ -5,6 +5,7 @@ import com.google.gson.GsonBuilder;
import de.deadlocker8.budgetmaster.accounts.Account; import de.deadlocker8.budgetmaster.accounts.Account;
import de.deadlocker8.budgetmaster.accounts.AccountType; import de.deadlocker8.budgetmaster.accounts.AccountType;
import de.deadlocker8.budgetmaster.categories.CategoryRepository; import de.deadlocker8.budgetmaster.categories.CategoryRepository;
import de.deadlocker8.budgetmaster.categories.CategoryService;
import de.deadlocker8.budgetmaster.categories.CategoryType; import de.deadlocker8.budgetmaster.categories.CategoryType;
import de.deadlocker8.budgetmaster.filter.FilterConfiguration; import de.deadlocker8.budgetmaster.filter.FilterConfiguration;
import de.deadlocker8.budgetmaster.repeating.RepeatingOptionRepository; import de.deadlocker8.budgetmaster.repeating.RepeatingOptionRepository;
...@@ -42,16 +43,16 @@ public class TransactionService implements Resetable ...@@ -42,16 +43,16 @@ public class TransactionService implements Resetable
private TransactionRepository transactionRepository; private TransactionRepository transactionRepository;
private RepeatingOptionRepository repeatingOptionRepository; private RepeatingOptionRepository repeatingOptionRepository;
private CategoryRepository categoryRepository; private CategoryService categoryService;
private TagService tagService; private TagService tagService;
private SettingsService settingsService; private SettingsService settingsService;
@Autowired @Autowired
public TransactionService(TransactionRepository transactionRepository, RepeatingOptionRepository repeatingOptionRepository, CategoryRepository categoryRepository, TagService tagService, SettingsService settingsService) public TransactionService(TransactionRepository transactionRepository, RepeatingOptionRepository repeatingOptionRepository, CategoryService categoryService, TagService tagService, SettingsService settingsService)
{ {
this.transactionRepository = transactionRepository; this.transactionRepository = transactionRepository;
this.repeatingOptionRepository = repeatingOptionRepository; this.repeatingOptionRepository = repeatingOptionRepository;
this.categoryRepository = categoryRepository; this.categoryService = categoryService;
this.tagService = tagService; this.tagService = tagService;
this.settingsService = settingsService; this.settingsService = settingsService;
} }
...@@ -82,7 +83,7 @@ public class TransactionService implements Resetable ...@@ -82,7 +83,7 @@ public class TransactionService implements Resetable
List<Transaction> transactions = getTransactionsForMonthAndYearWithoutRest(account, month, year, filterConfiguration); List<Transaction> transactions = getTransactionsForMonthAndYearWithoutRest(account, month, year, filterConfiguration);
Transaction transactionRest = new Transaction(); Transaction transactionRest = new Transaction();
transactionRest.setCategory(categoryRepository.findByType(CategoryType.REST)); transactionRest.setCategory(categoryService.getRepository().findByType(CategoryType.REST));
transactionRest.setName(Localization.getString(Strings.CATEGORY_REST)); transactionRest.setName(Localization.getString(Strings.CATEGORY_REST));
transactionRest.setDate(DateTime.now().withYear(year).withMonthOfYear(month).withDayOfMonth(1)); transactionRest.setDate(DateTime.now().withYear(year).withMonthOfYear(month).withDayOfMonth(1));
transactionRest.setAmount(getRest(account, startDate)); transactionRest.setAmount(getRest(account, startDate));
...@@ -282,7 +283,7 @@ public class TransactionService implements Resetable ...@@ -282,7 +283,7 @@ public class TransactionService implements Resetable
{ {
model.addAttribute("isEdit", isEdit); model.addAttribute("isEdit", isEdit);
model.addAttribute("currentDate", date); model.addAttribute("currentDate", date);
model.addAttribute("categories", categoryRepository.findAllByOrderByNameAsc()); model.addAttribute("categories", categoryService.getAllCategories());
model.addAttribute("accounts", accounts); model.addAttribute("accounts", accounts);
model.addAttribute("transaction", item); model.addAttribute("transaction", item);
model.addAttribute("settings", settingsService.getSettings()); model.addAttribute("settings", settingsService.getSettings());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment