Index: eprms-model/pom.xml
===================================================================
--- eprms-model/pom.xml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-model/pom.xml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -6,5 +6,5 @@
 	<groupId>info.ajanovski.eprms</groupId>
 	<artifactId>model</artifactId>
-	<version>0.0.5-SNAPSHOT</version>
+	<version>0.0.6-SNAPSHOT</version>
 
 	<name>EPRMS - Educational Project and Resource Management System - Model</name>
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/CourseComparator.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/CourseComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/CourseComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,11 @@
+package info.ajanovski.eprms.model.util;
+
+import java.util.Comparator;
+
+import info.ajanovski.eprms.model.entities.Course;
+
+public class CourseComparator implements Comparator<Course> {
+	public int compare(Course a1, Course a2) {
+		return a1.getTitle().compareTo(a2.getTitle());
+	}
+}
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/ProjectActiveComparator.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/ProjectActiveComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/ProjectActiveComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,30 @@
+package info.ajanovski.eprms.model.util;
+
+import java.util.Comparator;
+
+import info.ajanovski.eprms.model.entities.Activity;
+import info.ajanovski.eprms.model.entities.Project;
+import info.ajanovski.eprms.model.entities.WorkEvaluation;
+import info.ajanovski.eprms.model.entities.WorkReport;
+
+public class ProjectActiveComparator implements Comparator<Project> {
+	public Float mostActive(Project p) {
+		Float sum = 0F;
+		for (Activity a : p.getActivities()) {
+			Float max = 0F;
+			for (WorkReport wr : a.getWorkReports()) {
+				for (WorkEvaluation we : wr.getWorkEvaluations()) {
+					if (we.getPoints() > max) {
+						max = we.getPoints();
+					}
+				}
+			}
+			sum += max;
+		}
+		return sum;
+	}
+
+	public int compare(Project p1, Project p2) {
+		return mostActive(p1).compareTo(mostActive(p2));
+	}
+}
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkEvaluationComparator.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkEvaluationComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkEvaluationComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,11 @@
+package info.ajanovski.eprms.model.util;
+
+import java.util.Comparator;
+
+import info.ajanovski.eprms.model.entities.WorkEvaluation;
+
+public class WorkEvaluationComparator implements Comparator<WorkEvaluation> {
+	public int compare(WorkEvaluation w1, WorkEvaluation w2) {
+		return Long.valueOf(w1.getWorkEvaluationId()).compareTo(Long.valueOf(w2.getWorkEvaluationId()));
+	}
+}
Index: eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkReportComparator.java
===================================================================
--- eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkReportComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-model/src/main/java/info/ajanovski/eprms/model/util/WorkReportComparator.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,11 @@
+package info.ajanovski.eprms.model.util;
+
+import java.util.Comparator;
+
+import info.ajanovski.eprms.model.entities.WorkReport;
+
+public class WorkReportComparator implements Comparator<WorkReport> {
+	public int compare(WorkReport w1, WorkReport w2) {
+		return Long.valueOf(w1.getWorkReportId()).compareTo(Long.valueOf(w2.getWorkReportId()));
+	}
+}
Index: eprms-tap/pom.xml
===================================================================
--- eprms-tap/pom.xml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/pom.xml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -8,5 +8,5 @@
 		<groupId>org.springframework.boot</groupId>
 		<artifactId>spring-boot-starter-parent</artifactId>
-		<version>2.5.3</version>
+		<version>2.6.1</version>
 		<relativePath />
 	</parent>
@@ -14,5 +14,5 @@
 	<groupId>info.ajanovski.eprms</groupId>
 	<artifactId>eprms-tap</artifactId>
-	<version>0.0.6-SNAPSHOT</version>
+	<version>0.0.7-SNAPSHOT</version>
 	<name>EPRMS - Educational Project and Resource Management System</name>
 
@@ -38,10 +38,10 @@
 		<java.version>15</java.version>
 
-		<spring-boot-version>2.5.3</spring-boot-version>
-		<tapestry-version>5.7.3</tapestry-version>
+		<spring-boot-version>2.6.3</spring-boot-version>
+		<tapestry-version>5.8.0</tapestry-version>
 		<tapestry-testify-version>1.0.4</tapestry-testify-version>
 		<tapestry-xpath-version>1.0.1</tapestry-xpath-version>
 
-		<jackson-version>2.12.4</jackson-version>
+		<jackson-version>2.13.1</jackson-version>
 		<geb-version>2.3.1</geb-version>
 		<htmlunit-driver-version>2.33.3</htmlunit-driver-version>
@@ -52,6 +52,6 @@
 		<yasson-version>1.0.9</yasson-version>
 
-		<postgresql-version>42.2.23</postgresql-version>
-		<cas-client-version>3.6.2</cas-client-version>
+		<postgresql-version>42.3.3</postgresql-version>
+		<cas-client-version>3.6.4</cas-client-version>
 
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@@ -71,5 +71,5 @@
 			<groupId>info.ajanovski.eprms</groupId>
 			<artifactId>model</artifactId>
-			<version>0.0.5-SNAPSHOT</version>
+			<version>0.0.6-SNAPSHOT</version>
 		</dependency>
 
@@ -264,4 +264,9 @@
 		<!-- webjars -->
 		<dependency>
+			<groupId>org.webjars</groupId>
+			<artifactId>webjars-locator</artifactId>
+			<version>0.42</version>
+		</dependency>
+		<dependency>
 			<groupId>org.webjars.npm</groupId>
 			<artifactId>fontsource-fira-sans</artifactId>
@@ -269,9 +274,4 @@
 		</dependency>
 		<dependency>
-			<groupId>org.webjars</groupId>
-			<artifactId>webjars-locator</artifactId>
-			<version>0.42</version>
-		</dependency>
-		<dependency>
 			<groupId>org.webjars.npm</groupId>
 			<artifactId>feather-icons</artifactId>
