Skip to content
This repository has been archived by the owner on Nov 9, 2017. It is now read-only.

Commit

Permalink
Display reviewed stats only for reviewer
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Mar 25, 2014
1 parent b75777f commit 570f7ce
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 7 deletions.
Expand Up @@ -41,11 +41,13 @@
import org.zanata.dao.ProjectIterationDAO;
import org.zanata.model.HAccount;
import org.zanata.model.HLocale;
import org.zanata.model.HLocaleMember;
import org.zanata.model.HProject;
import org.zanata.model.HProjectIteration;
import org.zanata.security.ZanataIdentity;
import org.zanata.service.ActivityService;
import org.zanata.service.GravatarService;
import org.zanata.service.LanguageTeamService;
import org.zanata.util.DateUtil;
import org.zanata.util.StringUtil;
import org.zanata.util.UrlUtil;
Expand All @@ -69,6 +71,9 @@ public class DashboardAction implements Serializable {
@In
private ActivityService activityServiceImpl;

@In
private LanguageTeamService languageTeamServiceImpl;

@In
private AccountDAO accountDAO;

Expand Down Expand Up @@ -215,4 +220,8 @@ public DashboardUserStats getMonthStats() {
authenticatedAccount.getPerson().getId(),
DateUtil.getStartOfMonth(now), DateUtil.getEndOfTheMonth(now));
}

public boolean isUserReviewer() {
return languageTeamServiceImpl.isUserReviewer(authenticatedAccount.getPerson().getId());
}
}
17 changes: 17 additions & 0 deletions zanata-war/src/main/java/org/zanata/dao/LocaleMemberDAO.java
Expand Up @@ -58,6 +58,23 @@ public List<HLocaleMember> findAllByLocale(LocaleId localeId) {
return query.list();
}

/**
* Check if person is a reviewer of any language
*
* @param personId
* @return
*/
public List<HLocaleMember> findByPersonWithReviewerRole(Long personId) {
Query query =
getSession()
.createQuery(
"from HLocaleMember where id.person.id= :personId and isReviewer = :isReviewer");
query.setParameter("personId", personId);
query.setParameter("isReviewer", true);
query.setComment("LocaleMemberDAO.findByPersonWithReviewerRole");
return query.list();
}

public boolean isLocaleCoordinator(Long personId, LocaleId localeId) {
Query query =
getSession()
Expand Down
Expand Up @@ -15,4 +15,6 @@ void joinOrUpdateRoleInLanguageTeam(String locale, Long personId,
throws ZanataServiceException;

boolean leaveLanguageTeam(String locale, Long personId);

boolean isUserReviewer(Long personId);
}
Expand Up @@ -92,6 +92,11 @@ public boolean leaveLanguageTeam(String locale, Long personId) {
}

return false;
}

@Override
public boolean isUserReviewer(Long personId) {
return !localeMemberDAO.findByPersonWithReviewerRole(personId)
.isEmpty();
}
}
18 changes: 12 additions & 6 deletions zanata-war/src/main/webapp/WEB-INF/layout/dashboard/stats.xhtml
Expand Up @@ -14,14 +14,16 @@
class="stats__unit">#{messages['jsf.activity.wordsTranslated']}</span>
</span>
</li>
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<s:fragment rendered="#{dashboardAction.isUserReviewer()}">
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<span class="stats">
<span
class="stats__figure">#{userStats.getWordsReviewed()}</span>
<span
class="stats__unit">#{messages['jsf.activity.wordsReviewed']}</span>
</span>
</li>
</li>
</s:fragment>
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<span class="stats">
<span
Expand All @@ -30,14 +32,16 @@
class="stats__unit">#{messages['jsf.activity.messagesTranslated']}</span>
</span>
</li>
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<s:fragment rendered="#{dashboardAction.isUserReviewer()}">
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<span class="stats">
<span
class="stats__figure">#{userStats.getMessagesReviewed()}</span>
<span
class="stats__unit">#{messages['jsf.activity.messagesReviewed']}</span>
</span>
</li>
</li>
</s:fragment>
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<span class="stats">
<span
Expand All @@ -46,13 +50,15 @@
class="stats__unit">#{messages['jsf.activity.documentsTranslated']}</span>
</span>
</li>
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<s:fragment rendered="#{dashboardAction.isUserReviewer()}">
<li class="g__item w--1-2 w--1-2-s l--push-bottom-half">
<span class="stats">
<span
class="stats__figure">#{userStats.getDocumentsReviewed()}</span>
<span
class="stats__unit">#{messages['jsf.activity.documentsReviewed']}</span>
</span>
</li>
</li>
</s:fragment>
</ul>
</s:fragment>
2 changes: 1 addition & 1 deletion zanata-war/src/main/webapp/dashboard/home.xhtml
Expand Up @@ -52,7 +52,7 @@
</ul>
</nav>
<div class="tabs__content l--pad-h-half l--pad-top-1">
<div id="activity-today_content" class="is-hidden">
<div id="activity-today_content">
<ui:include src="../WEB-INF/layout/dashboard/stats.xhtml">
<ui:param name="userStats" value="#{dashboardAction.getTodayStats()}"/>
</ui:include>
Expand Down

0 comments on commit 570f7ce

Please sign in to comment.