favorite: Update when project/org name changed
@48c642117c8c709e8dc29eb5cc5273bef1d6575a
--- app/controllers/OrganizationApp.java
+++ app/controllers/OrganizationApp.java
... | ... | @@ -349,6 +349,7 @@ |
349 | 349 |
Organization original = Organization.find.byId(modifiedOrganization.id); |
350 | 350 |
original.updateWith(modifiedOrganization); |
351 | 351 |
UserApp.currentUser().updateFavoriteOrganization(modifiedOrganization); |
352 |
+ FavoriteOrganization.updateFavoriteOrganization(modifiedOrganization); |
|
352 | 353 |
|
353 | 354 |
return redirect(routes.OrganizationApp.settingForm(modifiedOrganization.name)); |
354 | 355 |
} |
--- app/controllers/ProjectApp.java
+++ app/controllers/ProjectApp.java
... | ... | @@ -270,6 +270,7 @@ |
270 | 270 |
|
271 | 271 |
saveProjectMenuSetting(updatedProject); |
272 | 272 |
UserApp.currentUser().updateFavoriteProject(updatedProject); |
273 |
+ FavoriteProject.updateFavoriteProject(updatedProject); |
|
273 | 274 |
|
274 | 275 |
return redirect(routes.ProjectApp.settingForm(ownerId, updatedProject.name)); |
275 | 276 |
} |
--- app/models/FavoriteOrganization.java
+++ app/models/FavoriteOrganization.java
... | ... | @@ -12,6 +12,7 @@ |
12 | 12 |
import javax.persistence.Id; |
13 | 13 |
import javax.persistence.ManyToOne; |
14 | 14 |
import javax.persistence.OneToOne; |
15 |
+import java.util.List; |
|
15 | 16 |
|
16 | 17 |
@Entity |
17 | 18 |
public class FavoriteOrganization extends Model { |
... | ... | @@ -34,4 +35,13 @@ |
34 | 35 |
|
35 | 36 |
this.organizationName = organization.name; |
36 | 37 |
} |
38 |
+ |
|
39 |
+ public static void updateFavoriteOrganization(Organization organization) { |
|
40 |
+ List<FavoriteOrganization> organizationList = finder.where().eq("organization.id", organization.id).findList(); |
|
41 |
+ for(FavoriteOrganization favoriteOrganization: organizationList){ |
|
42 |
+ favoriteOrganization.organization.refresh(); |
|
43 |
+ favoriteOrganization.organizationName = organization.name; |
|
44 |
+ favoriteOrganization.update(); |
|
45 |
+ } |
|
46 |
+ } |
|
37 | 47 |
} |
--- app/models/FavoriteProject.java
+++ app/models/FavoriteProject.java
... | ... | @@ -8,10 +8,12 @@ |
8 | 8 |
|
9 | 9 |
import play.db.ebean.Model; |
10 | 10 |
|
11 |
+import javax.annotation.Nonnull; |
|
11 | 12 |
import javax.persistence.Entity; |
12 | 13 |
import javax.persistence.Id; |
13 | 14 |
import javax.persistence.ManyToOne; |
14 | 15 |
import javax.persistence.OneToOne; |
16 |
+import java.util.List; |
|
15 | 17 |
|
16 | 18 |
@Entity |
17 | 19 |
public class FavoriteProject extends Model { |
... | ... | @@ -36,4 +38,15 @@ |
36 | 38 |
this.owner = project.owner; |
37 | 39 |
this.projectName = project.name; |
38 | 40 |
} |
41 |
+ |
|
42 |
+ public static void updateFavoriteProject(@Nonnull Project project){ |
|
43 |
+ List<FavoriteProject> favoriteProjects = finder.where().eq("project.id", project.id).findList(); |
|
44 |
+ |
|
45 |
+ for (FavoriteProject favoriteProject : favoriteProjects) { |
|
46 |
+ favoriteProject.project.refresh(); |
|
47 |
+ favoriteProject.owner = project.owner; |
|
48 |
+ favoriteProject.projectName = project.name; |
|
49 |
+ favoriteProject.update(); |
|
50 |
+ } |
|
51 |
+ } |
|
39 | 52 |
} |
--- app/models/User.java
+++ app/models/User.java
... | ... | @@ -880,6 +880,7 @@ |
880 | 880 |
public List<Project> getFavoriteProjects() { |
881 | 881 |
List<Project> projects = new ArrayList<>(); |
882 | 882 |
for (FavoriteProject favoriteProject : this.favoriteProjects) { |
883 |
+ favoriteProject.project.refresh(); |
|
883 | 884 |
projects.add(0, favoriteProject.project); |
884 | 885 |
} |
885 | 886 |
|
... | ... | @@ -932,6 +933,7 @@ |
932 | 933 |
public List<Organization> getFavoriteOrganizations() { |
933 | 934 |
List<Organization> organizations = new ArrayList<>(); |
934 | 935 |
for (FavoriteOrganization favoriteOrganization : this.favoriteOrganizations) { |
936 |
+ favoriteOrganization.organization.refresh(); |
|
935 | 937 |
organizations.add(0, favoriteOrganization.organization); |
936 | 938 |
} |
937 | 939 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?