def test_bad_create_logger(self): # Setting up logging class DevNull(): def write(self, s): pass temp = sys.stderr sys.stderr = DevNull() # keep logger quiet logger = get_standard_logger('/path_to/bad_path/test.log', 'bad_path.test', settings.LOGGING_LEVEL) sys.stderr = temp # set back to original stderr self.assertTrue(len(logger.handlers) == 1, len(logger.handlers)) # this check could be better but we know under error StreamHandler is created self.assertTrue(isinstance(logger.handlers[0], StreamHandler), logger.handlers[0].__class__.__name__)
get_community_providers_by_coords, \ set_providers_result, set_practice_members_result, get_all_site_staff,\ set_site_staff_result from MHLogin.KMS.utils import store_user_key, recrypt_keys from MHLogin.KMS.models import UserPrivateKey, CRED_WEBAPP from MHLogin.utils.templates import get_context, phone_formater from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.constants import STATE_CHOICES from MHLogin.MHLPractices.utils import get_practices_by_position, set_practices_result from MHLogin.MHLOrganization.utils import get_org_type_name from MHLogin.MHLOrganization.utils_org_tab import getOrganizationsOfUser, renderOrganizationForDashbord from MHLogin.MHLFavorite.utils import get_my_favorite # Setting up logging logger = get_standard_logger('%s/DoctorCom/IVR/views_generic.log' % (settings.LOGGING_ROOT), 'DCom.IVR.views_gen', settings.LOGGING_LEVEL) def fp_test(request): return render_to_response('fp_test.html') def main(request): if request.user.is_authenticated(): if ('Physician' in request.session['MHL_Users']): return main_physician(request, request.session['MHL_Users']['Physician']) #return HttpResponseRedirect('/') if ('NP_PA' in request.session['MHL_Users']): return main_np_pa(request, request.session['MHL_Users']['NP_PA']) if ('Nurse' in request.session['MHL_Users']): #return main_nurse(request, request.session['MHL_Users']['Nurse'])
from django import forms from django.conf import settings from django.forms.util import ErrorList from django.forms import ModelForm from MHLogin.DoctorCom.models import MessageTemp from MHLogin.MHLUsers.models import Provider from MHLogin.utils.mh_logging import get_standard_logger from django.utils.translation import ugettext as _ # Setting up logging logger = get_standard_logger( '%s/DoctorCom/forms.log' % (settings.LOGGING_ROOT), 'DCom.forms', settings.LOGGING_LEVEL) class MessageForm(ModelForm): #body = forms.CharField(max_length=140) #recipients = forms.ModelMultipleChoiceField(MHLUser) #recipient_type = forms.ChoiceField(widget= #forms.RadioSelect(),choices=RECIPIENT_TYPE_CHOICES,initial='AC') #user_recipients = forms.ModelMultipleChoiceField(queryset= #Provider.objects.exclude(mobile_phone='').order_by('last_name')) user_recipients = forms.MultipleChoiceField(choices=()) action = forms.CharField(widget=forms.HiddenInput, initial="send") body = forms.CharField(widget=forms.Textarea) def __init__(self, site, *args, **kwargs): session_key = None if (not 'session_key' in kwargs):
from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger # logger for tech_admin package logger = get_standard_logger( '%s/Administration/tech_admin.log' % (settings.LOGGING_ROOT), 'tech_admin', settings.LOGGING_LEVEL)
from models import callLog, callEvent from views_generic_v2 import authenticateSessionNew, _getCallLogOrParent, _copyStateVariables from views_generic_v2 import _setup_Main_callers, _getOrCreateCallLog, _getMHLUser, _maskProviderCaller from views_generic_v2 import changePinNew, changeNameNew, changeGreetingNew from views_generic_v2 import playMessagesNew, getQuickRecordingNew, getRecordingNew from MHLogin.MHLUsers.models import Provider, OfficeStaff from MHLogin.utils.decorators import TwilioAuthentication from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.DoctorCom.Messaging.models import MessageBodyUserStatus from MHLogin.DoctorCom.IVR.utils import save_message, _checkCallbackDuration, _makeUSNumber from MHLogin.DoctorCom.speech.utils import tts # Setting up logging logger = get_standard_logger('%s/DoctorCom/IVR/views_provider_v2.log' % (settings.LOGGING_ROOT), 'DCom.IVR.views_prov', settings.LOGGING_LEVEL) # new refactored calls to cater for Twilio API 2010-04-01 version # revised from views_provider.py # # The request.session dictionary is heavily used through this codebase. Since # this is a pretty opaque data structure, we should maintain a list of keys # here. If you add keys to the dictionary, make sure to note it here. # # General Variables # -------------------------------------------- # authenticated - Whether or not the user is authenticated. If the key exists, # then assume the user is authenticated, regardless of its value. unchanged from prior version # Called - The phone number the caller is trying to reach. (aka To) # Caller - The callerID of the person who is calling in. (aka From) # ivr2_state - The state of call processing tree. IT IS NOT A STACK
from MHLogin.Administration.forms_qa import GenerateUsersForm, ReGenerateKeyForm from MHLogin.DoctorCom.IVR.models import VMBox_Config from MHLogin.KMS.utils import create_default_keys, generate_keys_for_users from MHLogin.KMS.models import OwnerPublicKey, UserPrivateKey from MHLogin.MHLUsers.decorators import RequireAdministrator from MHLogin.MHLUsers.models import MHLUser, Provider, Physician, NP_PA, \ OfficeStaff, Office_Manager, Nurse, Dietician from MHLogin.utils.constants import USER_TYPE_DOCTOR, USER_TYPE_NPPA, \ USER_TYPE_MEDICAL_STUDENT, USER_TYPE_OFFICE_MANAGER, USER_TYPE_NURSE, \ USER_TYPE_DIETICIAN from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.templates import get_context from MHLogin.utils.FileHelper import get_absolute_path, getTempFilePath from MHLogin.MHLPractices.models import PracticeLocation logger = get_standard_logger('%s/Administration/views_qa.log' % (settings.LOGGING_ROOT), 'Administration.views_qa', settings.LOGGING_LEVEL) @RequireAdministrator def qa_tools(request): context = get_context(request) if (settings.DEBUG): start = 0 mobile_perm = Permission.objects.get_or_create(\ codename='access_smartphone', name='Can use smartphone app', content_type=ContentType.objects.get_for_model(MHLUser)) MHLUser.objects.update(mobile_phone='') MHLUser.objects.update(phone='')
from django.core.management.base import BaseCommand from django.utils.translation import ugettext from MHLogin.DoctorCom.Messaging.models import Message from MHLogin.DoctorCom.Messaging.utils import MSG_SUBJECT_PREFIXS,\ clean_subject_prefix, MSG_SUBJECT_PREFIX_RE, MSG_SUBJECT_PREFIX_FW from optparse import make_option from MHLogin.utils.mh_logging import get_standard_logger from django.conf import settings # Setting up logging logger = get_standard_logger( '%s/utils/management/commands/clean_message_prefix.log' % (settings.LOGGING_ROOT), 'utils.management.commands.clean_message_prefix', "INFO") class Command(BaseCommand): """ Clean message subject prefix. """ option_list = BaseCommand.option_list + (make_option( '--persistence', action='store_true', dest='persistence', default=False, help='Tells Django to apply these change to the database.'), ) def __init__(self): super(Command, self).__init__() self.help = ugettext('Help: Clean message subject prefix.\n')
from django import forms from django.conf import settings from django.forms.util import ErrorList from django.core.exceptions import ValidationError from django.utils.translation import ugettext as _ from MHLogin.DoctorCom.Messaging.models import REFER_STATUS, MessageRefer from MHLogin.DoctorCom.models import MessageTemp from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.MHLUsers.models import MHLUser, Office_Manager from MHLogin.utils.constants import GENDER_CHOICES,DATE_FORMAT from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/DoctorCom/Messaging/forms.log' % (settings.LOGGING_ROOT), 'DCom.Msgng.forms', settings.LOGGING_LEVEL) msg_id_re = re.compile('[0-9a-f]{32}$') user_id_re = re.compile('\d+$') PHONE_NUMBER_HELP_TEXT = _("Please enter only digits. (e.g., 8005555555)") class MessageEditCheckForm(forms.Form): recipients = forms.CharField(required=False) ccs = forms.CharField(required=False) len_attachments = forms.CharField(required=False) practice = forms.CharField(required=False) class MessageOptionsForm(forms.Form): user_recipients = forms.CharField(required=False, widget=forms.HiddenInput) thread_uuid = forms.CharField(required=False, widget=forms.HiddenInput)
from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.MHLUsers.models import MHLUser, OfficeStaff, Provider from MHLogin.MHLUsers.Sales.models import Products from MHLogin.genbilling.signals import credit_card_error, invoice_sent from MHLogin.genbilling.utils import get_next_billing_period_for_date, \ get_current_billing_period, get_next_billing_period import logging from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger from django.core.exceptions import ObjectDoesNotExist # Setting up logging logger = get_standard_logger('%s/genbilling/models.log' % \ (settings.LOGGING_ROOT), 'genbilling.models', logging.WARN) class _FauxRequestSession(object): session_key = ' ' class _FauxRequest(object): session = _FauxRequestSession class AccountTransactionManager(models.Manager): def create_manual_debit(self, account, amount, memo): """ Posts Manual debit to account """
import traceback # DEBUG from django.db import models from django.conf import settings from django.contrib.auth.models import User from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ from MHLogin.MHLCallGroups.models import CallGroup from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.admin_utils import mail_admins # Setting up logging logger = get_standard_logger('%s/MHLCallGroups/Scheduler/models.log' % (settings.LOGGING_ROOT), 'MHLCallGroups.Scheduler.models', settings.LOGGING_LEVEL) EVENT_TYPE_CHOICES = ( ('0', _('Medical on-call')), ('1', _('Administrative on-call')), ) ONCALL_LEVEL_CHOICES = ( ('0', _('Primary')), ('1', _('Secondary')), ) ONCALL_STATUS_CHOICES = ( ('0', _('unconfirmed')), ('1', _('tentative')),
from django.utils import unittest from django.test.client import Client from django.conf import settings from django.core.urlresolvers import reverse from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLUsers.models import MHLUser, Salesperson, Administrator, Provider, Physician from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.MHLSites.models import Site from MHLogin.utils.tests import create_user from MHLogin.utils.decorators import skipIfUrlFails # Setting up logging logger = get_standard_logger( '%s/analytics/tests.log' % (settings.LOGGING_ROOT), 'analytics.tests', settings.LOGGING_LEVEL) class AnalyticsUnitTest(unittest.TestCase): """ Sales unittester for creating Salesperson, Salse Products, Sales Leads and verifying everything stays in sync with no errors or failures """ @classmethod def setUpClass(cls): # done once for all AnalyticsUnitTest # needed at login # create admin and test user cls.admin = create_user("sduper", "super", "duper", "demo",
from MHLogin.MHLUsers.forms import ProviderForm, UserForm, OfficeStaffForm, \ PhysicianForm, BrokerForm, ChangePasswordForm, SecurityQuestionsForm, \ CallForwardForm, UpdateSecurityForm, BrokerUserForm from MHLogin.MHLUsers.models import SecurityQuestions, Broker, Provider, NP_PA, \ Nurse, OfficeStaff, MHLUser from MHLogin.MHLUsers.utils import change_pass, answerToHash, \ has_mhluser_with_email, has_mhluser_with_mobile_phone,get_fullname from MHLogin.utils import ImageHelper from MHLogin.utils.constants import LANGUAGE, RESERVED_ORGANIZATION_TYPE_ID_PRACTICE from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.templates import get_context from MHLogin.utils.timeFormat import OLD_TIME_ZONES_MIGRATION from MHLogin.MHLOrganization.utils import get_other_organizations # Setting up logging logger = get_standard_logger('%s/MHLUsers/views.log' % (settings.LOGGING_ROOT), 'MHLUsers.views', settings.LOGGING_LEVEL) def changepin(request): context = get_context(request) if (request.method == 'POST'): form = PinChangeForm(request.POST) form.user = request.user if (form.is_valid()): if 'Provider' in request.session['MHL_Users']: provider = Provider.objects.get(user__id=request.user.id) config = provider.vm_config.get() config.change_pin(request, new_pin=form.cleaned_data['pin1']) return render_to_response('Profile/changepinconfirmed.html', context) elif 'Broker' in request.session['MHL_Users']:
from MHLogin.utils.errlib import err404 from MHLogin.MHLUsers.models import Provider from MHLogin.utils.decorators import TwilioAuthentication from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.DoctorCom.Messaging.models import MessageAttachment, CallbackLog from MHLogin.DoctorCom.speech.utils import tts from MHLogin.KMS.utils import store_user_key, get_user_key from MHLogin.KMS.models import UserPrivateKey, CRED_IVRPIN from MHLogin.utils.admin_utils import mail_admins from django.utils.translation import ugettext as _ # Setting up logging logger = get_standard_logger('%s/DoctorCom/IVR/views_generic.log' % (settings.LOGGING_ROOT), 'DCom.IVR.views_generic', settings.LOGGING_LEVEL) # NOTE # DEPRECATED - most of the calls here are being deprecated (except for getRecording). # any changes should be replicated to views_generic_v2.py version # NOTE @TwilioAuthentication() def UnaffiliatedNumber(request): r = twilio.Response() r.append(twilio.Pause()) # one second pause keeps the first words from getting cut off. r.append(tts(_("You have called an inactive phone number affiliated with " "doctorcom. Please visit us online at w w w dot m d com dot com. Good bye."))) r.append(twilio.Hangup()) return HttpResponse(str(r), mimetype=settings.TWILIO_RESPONSE_MIMETYPE)
from MHLogin.MHLUsers.models import Physician, MHLUser, Provider, Office_Manager from MHLogin.MHLUsers.utils import all_staff_members, set_practice_members_result,get_fullname from MHLogin.MHLOrganization.utils import get_common_org_ids, get_more_providers from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.utils import FileHelper, ImageHelper from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.errlib import err500, err403 from MHLogin.utils.admin_utils import mail_admins from MHLogin.utils.DicomHelper import sendToDicomServer from MHLogin.utils.templates import get_context, get_prefer_logo from MHLogin.utils.constants import RESERVED_ORGANIZATION_TYPE_ID_PRACTICE, \ REFER_FORWARD_CHOICES_ONLY_MANAGER # Setting up logging logger = get_standard_logger('%s/DoctorCom/Messaging/views_refer.log' % (settings.LOGGING_ROOT), 'DoctorCom.Messaging.views_refer', settings.LOGGING_LEVEL) REFER_CACHE_SESSION_KEY = "ReferData" PREVENT_REPEAT_COMMIT_TOKEN = "PREVENT_REPEAT_COMMIT_TOKEN" suffix_re = re.compile('\.([^.]+)$') MESSAGE_REPEAT_COMMIT = _("Sorry, your refer was sent failed because of duplicate sending.") def refer_home(request): context = get_context(request) sender = None if ('Provider' in request.session['MHL_Users']): sender = request.session['MHL_Users']['Provider'] elif ('OfficeStaff' in request.session['MHL_Users']):
from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.utils.translation import ugettext_lazy as _ from MHLogin.MHLUsers.models import Administrator, Dietician, MHLUser, Provider, Salesperson, \ Physician, NP_PA, OfficeStaff, Nurse, Office_Manager, Broker, Regional_Manager from MHLogin.MHLUsers.utils import getCurrentUserInfo from MHLogin.utils.templates import get_context from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.admin_utils import mail_admins # Set up a specific logger with our desired output level if (not 'logger' in locals()): logger = get_standard_logger('%s/utils/Middlewares.log' % (settings.LOGGING_ROOT), 'utils.Middlewares', settings.LOGGING_LEVEL) class ExceptionDumpMiddleware(object): """ Middleware to dump exceptions. Loosely based on: http://djangosnippets.org/snippets/638/ """ def process_exception(self, request, exception): # Get the exception info now, in case another exception is thrown later. #if isinstance(exception, Http500): return self.handle_500(request, exception) def handle_500(self, request, exception): exc_info = sys.exc_info()
from urlparse import urljoin from django.conf import settings from django.core.urlresolvers import reverse from twilio import TwilioRestException from twilio.rest.resources import make_twilio_request from MHLogin.DoctorCom.IVR.utils import _getUSNumber, _makeUSNumber from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.twilio_utils import client, client2008, TWILIO_AREACODE_PARAMETER_NOT_SUPPORTED, \ TWILIO_INVALID_AREA_CODE, TWILIO_NO_PHONE_NUMBERS_IN_AREA_CODE from django.utils.translation import ugettext_lazy as _ logger = get_standard_logger('%s/DoctorCom/NumProvUtil.log' % (settings.LOGGING_ROOT), 'DoctorCom.NumProvUtil', settings.LOGGING_LEVEL) def twilio_account_active(): try: account = client.accounts.get(settings.TWILIO_ACCOUNT_SID) if account: return True else: return False except TwilioRestException: # if account is not active, suspended, etc return False def twilio_get_available_number(area_code, incountry="US", intype="local"):
import re from django import forms from django.conf import settings from django.contrib.auth.models import User from django.forms.util import ErrorList from django.utils.translation import ugettext_lazy as _ from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.Invites.models import Invitation from MHLogin.utils.constants import PROVIDER_INVITE_CHOICES, SALES_INVITE_CHOICES, OFFICE_STAFF_INVITE_CHOICES # Setting up logging logger = get_standard_logger('%s/Invites/forms.log' % (settings.LOGGING_ROOT), 'Invites.forms', settings.LOGGING_LEVEL) class ManagerInviteForm(forms.ModelForm): userType = forms.ChoiceField(label=_('User Type'), choices=PROVIDER_INVITE_CHOICES) msg = forms.CharField(required=False, label=_('Note to your Colleague'), widget=forms.Textarea(attrs={'rows':4, 'cols':40})) sender = forms.HiddenInput() class Meta: model = Invitation fields = ['recipient'] # def clean(self): # address = self.cleaned_data['recipient'] # type = self.cleaned_data['userType'] # if (Invitation.objects.filter(recipient=address, userType=type).count()):
''' import time import thread from django.conf import settings from django.core.mail import send_mail from django.template.loader import render_to_string from django.utils.translation import ugettext as _ from MHLogin.MHLPractices.models import Pending_Org_Association, \ Log_Org_Association from MHLogin.MHLUsers.utils import get_all_practice_managers,get_fullname from MHLogin.MHLOrganization.utils import notify_org_users_tab_chanaged from MHLogin.utils.mh_logging import get_standard_logger logger = get_standard_logger('%s/MHLOrganization/utils_org_member.log' % (settings.LOGGING_ROOT), 'MHLOrganization.utils_org_member', settings.LOGGING_LEVEL) def send_mail_to_org_manager(org, subject, body_template_file, body_context): mgrs = get_all_practice_managers(org) for mgr in mgrs: body_context.update({ 'manager_fullname': get_fullname(mgr.user) }) body = render_to_string(body_template_file, body_context) send_mail( subject, body, settings.SERVER_EMAIL, [mgr.user.email], fail_silently=False )
USER_TYPE_OFFICE_MANAGER, USER_TYPE_NURSE, USER_TYPE_DIETICIAN, \ USER_TYPE_OFFICE_STAFF from MHLogin.utils.errlib import err403, err404 from MHLogin.utils.templates import get_context_for_organization, phone_formater, \ get_context from MHLogin.utils.timeFormat import getDisplayedTimeZone, hour_format, \ minute_format, OLD_TIME_ZONES_MIGRATION, getCurrentTimeZoneForUser, \ formatTimeSetting from MHLogin.MHLPractices.forms_staffsearch import ProviderByMailForm from MHLogin.MHLOrganization.views_member import _get_specialty, addAssociation from MHLogin.Invites.models import Invitation from MHLogin.MHLPractices.utils_pendding import user_is_pendding_in_org from MHLogin.KMS.utils import create_default_keys from MHLogin.utils.mh_logging import get_standard_logger logger = get_standard_logger('%s/MHLOrganization/views.log' % (settings.LOGGING_ROOT), 'MHLOrganization.views', settings.LOGGING_LEVEL) def org_list(request): context = get_context(request) return render_to_response( 'MHLOrganization/includes/organization_template.html', context) def org_tree(request): root_node = request.POST.get('root_node', None) show_parent = request.POST.get('show_parent', None) if show_parent and root_node: try: root_node = OrganizationRelationship.objects\ .get(organization=root_node).parent.id
from MHLogin.utils.templates import get_context from MHLogin.Invites.models import Invitation, InvitationLog from MHLogin.DoctorCom.models import Click2Call_Log, PagerLog from MHLogin.DoctorCom.IVR.models import callLog from MHLogin.analytics.forms import MonthForm from MHLogin.analytics.models import PagerDailySummary, Click2CallDailySummary,\ MessageDailySummary, InviteDailySummary from MHLogin.analytics.utils import populatePagerSummary, populateMessageSummary,\ populateClick2CallSummary, populateInviteSummary, extract_start_end_dates, \ getSiteAnalyticsTopThree # Setting up logging logger = get_standard_logger('%s/analytics/views.log' % (settings.LOGGING_ROOT), 'analytics.views', logging.INFO) PERIOD_STRFORMAT = _('Week of %B %d, %Y') SPECIALTIES = dict(SPECIALTY_CHOICES) @RequireAdministrator def home(request): """The main analytics page with links to specific analytic topics :param request: The HTTP request :type request: django.core.handlers.wsgi.WSGIRequest :returns: django.http.HttpResponse -- the result in an HttpResonse object :raises: None """ return render_to_response("analytics/home.html", get_context(request))
from MHLogin.utils.templates import get_context from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.Invites.forms import multiUserSendForm from MHLogin.Invites.models import Invitation, InvitationLog from MHLogin.MHLUsers.models import MHLUser, Salesperson, Administrator from MHLogin.MHLUsers.Sales.models import SalesLeads, SalesProduct, SALES_STAGES, SALES_SOURCE from MHLogin.MHLUsers.Sales.forms import SalesPersonForm from MHLogin.utils import ImageHelper from MHLogin.utils.timeFormat import time_format, convert_dt_to_utz from MHLogin.utils.errlib import err5xx # Setting up logging logger = get_standard_logger('%s/MHLUsers/Sales/views.log' % (settings.LOGGING_ROOT), 'MHLUser.Sales.views', settings.LOGGING_LEVEL) fullLeadAccess = lambda request: ('Administrator' in request.session['MHL_Users'] or \ request.user.has_perm('MHLUsers.sales_executive')) def dashboard(request): context = get_context(request) user = request.session['MHL_Users']['MHLUser'] unanswered = Invitation.objects.filter(sender=request.user) result = [] for un in unanswered: obj = {} obj['recipient'] = un.recipient obj['requestTimestamp'] = time_format(user, convert_dt_to_utz( un.requestTimestamp, user, context['current_practice']))
import logging from django.conf import settings from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ from MHLogin.utils.templates import get_context from MHLogin.KMS.exceptions import KMSException from MHLogin.KMS.shortcuts import decrypt_object from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging if (not 'logger' in locals()): logger = get_standard_logger('%s/DoctorCom/views_boxes.log' % (settings.LOGGING_ROOT), 'DCom.views_boxes', logging.DEBUG) def box_recent_received(request): """ Process box_recent_received view request :param request: The HTTP GET request :type request: django.core.handlers.wsgi.WSGIRequest :returns: django.http.HttpResponse -- the result in an HttpResonse object :raises: None """ context = get_context(request) return render_to_string("Messaging/box_recent_received-RD.html", context)
import collections import logging from datetime import datetime from django.core.exceptions import ObjectDoesNotExist from django.conf import settings from django.db import models from django.db.models.signals import post_save, pre_delete, pre_save from django.dispatch import receiver from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLUsers.models import MHLUser # Setting up logging logger = get_standard_logger('%s/MHLUsers/Sales/models.log' % (settings.LOGGING_ROOT), 'MHLUser.Sales.models', logging.WARN) class Products(models.Model): """ Description and standard starting price of all DoctorCom products """ description = models.CharField(max_length=255, blank=True) code = models.CharField(max_length=64, blank=True, unique=True) price = models.DecimalField(max_digits=20, decimal_places=2) class Meta: verbose_name_plural = "Products" def __unicode__(self): return "%s %s $%s" % (self.description, self.code, self.price) # list of possible sources - freeform, user can edit for other
from MHLogin.DoctorCom.IVR.models import VMBox_Config from MHLogin.KMS.utils import create_default_keys, generate_keys_for_users from MHLogin.KMS.models import OwnerPublicKey, UserPrivateKey from MHLogin.MHLUsers.decorators import RequireAdministrator from MHLogin.MHLUsers.models import MHLUser, Provider, Physician, NP_PA, \ OfficeStaff, Office_Manager, Nurse, Dietician from MHLogin.utils.constants import USER_TYPE_DOCTOR, USER_TYPE_NPPA, \ USER_TYPE_MEDICAL_STUDENT, USER_TYPE_OFFICE_MANAGER, USER_TYPE_NURSE, \ USER_TYPE_DIETICIAN from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.templates import get_context from MHLogin.utils.FileHelper import get_absolute_path, getTempFilePath from MHLogin.MHLPractices.models import PracticeLocation logger = get_standard_logger( '%s/Administration/views_qa.log' % (settings.LOGGING_ROOT), 'Administration.views_qa', settings.LOGGING_LEVEL) @RequireAdministrator def qa_tools(request): context = get_context(request) if (settings.DEBUG): start = 0 mobile_perm = Permission.objects.get_or_create(\ codename='access_smartphone', name='Can use smartphone app', content_type=ContentType.objects.get_for_model(MHLUser)) MHLUser.objects.update(mobile_phone='')
import json from django.conf import settings from django.http import HttpResponse from MHLogin.apps.smartphone.v1.decorators import AppAuthentication from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/apps/smartphone/v1/views_server.log' % (settings.LOGGING_ROOT), 'DCom.apps.smartphone.v1.views_server', settings.LOGGING_LEVEL) @AppAuthentication def info(request): response = { 'warnings': {}, } return HttpResponse(content=json.dumps(response), mimetype='application/json')
from django.conf import settings from django.core.cache import cache from django.core.files.uploadhandler import MemoryFileUploadHandler, StopUpload import logging import logging.handlers from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging LOG_FILENAME = '%s/utils/UploadHandlers.log' % (settings.LOGGING_ROOT, ) # Set up a specific logger with our desired output level if (not 'logger' in locals()): logger = get_standard_logger( '%s/utils/UploadHandlers.log' % (settings.LOGGING_ROOT), 'utils.UploadHandlers', settings.LOGGING_LEVEL) class UploadProgressCachedHandler(MemoryFileUploadHandler): """ Tracks progress for file uploads. The http post request must contain a query parameter, 'X-Progress-ID', which should contain a unique string to identify the upload to be tracked. """ def __init__(self, request=None): super(UploadProgressCachedHandler, self).__init__(request) self.progress_id = None self.cache_key = None logging.debug("UploadProgressCachedHandler: __init__ " + str(datetime.datetime.now()))
import logging from django.conf import settings from django.core.management.base import BaseCommand from django.core.exceptions import ValidationError from django.db import transaction from django.db.models import Q from optparse import make_option from MHLogin.utils.geocode import geocode2 from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/utils/management/commands/command.log' % (settings.LOGGING_ROOT), 'set_user_coords', logging.INFO) @transaction.commit_manually class Command(BaseCommand): """ set_user_coords: This command will update user coordinates. For each MHLUser: If MHLUser has valid address and no longit/lat it will set longit/lat else If MHLUser has no valid address/longit/lat check if they are Provider, Office_Staff, Office_Manager, Broker, etc.. Find out which and check if they have a valid office_addres and longit/lat then copy those values into MHLUser address fields """ option_list = BaseCommand.option_list + ( make_option('-s', '--show-only', action='store_true', dest='show',
from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger # logger for tech_admin package logger = get_standard_logger('%s/Administration/tech_admin.log'%(settings.LOGGING_ROOT), 'tech_admin', settings.LOGGING_LEVEL)
import traceback # DEBUG from django.db import models from django.conf import settings from django.contrib.auth.models import User from django.template.loader import render_to_string from django.utils.translation import ugettext_lazy as _ from MHLogin.MHLCallGroups.models import CallGroup from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.admin_utils import mail_admins # Setting up logging logger = get_standard_logger( '%s/MHLCallGroups/Scheduler/models.log' % (settings.LOGGING_ROOT), 'MHLCallGroups.Scheduler.models', settings.LOGGING_LEVEL) EVENT_TYPE_CHOICES = ( ('0', _('Medical on-call')), ('1', _('Administrative on-call')), ) ONCALL_LEVEL_CHOICES = ( ('0', _('Primary')), ('1', _('Secondary')), ) ONCALL_STATUS_CHOICES = ( ('0', _('unconfirmed')), ('1', _('tentative')), ('2', _('confirmed')),
import logging from django.conf import settings from django.core.management.base import BaseCommand from django.core.exceptions import ValidationError from django.db import transaction from django.db.models import Q from optparse import make_option from MHLogin.utils.geocode import geocode2 from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger( '%s/utils/management/commands/command.log' % (settings.LOGGING_ROOT), 'set_user_coords', logging.INFO) @transaction.commit_manually class Command(BaseCommand): """ set_user_coords: This command will update user coordinates. For each MHLUser: If MHLUser has valid address and no longit/lat it will set longit/lat else If MHLUser has no valid address/longit/lat check if they are Provider, Office_Staff, Office_Manager, Broker, etc.. Find out which and check if they have a valid office_addres and longit/lat then copy those values into MHLUser address fields """ option_list = BaseCommand.option_list + (make_option( '-s',
from django.utils.translation import ugettext_lazy as _ from MHLogin.DoctorCom.IVR.models import VMBox_Config, VMMessage from MHLogin.MHLSites.models import Site from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.MHLUsers.validators import validate_phone from MHLogin.utils.fields import UUIDField, MHLPhoneNumberField from MHLogin.utils.constants import NATION_CHOICES, STATE_CHOICES, CARE_TYPE_CHOICES, \ FORWARD_CHOICES, STAFF_TYPE_CHOICES, SPECIALTY_CHOICES, ROLE_TYPE, \ STAFF_TYPE_CHOICES_EXTRA, YESNO_CHOICE, GENDER_CHOICES, SETTING_TIME_CHOICES, \ CALLER_ANSSVC_CHOICES, TIME_ZONES_CHOICES, REFER_FORWARD_CHOICES, REFER_FORWARD_CHOICES_BOTH from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/MHLUsers/models.log' % (settings.LOGGING_ROOT), 'MHLUsers.models', settings.LOGGING_LEVEL) VALIDATION_ERROR_MOBILE_EXISTS = _('A user with this mobile phone number already exists.') VALIDATION_ERROR_EMAIL_EXISTS = _('A user with this email already exists.') PHONE_NUMBER_HELP_TEXT = _("Please enter only digits. (e.g., 8005555555)") class States(models.Model): nation = models.CharField(max_length=2, choices=NATION_CHOICES) state = models.CharField(max_length=2, choices=STATE_CHOICES) def __unicode__(self): return self.get_state_display() class Meta: unique_together = (('nation', 'state'),)
import logging from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger # Standard logger for speech logger = get_standard_logger('%s/utils/utils.log' % (settings.LOGGING_ROOT), 'utils', logging.WARN)
from MHLogin.apps.smartphone.models import SmartPhoneAssn from MHLogin.apps.smartphone.v1.errlib import err_GE002, err_GE022, err_GE031,\ err_GE100, err_DM002, err_DM020, err_DM005 from MHLogin.apps.smartphone.v1.forms import PushTokenForm from MHLogin.apps.smartphone.v1.forms_device import AssociationForm, CheckInForm, \ CheckUserForm, VersionUpdateForm from MHLogin.apps.smartphone.v1.utils_messaging import rx_message_list_data, tx_message_list_data from MHLogin.apps.smartphone.v1.utils import setSystemInfoToResponse from MHLogin.apps.smartphone.v1.decorators import AppAuthentication from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLUsers.utils import staff_is_active from MHLogin.utils.constants import USER_TYPE_DOCTOR, USER_TYPE_OFFICE_STAFF, USER_TYPE_OFFICE_MANAGER from MHLogin.MHLOrganization.utils import get_prefer_logo # Setting up logging logger = get_standard_logger('%s/apps/smartphone/v1/views_device.log' % \ (settings.LOGGING_ROOT), 'DCom.apps.smartphone.v1.views_device', logging.DEBUG) def check_user(request): if (request.method == 'GET'): return err_GE002() form = CheckUserForm(request.POST) if (not form.is_valid()): return err_GE031(form) try: User.objects.get(username=form.cleaned_data['username']) response = { 'data': { }, 'warnings': {},
import logging from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger # Standard logger for speech logger = get_standard_logger('%s/KMS/kms.log' % (settings.LOGGING_ROOT), 'kms', logging.DEBUG)
from MHLogin.utils import FileHelper from MHLogin.utils.UploadHandlers import UploadProgressCachedHandler from MHLogin.utils.mh_logging import get_standard_logger from django.conf import settings from django.core.cache import cache from django.core.files.uploadhandler import StopUpload from django.http import HttpResponse, HttpResponseBadRequest from django.shortcuts import render_to_response from django.template import RequestContext from django.utils import simplejson import logging from django.utils.translation import ugettext_lazy as _ # Setting up logging logger = get_standard_logger( '%s/DoctorCom/Messaging/views_upload.log' % (settings.LOGGING_ROOT), 'DoctorCom.Messaging.views_upload', settings.LOGGING_LEVEL) def upload(request): """ Handles upload message. :param request: The HTTP request :type request: django.core.handlers.wsgi.WSGIRequest :returns: django.http.HttpResponse -- the result in an HttpResonse object :raises: None """ if request.method == 'POST': ctx = dict() ctx["message"] = ""
from django.conf import settings from django.core.cache import cache from django.core.files.uploadhandler import MemoryFileUploadHandler, StopUpload import logging import logging.handlers from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging LOG_FILENAME = '%s/utils/UploadHandlers.log'%(settings.LOGGING_ROOT,) # Set up a specific logger with our desired output level if (not 'logger' in locals()): logger = get_standard_logger('%s/utils/UploadHandlers.log'%(settings.LOGGING_ROOT), 'utils.UploadHandlers', settings.LOGGING_LEVEL) class UploadProgressCachedHandler(MemoryFileUploadHandler): """ Tracks progress for file uploads. The http post request must contain a query parameter, 'X-Progress-ID', which should contain a unique string to identify the upload to be tracked. """ def __init__(self, request=None): super(UploadProgressCachedHandler, self).__init__(request) self.progress_id = None self.cache_key = None logging.debug("UploadProgressCachedHandler: __init__ " + str(datetime.datetime.now())) def handle_raw_input(self, input_data, META, content_length, boundary, encoding=None):
import time from MHLogin.apps.smartphone.v1.apns import notify_new_message_iphones, notify_new_message_androids, \ notify_message_status_iphones, notify_message_status_androids, notify_iphones,\ notify_androids from django.conf import settings from MHLogin.apps.smartphone.models import SmartPhoneAssn from MHLogin.utils.mh_logging import get_standard_logger TIME_DISPLAY_FORMAT = '%m/%d/%Y %H:%M' logger = get_standard_logger('%s/apps/smartphone/v1/utils.log' % (settings.LOGGING_ROOT), 'apps.smartphone.v1.utils', settings.LOGGING_LEVEL) ASSOCIATIONS_KEY_IOS = "associations_ios" ASSOCIATIONS_KEY_ANDROID = "associations_android" TAB_CHANGE_SUPPORT_VERSION = { ASSOCIATIONS_KEY_IOS: "1.42.00", ASSOCIATIONS_KEY_ANDROID: "1.57.00" } def notify(associations, text=None, count=None, additional_data=None): """Notify client message's new message is coming, :param associations: list of SmartPhoneAssn. :param text: notification's content, string format. :param count: number of this user's current unread message. :param additional_data: additional data, json format. """
import urlparse from django.utils import unittest from django.test.client import Client from django.conf import settings from django.core.urlresolvers import reverse from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLUsers.models import MHLUser, Salesperson, Administrator, Provider, Physician from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.MHLSites.models import Site from MHLogin.utils.tests import create_user from MHLogin.utils.decorators import skipIfUrlFails # Setting up logging logger = get_standard_logger('%s/analytics/tests.log' % (settings.LOGGING_ROOT), 'analytics.tests', settings.LOGGING_LEVEL) class AnalyticsUnitTest(unittest.TestCase): """ Sales unittester for creating Salesperson, Salse Products, Sales Leads and verifying everything stays in sync with no errors or failures """ @classmethod def setUpClass(cls): # done once for all AnalyticsUnitTest # needed at login # create admin and test user cls.admin = create_user("sduper", "super", "duper", "demo", "Ocean Avenue", "Carmel", "CA", "93921", uklass=Administrator) cls.guest = create_user("cbear", "care", "bear", "demo", "Winchester Blvd.", "San Jose", "CA", uklass=Salesperson) cls.practice = PracticeLocation.objects.create(practice_name='Beach bums',
from MHLogin.MHLPractices.forms_staffsearch import AssociationProviderIdForm, \ AssociationAssocIdForm, ProviderByMailForm from MHLogin.MHLPractices.utils import mail_add_association, mail_managers, \ changeCurrentPracticeForStaff from MHLogin.MHLPractices.models import PracticeLocation, Pending_Association, Log_Association from MHLogin.MHLUsers.utils import get_all_practice_managers from MHLogin.MHLUsers.models import Office_Manager, OfficeStaff, MHLUser,\ Provider, Physician, Dietician, Nurse from MHLogin.utils import ImageHelper from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.MHLCallGroups.Scheduler.utils import SessionHelper from MHLogin.apps.smartphone.v1.utils import notify_user_tab_changed # Setting up logging logger = get_standard_logger('%s/MHLPractices/views_ajax.log' % (settings.LOGGING_ROOT), 'MHLPractices.views_ajax', settings.LOGGING_LEVEL) def _get_specialty(provider): phys = Physician.objects.filter(user=provider) if (not phys.exists()): return '' return phys.get().get_specialty_display() def get_office_user_type(staff_id, practice): if Office_Manager.objects.filter(user__pk=staff_id, practice=practice).exists(): return _("Practice Manager") if Dietician.objects.filter(user__pk=staff_id).exists(): return _("Dietician") if Nurse.objects.filter(user__pk=staff_id).exists(): return _("Nurse")
from MHLogin.DoctorCom.IVR.models import VMBox_Config from MHLogin.DoctorCom.SMS.views import sendSMS_Twilio_newMessage from MHLogin.apps.smartphone.models import SmartPhoneAssn from MHLogin.apps.smartphone.v1.utils import notify from exceptions import InvalidRecipientException from MHLogin.MHLPractices.models import PracticeLocation from MHLogin.utils.admin_utils import mail_admins from MHLogin.utils.fields import UUIDField, MHLPhoneNumberField from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.storage import get_file, create_file from smtplib import SMTPException # Setting up logging logger = get_standard_logger('%s/DoctorCom/Messaging/models.log' % (settings.LOGGING_ROOT), 'DoctorCom.Messaging.models', settings.LOGGING_LEVEL) MESSAGE_RELATION_CHOICES = ( ('RE', _('Reply')), ('FW', _('Forward')), ) MESSAGE_TYPES = ( ("ANS", _("Answering Service")), ("NM", _("Normal")), ("SMS", _("Text Message")), ("VM", _("Voice Mail")), ("RF", _("Referral")), )
import logging from django.conf import settings from MHLogin.utils.mh_logging import get_standard_logger # Standard logger for speech logger = get_standard_logger( '%s/DoctorCom/speech/speech.log' % (settings.LOGGING_ROOT), 'DCom.speech', logging.DEBUG)
set_providers_result, get_community_professionals, set_practice_members_result, \ update_staff_address_info_by_practice, get_practice_org, get_all_site_staff, \ set_site_staff_result from MHLogin.genbilling.models import Account from MHLogin.utils import ImageHelper from MHLogin.utils.errlib import err403 from MHLogin.utils.mh_logging import get_standard_logger from MHLogin.utils.templates import phone_formater, get_context from MHLogin.utils.timeFormat import hour_format, minute_format, \ getDisplayedTimeZone, OLD_TIME_ZONES_MIGRATION MSG_ACTIVE_OR_EMAIL_WRONG = _('Your active code or email is wrong. Please check your email.') # Setting up logging logger = get_standard_logger('%s/MHLPractices/views.log' % (settings.LOGGING_ROOT), 'MHLPractices.views', settings.LOGGING_LEVEL) def practice_main_view(request): """Displays office manager/staff home page.""" if (not 'OfficeStaff' in request.session['MHL_UserIDs']): return err403(request) #print "%s %s is an Office_Manager"%(request.user.first_name, request.user.last_name) context = get_context(request) providerDict = dict() siteStaffDict = dict() local_practicesDict = dict() comm_professionalsDict = dict() practice_membersDict = dict()
Created on 2011-11-23 @author: mwang ''' from Crypto.Cipher import AES from django.conf import settings import os import tempfile import time import uuid from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger( '%s/utils/FileHelper.log' % (settings.LOGGING_ROOT), 'utils.FileHelper', settings.LOGGING_LEVEL) temp_file_prefix = "temp_" attachments_temp_root = settings.ATTACHMENTS_TEMP_ROOT if (attachments_temp_root and os.path.exists(attachments_temp_root)): tempfile.tempdir = attachments_temp_root def generateTempFile(str, key=None): suffix = "".join(["_", uuid.uuid4().hex]) temp_file = tempfile.NamedTemporaryFile(prefix=temp_file_prefix, suffix=suffix, delete=False) if key:
from MHLogin.MHLCallGroups.utils import checkMultiCallGroupId, canAccessMultiCallGroup from MHLogin.MHLUsers.utils import user_is_mgr_of_practice_id,get_fullname from MHLogin.MHLOrganization.utils import get_org_type_name from MHLogin.MHLPractices.models import PracticeLocation # Scheduler imports from MHLogin.MHLCallGroups.Scheduler.models import EventEntry from MHLogin.MHLCallGroups.Scheduler.forms import DateEntryForm, BulkEventForm from MHLogin.MHLCallGroups.Scheduler.utils import rulesCheckInternal, SessionHelper, \ export_schedule_to_pdf, checkDSEventConsistency, checkSchedulerView, validateNewEvent from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/MHLCallGroups/Scheduler/views.log' % (settings.LOGGING_ROOT), 'MHLCallGroups.Scheduler.views', logging.DEBUG) def display_scheduler(request, practice_id, callgroup_id): if not user_is_mgr_of_practice_id(request.user, practice_id): return err403(request) context = get_context(request) context['raw_callgroup_id'] = callgroup_id callgroup_old_id = None if not callgroup_id or callgroup_id in [0, '0'] and \ SessionHelper.CURRENT_CALLGROUP_ID in request.session.keys(): callgroup_id = request.session[SessionHelper.CURRENT_CALLGROUP_ID] if SessionHelper.CURRENT_CALLGROUP_ID in request.session.keys(): callgroup_old_id = request.session[SessionHelper.CURRENT_CALLGROUP_ID]
''' Created on 2011-11-23 @author: mwang ''' from Crypto.Cipher import AES from django.conf import settings import os import tempfile import time import uuid from MHLogin.utils.mh_logging import get_standard_logger # Setting up logging logger = get_standard_logger('%s/utils/FileHelper.log' % (settings.LOGGING_ROOT), 'utils.FileHelper', settings.LOGGING_LEVEL) temp_file_prefix = "temp_" attachments_temp_root = settings.ATTACHMENTS_TEMP_ROOT if (attachments_temp_root and os.path.exists(attachments_temp_root)): tempfile.tempdir = attachments_temp_root def generateTempFile(str, key=None): suffix = "".join(["_", uuid.uuid4().hex]) temp_file = tempfile.NamedTemporaryFile(prefix=temp_file_prefix, suffix=suffix, delete=False) if key: padded = str + ' ' * ((16 - (len(str) % 16)) % 16) a = AES.new(key) # TODO: when rm #2212 in use aes_encrypt in kms/utils