@@ -281,5 +281,5 @@
 			<groupId>org.webjars</groupId>
 			<artifactId>ckeditor</artifactId>
-			<version>4.16.1</version>
+			<version>4.17.1</version>
 		</dependency>
 		<dependency>
@@ -361,4 +361,52 @@
 				<version>2.6</version>
 			</plugin>
+
+
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-dependency-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>unpack</id>
+						<phase>generate-test-sources</phase>
+						<goals>
+							<goal>unpack</goal>
+						</goals>
+						<configuration>
+							<artifactItems>
+								<artifactItem>
+									<groupId>org.webjars.npm</groupId>
+									<artifactId>fontsource-fira-sans</artifactId>
+									<type>jar</type>
+									<includes>META-INF/resources/webjars/**/*</includes>
+									<outputDirectory>${project.basedir}/target/classes/META-INF/assets/</outputDirectory>
+								</artifactItem>
+								<artifactItem>
+									<groupId>org.webjars.npm</groupId>
+									<artifactId>firacode</artifactId>
+									<type>jar</type>
+									<includes>META-INF/resources/webjars/**/*</includes>
+									<outputDirectory>${project.basedir}/target/classes/META-INF/assets/</outputDirectory>
+								</artifactItem>
+								<artifactItem>
+									<groupId>org.webjars.npm</groupId>
+									<artifactId>feather-icons</artifactId>
+									<type>jar</type>
+									<includes>META-INF/resources/webjars/**/*</includes>
+									<outputDirectory>${project.basedir}/target/classes/META-INF/assets/</outputDirectory>
+								</artifactItem>
+								<artifactItem>
+									<groupId>org.webjars</groupId>
+									<artifactId>ckeditor</artifactId>
+									<type>jar</type>
+									<includes>META-INF/resources/webjars/**/*</includes>
+									<outputDirectory>${project.basedir}/target/classes/META-INF/assets/</outputDirectory>
+								</artifactItem>
+							</artifactItems>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
 		</plugins>
 
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/App.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/App.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/App.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -25,5 +25,4 @@
 import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
 
 @SpringBootApplication
@@ -37,5 +36,5 @@
 	public static void main(String[] args) throws Exception {
 		SpringApplication application = new SpringApplication(App.class);
-		application.setApplicationContextClass(AnnotationConfigWebApplicationContext.class);
+		// application.setApplicationContextClass(AnnotationConfigWebApplicationContext.class);
 		SpringApplication.run(App.class, args);
 	}
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/IconActionLink.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (C) 2021 Vangel V. Ajanovski
+ *     
+ * This file is part of the EPRMS - Educational Project and Resource 
+ * Management System (hereinafter: EPRMS).
+ *     
+ * EPRMS is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *     
+ * EPRMS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *     
+ * You should have received a copy of the GNU General Public License
+ * along with EPRMS.  If not, see <https://www.gnu.org/licenses/>.
+ ******************************************************************************/
+
+package info.ajanovski.eprms.tap.components;
+
+import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.annotations.Parameter;
+import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.corelib.components.Any;
+
+public class IconActionLink extends Any {
+
+	@Property
+	@Parameter(required = false, defaultPrefix = BindingConstants.PROP)
+	private Object context;
+
+	@Property
+	@Parameter(required = false, defaultPrefix = BindingConstants.LITERAL)
+	private String path;
+
+}
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/SVGIcon.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/SVGIcon.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/components/SVGIcon.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -22,10 +22,17 @@
 
 import org.apache.tapestry5.BindingConstants;
+import org.apache.tapestry5.annotations.Mixin;
 import org.apache.tapestry5.annotations.Parameter;
 import org.apache.tapestry5.annotations.Property;
+import org.apache.tapestry5.annotations.SupportsInformalParameters;
+import org.apache.tapestry5.corelib.mixins.RenderInformals;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.services.AssetSource;
 
