org.patientview.radar.web.pages.RecruitmentPage.java Source code

Java tutorial

Introduction

Here is the source code for org.patientview.radar.web.pages.RecruitmentPage.java

Source

/*
 * PatientView
 *
 * Copyright (c) Worth Solutions Limited 2004-2013
 *
 * This file is part of PatientView.
 *
 * PatientView is free software: you can redistribute it and/or modify it under the terms of the
 * GNU General Public License as published by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 * PatientView is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License along with PatientView in a file
 * titled COPYING. If not, see <http://www.gnu.org/licenses/>.
 *
 * @package PatientView
 * @link http://www.patientview.org
 * @author PatientView <info@patientview.org>
 * @copyright Copyright (c) 2004-2013, Worth Solutions Limited
 * @license http://www.gnu.org/licenses/gpl-3.0.html The GNU General Public License V3.0
 */

package org.patientview.radar.web.pages;

import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
import org.apache.wicket.datetime.markup.html.basic.DateLabel;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.patientview.model.Patient;
import org.patientview.radar.model.user.User;
import org.patientview.radar.service.DemographicsManager;
import org.patientview.radar.service.DiagnosisManager;
import org.patientview.radar.web.RadarApplication;
import org.patientview.radar.web.dataproviders.DemographicsDataProvider;

@AuthorizeInstantiation({ User.ROLE_PROFESSIONAL, User.ROLE_SUPER_USER })
public class RecruitmentPage extends BasePage {

    @SpringBean
    private DemographicsManager demographicsManager;

    @SpringBean
    private DiagnosisManager diagnosisManager;

    public RecruitmentPage() {
        DataView<Patient> demographicsDataView = new DataView<Patient>("recruitmenItem",
                new DemographicsDataProvider(demographicsManager)) {
            @Override
            protected void populateItem(Item<Patient> item) {
                Patient patient = item.getModelObject();
                item.add(new Label("renalUnit.name"));
                item.add(new Label("id"));
                item.add(new Label("diagnosis", diagnosisManager.getDiagnosisName(patient)));
                item.add(DateLabel.forDatePattern("dateReg", RadarApplication.DATE_PATTERN2));
                item.add(new Label("status.abbreviation"));
            }
        };

        add(demographicsDataView);
    }
}