Example #1
0
from django.views.generic import TemplateView

from genesishealth.apps.orders.models import OrderShipment
from genesishealth.apps.utils.request import require_admin_permission


test = require_admin_permission('orders')


class ShipmentLabelView(TemplateView):
    template_name = "orders/shipment_label.html"

    def get_context_data(self, **kwargs):
        kwargs['shipment'] = self.get_shipment()
        kwargs['title'] = self.get_page_title()
        return super(ShipmentLabelView, self).get_context_data(**kwargs)

    def get_shipment(self):
        if not hasattr(self, '_shipment'):
            self._shipment = OrderShipment.objects.get(pk=self.kwargs['shipment_id'])
        return self._shipment

    def get_page_title(self):
        order = self.get_shipment().order
        return "Shipment Label for Order #{0}".format(order.id)


main = test(ShipmentLabelView.as_view())
Example #2
0
from django.urls import reverse

from genesishealth.apps.pharmacy.models import PharmacyPartner
from genesishealth.apps.utils.class_views import (
    ActionItem, ActionTableColumn,
    AttributeTableColumn, GenesisAboveTableButton, GenesisTableLink,
    GenesisTableLinkAttrArg, GenesisTableView)
from genesishealth.apps.utils.request import require_admin_permission


test = require_admin_permission('manage-business-partners')


class PharmacyPartnerTableView(GenesisTableView):
    page_title = "Manage Pharmacy Partners"

    def create_columns(self):
        return [
            AttributeTableColumn('EPC Identifier', 'epc_identifier'),
            AttributeTableColumn('Name', 'name'),
            AttributeTableColumn(
                'Address', 'get_full_address', searchable=False),
            AttributeTableColumn('City', 'city', searchable=False),
            AttributeTableColumn('State', 'state', searchable=False),
            AttributeTableColumn('ZIP', 'zip', searchable=False),
            AttributeTableColumn('Contact', 'contact_name', searchable=False),
            AttributeTableColumn(
                'Phone Number', 'phone_number', searchable=False),
            ActionTableColumn(
                "Details",
                actions=[
Example #3
0
from .models import (DatabaseServer, DatabaseSnapshot, ReadingServer,
                     ReadingServerSnapshot, WebServer, WebServerSnapshot,
                     WorkerServer, WorkerSnapshot)

admin_test = user_passes_test(admin_user)


class MonitoringDashboardView(TemplateView):
    template_name = 'monitoring/dashboard.html'

    def get_context_data(self, **kwargs):
        data = super(MonitoringDashboardView, self).get_context_data(**kwargs)
        return data


dashboard = require_admin_permission('monitoring')(
    MonitoringDashboardView.as_view())


def get_nearest_ten_minute(dt):
    tz = dt.tzinfo
    return tz.localize(
        datetime(dt.year, dt.month, dt.day, dt.hour, dt.minute / 10 * 10))


class MonitoringDataView(View):
    server_model = None
    snapshot_model = None
    output_fields = ['load', 'memory_free']

    def get(self, request, *args, **kwargs):
        output = self.get_output()
Example #4
0
from django import forms
from django.urls import reverse

from genesishealth.apps.orders.form_fields import (SelectProductsField,
                                                   SelectProductsWidget)
from genesishealth.apps.orders.models import Order
from genesishealth.apps.pharmacy.models import PharmacyPartner
from genesishealth.apps.pharmacy.breadcrumbs import get_rx_partner_breadcrumbs
from genesishealth.apps.utils.class_views import GenesisFormView
from genesishealth.apps.utils.forms import GenesisForm
from genesishealth.apps.utils.request import require_admin_permission

test = require_admin_permission('pharmacy')

product_error_messages = {'required': 'You must choose a product.'}


class CreateRxBulkOrderForm(GenesisForm):
    products = SelectProductsField(error_messages=product_error_messages,
                                   required=False,
                                   widget=SelectProductsWidget(is_bulk=True))
    invoice_number = forms.CharField()

    def __init__(self, *args, **kwargs):
        self._rx_partner = kwargs.pop('rx_partner')
        super(CreateRxBulkOrderForm, self).__init__(*args, **kwargs)

    def clean(self):
        errors = []
        if not self.cleaned_data['products']:
            errors.append("You must choose at least one product.")
Example #5
0
from genesishealth.apps.accounts.models import PatientProfile
from genesishealth.apps.gdrives.forms import UpdateCellularStatusForm
from genesishealth.apps.gdrives.models import GDrive
from genesishealth.apps.utils.breadcrumbs import Breadcrumb
from genesishealth.apps.utils.class_views import (GenesisAboveTableButton,
                                                  GenesisDetailView,
                                                  GenesisBaseDetailPane)
from genesishealth.apps.utils.class_views.form import GenesisFormView
from genesishealth.apps.utils.class_views.table import (GenesisTableView,
                                                        AttributeTableColumn)
from genesishealth.apps.utils.class_views.csv_report import (CSVReport,
                                                             CSVReportView)
from genesishealth.apps.utils.request import require_admin_permission

require_cell_test = require_admin_permission('cellular-management')


class ActiveMetersPane(GenesisBaseDetailPane):
    template_name = 'gdrives/cellular/detail_panes/active.html'
    pane_title = "Active Meters"


class RecentDeactivationsPane(GenesisBaseDetailPane):
    template_name = 'gdrives/cellular/detail_panes/recent_deactivations.html'
    pane_title = "Recent Deactivations"


class NewDevicesPane(GenesisBaseDetailPane):
    template_name = 'gdrives/cellular/detail_panes/new.html'
    pane_title = "New Devices Awaiting Activation"