+@SupportsInformalParameters
 public class SVGIcon {
+
+	@Mixin
+	private RenderInformals renderInformals;
 
 	@Property
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDao.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDao.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDao.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -36,5 +36,5 @@
 	public Float sumPoints(Project p);
 
-	public List<Project> getCourseProjectsOrderByTitle(Course selectedCourse);
+	public List<Project> getAllProjectsInCourseOrderByTitle(Course selectedCourse);
 
 	public List<Project> getProjectByPerson(Long personId);
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDaoImpl.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDaoImpl.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/data/ProjectDaoImpl.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -44,5 +44,5 @@
 	@SuppressWarnings("unchecked")
 	public List<Project> getAllProjectsOrderByTitle() {
-		return getEntityManager().createQuery("from Project order by title").getResultList();
+		return getEntityManager().createQuery("from Project order by lower(title)").getResultList();
 	}
 
@@ -85,5 +85,5 @@
 	@Override
 	@SuppressWarnings("unchecked")
-	public List<Project> getCourseProjectsOrderByTitle(Course selectedCourse) {
+	public List<Project> getAllProjectsInCourseOrderByTitle(Course selectedCourse) {
 		if (selectedCourse != null) {
 			return getEntityManager().createQuery("""
@@ -93,5 +93,5 @@
 					join cp.course c
 					where c.courseId=:courseId
-					order by p.title
+					order by lower(p.title)
 					""").setParameter("courseId", selectedCourse.getCourseId()).getResultList();
 		} else {
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/model/ActivityTypeSelectModel.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/model/ActivityTypeSelectModel.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/model/ActivityTypeSelectModel.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,46 @@
+package info.ajanovski.eprms.tap.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.tapestry5.OptionGroupModel;
+import org.apache.tapestry5.OptionModel;
+import org.apache.tapestry5.internal.OptionModelImpl;
+import org.apache.tapestry5.util.AbstractSelectModel;
+
+import info.ajanovski.eprms.model.entities.ActivityType;
+
+public class ActivityTypeSelectModel extends AbstractSelectModel {
+	private List<ActivityType> activityTypes;
+
+	public ActivityTypeSelectModel(List<ActivityType> activityTypes) {
+		if (activityTypes == null) {
+			this.activityTypes = new ArrayList<ActivityType>();
+		} else {
+			this.activityTypes = activityTypes;
+		}
+	}
+
+	@Override
+	public List<OptionGroupModel> getOptionGroups() {
+		return null;
+	}
+
+	public int getDepth(ActivityType at) {
+		if (at.getSuperActivityType() != null) {
+			return getDepth(at.getSuperActivityType()) + 1;
+		} else {
+			return 0;
+		}
+	}
+
+	@Override
+	public List<OptionModel> getOptions() {
+		List<OptionModel> options = new ArrayList<OptionModel>();
+		for (ActivityType at : activityTypes) {
+			String name = (new String("-")).repeat(3 * getDepth(at)) + at.getTitle();
+			options.add(new OptionModelImpl(name, at));
+		}
+		return options;
+	}
+}
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -11,5 +11,7 @@
 import org.apache.tapestry5.corelib.components.Zone;
 import org.apache.tapestry5.hibernate.annotations.CommitAfter;
+import org.apache.tapestry5.http.services.Request;
 import org.apache.tapestry5.services.SelectModelFactory;
+import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
 
 import info.ajanovski.eprms.model.entities.ActivityType;
@@ -17,4 +19,5 @@
 import info.ajanovski.eprms.tap.annotations.AdministratorPage;
 import info.ajanovski.eprms.tap.annotations.InstructorPage;
+import info.ajanovski.eprms.tap.model.ActivityTypeSelectModel;
 import info.ajanovski.eprms.tap.services.GenericService;
 
@@ -32,6 +35,17 @@
 	private SelectModelFactory selectModelFactory;
 
+	@Inject
+	private AjaxResponseRenderer ajaxResponseRenderer;
+	@Inject
+	private Request request;
+
 	@Property
 	private ActivityType activityType;
+
+	@Property
+	private ActivityType superActivityType;
+
+	@InjectComponent
+	private Zone editFormZone;
 
 	@Persist
@@ -39,14 +53,24 @@
 	private ActivityType newActivityType;
 
-	public void onActionFromNewActivityType() {
+	public void onNewActivityType() {
 		newActivityType = new ActivityType();
+		if (request.isXHR()) {
+			ajaxResponseRenderer.addRender(editFormZone);
+		}
 	}
 
-	public void onActionFromEditActivityType(ActivityType at) {
+	public void onEditActivityType(ActivityType at) {
 		newActivityType = at;
+		superActivityType = newActivityType.getSuperActivityType();
+		if (request.isXHR()) {
+			ajaxResponseRenderer.addRender(editFormZone);
+		}
 	}
 
 	public SelectModel getListTypes() {
-		return selectModelFactory.create(genericService.getAll(ActivityType.class), "title");
+		List<ActivityType> list = (List<ActivityType>) genericService.getAll(ActivityType.class);
+		ActivityTypeHierarchicalComparator athc = new ActivityTypeHierarchicalComparator();
+		list.sort(athc);
+		return new ActivityTypeSelectModel(list);
 	}
 
@@ -73,5 +97,4 @@
 		if (newActivityType != null) {
 			newActivityType = genericService.getByPK(ActivityType.class, newActivityType.getActivityTypeId());
-
 		}
 	}
@@ -83,3 +106,10 @@
 	}
 
+	void onCancelNewActivityTypeForm() {
+		newActivityType = null;
+		if (request.isXHR()) {
+			ajaxResponseRenderer.addRender(editFormZone);
+		}
+	}
+
 }
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageCourses.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -2,4 +2,5 @@
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -20,4 +21,5 @@
 import info.ajanovski.eprms.model.util.ActivityTypeHierarchicalComparator;
 import info.ajanovski.eprms.model.util.CourseActivityTypeHierarchicalComparator;
+import info.ajanovski.eprms.model.util.CourseComparator;
 import info.ajanovski.eprms.tap.annotations.AdministratorPage;
 import info.ajanovski.eprms.tap.services.GenericService;
@@ -60,5 +62,8 @@
 
 	public List<Course> getAllCourses() {
-		return (List<Course>) genericService.getAll(Course.class);
+		List<Course> lista = (List<Course>) genericService.getAll(Course.class);
+		CourseComparator cc = new CourseComparator();
+		Collections.sort(lista, cc);
+		return lista;
 	}
 
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageProjects.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageProjects.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/ManageProjects.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -24,4 +24,5 @@
 import java.security.SecureRandom;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -48,4 +49,5 @@
 import info.ajanovski.eprms.model.entities.Team;
 import info.ajanovski.eprms.model.entities.TeamMember;
+import info.ajanovski.eprms.model.util.CourseComparator;
 import info.ajanovski.eprms.model.util.ModelConstants;
 import info.ajanovski.eprms.mq.MessagingService;
@@ -236,5 +238,8 @@
 
 	public List<Course> getAllCourses() {
-		return (List<Course>) genericService.getAll(Course.class);
+		List<Course> lista = (List<Course>) genericService.getAll(Course.class);
+		CourseComparator cc = new CourseComparator();
+		Collections.sort(lista, cc);
+		return lista;
 	}
 
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -2,4 +2,5 @@
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
@@ -28,5 +29,7 @@
 import info.ajanovski.eprms.model.entities.WorkReport;
 import info.ajanovski.eprms.model.util.CourseActivityTypeHierarchicalComparator;
+import info.ajanovski.eprms.model.util.CourseComparator;
 import info.ajanovski.eprms.model.util.ModelConstants;
+import info.ajanovski.eprms.model.util.WorkEvaluationComparator;
 import info.ajanovski.eprms.mq.MessagingService;
 import info.ajanovski.eprms.tap.annotations.AdministratorPage;
@@ -63,6 +66,30 @@
 	private AjaxResponseRenderer ajaxResponseRenderer;
 
+	@Inject
+	private SelectModelFactory selectModelFactory;
+
 	@InjectComponent
-	private Zone zNewWorkReportModal, zNewWorkEvaluationModal;
+	private Zone zNewWorkReportModal, zNewWorkEvaluationModal, zTable;
+
+	@Persist
+	@Property
+	private Course selectedCourse;
+
+	@Property
+	private CourseActivityType courseActivityType;
+
+	@Property
+	private WorkReport workReport;
+
+	@Property
+	private WorkEvaluation workEvaluation;
+
+	@Persist
+	@Property
+	private WorkReport newWorkReport;
+
+	@Persist
+	@Property
+	private WorkEvaluation newWorkEvaluation;
 
 	public List<Project> getAllProjects() {
@@ -70,9 +97,9 @@
 		if (selectedCourse == null) {
 			list = ((List<Project>) projectManager.getAllProjectsOrderByTitle()).stream()
-					.filter(c -> (c.getStatus() != null && c.getStatus().equals(ModelConstants.ProjectStatusActive)))
+					.filter(p -> (p.getStatus() != null && p.getStatus().equals(ModelConstants.ProjectStatusActive)))
 					.collect(Collectors.toList());
 		} else {
-			list = ((List<Project>) projectManager.getCourseProjectsOrderByTitle(selectedCourse)).stream()
-					.filter(c -> (c.getStatus() != null && c.getStatus().equals(ModelConstants.ProjectStatusActive)))
+			list = ((List<Project>) projectManager.getAllProjectsInCourseOrderByTitle(selectedCourse)).stream()
+					.filter(p -> (p.getStatus() != null && p.getStatus().equals(ModelConstants.ProjectStatusActive)))
 					.collect(Collectors.toList());
 		}
@@ -98,18 +125,13 @@
 	}
 
-	@Property
-	private CourseActivityType courseActivityType;
-
-	@Property
-	private WorkReport workReport;
-
-	@Property
-	private WorkEvaluation workEvaluation;
-
-	@Persist
-	@Property
-	private WorkReport newWorkReport;
-
-	public void onActionFromAddWorkReport(Activity a) {
+	public List<WorkReport> getWorkReportsForActivity() {
+		return projectManager.getWorkReportsForActivity(getActivity());
+	}
+
+	public List<WorkEvaluation> getWorkEvaluationsForWorkReport() {
+		return projectManager.getWorkEvaluationForWorkReport(workReport);
+	}
+
+	public void onAddWorkReport(Activity a) {
 		newWorkEvaluation = null;
 		newWorkReport = new WorkReport();
@@ -127,9 +149,6 @@
 	}
 
-	@Persist
-	@Property
-	private WorkEvaluation newWorkEvaluation;
-
-	public void onActionFromAddWorkEvaluation(WorkReport wr) {
+	public void onAddWorkEvaluation(WorkReport wr) {
+		WorkReport wr1 = genericService.getByPK(WorkReport.class, wr.getWorkReportId());
 		newWorkReport = null;
 		newWorkEvaluation = new WorkEvaluation();
@@ -137,5 +156,5 @@
 		newWorkEvaluation.setPerson(genericService.getByPK(Person.class, userInfo.getPersonId()));
 		newWorkEvaluation.setStatus(ModelConstants.EvaluationStatusCreated);
-		newWorkEvaluation.setWorkReport(wr);
+		newWorkEvaluation.setWorkReport(wr1);
 		if (request.isXHR()) {
 			ajaxResponseRenderer.addRender(zNewWorkEvaluationModal);
@@ -143,5 +162,5 @@
 	}
 
-	public void onActionFromEditWorkEvaluation(WorkEvaluation wa) {
+	public void onEditWorkEvaluation(WorkEvaluation wa) {
 		newWorkReport = null;
 		newWorkEvaluation = wa;
@@ -152,5 +171,5 @@
 
 	@CommitAfter
-	public void onActionFromToggleWorkEvaluationStatus(WorkEvaluation wa) {
+	public void onToggleWorkEvaluationStatus(WorkEvaluation wa) {
 		if (wa.getStatus().equals(ModelConstants.EvaluationStatusCreated)) {
 			wa.setStatus(ModelConstants.EvaluationStatusPublished);
@@ -159,4 +178,7 @@
 		}
 		genericService.saveOrUpdate(wa);
+		if (request.isXHR()) {
+			ajaxResponseRenderer.addRender(zTable);
+		}
 	}
 
@@ -173,7 +195,4 @@
 	}
 
-	@Inject
-	private SelectModelFactory selectModelFactory;
-
 	public SelectModel getCoursesModel() {
 		return selectModelFactory.create(getAllCourses(), "title");
@@ -181,10 +200,9 @@
 
 	public List<Course> getAllCourses() {
-		return (List<Course>) genericService.getAll(Course.class);
-	}
-
-	@Persist
-	@Property
-	private Course selectedCourse;
+		List<Course> lista = (List<Course>) genericService.getAll(Course.class);
+		CourseComparator cc = new CourseComparator();
+		Collections.sort(lista, cc);
+		return lista;
+	}
 
 	public void onActivate() {
@@ -192,4 +210,8 @@
 			selectedCourse = genericService.getByPK(Course.class, selectedCourse.getCourseId());
 		}
+		if (newWorkEvaluation != null && newWorkEvaluation.getWorkReport() != null) {
+			newWorkEvaluation.setWorkReport(
+					genericService.getByPK(WorkReport.class, newWorkEvaluation.getWorkReport().getWorkReportId()));
+		}
 		messagingService.setupMQHost(AppConfig.getString("MQHost"));
 	}
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/user/MyProjectReports.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/user/MyProjectReports.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/pages/user/MyProjectReports.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -78,9 +78,13 @@
 	private WorkReport newWorkReport;
 
-	public void onActionFromAddReport(Activity a) {
+	public void onAddReport(Activity a) {
 		newWorkReport = new WorkReport();
 		newWorkReport.setPerson(genericService.getByPK(Person.class, userInfo.getPersonId()));
 		newWorkReport.setActivity(a);
 		newWorkReport.setSubmissionDate(new Date());
+	}
+
+	public void onEditWorkReport(WorkReport wr) {
+		newWorkReport = wr;
 	}
 
@@ -109,10 +113,6 @@
 	}
 
-	public void onActionFromEditWorkReport(WorkReport wr) {
-		newWorkReport = wr;
-	}
-
 	@CommitAfter
-	public void onActionFromDeleteWorkReport(WorkReport wr) {
+	public void onDeleteWorkReport(WorkReport wr) {
 		genericService.delete(wr);
 		newWorkReport = null;
@@ -130,3 +130,11 @@
 	}
 
+	public List<WorkReport> getWorkReportsForActivity() {
+		return projectManager.getWorkReportsForActivity(activity);
+	}
+
+	public List<WorkEvaluation> getWorkEvaluationsForWorkReport() {
+		return projectManager.getWorkEvaluationForWorkReport(workReport);
+	}
+
 }
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManager.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManager.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManager.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -23,7 +23,10 @@
 import java.util.List;
 
+import info.ajanovski.eprms.model.entities.Activity;
 import info.ajanovski.eprms.model.entities.Course;
 import info.ajanovski.eprms.model.entities.CourseProject;
 import info.ajanovski.eprms.model.entities.Project;
+import info.ajanovski.eprms.model.entities.WorkEvaluation;
+import info.ajanovski.eprms.model.entities.WorkReport;
 
 public interface ProjectManager {
@@ -37,5 +40,5 @@
 	public Float sumPoints(Project p);
 
-	public List<Project> getCourseProjectsOrderByTitle(Course selectedCourse);
+	public List<Project> getAllProjectsInCourseOrderByTitle(Course selectedCourse);
 
 	public List<Project> getProjectByPerson(Long personId);
@@ -43,3 +46,7 @@
 	public void cycleStatus(Project p);
 
+	public List<WorkEvaluation> getWorkEvaluationForWorkReport(WorkReport workReport);
+
+	public List<WorkReport> getWorkReportsForActivity(Activity activity);
+
 }
Index: eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManagerImpl.java
===================================================================
--- eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManagerImpl.java	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/java/info/ajanovski/eprms/tap/services/ProjectManagerImpl.java	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -21,5 +21,7 @@
 package info.ajanovski.eprms.tap.services;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
@@ -27,8 +29,13 @@
 import javax.inject.Inject;
 
+import info.ajanovski.eprms.model.entities.Activity;
 import info.ajanovski.eprms.model.entities.Course;
 import info.ajanovski.eprms.model.entities.CourseProject;
 import info.ajanovski.eprms.model.entities.Project;
+import info.ajanovski.eprms.model.entities.WorkEvaluation;
+import info.ajanovski.eprms.model.entities.WorkReport;
 import info.ajanovski.eprms.model.util.ModelConstants;
+import info.ajanovski.eprms.model.util.WorkEvaluationComparator;
+import info.ajanovski.eprms.model.util.WorkReportComparator;
 import info.ajanovski.eprms.tap.data.ProjectDao;
 
@@ -77,6 +84,6 @@
 
 	@Override
-	public List<Project> getCourseProjectsOrderByTitle(Course selectedCourse) {
-		return projectDao.getCourseProjectsOrderByTitle(selectedCourse);
+	public List<Project> getAllProjectsInCourseOrderByTitle(Course selectedCourse) {
+		return projectDao.getAllProjectsInCourseOrderByTitle(selectedCourse);
 	}
 
@@ -104,3 +111,24 @@
 	}
 
+	@Override
+	public List<WorkEvaluation> getWorkEvaluationForWorkReport(WorkReport workReport) {
+		List<WorkEvaluation> list = workReport.getWorkEvaluations();
+		WorkEvaluationComparator comparator = new WorkEvaluationComparator();
+		Collections.sort(list, comparator);
+		return list;
+	}
+
+	@Override
+	public List<WorkReport> getWorkReportsForActivity(Activity activity) {
+		List<WorkReport> list;
+		if (activity != null) {
+			list = activity.getWorkReports();
+		} else {
+			list = new ArrayList<WorkReport>();
+		}
+		WorkReportComparator comparator = new WorkReportComparator();
+		Collections.sort(list, comparator);
+		return list;
+	}
+
 }
Index: eprms-tap/src/main/resources/META-INF/modules/webeditor-config-admin.js
===================================================================
--- eprms-tap/src/main/resources/META-INF/modules/webeditor-config-admin.js	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/META-INF/modules/webeditor-config-admin.js	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -24,6 +24,6 @@
 	},
 	paths: {
-		'ckeditor-core': '../webjars/ckeditor/4.16.1/standard/ckeditor',
-		'ckeditor-jquery': '../webjars/ckeditor/4.16.1/standard/adapters/jquery'
+		'ckeditor-core': '../webjars/ckeditor/4.17.1/standard/ckeditor',
+		'ckeditor-jquery': '../webjars/ckeditor/4.17.1/standard/adapters/jquery'
 	}
 });
Index: eprms-tap/src/main/resources/META-INF/modules/webeditor-config.js
===================================================================
--- eprms-tap/src/main/resources/META-INF/modules/webeditor-config.js	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/META-INF/modules/webeditor-config.js	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -24,6 +24,6 @@
 	},
 	paths: {
-		'ckeditor-core': '../webjars/ckeditor/4.16.1/standard/ckeditor',
-		'ckeditor-jquery': '../webjars/ckeditor/4.16.1/standard/adapters/jquery'
+		'ckeditor-core': '../webjars/ckeditor/4.17.1/standard/ckeditor',
+		'ckeditor-jquery': '../webjars/ckeditor/4.17.1/standard/adapters/jquery'
 	}
 });
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/components/IconActionLink.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -0,0 +1,6 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_4.xsd"
+	xmlns:p="tapestry:parameter">
+<a t:type="actionlink"
+	t:context="context"><svg t:type="svgicon" t:path="prop:path" />
+	<t:body /></a>
+</html>
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.tml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageActivityTypes.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -7,34 +7,44 @@
 <p>
 	<span t:type="unless" t:test="newActivityType"><a
