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

Commit

Permalink
Fix wrong notification display: https://bugzilla.redhat.com/show_bug.…
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Nov 25, 2013
1 parent e2ed4f4 commit e7682c5
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 41 deletions.
Expand Up @@ -147,12 +147,14 @@ public String persist() {
if (authenticatedAccount != null) {
getInstance().addMaintainer(authenticatedAccount.getPerson());
}
clearMessage();
return super.persist();
}

@Override
@Restrict("#{s:hasPermission(versionGroupHome.instance, 'update')}")
public String update() {
clearMessage();
return super.update();
}

Expand All @@ -167,8 +169,7 @@ public void setStatus(char initial) {

public List<HLocale> suggestLocales(final String query) {
if (supportedLocales == null) {
supportedLocales =
localeServiceImpl.getSupportedLocales();
supportedLocales = localeServiceImpl.getSupportedLocales();
}

Collection<HLocale> filtered =
Expand Down Expand Up @@ -224,6 +225,10 @@ private void addMessage(StatusMessage.Severity severity, String message) {
flashScope.setAttribute("message", statusMessage);
}

private void clearMessage() {
flashScope.getAndClearAttribute("message");
}

@Restrict("#{s:hasPermission(versionGroupHome.instance, 'update')}")
public void addVersion() {
if (!validateVersion("newVersion")) {
Expand Down
Expand Up @@ -451,10 +451,12 @@ public int getTotalObsoleteProjectIterCount() {
Query q =
getSession().createQuery(
"from HProjectIteration t "
+ "where lower(t.slug) LIKE :searchTerm "
+ "where (lower(t.slug) LIKE :searchTerm "
+ "OR lower(t.project.slug) LIKE :searchTerm "
+ "OR lower(t.project.name) LIKE :searchTerm");
+ "OR lower(t.project.name) LIKE :searchTerm) "
+ "AND t.status<>:OBSOLETE");
q.setParameter("searchTerm", "%" + searchTerm.toLowerCase() + "%");
q.setParameter("OBSOLETE", EntityStatus.OBSOLETE);
q.setCacheable(false).setComment(
"ProjectIterationDAO.searchLikeSlugOrProjectSlug");

Expand Down
Expand Up @@ -50,7 +50,7 @@ public interface VersionGroupService {
List<HIterationGroup> getAllActiveGroups();

/**
* Search project version by fuzzy matching of version slug or project slug
* Search not obsolete project version by fuzzy matching of version slug or project slug
*
* @param searchTerm
*/
Expand Down
Expand Up @@ -71,9 +71,7 @@ public Map<VersionLocaleKey, WordStatistic> getLocaleStatistic(
String groupSlug, LocaleId localeId) {

Map<VersionLocaleKey, WordStatistic> statisticMap = Maps.newHashMap();
HIterationGroup group = versionGroupDAO.getBySlug(groupSlug);

for (HProjectIteration version : group.getProjectIterations()) {
for (HProjectIteration version : getProjectIterationsBySlug(groupSlug)) {
if (version.getStatus() == EntityStatus.ACTIVE) {
WordStatistic statistic =
versionStateCacheImpl.getVersionStatistics(
Expand All @@ -90,11 +88,17 @@ public Map<VersionLocaleKey, WordStatistic> getLocaleStatistic(
return statisticMap;
}

private List<HProjectIteration> getNotObsoleteProjectIterations(
HIterationGroup group) {
return projectIterationDAO.getByGroup(group);
}

@Override
public int getTotalMessageCount(String groupSlug) {
int result = 0;
HIterationGroup group = versionGroupDAO.getBySlug(groupSlug);
for (HProjectIteration version : group.getProjectIterations()) {

for (HProjectIteration version : getNotObsoleteProjectIterations(group)) {
result +=
projectIterationDAO.getTotalMessageCountForIteration(
version.getId()).intValue();
Expand Down Expand Up @@ -166,8 +170,7 @@ public Set<HLocale> getGroupActiveLocales(String groupSlug) {
@Override
public List<HProjectIteration> getProjectIterationsBySlug(String groupSlug) {
HIterationGroup group = versionGroupDAO.getBySlug(groupSlug);
return projectIterationDAO.getByGroup(group);

return getNotObsoleteProjectIterations(group);
}

/**
Expand All @@ -184,8 +187,7 @@ public Map<LocaleId, List<HProjectIteration>> getMissingLocaleVersionMap(
if (group != null) {
for (HLocale activeLocale : group.getActiveLocales()) {
List<HProjectIteration> versionList = Lists.newArrayList();
List<HProjectIteration> notObsoleteProjectIterations = projectIterationDAO.getByGroup(group);
for (HProjectIteration version : notObsoleteProjectIterations) {
for (HProjectIteration version : getNotObsoleteProjectIterations(group)) {
if (!isLocaleActivatedInVersion(version, activeLocale)) {
versionList.add(version);
}
Expand Down
Expand Up @@ -87,36 +87,39 @@
<a4j:commandLink value="#{messages['jsf.UpdateGeneralSettings']}"
action="#{versionGroupHome.update}"
rendered="#{versionGroupHome.managed}"
render="group-info"
render="group-info,pageMessages"
styleClass="l--push-right-half button--primary"/>
</div>
<hr/>
<a4j:outputPanel id="status">
<p>
<a4j:commandLink styleClass="button--danger"
action="#{versionGroupHome.setStatus('O')}" render="status"
rendered="#{versionGroupHome.instance.status == 'ACTIVE'}">
#{messages['jsf.ArchiveThisGroup']}
</a4j:commandLink>

<a4j:commandLink styleClass="button--success"
action="#{versionGroupHome.setStatus('A')}" render="status"
rendered="#{versionGroupHome.instance.status != 'ACTIVE'}">
#{messages['jsf.ActivateThisGroup']}
</a4j:commandLink>
</p>
<s:fragment
rendered="#{versionGroupHome.instance.status == 'ACTIVE'}">
<p>
<a4j:commandLink styleClass="button--danger"
action="#{versionGroupHome.setStatus('O')}" render="status">
#{messages['jsf.ArchiveThisGroup']}
</a4j:commandLink>
</p>

<p class="txt--meta">
<a4j:outputPanel
rendered="#{versionGroupHome.instance.status == 'ACTIVE'}">
<p class="txt--meta">
#{messages['jsf.ArchiveGroupMessage']}
</a4j:outputPanel>
</p>
</s:fragment>

<s:fragment
rendered="#{versionGroupHome.instance.status != 'ACTIVE'}">
<p>
<a4j:commandLink styleClass="button--success"
action="#{versionGroupHome.setStatus('A')}" render="status">
#{messages['jsf.ActivateThisGroup']}
</a4j:commandLink>
</p>

<a4j:outputPanel
rendered="#{versionGroupHome.instance.status != 'ACTIVE'}">
<p class="txt--meta">
#{messages['jsf.ActivateGroupMessage']}
</a4j:outputPanel>
</p>
</p>
</s:fragment>

</a4j:outputPanel>
</div>
</h:form>
Expand Down Expand Up @@ -232,7 +235,8 @@
</s:decorate>
</div>
<div class="g__item w--3-10">
<a4j:commandButton styleClass="button--full" id="group-add-new-project-button"
<a4j:commandButton styleClass="button--full"
id="group-add-new-project-button"
action="#{versionGroupHome.addVersion()}"
oncomplete="refreshStatistics();focusVersionInput()"
value="#{messages['Add']}" render="settings-projects-form"/>
Expand All @@ -259,7 +263,6 @@
<span class="txt--meta">@#{maintainer.account.username}</span>
<a4j:commandLink
action="#{versionGroupHome.removeMaintainer(maintainer)}"
oncomplete="refreshStatistics()"
styleClass="l--float-right txt--danger reveal__target"
render="settings-maintainers-form,maintainers-size,maintainers-list,maintainers_content">
<i class="i--large i--remove"></i>
Expand Down
11 changes: 7 additions & 4 deletions zanata-war/src/main/webapp/version-group/version_group.xhtml
Expand Up @@ -35,7 +35,9 @@
selectedTabId = window.location.hash + "_tab";
}
}

jQuery(selectedTabId).click();
window.location.hash = selectedTabId;

if (window.location.hash.substring(0, 9) == "#settings") {
handleSettingsTab(originalHashUrl);
Expand Down Expand Up @@ -166,10 +168,11 @@
<f:param name="versionGroupSlug"
value="#{versionGroupHomeAction.slug}"/>
<i
class="i i--project"></i> <h:outputFormat
value="#{messages['jsf.RequestAddProjectToGroup']}">
<f:param value="#{versionGroupHome.instance.name}"/>
</h:outputFormat>
class="i i--project"></i>
<h:outputFormat
value="#{messages['jsf.RequestAddProjectToGroup']}">
<f:param value="#{versionGroupHome.instance.name}"/>
</h:outputFormat>
</s:link>
</li>
</ul>
Expand Down

0 comments on commit e7682c5

Please sign in to comment.