1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
# -*- coding: utf-8 -*-
#=====================================================
# GNUmed KOrganizer link
#=====================================================
__author__ = "Karsten Hilbert <Karsten.Hilbert@gmx.net>"
__license__ = "GPL v2 or later"
import os, sys
from Gnumed.wxpython import gmPlugin, gmDemographicsWidgets
from Gnumed.pycommon import gmExceptions, gmShellAPI
from Gnumed.wxpython import gmAccessPermissionWidgets
#======================================================================
class gmKOrganizerPlugin(gmPlugin.cNotebookPlugin):
"""Plugin to encapsulate a simple KOrganizer link window."""
tab_name = _('Appointments')
required_minimum_role = 'non-clinical access'
@gmAccessPermissionWidgets.verify_minimum_required_role (
required_minimum_role,
activity = _('loading plugin <%s>') % tab_name,
return_value_on_failure = False,
fail_silently = False
)
def register(self):
gmPlugin.cNotebookPlugin.register(self)
#-------------------------------------------------
#--------------------------------------------------------
def __init__(self):
# detect KOrganizer
found, cmd = gmShellAPI.detect_external_binary(binary = 'konsolekalendar')
if not found:
raise gmExceptions.ConstructorError('cannot detect "konsolekalendar" via [%s]' % cmd)
gmPlugin.cNotebookPlugin.__init__(self)
#--------------------------------------------------------
def name(self):
return gmKOrganizerPlugin.tab_name
#--------------------------------------------------------
def GetWidget(self, parent):
self._widget = gmDemographicsWidgets.cKOrganizerSchedulePnl(parent, -1)
return self._widget
#--------------------------------------------------------
def MenuInfo(self):
return ('office', _('&Appointments'))
#--------------------------------------------------------
def can_receive_focus(self):
return True
#======================================================================
|