=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/report/hibernate/Report.hbm.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/report/hibernate/Report.hbm.xml 2013-01-16 10:31:12 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/report/hibernate/Report.hbm.xml 2013-01-17 15:31:26 +0000
@@ -42,4 +42,4 @@
-
\ No newline at end of file
+
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml 2012-11-07 13:38:42 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/org/hisp/dhis/reporttable/hibernate/ReportTable.hbm.xml 2013-01-17 15:31:26 +0000
@@ -1,9 +1,9 @@
]
- >
+ "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+ "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
+ []
+ >
@@ -24,7 +24,7 @@
+ foreign-key="fk_reporttable_dataelements_dataelementid" />
@@ -32,7 +32,7 @@
+ foreign-key="fk_reporttable_indicators_indicatorid" />
@@ -40,19 +40,19 @@
+ foreign-key="fk_reporttable_datasets_datasetid" />
+ column="categorycomboid"
+ foreign-key="fk_reporttable_categorycombo" />
+ foreign-key="fk_reporttable_periods_periodid" />
@@ -60,7 +60,7 @@
+ foreign-key="fk_reporttable_organisationunits_organisationunitid" />
@@ -68,7 +68,7 @@
+ foreign-key="fk_reporttable_orgunitgroups_orgunitgroupid" />
@@ -109,5 +109,16 @@
+
+
+
+
+
+
+
+
+
+
+
=== modified file 'dhis-2/dhis-support/dhis-support-hibernate/src/main/java/org/hisp/dhis/hibernate/HibernateGenericStore.java'
--- dhis-2/dhis-support/dhis-support-hibernate/src/main/java/org/hisp/dhis/hibernate/HibernateGenericStore.java 2013-01-16 13:25:48 +0000
+++ dhis-2/dhis-support/dhis-support-hibernate/src/main/java/org/hisp/dhis/hibernate/HibernateGenericStore.java 2013-01-17 15:31:26 +0000
@@ -349,7 +349,7 @@
private Query getQueryAllACL()
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.publicAccess like 'r%' or c.user=:user"
+ + " where c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')";
@@ -376,7 +376,7 @@
private Query getQueryAllLikeNameACL( String name )
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where lower(name) like :name and ( c.publicAccess like 'r%' or c.user=:user"
+ + " where lower(name) like :name and ( c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " ) order by c.name";
@@ -408,7 +408,7 @@
private Query getQueryAllOrderedNameACL()
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.publicAccess like 'r%' or c.user=:user"
+ + " where c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " order by c.name";
@@ -451,7 +451,7 @@
private Query getQueryAllOrderedLastUpdatedACL()
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.publicAccess like 'r%' or c.user=:user"
+ + " where c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " order by c.lastUpdated desc";
@@ -482,7 +482,7 @@
private Query getQueryAllLikeNameOrderedNameACL( String name )
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where lower(c.name) like :name and ( c.publicAccess like 'r%' or c.user=:user"
+ + " where lower(c.name) like :name and ( c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " ) order by c.name";
@@ -513,7 +513,7 @@
private Query getQueryCountACL()
{
String hql = "select count(distinct c) from " + clazz.getName() + " c"
- + " where c.publicAccess like 'r%' or c.user=:user"
+ + " where c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')";
@@ -539,7 +539,7 @@
private Query getQueryCountLikeNameACL( String name )
{
String hql = "select count(distinct c) from " + clazz.getName() + " c"
- + " where lower(name) like :name and (c.publicAccess like 'r%' or c.user=:user"
+ + " where lower(name) like :name and (c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " )";
@@ -570,7 +570,7 @@
private Query getQueryCountGeLastUpdatedACL( Date lastUpdated )
{
String hql = "select count(distinct c) from " + clazz.getName() + " c"
- + " where c.lastUpdated >= :lastUpdated and (c.publicAccess like 'r%' or c.user=:user"
+ + " where c.lastUpdated >= :lastUpdated and (c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " )";
@@ -602,7 +602,7 @@
private Query getQueryAllGeLastUpdatedACL( Date lastUpdated )
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.lastUpdated >= :lastUpdated and ( c.publicAccess like 'r%' or c.user=:user"
+ + " where c.lastUpdated >= :lastUpdated and ( c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " )";
@@ -634,7 +634,7 @@
private Query getQueryAllGeCreatedACL( Date created )
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.created >= :created and ( c.publicAccess like 'r%' or c.user=:user"
+ + " where c.created >= :created and ( c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " ) order by c.name";
@@ -666,7 +666,7 @@
private Query getQueryAllGeLastUpdatedOrderedNameACL( Date lastUpdated )
{
String hql = "select distinct c from " + clazz.getName() + " c"
- + " where c.lastUpdated >= :lastUpdated and ( c.publicAccess like 'r%' or c.user=:user"
+ + " where c.lastUpdated >= :lastUpdated and ( c.publicAccess like 'r%' or c.user IS NULL or c.user=:user"
+ " or exists "
+ " (from c.userGroupAccesses uga join uga.userGroup ug join ug.members ugm where ugm = :user and uga.access like 'r%')"
+ " ) order by c.name";
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SharingController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SharingController.java 2013-01-16 10:31:12 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/SharingController.java 2013-01-17 15:31:26 +0000
@@ -37,6 +37,7 @@
import org.hisp.dhis.document.Document;
import org.hisp.dhis.dxf2.utils.JacksonUtils;
import org.hisp.dhis.report.Report;
+import org.hisp.dhis.reporttable.ReportTable;
import org.hisp.dhis.security.SecurityService;
import org.hisp.dhis.user.CurrentUserService;
import org.hisp.dhis.user.UserGroup;
@@ -72,6 +73,7 @@
{
TYPE_MAP.put( "document", Document.class );
TYPE_MAP.put( "report", Report.class );
+ TYPE_MAP.put( "reportTable", ReportTable.class );
}
@Autowired
=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewReportForm.vm'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewReportForm.vm 2013-01-16 10:31:12 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewReportForm.vm 2013-01-17 15:31:26 +0000
@@ -59,7 +59,7 @@
- #if( $auth.hasAccess( "dhis-web-reporting", "removeReport" ) )
+ #if( $auth.hasAccess( "dhis-web-reporting", "removeReport" ) && $security.canDelete( $report ))
#else #end
=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm 2012-10-18 13:27:17 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/viewTableForm.vm 2013-01-17 15:31:26 +0000
@@ -1,3 +1,6 @@
+
+#sharingDialog()
+