use of org.activityinfo.legacy.shared.command.result.ReportVisibilityResult in project activityinfo by bedatadriven.
the class ShareReportDialog method show.
public void show(final Report report) {
if (report.getIndicators().isEmpty()) {
MessageBox.alert(I18N.CONSTANTS.alert(), I18N.CONSTANTS.unableToShareReport(), null);
return;
}
super.show();
this.currentReport = report;
// we need to combine the databases which already have visiblity with
// those that could potentially be added
BatchCommand batch = new BatchCommand();
batch.add(new GetIndicators(currentReport.getIndicators()));
batch.add(new GetReportVisibility(currentReport.getId()));
dispatcher.execute(batch, new MaskingAsyncMonitor(grid, I18N.CONSTANTS.loading()), new SuccessCallback<BatchResult>() {
@Override
public void onSuccess(BatchResult batch) {
populateGrid((IndicatorResult) batch.getResult(0), (ReportVisibilityResult) batch.getResult(1));
}
});
}
use of org.activityinfo.legacy.shared.command.result.ReportVisibilityResult in project activityinfo by bedatadriven.
the class ReportVisibilityTest method update.
@Test
public void update() {
setUser(1);
ReportVisibilityDTO db1 = new ReportVisibilityDTO();
db1.setDatabaseId(1);
db1.setVisible(true);
db1.setDefaultDashboard(true);
ReportVisibilityDTO db2 = new ReportVisibilityDTO();
db2.setDatabaseId(2);
db2.setVisible(false);
ReportVisibilityDTO db3 = new ReportVisibilityDTO();
db3.setDatabaseId(3);
db3.setVisible(true);
UpdateReportVisibility update = new UpdateReportVisibility(1, Arrays.asList(db1, db2, db3));
execute(update);
ReportVisibilityResult result = execute(new GetReportVisibility(1));
assertThat(result.getList().size(), equalTo(2));
// make sure we can still see the report
ReportsResult visibleToMe = execute(new GetReports());
assertThat(visibleToMe.getData().size(), equalTo(1));
// Bavon
setUser(2);
ReportsResult visibleToBavon = execute(new GetReports());
assertThat(visibleToBavon.getData().size(), equalTo(2));
assertThat(getById(visibleToBavon, 1).isDashboard(), equalTo(true));
assertThat(getById(visibleToBavon, 2).isDashboard(), equalTo(false));
// Stefan, no access to db
setUser(3);
ReportsResult visibleToStefan = execute(new GetReports());
assertThat(visibleToStefan.getData().size(), equalTo(0));
}
Aggregations