Search in sources :

Example 1 with ReportVisibilityResult

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));
        }
    });
}
Also used : IndicatorResult(org.activityinfo.legacy.shared.command.result.IndicatorResult) ReportVisibilityResult(org.activityinfo.legacy.shared.command.result.ReportVisibilityResult) MaskingAsyncMonitor(org.activityinfo.ui.client.dispatch.monitor.MaskingAsyncMonitor) BatchResult(org.activityinfo.legacy.shared.command.result.BatchResult)

Example 2 with ReportVisibilityResult

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));
}
Also used : ReportVisibilityDTO(org.activityinfo.legacy.shared.model.ReportVisibilityDTO) ReportVisibilityResult(org.activityinfo.legacy.shared.command.result.ReportVisibilityResult) ReportsResult(org.activityinfo.legacy.shared.command.result.ReportsResult) Test(org.junit.Test)

Aggregations

ReportVisibilityResult (org.activityinfo.legacy.shared.command.result.ReportVisibilityResult)2 BatchResult (org.activityinfo.legacy.shared.command.result.BatchResult)1 IndicatorResult (org.activityinfo.legacy.shared.command.result.IndicatorResult)1 ReportsResult (org.activityinfo.legacy.shared.command.result.ReportsResult)1 ReportVisibilityDTO (org.activityinfo.legacy.shared.model.ReportVisibilityDTO)1 MaskingAsyncMonitor (org.activityinfo.ui.client.dispatch.monitor.MaskingAsyncMonitor)1 Test (org.junit.Test)1