args=[group.pk])) ] return [] def get_page_title(self): group = self.get_group() page_title = 'Manage Groups/Employers for {}'.format(group) return page_title def get_queryset(self): group = self.get_group() return group.companies.all() access_check = user_passes_test( lambda u: check_user_type(u, ['Admin', 'Professional'])) main = access_check(CompanyTableView.as_view()) @login_required @user_passes_test(lambda u: check_user_type(u, ['Admin', 'Professional'])) def add(request, group_id=None): if group_id: if not request.user.is_admin(): return HttpResponseNotFound() group = GenesisGroup.objects.get(pk=group_id) page_title = 'Add Group/Employer for %s' % group else: if not request.user.is_professional():
kwargs['requester'] = self.request.user kwargs['patient'] = self._get_patient() return kwargs def _get_breadcrumbs(self) -> List[Breadcrumb]: patient = self._get_patient() return [ Breadcrumb( f'Patient: {patient.get_reversed_name()}', reverse('accounts:manage-patients-professional-detail', args=[patient.pk])), Breadcrumb('Notes', reverse('notes:patient-notes', args=[patient.pk])) ] def _get_page_title(self) -> str: patient = self._get_patient() return f"Add note for {patient.get_reversed_name()}" def _get_patient(self) -> User: if not hasattr(self, '_patient'): self._patient = User.objects.filter( patient_profile__isnull=False).get( pk=self.kwargs['patient_id']) return self._patient add_patient_note = user_passes_test( lambda u: check_user_type(u, ['Professional']))( AddPatientNoteView.as_view())
def get_patient(self): if self._patient is None: user = self.get_user() if user.is_admin(): self._patient = PatientProfile.myghr_patients.get_users().get( pk=self.kwargs['patient_id']) else: group = self.get_group() self._patient = group.get_patients().get( pk=self.kwargs['patient_id']) return self._patient test = user_passes_test( lambda u: check_user_type(u, ['Admin', 'Professional'])) patient_detail = test(GDriveMultipleTableView.as_view()) class BaseIndexDeviceTable(GenesisSingleTableBase): def create_columns(self): return [ AttributeTableColumn('MEID', 'meid', cell_class='main'), AttributeTableColumn('Serial #', 'device_id'), AttributeTableColumn('Group', 'group', hide_for_user_types=['professional']), # TODO: this column still being used? AttributeTableColumn('Status', 'network_status'), AttributeTableColumn('Patient', 'patient.get_reversed_name',
from django.contrib.auth.decorators import user_passes_test from django.urls import reverse from genesishealth.apps.gdrives.breadcrumbs import get_device_breadcrumbs from genesishealth.apps.gdrives.models import GDrive from genesishealth.apps.utils.class_views import (GenesisAboveTableButton, GenesisDetailView, GenesisBaseDetailPane) from genesishealth.apps.utils.request import check_user_type test = user_passes_test(lambda u: check_user_type(u, ['Admin'])) class DeviceSnapshotPane(GenesisBaseDetailPane): template_name = 'gdrives/detail_panes/snapshot.html' pane_title = 'Details' class PatientInfoPane(GenesisBaseDetailPane): template_name = 'gdrives/detail_panes/patient.html' pane_title = 'Patient Information' class ProcessPane(GenesisBaseDetailPane): template_name = 'gdrives/detail_panes/process.html' pane_title = 'GHT Processes' class ComplaintPane(GenesisBaseDetailPane): template_name = 'gdrives/detail_panes/complaint.html' pane_title = 'Complaint'
GenesisDropdownOption('Enable', reverse('alerts:batch-enable')), GenesisDropdownOption('Disable', reverse('alerts:batch-disable')), GenesisDropdownOption('Delete', reverse('alerts:batch-delete')) ]) ] def get_page_title(self): return 'Alerts' def get_queryset(self): return self.request.user.created_patientalerts.all() test = user_passes_test(lambda u: check_user_type(u, ['Patient'])) main = test(AlertTableView.as_view()) @user_passes_test(lambda u: check_user_type(u, ['Patient'])) def new(request): kwargs = { 'form_class': PatientAlertForm, 'page_title': 'New Alert', 'system_message': 'The alert has been created.', 'form_kwargs': { 'requester': request.user } } return generic_form(request, **kwargs)