-		class="btn btn-primary" t:type="actionlink" t:id="newActivityType"><img
-			t:type="SVGIcon" t:path="plus-square" /> ${message:New-label}
-			${message:ActivityType-label}</a></span>
+		class="btn btn-primary" t:type="eventlink" t:id="newActivityType"
+		t:zone="editFormZone"><img t:type="SVGIcon" t:path="plus-square" />
+			${message:New-label} ${message:ActivityType-label}</a></span>
 </p>
 
-<div class="card" t:type="if" t:test="newActivityType">
-	<div class="card-body">
-		<form t:type="beaneditform" id="newActivityTypeForm"
-			t:id="newActivityTypeForm" t:object="newActivityType"
-			t:exclude="activityTypeId" t:add="superActivityType"
-			t:submitLabel="OK" t:cancel="true">
-			<p:superActivityType>
-				<div class="form-group">
-					<label t:type="label" t:for="superActivityType"></label> <select
-						t:id="superActivityType" t:type="select" t:model="listTypes"
-						t:value="newActivityType.superActivityType"></select>
-				</div>
-			</p:superActivityType>
-		</form>
+<div t:type="zone" t:id="editFormZone">
+	<div class="card" t:type="if" t:test="newActivityType">
+		<t:modalbox>
+			<div class="card-body">
+				<form t:type="form" id="newActivityTypeForm"
+					t:id="newActivityTypeForm">
+					<t:beaneditor t:object="newActivityType" t:exclude="activityTypeId"
+						t:add="superActivityType">
+						<p:superActivityType>
+							<div class="form-group">
+								<label t:type="label" t:for="superActivityType"></label> <select
+									t:id="superActivityType" t:type="select" t:model="listTypes"
+									t:value="newActivityType.superActivityType"></select>
+							</div>
+						</p:superActivityType>
+					</t:beaneditor>
+					<div class="form-row">
+						<t:submit t:value="OK" />
+						<a href="" class="btn btn-default" t:type="eventlink"
+							t:id="cancelNewActivityTypeForm">Cancel</a>
+					</div>
+				</form>
+			</div>
+		</t:modalbox>
 	</div>
 </div>
 
 <div t:type="zone" id="zoneActivityTypes" t:id="zoneActivityTypes">
