Skip to content

Commit

Permalink
favorite: Update when project/org name changed
Browse files Browse the repository at this point in the history
  • Loading branch information
doortts committed Jul 16, 2017
1 parent 2d4c899 commit 48c6421
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 0 deletions.
1 change: 1 addition & 0 deletions app/controllers/OrganizationApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,7 @@ public static Result updateOrganizationInfo(String organizationName) throws IOEx
Organization original = Organization.find.byId(modifiedOrganization.id);
original.updateWith(modifiedOrganization);
UserApp.currentUser().updateFavoriteOrganization(modifiedOrganization);
FavoriteOrganization.updateFavoriteOrganization(modifiedOrganization);

return redirect(routes.OrganizationApp.settingForm(modifiedOrganization.name));
}
Expand Down
1 change: 1 addition & 0 deletions app/controllers/ProjectApp.java
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ public static Result settingProject(String ownerId, String projectName)

saveProjectMenuSetting(updatedProject);
UserApp.currentUser().updateFavoriteProject(updatedProject);
FavoriteProject.updateFavoriteProject(updatedProject);

return redirect(routes.ProjectApp.settingForm(ownerId, updatedProject.name));
}
Expand Down
10 changes: 10 additions & 0 deletions app/models/FavoriteOrganization.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import java.util.List;

@Entity
public class FavoriteOrganization extends Model {
Expand All @@ -34,4 +35,13 @@ public FavoriteOrganization(User user, Organization organization) {

this.organizationName = organization.name;
}

public static void updateFavoriteOrganization(Organization organization) {
List<FavoriteOrganization> organizationList = finder.where().eq("organization.id", organization.id).findList();
for(FavoriteOrganization favoriteOrganization: organizationList){
favoriteOrganization.organization.refresh();
favoriteOrganization.organizationName = organization.name;
favoriteOrganization.update();
}
}
}
13 changes: 13 additions & 0 deletions app/models/FavoriteProject.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@

import play.db.ebean.Model;

import javax.annotation.Nonnull;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import java.util.List;

@Entity
public class FavoriteProject extends Model {
Expand All @@ -36,4 +38,15 @@ public FavoriteProject(User user, Project project) {
this.owner = project.owner;
this.projectName = project.name;
}

public static void updateFavoriteProject(@Nonnull Project project){
List<FavoriteProject> favoriteProjects = finder.where().eq("project.id", project.id).findList();

for (FavoriteProject favoriteProject : favoriteProjects) {
favoriteProject.project.refresh();
favoriteProject.owner = project.owner;
favoriteProject.projectName = project.name;
favoriteProject.update();
}
}
}
2 changes: 2 additions & 0 deletions app/models/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,7 @@ public int hashCode() {
public List<Project> getFavoriteProjects() {
List<Project> projects = new ArrayList<>();
for (FavoriteProject favoriteProject : this.favoriteProjects) {
favoriteProject.project.refresh();
projects.add(0, favoriteProject.project);
}

Expand Down Expand Up @@ -932,6 +933,7 @@ public void removeFavoriteProject(Long projectId) {
public List<Organization> getFavoriteOrganizations() {
List<Organization> organizations = new ArrayList<>();
for (FavoriteOrganization favoriteOrganization : this.favoriteOrganizations) {
favoriteOrganization.organization.refresh();
organizations.add(0, favoriteOrganization.organization);
}

Expand Down

0 comments on commit 48c6421

Please sign in to comment.