from pull-request 1473
* refs/heads/issue-2110:
`Create New Project` button on group's view is not displayed when current user is not group admins or a site admin.
Reviewed-by: 백기선
Problem: There was so many queries occured to handle the request.
Solution: Changed to reuse user collection on the view and prevented n+1 select by fetching.
* Issue
- `Create new project` button on group's view is shown always altough current user is not a group admin.
* Solution
- The button will not be displayed when current user is group admins and a site admin.
Private-issue: 2110
Problem: I don't know why the modified issue's assignee is always null even I've changed it.
And actually, the Form has the value of assignee.user.id.
Solution: Fixed to set assignee correclty.
Created new Assignee object from assignee.user.id and set it to the issue that is got from the Form.
This commit will remove a lots of duplicated sqls in a request.
As a result, the performence will be better.
This commit has indend to use the 1st level cache.
For more information, please refer this:
http://en.wikibooks.org/wiki/Java_Persistence/Caching#1st_Level_Cache
If a notification is caused by an event about "creating something", we
give id of the resource as message-id of the notification email so that
Yobi can create comments on the resource, which is determined by the
message-id in In-Reply-To header, from the replies.
But if Yobi sends multiple "creating" notifications on a same resource,
it will send multiple emails with same message-id and it may cause
problems in MUA, e.g. trash them.
Notification for pushing commits is that. It was considered as "creating"
event but the resource is "project" even if the event does not create
a project. Naturally, pushing commits to a same project is very common
event so it has been caused the problem very frequently.
Solution: Do not consider "NEW_COMMIT" as "creating" event.
Problem: We should not store Yobi's version information in
conf/version.conf because user may not update the file when upgrade
Yobi. Since Play 2.3, conf directory for product is copied while
packaging so the directory is not updated even if Yobi is upgraded.
Solution: Store the version information in build.sbt. We used
version.conf to know the application version, required for YobiUpdate
feature, while application is running. But it is not necessary because
we can get the version by using sbt-buildinfo.
findbugs is a static java code analyzer. You can find possible bugs,
e.g. possible NPE, in source codes of Yobi by running findbugs as
follows:
activator findbugs
Then the report is generated as targets/scala-2.10/findbugs/report.xml
and you can browse the result by findbugs (You need to install
findbugs):
findbugs targets/scala-2.10/findbugs/report.xml
from pull-request 1464
* refs/heads/issue-2060:
adds indexes to issue_voter and issue_comment_voter table.
fixes a bug that users can agree to issues several times.
Reviewed-by: 백기선