-	<p class="m-0" style="margin-left:${hierarchicalDepth}em !important;" t:type="loop"
-		t:source="allActivityTypes" t:value="activityType">
-		${activityType.title} <a href="" t:type="ActionLink"
+	<p class="m-0" style="margin-left:${hierarchicalDepth}em !important;"
+		t:type="loop" t:source="allActivityTypes" t:value="activityType">
+		${activityType.title} <a href="" t:type="EventLink"
 			t:id="EditActivityType" id="EditActivityType"
-			t:context="activityType"><img t:type="SVGIcon" t:path="edit" /></a>
+			t:context="activityType" t:zone="editFormZone"><img
+			t:type="SVGIcon" t:path="edit" /></a>
 	</p>
 </div>
-
 </html>
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/ManageCourses.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -43,8 +43,8 @@
 					t:path="minus" /></a>
 		</p>
-		<a href="" t:type="actionlink" t:id="addCourseActivityType"
-			t:context="course" class="btn btn-sm btn-primary p-0"><svg
-				t:type="svgicon" t:path="plus" />${message:add-label}
-			${message:activityType-label}</a>
+		<p class="text-center">
+			<a href="" t:type="iconActionLink" t:id="addCourseActivityType"
+				t:context="course" t:path="plus" class="btn btn-sm btn-primary p-0">${message:add-label}</a>
+		</p>
 	</p:activitiesCell>
 	<p:editCell>
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.tml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/admin/OverallCourseReport.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -5,4 +5,59 @@
 .CREATED {
 	background-color: #ffc0c0ff !important;
+	color: #000000ff !important;
+}
+
+.report {
+	min-height: 5rem;
+	max-height: 10rem;
+	overflow: auto;
+	font-size: 75%;
+}
+
+.evaluation {
+	font-size: 85%;
+	max-height: 12.5rem;
+	overflow: auto;
+}
+
+table {
+	margin: 0;
+	table-layout: fixed;
+}
+
+table thead th {
+	position: sticky;
+	top: 3.5em;
+	z-index: 1;
+	width: 18vw;
+	background: white;
+}
+
+table thead th:first-child {
+	position: sticky;
+	left: 0;
+	z-index: 2;
+	width: 8vw;
+}
+
+table td {
+	background: #fff;
+}
+
+table tbody th {
+	position: relative;
+}
+
+table tbody th {
+	position: sticky;
+	left: 0;
+	background: #eee;
+	z-index: 1;
+}
+
+[role="region"][aria-labelledby][tabindex] {
+	width: 100%;
+	max-height: 98vh;
+	overflow: auto;
 }
 </style>
