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

Fix workflow in 'Find User to Add Dialog' in language team : https://bugzilla.redhat.com/show_bug.cgi?id=998825 #138

Merged
merged 5 commits into from
Aug 22, 2013
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
51 changes: 22 additions & 29 deletions zanata-war/src/main/java/org/zanata/action/LanguageTeamAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
import java.util.ArrayList;
import java.util.List;

import lombok.Getter;
import lombok.Setter;

import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
Expand Down Expand Up @@ -299,6 +302,11 @@ public void searchForTeamMembers()
getSearchResults().add(new SelectablePerson(person, isMember, isTranslator, isReviewer, isCoordinator));
}
}

public void clearSearchResult()
{
getSearchResults().clear();
}

public boolean isSelectAll()
{
Expand All @@ -312,11 +320,19 @@ public void setSelectAll(boolean selectAll)

public final class SelectablePerson
{
@Getter
private HPerson person;

@Getter
private boolean selected;

@Getter
private boolean isReviewer;

@Getter
private boolean isCoordinator;

@Getter
private boolean isTranslator;

public SelectablePerson(HPerson person, boolean selected, boolean isTranslator, boolean isReviewer, boolean isCoordinator)
Expand All @@ -328,51 +344,28 @@ public SelectablePerson(HPerson person, boolean selected, boolean isTranslator,
this.isTranslator = isTranslator;
}

public boolean isReviewer()
public void setSelected(boolean selected)
{
return isReviewer;
this.selected = selected;
this.isTranslator = true; //if selected, by default translator role is assigned
}

public void setReviewer(boolean isReviewer)
{
this.isReviewer = isReviewer;
}

public boolean isCoordinator()
{
return isCoordinator;
this.selected = true; //user needs to be selected when a role is selected
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like it will also select the user when the role is un-selected. I think each role would need to call a method like:

private void refreshSelected()
{
    selected = isReviewer || isTranslator || isCoordinator;
}

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good one.

}

public void setCoordinator(boolean isCoordinator)
{
this.isCoordinator = isCoordinator;
}

public boolean isTranslator()
{
return isTranslator;
this.selected = true; //user needs to be selected when a role is selected
}

public void setTranslator(boolean isTranslator)
{
this.isTranslator = isTranslator;
}

public HPerson getPerson()
{
return person;
}
public void setPerson(HPerson person)
{
this.person = person;
}
public boolean isSelected()
{
return selected;
}
public void setSelected(boolean selected)
{
this.selected = selected;
this.selected = true; //user needs to be selected when a role is selected
}
}

Expand Down
16 changes: 12 additions & 4 deletions zanata-war/src/main/webapp/language/language.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,9 @@
render="searchResults"
status="searchStatus" />
<h:commandButton id="closeBtn" value="#{messages['jsf.Close']}"
onclick="#{rich:component('userAddPanel')}.hide(); return false;" />
action="#{languageTeamAction.clearSearchResult}"
render="searchResults"
onclick="#{rich:component('userAddPanel')}.hide(); return false;" />
</p>
</h:form>

Expand Down Expand Up @@ -174,17 +176,23 @@

<rich:column width="auto" styleClass="#{selectablePerson.selected ? 'highlighted_datatable_row' : ''} centered">
<f:facet name="header">#{messages['jsf.Translator']}</f:facet>
<h:selectBooleanCheckbox value="#{selectablePerson.translator}"/>
<h:selectBooleanCheckbox value="#{selectablePerson.translator}">
<a4j:ajax event="change" render="searchResults"/>
</h:selectBooleanCheckbox>
</rich:column>

<rich:column width="auto" styleClass="#{selectablePerson.selected ? 'highlighted_datatable_row' : ''} centered">
<f:facet name="header">#{messages['jsf.Reviewer']}</f:facet>
<h:selectBooleanCheckbox value="#{selectablePerson.reviewer}"/>
<h:selectBooleanCheckbox value="#{selectablePerson.reviewer}">
<a4j:ajax event="change" render="searchResults"/>
</h:selectBooleanCheckbox>
</rich:column>

<rich:column width="auto" styleClass="#{selectablePerson.selected ? 'highlighted_datatable_row' : ''} centered">
<f:facet name="header">#{messages['jsf.Coordinator']}</f:facet>
<h:selectBooleanCheckbox value="#{selectablePerson.coordinator}"/>
<h:selectBooleanCheckbox value="#{selectablePerson.coordinator}">
<a4j:ajax event="change" render="searchResults"/>
</h:selectBooleanCheckbox>
</rich:column>

</rich:dataTable>
Expand Down