Ignore:
Timestamp:
02/08/22 20:13:23 (2 years ago)
Author:
Petar Partaloski <ppartaloski@…>
Branches:
main
Children:
0226942, 3fe36de
Parents:
3c0f9a9
Message:

Added new core functionalities, fixed bugs and improved visual clarity

Location:
src/main/java/com/wediscussmovies/project/web
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/com/wediscussmovies/project/web/PageFrontMovies.java

    r3c0f9a9 rc02189f  
    3232
    3333        for(Integer id: movieIds){
    34             movies.add(movieService.findById(id));
     34            //Trying to improve load times by not pulling all things from the database, excluding un-needed stuff
     35            //
     36            //movies.add(movieService.findById(id));
     37            movies.add(movieService.findBasicById(id));
    3538        }
    3639        model.addAttribute("page", page);
  • src/main/java/com/wediscussmovies/project/web/controller/DiscussionController.java

    r3c0f9a9 rc02189f  
    55import com.wediscussmovies.project.model.Reply;
    66import com.wediscussmovies.project.model.User;
     7import com.wediscussmovies.project.model.relation.DiscussionLikes;
    78import com.wediscussmovies.project.service.DiscussionService;
    89import com.wediscussmovies.project.service.MovieService;
     
    1718import org.springframework.web.bind.annotation.*;
    1819
     20import java.util.ArrayList;
    1921import java.util.List;
    2022
     
    4648        model.addAttribute("contentTemplate", "discussionsList");
    4749        model.addAttribute("user",LoggedUser.getLoggedUser());
     50        this.addModelPropertiesForUser(model);
     51        this.addModelPropertiesLikes(model,null, discussions);
    4852        return "template";
    4953    }
     
    6266            model.addAttribute("user",LoggedUser.getLoggedUser());
    6367            model.addAttribute("replies",this.replyService.findAllByDiscussion(disc));
     68            addModelPropertiesLikes(model, disc, null);
     69            addModelPropertiesForUser(model);
    6470
    6571            return "template";
     
    171177
    172178    }
     179    private void addModelPropertiesForUser(Model model){
     180        User user = LoggedUser.getLoggedUser();
     181        model.addAttribute("likedDiscussions",this.discussionService.findLikedDiscussionsByUser(user));
     182        model.addAttribute("user",user);
     183    }
     184    private void addModelPropertiesLikes(Model model, Discussion discussion, List<Discussion> discussions){
     185        if(discussion==null){
     186            List<com.wediscussmovies.project.querymodels.DiscussionLikes> discussionLikes = new ArrayList<>();
     187            for(Discussion d: discussions){
     188                discussionLikes.add(discussionService.findLikesForDiscussionWithId(d.getDiscussionId()));
     189            }
     190            model.addAttribute("likes", discussionLikes);
     191        }
     192        else{
     193            model.addAttribute("likes",discussionService.findLikesForDiscussionWithId(discussion.getDiscussionId()).getLikes());
     194        }
     195    }
    173196
    174197
  • src/main/java/com/wediscussmovies/project/web/controller/MovieController.java

    r3c0f9a9 rc02189f  
    55import com.wediscussmovies.project.model.Person;
    66import com.wediscussmovies.project.model.User;
     7import com.wediscussmovies.project.querymodels.MovieLikesQM;
    78import com.wediscussmovies.project.service.GenreService;
    89import com.wediscussmovies.project.service.MovieService;
     
    2324import java.time.LocalDate;
    2425import java.util.ArrayList;
     26import java.util.HashMap;
     27import java.util.LinkedList;
    2528import java.util.List;
    2629
     
    3942
    4043    @GetMapping("/old")
    41     public String getMovies(@RequestParam(required = false) String titleQuery, Model model,
     44    public String getMoviesOld(@RequestParam(required = false) String titleQuery, Model model,
    4245                            @RequestParam(required = false) String error){
    4346        List<Movie> movies;
     
    5659        model.addAttribute("movie_rows", movie_rows);
    5760        model.addAttribute("contentTemplate", "moviesList");
     61        model.addAttribute("genres", genreService.findAll());
    5862        if (error != null && !error.equals(" "))
    5963            model.addAttribute("error",error);
     
    6367
    6468    @GetMapping
    65     public String getMoviesAlternative(@RequestParam(required = false) String titleQuery, Model model,
     69    public String getMovies(@RequestParam(required = false) String titleQuery, Model model,
    6670                            @RequestParam(required = false) String error, @RequestParam(required = false) String page){
    6771        if (page==null){
     
    7276        List<List<Movie>> movie_rows = new ArrayList<>();
    7377        DesignFrontMovies.designMovieList(movies,movie_rows);
     78        //addModelPropertiesForMoviesLikes(model, movies);
    7479        model.addAttribute("movies", movies);
    7580        model.addAttribute("movie_rows", movie_rows);
     81        model.addAttribute("genres", genreService.findAll());
    7682        model.addAttribute("contentTemplate", "moviesListPaged");
    7783        if (error != null && !error.equals(" "))
     
    8490        model.addAttribute("movie", movieService.findById(id));
    8591        addModelPropertiesForUser(model);
     92        model.addAttribute("likes", movieService.findLikesForMovieById(id).getLikes());
    8693        model.addAttribute("contentTemplate", "movieShow");
    8794        return "template";
     
    189196        model.addAttribute("user",user);
    190197    }
     198    private void addModelPropertiesForMoviesLikes(Model model, List<Movie> movies){
     199        HashMap<Integer,MovieLikesQM> movieLikes = new HashMap<>();
     200        for(Movie m: movies){
     201            movieLikes.put(m.getMovieId(),movieService.findLikesForMovieById(m.getMovieId()));
     202        }
     203        model.addAttribute("movieLikes", movieLikes);
     204    }
    191205
    192206}
  • src/main/java/com/wediscussmovies/project/web/controller/rest/MovieRestController.java

    r3c0f9a9 rc02189f  
    5252    public ResponseEntity addGrade(@PathVariable Integer movieId, @RequestBody Grade grade){
    5353        try {
     54            if(grade.getRating() < 5)
     55                grade.setRating(5);
     56            else if(grade.getRating()>10)
     57                grade.setRating(10);
    5458            this.movieService.addGradeMovie(movieId, LoggedUser.getLoggedUser(),grade);
    5559            return ResponseEntity.ok(true);
Note: See TracChangeset for help on using the changeset viewer.