@@ -11,5 +66,6 @@
 <h1>${message:admin/OverallCourseReport-pagelink}</h1>
 
-<form t:type="form" id="selectProject" class="form-inline col-12 mb-3">
+<form t:type="form" id="selectProject" class="form-inline col-12 mb-3"
+	t:zone="zTable">
 	<div class="form-group">
 		<label t:type="label" t:for="selectCourse"></label><select
@@ -20,80 +76,134 @@
 </form>
 
-
-<div t:type="zone" t:id="zNewWorkReportModal" id="zNewWorkReportModal">
-	<div t:type="if" t:test="newWorkReport">
-		<t:ModalBox t:id="newWorkReportModal">
-			<h2>${message:Report-label}</h2>
-			<form t:id="frmAddWorkReport" t:type="beaneditform"
-				t:object="newWorkReport" t:exclude="workReportId"></form>
-		</t:ModalBox>
+<div t:type="zone" id="zTable" t:id="zTable">
+
+	<div t:type="zone" t:id="zNewWorkReportModal" id="zNewWorkReportModal">
+		<div t:type="if" t:test="newWorkReport">
+			<t:ModalBox t:id="newWorkReportModal">
+				<h2>${message:Report-label}</h2>
+				<form t:id="frmAddWorkReport" t:type="beaneditform"
+					t:object="newWorkReport" t:exclude="workReportId"></form>
+			</t:ModalBox>
+		</div>
+	</div>
+
+	<div t:type="zone" t:id="zNewWorkEvaluationModal"
+		id="zNewWorkEvaluationModal">
+		<div t:type="if" t:test="newWorkEvaluation">
+			<t:ModalBox t:id="newWorkEvaluationModal">
+				<form t:id="frmAddWorkEvaluation" t:type="beaneditform"
+					t:object="newWorkEvaluation" t:exclude="workEvaluationId"
+					t:add="mtitle" t:reorder="mtitle,title,description">
+					<p:mtitle>
+						<h3>${message:Evaluation-label}
+							<small class="text-muted">${newWorkEvaluation.workReport.activity.title}</small>
+						</h3>
+					</p:mtitle>
+					<p:description>
+						<textarea t:type="textarea"
+							t:value="newWorkEvaluation.description" t:mixins="webeditor"
+							t:WebEditor.areaType="" />
+					</p:description>
+				</form>
+			</t:ModalBox>
+		</div>
+	</div>
+
+	<div role="region" tabindex="0" t:type="if" t:test="selectedCourse">
+
+		<table class="table table-hover">
+
+			<thead class="thead-dark">
+				<tr>
+					<th scope="col">${message:Project-label}</th>
+
+					<th scope="col" t:type="loop" t:source="allProjects"
+						t:value="project">
+						<p>
+							<strong>${project.title}</strong> <br /> <a
+								class="btn btn-sm p-0 pl-1 pr-1 btn-primary"
+								href="https://develop.finki.ukim.mk/projects/${project.code}">Home</a>
+							<a class="btn btn-sm p-0 pl-1 pr-1 btn-secondary"
+								href="https://develop.finki.ukim.mk/projects/${project.code}/report/6">Tickets</a>
+							<br /> Total: <span class="badge text-nowrap">${projectTotal}</span>
+						</p>
+					</th>
+				</tr>
+			</thead>
+
+			<tbody>
+				<tr t:type="loop" t:source="selectedCourseCourseActivityTypes"
+					t:value="courseActivityType">
+
+
+					<th class="">${courseActivityType.activityType.title}</th>
+
+					<td class="" t:type="loop" t:source="allProjects" t:value="project">
+
+						<div class="card p-1 font-small" t:type="loop"
+							t:source="workReportsForActivity" t:value="workReport">
+
+							<div class="report">
+								<p class="mb-1">
+									<strong>${workReport.title}</strong>
+								</p>
+								<t:outputraw t:value="workReport.description" />
+							</div>
+
+							<div
+								class="card p-1 mt-2 bg-info text-light evaluation ${workEvaluation.status}"
+								t:type="loop" t:source="workEvaluationsForWorkReport"
+								t:value="workEvaluation">
+								<div class="row">
+									<div class="col-2">
+										<p>
+											<a class="btn btn-sm btn-primary p-0" href=""
+												t:type="eventlink" t:id="editWorkEvaluation"
+												t:context="workEvaluation" t:zone="zNewWorkEvaluationModal"><img
+												t:type="svgicon" t:path="edit" /></a><br /> <a
+												class="btn btn-sm btn-secondary p-0" href=""
+												t:type="eventlink" t:id="toggleWorkEvaluationStatus"
+												t:context="workEvaluation" t:zone="zTable"><img
+												t:type="svgicon" t:path="toggle-left" /></a> <br /> <span
+												class="badge badge-dark text-nowrap">${workEvaluation.points}</span>
+										</p>
+									</div>
+									<div class="col-10">
+										<p class="mb-0">
+											<strong>${workEvaluation.title}</strong>
+										</p>
+										<t:outputRaw t:value="workEvaluation.description" />
+									</div>
+								</div>
+							</div>
+
+							<p class="mt-3 text-right ">
+								<a href="" class="p-1 btn btn-sm btn-outline-dark"
+									t:type="eventlink" t:id="addWorkEvaluation"
+									t:context="workReport" t:zone="zNewWorkEvaluationModal"><img
+									t:type="svgicon" t:path="plus" /> ${message:evaluation-label}</a>
+							</p>
+
+						</div>
+
+						<p>
+							<a href="" class="btn btn-sm btn-default" t:type="eventlink"
+								t:id="addWorkReport" t:context="activity"
+								t:zone="zNewWorkReportModal"><img t:type="svgicon"
+								t:path="file-plus" /></a>
+						</p>
+					</td>
+
+
+				</tr>
+			</tbody>
+
+		</table>
+
+
 	</div>
 </div>
 
