Changeset b8a8d06


Ignore:
Timestamp:
10/16/21 15:07:33 (3 years ago)
Author:
KostaFortumanov <kfortumanov@…>
Branches:
master
Children:
2d8c0e7
Parents:
7888b17
Message:

bug fix

Location:
src/main
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/it/finki/charitable/controller/DonationPostController.java

    r7888b17 rb8a8d06  
    5050                          @RequestParam String telekom,
    5151                          @RequestParam String a1,
    52                           @RequestParam(defaultValue = "2021-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate dateDue,
     52                          @RequestParam(defaultValue = "2020-01-01") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate dateDue,
    5353                          @RequestParam String bankAccount,
    5454                          @RequestParam MultipartFile titleImage,
     
    5656                          @RequestParam MultipartFile[] moderatorImages) {
    5757
     58        System.out.println(moderatorImages.length);
     59        if(titleImage.isEmpty() || (moderatorImages.length == 1 && moderatorImages[0].isEmpty())) {
     60            model.addAttribute("error", true);
     61            return "upload";
     62        }
     63
     64        if(title.isBlank() || fundsNeeded.isBlank() || currency.isBlank() || description.isBlank() || bankAccount.isBlank() || dateDue.equals(LocalDate.of(2020,1,1))) {
     65            model.addAttribute("error", true);
     66            return "upload";
     67        }
     68
    5869        DonationPost post = new DonationPost();
    5970        post.setTitle(title);
     
    6172        try {
    6273            float funds = Float.parseFloat(fundsNeeded);
     74            if (funds <= 0) {
     75                model.addAttribute("error", true);
     76                return "upload";
     77            }
    6378            post.setFundsNeeded(funds);
    6479        } catch (NumberFormatException e) {
    65             e.printStackTrace();
     80            model.addAttribute("error", true);
     81            return "upload";
    6682        }
    6783
     
    215231    }
    216232
    217     @RequestMapping("/donate")
     233    @RequestMapping(value="/donate", method = RequestMethod.POST)
    218234    public String donate(Model model, @RequestParam Long postid,
    219235                         @RequestParam String cardName,
     
    221237                         @RequestParam String expiryDate,
    222238                         @RequestParam String cvv,
    223                          @RequestParam float amount) {
     239                         @RequestParam String amount) {
    224240
    225241        DonationPost post = donationPostService.getById(postid);
    226         FundsCollected funds = new FundsCollected("Online donation", amount);
     242        if(post == null || !post.getApproved()) {
     243            return "index";
     244        }
     245
     246        float donatedAmount;
     247        try {
     248            donatedAmount = Float.parseFloat(amount);
     249            if (donatedAmount <= 0) {
     250                return String.format("redirect:/post?postid=%d&error", postid);
     251            }
     252            post.setFundsNeeded(donatedAmount);
     253        } catch (NumberFormatException e) {
     254            return String.format("redirect:/post?postid=%d&error", postid);
     255        }
     256
     257        FundsCollected funds = new FundsCollected("Online donation", donatedAmount);
    227258        fundsCollectedService.save(funds);
    228259
     
    230261        donationPostService.save(post);
    231262
    232         DonationInformation donationInformation = new DonationInformation(amount, post.getId(), post.getTitle());
     263        DonationInformation donationInformation = new DonationInformation(donatedAmount, post.getId(), post.getTitle());
    233264        donationInformationService.save(donationInformation);
    234265        MainUser user = (MainUser) userService.loadUserByUsername(SecurityContextHolder.getContext().getAuthentication().getName());
     
    239270    }
    240271
    241     @RequestMapping("/report")
     272    @RequestMapping(value="/report", method = RequestMethod.POST)
    242273    public String report(@RequestParam Long postid,
    243274                         @RequestParam String description) {
  • src/main/resources/templates/post.html

    r7888b17 rb8a8d06  
    7777                Report
    7878            </button>
     79            <div id="error" class="text-danger" hidden>Donation error</div>
    7980
    8081            <!-- Modal -->
     
    197198</div>
    198199<script src="/js/bootstrap.min.js"></script>
     200<script>
     201    location.search
     202        .substr(1)
     203        .split("&")
     204        .forEach(function (item) {
     205            tmp = item.split("=");
     206            if (tmp[0] === "error") {
     207                document.getElementById("error").hidden = false;
     208            }
     209        });
     210</script>
    199211<script th:inline="javascript" th:unless="${notFound}" sec:authorize="isAuthenticated()">
    200212    /*<![CDATA[*/
  • src/main/resources/templates/reportPost.html

    r7888b17 rb8a8d06  
    7171
    7272                <div th:if="${report}">
    73                     <a class="btn btn-success" th:href="@{/moderator/dismiss(postid=${post.id})}">Dismiss</a>
     73                    <a class="btn btn-success" th:href="@{/moderator/dismiss(postid=${post.id})}">Dismiss reports</a>
    7474                    <button type="button" class="btn btn-danger" data-bs-toggle="modal"
    7575                            data-bs-target="#staticBackdrop">
  • src/main/resources/templates/upload.html

    r7888b17 rb8a8d06  
    1616<br/>
    1717<div class="row">
     18    <div th:if="${error}" class="text-danger">Error uploading post</div>
    1819    <div class="col-md-4" id="left">
    1920        <form th:action="@{/newPost}" method="post" id="myForm" enctype="multipart/form-data" class="row g-3">
Note: See TracChangeset for help on using the changeset viewer.