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

Commit

Permalink
1) Include version details in request to join group email: https://bu…
Browse files Browse the repository at this point in the history
  • Loading branch information
Alex Eng committed Feb 11, 2014
1 parent 93560ad commit 7d2ade0
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 134 deletions.
Expand Up @@ -55,9 +55,6 @@ public class VersionGroupJoinAction implements Serializable {
@In
private VersionGroupService versionGroupServiceImpl;

@In
private ProjectDAO projectDAO;

@In
private VersionGroupDAO versionGroupDAO;

Expand All @@ -67,11 +64,8 @@ public class VersionGroupJoinAction implements Serializable {
@In(create = true)
private SendEmailAction sendEmail;

@In(required = false, value = JpaIdentityStore.AUTHENTICATED_USER)
private HAccount authenticatedAccount;

@Getter
private List<SelectableProject> projectVersions = Lists.newArrayList();
private HProjectIteration selectedVersion;

@Getter
@Setter
Expand All @@ -85,32 +79,15 @@ public class VersionGroupJoinAction implements Serializable {
@Setter
private String projectSlug;

public void searchMaintainedProjectVersion() {
Set<HProject> maintainedProjects =
authenticatedAccount.getPerson().getMaintainerProjects();
for (HProject project : maintainedProjects) {
for (HProjectIteration projectIteration : projectDAO
.getAllIterations(project.getSlug())) {
projectVersions.add(new SelectableProject(projectIteration,
false));
}
}
}

public String getGroupName() {
return versionGroupDAO.getBySlug(slug).getName();
}

public void searchProjectVersion() {
if (StringUtils.isNotEmpty(iterationSlug)
&& StringUtils.isNotEmpty(projectSlug)) {
HProjectIteration projectIteration =
selectedVersion =
projectIterationDAO.getBySlug(projectSlug, iterationSlug);
if (projectIteration != null) {
projectVersions.add(new SelectableProject(projectIteration,
true));
}

}
}

Expand All @@ -124,13 +101,8 @@ public void cancel() {
}

public String send() {
boolean isAnyVersionSelected = false;
for (SelectableProject projectVersion : projectVersions) {
if (projectVersion.isSelected()) {
isAnyVersionSelected = true;
}
}
if (isAnyVersionSelected) {
if (selectedVersion != null
&& !isVersionInGroup(selectedVersion.getId())) {
List<HPerson> maintainers = new ArrayList<HPerson>();
for (HPerson maintainer : versionGroupServiceImpl
.getMaintainersBySlug(slug)) {
Expand All @@ -144,16 +116,4 @@ public String send() {
}

}

@AllArgsConstructor
public final class SelectableProject {

@Getter
private HProjectIteration projectIteration;

@Getter
@Setter
private boolean selected;
}

}
6 changes: 3 additions & 3 deletions zanata-war/src/main/resources/messages.properties
Expand Up @@ -828,7 +828,7 @@ jsf.AdditionalInfo=Additional information
jsf.email.MessageBody=Message
jsf.email.Send=Send Message
jsf.NoProjects=No projects to display.
jsf.SelectProjectVersions=Select Project Versions
jsf.RequestToAddProjectVersionToGroup=Request to add project version '{0}' to group '{1}'
jsf.NoProjectVersionSelected=No project version selected.
jsf.ClickSendMessageToProceedRequest=Enter additional information and click 'Send Message' to proceed
jsf.RequestAddProjectToGroup=Request to add a project to {0}
Expand Down Expand Up @@ -861,7 +861,7 @@ jsf.email.activation.register.DearName=Dear #{emailServiceImpl.toName},
jsf.email.activation.profile.DearName=Dear #{newProfileAction.name},
jsf.email.activation.ClickLinkToActivateAccount=Please click on the following link to activate your account:
jsf.email.activation.Link=Account activation link
jsf.email.alternate.copyPasteMessage=Alternately, you can copy and paste the following URL into your browser:
jsf.email.alternate.copyPasteMessage=Alternatively, you can copy and paste the following URL into your browser:
jsf.UrlExpireMessage=URL will expire after 24 hours.


Expand Down Expand Up @@ -923,7 +923,7 @@ jsf.email.rolerequest.AddUserInstructions=You can assign #{sendEmail.fromName} t
#------ request-to-join-group email ------
jsf.email.group.maintainer.SentNotification=Your message has been sent to the #{versionGroupJoinAction.groupName} group maintainer
jsf.email.maintainer.DearMaintainer=Dear Group Maintainer,
jsf.email.joingrouprequest.RequestingToJoinGroup=Zanata user '#{sendEmail.fromName}' with id '#{sendEmail.fromLoginName}' is requesting his/her project(s) to be added to group '#{versionGroupJoinAction.groupName}'.
jsf.email.joingrouprequest.RequestingToJoinGroup=Zanata user '#{sendEmail.fromName}' with id '#{sendEmail.fromLoginName}' is requesting project version '#{versionGroupJoinAction.selectedVersion.project.slug} - #{versionGroupJoinAction.selectedVersion.slug}' to be added to group '#{versionGroupJoinAction.groupName}'.
jsf.email.UserMessageIntro=#{sendEmail.fromName} has included the following message with their request:
jsf.email.JoinGroupRequest.ResponseInstructions=Click the link below to go act on the request. Please reply to #{sendEmail.fromName} at #{sendEmail.replyEmail} when you have finished processing their request.
jsf.email.group.maintainer.ReceivedReason=You are maintainer in group '#{versionGroupJoinAction.groupName}'
Expand Down
Expand Up @@ -25,7 +25,7 @@
<hr/>
</s:fragment>

<p> #{messages['jsf.email.JoinGroupRequest.ResponseInstructions']}</p>
<p>#{messages['jsf.email.JoinGroupRequest.ResponseInstructions']}</p>

<p>
<a
Expand Down
Expand Up @@ -6,37 +6,16 @@
xmlns:rich="http://richfaces.org/rich">


<h:outputText id="noResultsMessage"
rendered="#{empty versionGroupJoinAction.projectVersions}"
value="#{messages['jsf.NoProjects']}"/>
<h:form rendered="#{not empty versionGroupJoinAction.projectVersions}">
<h:form rendered="#{not empty versionGroupJoinAction.selectedVersion}">
<s:token allowMultiplePosts="true"/>
<h4>#{messages['jsf.SelectProjectVersions']}</h4>
<rich:panel style="height:170px;overflow:auto">
<rich:dataTable id="resultTable"
value="#{versionGroupJoinAction.projectVersions}"
var="selectableVersion">
<rich:column
sortBy="#{selectableVersion.projectIteration.project.name}">
<f:facet name="header">#{messages['jsf.ProjectName']}</f:facet>
#{selectableVersion.projectIteration.project.name}
</rich:column>
<rich:column sortBy="#{selectableVersion.projectIteration.slug}">
<f:facet name="header">#{messages['jsf.Version']}</f:facet>
#{selectableVersion.projectIteration.slug}
</rich:column>

<rich:column styleClass="centered">
<f:facet name="header">#{messages['jsf.Actions']}</f:facet>
<h:selectBooleanCheckbox title="#{messages['jsf.Select']}"
value="#{selectableVersion.selected}"
rendered="#{!versionGroupJoinAction.isVersionInGroup(selectableVersion.projectIteration.id)}"/>

<h:outputText value="#{messages['jsf.AlreadyInGroup']}"
rendered="#{versionGroupJoinAction.isVersionInGroup(selectableVersion.projectIteration.id)}"/>
</rich:column>
</rich:dataTable>
</rich:panel>
<h2>
<h:outputFormat
value="#{messages['jsf.RequestToAddProjectVersionToGroup']}">
<f:param
value="#{versionGroupJoinAction.selectedVersion.project.name} - #{versionGroupJoinAction.selectedVersion.slug}"/>
<f:param value="#{versionGroupJoinAction.groupName}"/>
</h:outputFormat>
</h2>

<h4>#{messages['jsf.ClickSendMessageToProceedRequest']}</h4>
<rich:panel>
Expand Down
36 changes: 0 additions & 36 deletions zanata-war/src/main/webapp/WEB-INF/pages.xml
Expand Up @@ -407,43 +407,7 @@
<action execute="#{versionGroupHome.validateSuppliedId}" />
</page>

<page view-id="/version-group/request_to_join.xhtml">
<param name="emailType" value="#{sendEmail.emailType}" />
<param name="versionGroupSlug" value="#{versionGroupJoinAction.slug}" />
<action
execute="#{versionGroupJoinAction.searchMaintainedProjectVersion()}" />

<action execute="#{breadcrumbs.clear}" />
<action
execute="#{breadcrumbs.addLocation('/version-group/home.xhtml', messages['jsf.Groups'])}" />
<action
execute="#{breadcrumbs.addLocation('/version-group/version_group.xhtml', versionGroupJoinAction.slug).param('versionGroupSlug', versionGroupJoinAction.slug)}" />
<action
execute="#{breadcrumbs.addLocation('', messages['jsf.RequestJoinGroup'])}" />

<navigation from-action="#{versionGroupJoinAction.send}">
<rule if-outcome="success">
<redirect view-id="/version-group/version_group.xhtml">
<param name="versionGroupSlug"
value="#{versionGroupJoinAction.slug}" />
</redirect>
</rule>
<rule if-outcome="failure">
<redirect view-id="/version-group/request_to_join.xhtml" />
</rule>
</navigation>
<navigation from-action="#{versionGroupJoinAction.cancel}">
<rule>
<redirect view-id="/version-group/version_group.xhtml">
<param name="versionGroupSlug"
value="#{versionGroupJoinAction.slug}" />
</redirect>
</rule>
</navigation>
</page>

<!-- Profile -->

<page view-id="/profile/edit.xhtml">
<restrict>#{identity.preAuthenticated}</restrict>
<action execute="#{breadcrumbs.clear}" />
Expand Down
20 changes: 0 additions & 20 deletions zanata-war/src/main/webapp/version-group/request_to_join.xhtml

This file was deleted.

0 comments on commit 7d2ade0

Please sign in to comment.