finish
This commit is contained in:
		| @ -13,6 +13,7 @@ import ovh.herisson.Clyde.Tables.UserCurriculum; | |||||||
|  |  | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.HashMap; | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
|  |  | ||||||
| @RestController | @RestController | ||||||
| @ -149,13 +150,13 @@ public class CourseController { | |||||||
|  |  | ||||||
|  |  | ||||||
|     //Get all the courses followed by an user |     //Get all the courses followed by an user | ||||||
|     @GetMapping("/usercourses/{userId}") |     @GetMapping("/usercourses") | ||||||
|     public ResponseEntity<ArrayList<Course>> getAllUserCourses(@PathVariable long userId){ |     public ResponseEntity<List<Course>> getAllUserCourses(@RequestHeader("Authorization") String token){ | ||||||
|         User u = userService.getUserById(userId); |         User u = authServ.getUserFromToken(token); | ||||||
|  |  | ||||||
|         //We get all the actual curriculums of the user |         //We get all the actual curriculums of the user | ||||||
|         ArrayList<UserCurriculum> userCurricula = userCurriculumService.findByStudentAndActual(u, true); |         List<UserCurriculum> userCurricula = userCurriculumService.findByStudentAndActual(u, true); | ||||||
|         ArrayList<Course> toReturn = new ArrayList<>(); |         List<Course> toReturn = new ArrayList<>(); | ||||||
|  |  | ||||||
|         //We iterate through all the curriculums and we extract the courses |         //We iterate through all the curriculums and we extract the courses | ||||||
|         for (int i = 0; i < userCurricula.size(); i++){ |         for (int i = 0; i < userCurricula.size(); i++){ | ||||||
|  | |||||||
| @ -110,7 +110,4 @@ public class ForumController { | |||||||
| 		forumServ.answerTopic(t, data, u); | 		forumServ.answerTopic(t, data, u); | ||||||
| 		return new ResponseEntity<>(HttpStatus.ACCEPTED); | 		return new ResponseEntity<>(HttpStatus.ACCEPTED); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  |  | ||||||
| 	// TODO: <tonitch> Check if authorization to view a post/forum/... |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -51,7 +51,7 @@ public class ProtectionService { | |||||||
|  |  | ||||||
|         HashMap<String ,Object> toReturn = new HashMap<>(); |         HashMap<String ,Object> toReturn = new HashMap<>(); | ||||||
|  |  | ||||||
|         toReturn.put("courseId",course.getCourseID()); |         toReturn.put("courseID",course.getCourseID()); | ||||||
|         toReturn.put("credits",course.getCredits()); |         toReturn.put("credits",course.getCredits()); | ||||||
|         toReturn.put("title", course.getTitle()); |         toReturn.put("title", course.getTitle()); | ||||||
|         toReturn.put("owner", userWithoutPassword(course.getOwner())); |         toReturn.put("owner", userWithoutPassword(course.getOwner())); | ||||||
|  | |||||||
| @ -1,7 +1,9 @@ | |||||||
| package ovh.herisson.Clyde.Tables; | package ovh.herisson.Clyde.Tables; | ||||||
|  |  | ||||||
| import jakarta.persistence.*; | import jakarta.persistence.*; | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
| import ovh.herisson.Clyde.Tables.Msg.Forum; | import ovh.herisson.Clyde.Tables.Msg.Forum; | ||||||
|  |  | ||||||
| import java.util.List; | import java.util.List; | ||||||
| @ -11,6 +13,8 @@ import org.hibernate.annotations.OnDeleteAction; | |||||||
|  |  | ||||||
| @Entity | @Entity | ||||||
| @Data | @Data | ||||||
|  | @NoArgsConstructor | ||||||
|  | @AllArgsConstructor | ||||||
| public class Course { | public class Course { | ||||||
|     @Id |     @Id | ||||||
|     @GeneratedValue(strategy = GenerationType.AUTO) |     @GeneratedValue(strategy = GenerationType.AUTO) | ||||||
| @ -37,34 +41,4 @@ public class Course { | |||||||
|         this.title = title; |         this.title = title; | ||||||
|         this.owner = owner; |         this.owner = owner; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public Course() {} |  | ||||||
|  |  | ||||||
|     public int getCourseID() { |  | ||||||
|         return courseID; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public int getCredits() { |  | ||||||
|         return credits; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setCredits(int credits){ |  | ||||||
|         this.credits = credits; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public String getTitle() { |  | ||||||
|         return title; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setTitle(String title){ |  | ||||||
|         this.title = title; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public User getOwner() { |  | ||||||
|         return owner; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setOwner(User owner) { |  | ||||||
|         this.owner = owner; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,10 +1,17 @@ | |||||||
| package ovh.herisson.Clyde.Tables; | package ovh.herisson.Clyde.Tables; | ||||||
|  |  | ||||||
| import jakarta.persistence.*; | import jakarta.persistence.*; | ||||||
|  | import lombok.AllArgsConstructor; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.NoArgsConstructor; | ||||||
|  |  | ||||||
| import org.hibernate.annotations.OnDelete; | import org.hibernate.annotations.OnDelete; | ||||||
| import org.hibernate.annotations.OnDeleteAction; | import org.hibernate.annotations.OnDeleteAction; | ||||||
|  |  | ||||||
| @Entity | @Entity | ||||||
|  | @Data | ||||||
|  | @AllArgsConstructor | ||||||
|  | @NoArgsConstructor | ||||||
| public class UserCurriculum { | public class UserCurriculum { | ||||||
|     @Id |     @Id | ||||||
|     @GeneratedValue(strategy = GenerationType.AUTO) |     @GeneratedValue(strategy = GenerationType.AUTO) | ||||||
| @ -26,48 +33,10 @@ public class UserCurriculum { | |||||||
|     //True if the user has that curriculum at the moment false if not |     //True if the user has that curriculum at the moment false if not | ||||||
|     private boolean actual; |     private boolean actual; | ||||||
|  |  | ||||||
|     public UserCurriculum(User user, Curriculum curriculum, int year, boolean actual){ | 	public UserCurriculum(User u, Curriculum cu, int year, boolean actual){ | ||||||
|         this.user = user; | 		this.user = u; | ||||||
|         this.curriculum = curriculum; | 		this.curriculum = cu; | ||||||
| 		this.year = year; | 		this.year = year; | ||||||
| 		this.actual = actual; | 		this.actual = actual; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|     public UserCurriculum() {} |  | ||||||
|  |  | ||||||
|     public int getId() { |  | ||||||
|         return id; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public User getUser() { |  | ||||||
|         return user; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setUser(User user) { |  | ||||||
|         this.user = user; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public Curriculum getCurriculum() { |  | ||||||
|         return curriculum; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setCurriculum(Curriculum curriculum) { |  | ||||||
|         this.curriculum = curriculum; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public int getYear() { |  | ||||||
|         return year; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setYear(int year) { |  | ||||||
|         this.year = year; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public void setActual(boolean actual) { |  | ||||||
|         this.actual = actual; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public boolean isActual() { |  | ||||||
|         return actual; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -8,16 +8,16 @@ | |||||||
| <script setup> | <script setup> | ||||||
| import { ref, reactive } from 'vue' | import { ref, reactive } from 'vue' | ||||||
| import i18n from '@/i18n.js' | import i18n from '@/i18n.js' | ||||||
| import { getCourses } from '@/rest/courses.js' | import { getCourses, getUserActualCourses } from '@/rest/courses.js' | ||||||
| import { ForumsOfCurrentCourse, getForumsOfCourse, createForum } from '@/rest/forum.js' | import { ForumsOfCurrentCourse, getForumsOfCourse, createForum } from '@/rest/forum.js' | ||||||
| import { PostsOfCurrentForum, getPostsOfForum, createPost } from '@/rest/forum.js' | import { PostsOfCurrentForum, getPostsOfForum, createPost } from '@/rest/forum.js' | ||||||
| import { fetchedPost, fetchPost, sendAnswer } from '@/rest/forum.js' | import { fetchedPost, fetchPost, sendAnswer } from '@/rest/forum.js' | ||||||
| import { getSelf } from '@/rest/Users.js' | import { getSelf } from '@/rest/Users.js' | ||||||
|  |  | ||||||
| const courses = await reactive(getCourses()); | const Role = (await getSelf()).role; | ||||||
|  | const courses = Role === 'Admin' || Role === 'Secretary' ? await reactive(getCourses()) : await reactive(getUserActualCourses()); | ||||||
| const selectedCourse = ref(); | const selectedCourse = ref(); | ||||||
| const selectedForum = ref(); | const selectedForum = ref(); | ||||||
| const Role = (await getSelf()).role; |  | ||||||
|  |  | ||||||
| const addForumName = ref(""); | const addForumName = ref(""); | ||||||
| const addPost = ref(false); | const addPost = ref(false); | ||||||
| @ -30,7 +30,7 @@ const addPostContent = ref(""); | |||||||
| 	<div id="app"> | 	<div id="app"> | ||||||
| 		<div id="ForumSelector"> | 		<div id="ForumSelector"> | ||||||
| 			<select id="cours" value="" v-model="selectedCourse"  @change="getForumsOfCourse(selectedCourse)"> | 			<select id="cours" value="" v-model="selectedCourse"  @change="getForumsOfCourse(selectedCourse)"> | ||||||
| 				<option v-for="course in courses" :value="course.courseId">{{course.title}}</option> | 				<option v-for="course in courses" :value="course.courseID">{{course.title}}</option> | ||||||
| 			</select> | 			</select> | ||||||
|  |  | ||||||
| 			<select id="forum" value="" v-model="selectedForum"  @change="getPostsOfForum(selectedForum !== 'create' ? selectedForum : null)" v-if="ForumsOfCurrentCourse != null"> | 			<select id="forum" value="" v-model="selectedForum"  @change="getPostsOfForum(selectedForum !== 'create' ? selectedForum : null)" v-if="ForumsOfCurrentCourse != null"> | ||||||
|  | |||||||
| @ -76,6 +76,6 @@ export async function alterCourse(id, changes){ | |||||||
|  * Return a list containing all the actual courses of a user |  * Return a list containing all the actual courses of a user | ||||||
|  */ |  */ | ||||||
|  |  | ||||||
| export async function getUserActualCourses(userId){ | export async function getUserActualCourses(){ | ||||||
| 	return restGet("/usercourses/"+userId) | 	return restGet("/usercourses") | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user