-<div t:type="zone" t:id="zNewWorkEvaluationModal"
-	id="zNewWorkEvaluationModal">
-	<div t:type="if" t:test="newWorkEvaluation">
-		<t:ModalBox t:id="newWorkEvaluationModal">
-			<h2>${message:Evaluation-label}</h2>
-			<form t:id="frmAddWorkEvaluation" t:type="beaneditform"
-				t:object="newWorkEvaluation" t:exclude="workEvaluationId">
-				<p:description>
-					<textarea t:type="textarea" t:value="newWorkEvaluation.description"
-						t:mixins="webeditor" t:WebEditor.areaType="" />
-				</p:description>
-			</form>
-		</t:ModalBox>
-	</div>
-</div>
-
-
-<div t:type="if" t:test="selectedCourse">
-	<div class="d-flex flex-row mb-1">
-		<div class="col-2 p-1 bg-dark text-light">
-			<h3>${message:Project-label}</h3>
-		</div>
-		<div class="col-2 p-1 bg-light" t:type="loop"
-			t:source="selectedCourseCourseActivityTypes"
-			t:value="courseActivityType">
-			<small>${courseActivityType.activityType.title}</small>
-		</div>
-	</div>
-	<div class="d-flex flex-row mb-1" t:type="loop" t:source="allProjects"
-		t:value="project">
-		<div class="col-2 p-1 bg-dark text-light">
-			<p>${project.title}</p>
-			<p>Total: ${projectTotal}</p>
-		</div>
-		<div class="col-2 p-1 bg-light" t:type="loop"
-			t:source="selectedCourseCourseActivityTypes"
-			t:value="courseActivityType">
-
-			<div class="card p-1 font-small" t:type="loop"
-				t:source="activity?.workReports" t:value="workReport">
-				<small>${workReport.title}<br />${workReport.description}</small>
-				<div
-					class="card p-1 font-small bg-info text-light ${workEvaluation.status}"
-					t:type="loop" t:source="workReport.workEvaluations"
-					t:value="workEvaluation">
-					<small>${workEvaluation.title}<br /> <t:outputRaw
-							t:value="workEvaluation.description" /> ${workEvaluation.points}<a
-						href="" t:type="actionlink" t:id="editWorkEvaluation"
-						t:context="workEvaluation"><img t:type="svgicon" t:path="edit" /></a><a
-						href="" t:type="actionlink" t:id="toggleWorkEvaluationStatus"
-						t:context="workEvaluation"><img t:type="svgicon"
-							t:path="toggle-left" /></a>
-					</small>
-				</div>
-				<a href="" t:type="actionlink" t:id="addWorkEvaluation"
-					t:context="workReport"><img t:type="svgicon"
-					t:path="check-square" /></a>
-			</div>
-
-			<p>
-				<a href="" t:type="actionlink" t:id="addWorkReport"
-					t:context="activity"><img t:type="svgicon" t:path="file-plus" /></a>
-			</p>
-		</div>
-	</div>
-</div>
+
+
 </html>
Index: eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/user/MyProjectReports.tml
===================================================================
--- eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/user/MyProjectReports.tml	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/resources/info/ajanovski/eprms/tap/pages/user/MyProjectReports.tml	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -52,7 +52,7 @@
 			<h3>${activity.title}</h3>
 			<div class="card mb-3 p-3 bg-light" t:type="loop"
-				t:source="activity.workReports" t:value="workReport">
+				t:source="workReportsForActivity" t:value="workReport">
 				<div class="d-flex">
-					<div class="mr-auto p-2">
+					<div class="mr-auto">
 						<h4>${message:report-label}</h4>
 					</div>
@@ -60,9 +60,8 @@
 						<div t:type="unless" t:test="workReport.workEvaluations">
 							<a href="" class="btn btn-secondary" t:id="EditWorkReport"
-								t:type="actionlink" t:context="workReport"><svg
-									t:type="svgicon" t:path="edit" data-toggle="modal"
-									data-target="#newWorkReportModal" /> ${message:edit-label}</a> <a
+								t:type="eventlink" t:context="workReport"><svg
+									t:type="svgicon" t:path="edit" /> ${message:edit-label}</a> <a
 								href="" class="btn btn-danger" t:id="DeleteWorkReport"
-								t:type="actionlink" t:mixins="Confirm" t:context="workReport"><svg
+								t:type="eventlink" t:mixins="Confirm" t:context="workReport"><svg
 									t:type="svgicon" t:path="trash" /> ${message:remove-label}</a>
 						</div>
@@ -72,7 +71,10 @@
 					t:exclude="workReportId" t:add="person">
 					<p:person>${workReport?.person?.lastName}</p:person>
+					<p:description>
+						<t:outputraw t:value="workReport.description" />
+					</p:description>
 				</div>
 				<div class="card mb-3 p-3 bg-info text-white" t:type="loop"
-					t:source="workReport.workEvaluations" t:value="workEvaluation">
+					t:source="workEvaluationsForWorkReport" t:value="workEvaluation">
 					<h5>${message:evaluation-label}</h5>
 					<div t:type="if" t:test="evaluationPublished">
@@ -88,5 +90,5 @@
 			</div>
 			<p>
-				<a href="" t:id="AddReport" t:type="actionlink" t:context="activity"
+				<a href="" t:id="AddReport" t:type="eventlink" t:context="activity"
 					class="btn btn-small btn-primary"><svg t:type="svgicon"
 						t:path="plus" /> ${message:add-label} ${message:report-label}</a>
Index: eprms-tap/src/main/webapp/WEB-INF/app_mk.properties
===================================================================
--- eprms-tap/src/main/webapp/WEB-INF/app_mk.properties	(revision e60cba5118b277aebd8226e62100cde03c904f94)
+++ eprms-tap/src/main/webapp/WEB-INF/app_mk.properties	(revision f14a006edd2d177215bbf9e7e05effa2eef2ad96)
@@ -13,5 +13,5 @@
 admin/ManageRepositories-pagelink=Репозиториуми
 admin/ManageTeams-pagelink=Тимови
-admin/OverallCourseReport-pagelink=Преглед на извештаи на курс
+admin/OverallCourseReport-pagelink=Проектни извештаи
 admin/ProjectActivities-pagelink=Проектни активности
 admin/ProjectAutomation-pagelink=Автоматизација на проекти
